원클릭으로
github-activity
// Fetch GitHub PRs, reviews, issues, and commits into day-cached JSON atoms. Uses the gh CLI for authentication and API calls. Part of the recap plugin's activity fetcher pipeline.
// Fetch GitHub PRs, reviews, issues, and commits into day-cached JSON atoms. Uses the gh CLI for authentication and API calls. Part of the recap plugin's activity fetcher pipeline.
Fetch Basecamp project or person activity into day-cached JSON atoms. Uses the Basecamp API with pagination and rate-limit backoff. Part of the recap plugin's activity fetcher pipeline.
Fetch git log from local repos into day-cached JSON atoms. Simplest activity fetcher — no API calls, no pagination. Part of the recap plugin's activity fetcher pipeline.
Activity digests — pluggable source fetchers, progressive timescale synthesis, audience-aware composition. Discovers recap:*-activity fetchers, gathers cached activity, synthesizes narrative at daily/weekly/monthly timescales, and composes output for the target audience.
Create install.md files optimized for AI agent execution. Use for ANY question about install.md files or request to create/review installation documentation for autonomous agent use.
Create, edit, and refine agent skills through co-development and eval loops. Use for ANY question about skills or request to create/modify them.
Address PR review comments - fix issues, reply to threads, mark resolved
| name | github-activity |
| description | Fetch GitHub PRs, reviews, issues, and commits into day-cached JSON atoms. Uses the gh CLI for authentication and API calls. Part of the recap plugin's activity fetcher pipeline. |
| triggers | ["/recap:github-activity","github activity","github PRs"] |
Fetch GitHub activity — PRs authored, PRs reviewed, issues created, commit
contributions — into per-day cached JSON atoms at
~/.cache/recap/github/{user}/{YYYY-MM-DD}/activity.json.
/recap:github-activity --since 2026-03-23
/recap:github-activity --since 2026-03-23 --until 2026-03-30
/recap:github-activity --user jeremy --org basecamp --since 2026-03-23 --reuse
--reuse: skip fetch if cache exists and is marked completegh api --paginate with built-in backoff# 1. Validate auth
gh auth status || { echo "Run: gh auth login"; exit 1; }
# 2. Determine date range
SINCE=$(date -d "7 days ago" +%Y-%m-%d)
UNTIL=$(date +%Y-%m-%d)
# 3. Run the fetcher
"$SKILL_DIR/scripts/github-activity.sh" --since "$SINCE" --until "$UNTIL"
# 4. Verify cache
USER=$(gh api user --jq '.login')
ls ~/.cache/recap/github/$USER/
cat ~/.cache/recap/github/$USER/$SINCE/activity.json | jq '.metadata'
Where $SKILL_DIR = directory containing this SKILL.md.
Each activity.json contains:
{
"user": "jeremy",
"date": "2026-03-24",
"prs_authored": [
{
"title": "Add weekly digest skill",
"html_url": "https://github.com/basecamp/coworker/pull/99",
"created_at": "2026-03-24T14:30:00Z",
"repository_url": "https://api.github.com/repos/basecamp/coworker",
"state": "closed",
"pull_request": { "merged_at": "2026-03-24T15:00:00Z" }
}
],
"prs_reviewed": [],
"issues": [],
"metadata": {
"complete": true,
"counts": { "prs_authored": 1, "prs_reviewed": 0, "issues": 0 }
}
}
Commit contributions are cached separately as an aggregate at
~/.cache/recap/github/{user}/commits-{since}-{until}.json since GitHub's
GraphQL API returns them as a period summary, not per-day.
| Argument | Required | Description |
|---|---|---|
--since | Yes | Start date (YYYY-MM-DD) |
--until | No | End date (default: today) |
--user | No | GitHub username (default: authenticated user) |
--org | No | Filter to a specific GitHub org |
--reuse | No | Skip fetch if cache exists and is complete |
~/.cache/recap/github/
jeremy/
2026-03-24/activity.json
2026-03-25/activity.json
commits-2026-03-23-2026-03-30.json
gh CLI installed and authenticated (gh auth login)jq for JSON parsing| Symptom | Cause | Fix |
|---|---|---|
| "gh: not logged in" | Token expired | gh auth login |
| Empty results | No activity in range | Expected — empty days cached as complete |
| Rate limit (403) | Too many API calls | Wait ~1hr and retry |
| >1000 PRs | Search API limit | Narrow date range or add --org filter |