Agent skill
gh-work-report
Generates comprehensive GitHub activity reports across all authenticated accounts. Gathers repos, PRs, features, and themes for configurable time periods (1/5/7/30/90 days). Produces shareable markdown with tables, mermaid charts, and executive summaries. Can create a private repo with GitHub Actions automation and GitHub Pages aggregation site. Use when: "github report", "work report", "activity summary", "what did I work on", "gh-work-report", "show my github activity".
Install this agent skill to your Project
npx add-skill https://github.com/rysweet/amplihack/tree/main/amplifier-bundle/skills/gh-work-report
SKILL.md
GitHub Work Report Skill
Generates rich GitHub activity reports across all authenticated gh accounts.
Invocation
The user triggers this skill with phrases like:
/gh-work-report(default: last 7 days)/gh-work-report show me the last 30 daysgenerate a github work report for the last 90 dayswhat did I work on this week
Parse the time period
Extract the number of days from the user's message. Valid values: 1, 5, 7, 30, 90. Default to 7 if not specified or if an invalid value is given.
Workflow
Follow these steps in order. Check off each step as you complete it.
Step 1: Detect accounts
gh auth status 2>&1
Parse the output to identify all authenticated accounts (e.g., rysweet on github.com, rysweet_microsoft on github.com). Store the list of account values and note which is currently active.
Step 2: Gather data per account
For each account, switch to it and collect data:
gh auth switch --user <ACCOUNT>
Then gather:
2a. Repositories with recent activity
# Get repos the user pushed to in the time window
gh api graphql --paginate -f query='
query($cursor: String) {
viewer {
repositories(first: 100, after: $cursor, orderBy: {field: PUSHED_AT, direction: DESC}) {
pageInfo { hasNextPage endCursor }
nodes {
nameWithOwner
url
description
pushedAt
homepageUrl
isPrivate
}
}
}
}'
Filter to repos with pushedAt within the time window.
2b. Pull requests
gh search prs --author=@me --created=">YYYY-MM-DD" --limit 200 --json number,title,repository,state,createdAt,url,mergedAt
Also gather PRs merged (not just created) in the window:
gh search prs --author=@me --merged=">YYYY-MM-DD" --limit 200 --json number,title,repository,state,createdAt,url,mergedAt
Deduplicate by URL.
2c. Issues
gh search issues --author=@me --created=">YYYY-MM-DD" --limit 100 --json number,title,repository,state,createdAt,url
2d. Releases
# For each active repo, check for releases
gh api repos/{owner}/{repo}/releases --jq '.[].tag_name' | head -5
Step 3: Combine and deduplicate
Merge data from all accounts. Deduplicate repos by nameWithOwner and PRs by URL. Tag each item with the account that produced it.
Step 4: Analyze and synthesize
This is where you add value beyond raw data:
- Identify themes: Group repos/PRs by topic (e.g., "infrastructure", "security", "new features"). Use repo descriptions, PR titles, and any patterns you observe.
- Highlight big wins: PRs with significant impact — large features merged, important bug fixes, new repos created.
- Extract usage examples: For notable features, write a short "here's how to use this" snippet based on PR titles, descriptions, and repo READMEs.
- Spot new work: Repos with first-ever commits in the time window.
Step 5: Generate the report
Use the template structure from reference.md. The report must include:
- Executive summary (3-5 sentences)
- Activity overview with mermaid charts
- Per-project sections with PR tables
- Themes and big wins
- Usage examples for notable features
- Appendix with raw data links
Save the report as a markdown file named gh-work-report-YYYY-MM-DD-to-YYYY-MM-DD.md.
Step 6: Restore original account
Switch back to the account that was active before the report started:
gh auth switch --user <ORIGINAL_ACCOUNT>
Step 7: Offer automation infrastructure
After generating the report, ask the user:
Would you like me to create a private GitHub repo with automated weekly/monthly reports and a GitHub Pages site to browse them?
If yes, follow the infrastructure setup in reference.md § Infrastructure Setup.
Key Rules
- Never hardcode usernames — always detect from
gh auth status - Never use fallbacks — no silent defaults, no
2>/dev/null, no hardcoded values. Errors must fail loud with descriptive messages. - All charts must be code-generated — every number in every chart and table must come from actual API data. Never fabricate or estimate chart data.
- 4 query filters for complete PR coverage:
created:>DATE(new),is:open(all WIP),merged:>DATE(merged during window),closed:>DATE(closed during window). Deduplicate by URL. - Clamp chart timelines — Gantt and timeline charts must be scoped to the report window. Clamp start dates to
max(pr_date, window_start). - Handle private repos gracefully — note them but don't expose sensitive details unless the report itself is private
- Date math: Use
date -d "$DAYS days ago" +%Y-%m-%d(Linux) for the start date - Rate limiting: If
gh apireturns 403, wait and retry. Use--paginatefor large result sets. - Empty results are fine — if an account has no activity, say so briefly and move on
Authentication & Automation
- Local (multi-account): Use
./run.sh [days]which leveragesgh auth switchacross all locally authenticated accounts. This is the recommended approach for users with multiple accounts (e.g., public + EMU). - GitHub Actions (single-account): Use the workflow templates with a PAT secret. A PAT is scoped to one identity and cannot cross accounts.
- Two-PAT approach: For Actions across two accounts, use separate PAT secrets (
ACCOUNT1_PAT,ACCOUNT2_PAT) with explicit--header "authorization: token $PAT"per API call. - GitHub Pages is static only — report generation must happen elsewhere (local script, Actions, gh-aw). Pages just serves the output.
Reference Files
reference.md— Report template, mermaid chart patterns, infrastructure setup guidetemplates/weekly-report.yml— GitHub Actions workflow for automated reportstemplates/pages-index.html— GitHub Pages aggregation site template
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
chemist-analyst
Analyzes events through chemistry lens using molecular structure, reaction mechanisms, thermodynamics, kinetics, and analytical techniques (spectroscopy, chromatography, mass spectrometry). Provides insights on chemical processes, material properties, reaction pathways, synthesis, and analytical methods. Use when: Chemical reactions, material analysis, synthesis planning, process optimization, environmental chemistry. Evaluates: Molecular structure, reaction mechanisms, yield, selectivity, safety, environmental impact.
learning-path-builder
Creates personalized learning paths for technologies, frameworks, or concepts. Use for user-interactive session only for onboarding new technologies, hackathon skill-building, or personal development planning. Not for use in automated development or investigation. Sequences resources (docs, tutorials, exercises) based on current skill level and learning goals. Adapts to learning style: hands-on, theory-first, project-based.
pr-review-assistant
Philosophy-aware PR reviews checking alignment with amplihack principles. Use when reviewing PRs to ensure ruthless simplicity, modular design, and zero-BS implementation. Suggests simplifications, identifies over-engineering, verifies brick module structure. Posts detailed, constructive review comments with specific file:line references.
code-smell-detector
Identifies anti-patterns specific to amplihack philosophy. Use when reviewing code for quality issues or refactoring. Detects: over-abstraction, complex inheritance, large functions (>50 lines), tight coupling, missing __all__ exports. Provides specific fixes and explanations for each smell.
biologist-analyst
Analyzes living systems and biological phenomena through biological lens using evolution, molecular biology, ecology, and systems biology frameworks. Provides insights on mechanisms, adaptations, interactions, and life processes. Use when: Biological systems, health issues, evolutionary questions, ecological problems, biotechnology. Evaluates: Function, structure, heredity, evolution, interactions, molecular mechanisms.
multi-repo
Multi-repository orchestration for coordinating atomic changes across dependent repositories. Tracks dependency graphs, coordinates cross-repo PRs, and detects breaking changes.
Didn't find tool you were looking for?