time-tracking-time-tracking-with-github-actions
Sub-skill of time-tracking: Time Tracking with GitHub Actions (+1).
Best use case
time-tracking-time-tracking-with-github-actions is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of time-tracking: Time Tracking with GitHub Actions (+1).
Teams using time-tracking-time-tracking-with-github-actions should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/time-tracking-with-github-actions/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How time-tracking-time-tracking-with-github-actions Compares
| Feature / Agent | time-tracking-time-tracking-with-github-actions | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of time-tracking: Time Tracking with GitHub Actions (+1).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Time Tracking with GitHub Actions (+1)
## Time Tracking with GitHub Actions
```yaml
# .github/workflows/log-time.yml
name: Log Development Time
on:
push:
branches: [main, develop]
jobs:
log-time:
runs-on: ubuntu-latest
steps:
- name: Log commit time to Toggl
env:
TOGGL_API_TOKEN: ${{ secrets.TOGGL_API_TOKEN }}
TOGGL_WORKSPACE_ID: ${{ secrets.TOGGL_WORKSPACE_ID }}
TOGGL_PROJECT_ID: ${{ secrets.TOGGL_PROJECT_ID }}
run: |
# Log 30 minute entry for each commit
DESCRIPTION="Commit: ${{ github.event.head_commit.message }}"
START_TIME=$(date -u -d '30 minutes ago' +%Y-%m-%dT%H:%M:%S.000Z)
curl -s -X POST -u "$TOGGL_API_TOKEN:api_token" \
-H "Content-Type: application/json" \
"https://api.track.toggl.com/api/v9/workspaces/$TOGGL_WORKSPACE_ID/time_entries" \
-d '{
"created_with": "github_actions",
"description": "'"${DESCRIPTION:0:100}"'",
"workspace_id": '"$TOGGL_WORKSPACE_ID"',
"project_id": '"$TOGGL_PROJECT_ID"',
"start": "'"$START_TIME"'",
"duration": 1800,
"tags": ["github", "automated"]
}'
```
## Slack Daily Summary
```python
#!/usr/bin/env python3
"""slack_time_summary.py - Post daily time summary to Slack"""
import os
import requests
from datetime import datetime, timedelta
def post_daily_summary(toggl_token, slack_webhook):
"""Post daily time summary to Slack."""
toggl = TogglClient(toggl_token)
today = datetime.now().date()
start = datetime.combine(today, datetime.min.time())
end = datetime.combine(today, datetime.max.time())
entries = toggl.get_time_entries(start, end) or []
total_hours = sum(
e.get("duration", 0) / 3600
for e in entries
if e.get("duration", 0) > 0
)
# Build message
message = {
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": f"Daily Time Summary - {today}"
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": f"*Total Hours:*\n{total_hours:.1f}"
},
{
"type": "mrkdwn",
"text": f"*Entries:*\n{len(entries)}"
}
]
}
]
}
# Add top activities
if entries:
activities = "\n".join([
f"- {e.get('description', 'No description')[:40]}: "
f"{e.get('duration', 0)/3600:.1f}h"
for e in sorted(entries, key=lambda x: x.get("duration", 0), reverse=True)[:5]
])
message["blocks"].append({
"type": "section",
"text": {
"type": "mrkdwn",
"text": f"*Top Activities:*\n{activities}"
}
})
# Post to Slack
response = requests.post(slack_webhook, json=message)
return response.status_code == 200
if __name__ == "__main__":
success = post_daily_summary(
toggl_token=os.environ["TOGGL_API_TOKEN"],
slack_webhook=os.environ["SLACK_WEBHOOK_URL"]
)
print("Posted to Slack" if success else "Failed to post")
```Related Skills
tax-filing-session-setup-with-github-tracking
Structured workflow for preparing and tracking a tax filing session using prepared documents, task checklist, and GitHub issue cross-referencing
tax-filing-session-setup-with-github-traceability
Structured workflow for setting up a multi-file tax filing session with GitHub issue tracking and prepared-file validation
handle-freetaxusa-session-timeouts
Recover from FreeTaxUSA session timeout dialogs blocking form submission and navigation
github-issue-structure-for-personal-finance-tracking
Pattern for organizing financial analysis work across multiple repos (data/config vs. logic separation)
github-actions-trigger-and-shell-gotchas
Prevent false verification gaps in GitHub Actions by checking push path filters, shell compatibility, and shared CI environment failures before concluding a workflow fix worked or failed.
github-actions-cross-platform-validation-gotchas
Execution-time GitHub Actions pitfalls discovered while fixing cross-platform CI workflows — path-filter non-triggers, Windows shell parsing mismatches, and job-scoped validation.
booking-timeline
Use when constructing the Booking & reservation timeline section of a trip plan. Encodes the 4-month / 2-month / 6-week / 1-week reservation cascade and refund-window rules. Invoked by trip-planner.
github-visual-planning-issues
Create review-friendly GitHub planning issues that supersede stale/seasonal issues and include source-backed image thumbnails for faster human review.
github-roadmap-anchor-reuse
Reuse and reopen existing roadmap/epic GitHub issues instead of fragmenting work across duplicate replacement epics; retarget children and link active issues for continuity.
github-repo-management
Clone, create, fork, configure, and manage GitHub repositories. Manage remotes, secrets, releases, and workflows. Works with gh CLI or falls back to git + GitHub REST API via curl.
github-pr-workflow
Full pull request lifecycle — create branches, commit changes, open PRs, monitor CI status, auto-fix failures, and merge. Works with gh CLI or falls back to git + GitHub REST API via curl.
github-issues
Create, manage, triage, and close GitHub issues. Search existing issues, add labels, assign people, and link to PRs. Works with gh CLI or falls back to git + GitHub REST API via curl.