A zero-dependency GitHub Action that posts periodic summaries of your repository's activity — commits, pull requests, issues, and contributors — as a GitHub Issue or comment.
No API keys. No external services. Just your repo's built-in GITHUB_TOKEN.
Create .github/workflows/recap.yml:
name: Weekly Recap
on:
schedule:
- cron: '0 9 * * 1' # Every Monday at 9am UTC
workflow_dispatch: # Manual trigger
jobs:
recap:
runs-on: ubuntu-latest
permissions:
issues: write
contents: read
pull-requests: read
steps:
- uses: ekreloff/repo-recap@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
days: 7That's it. Every Monday, you'll get a new Issue summarizing the past week's activity.
3 opened | 2 merged
2 opened | 1 closed
- #40 Dashboard loading slow ✅ — dave
- alice — 6 commit(s)
- bob — 4 commit(s)
- charlie — 2 commit(s)
| Input | Description | Default |
|---|---|---|
github-token |
GitHub token for API access | ${{ github.token }} |
days |
Number of days to look back | 7 |
issue-number |
Post as comment on this issue (creates new issue if empty) | `` |
sections |
Comma-separated: commits,prs,issues,contributors |
all |
If you prefer all recaps as comments on a single pinned issue:
- uses: ekreloff/repo-recap@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
days: 7
issue-number: 1 # Pin issue #1 as your recap threadon:
schedule:
- cron: '0 9 * * *' # Every day at 9am UTC
steps:
- uses: ekreloff/repo-recap@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
days: 1
sections: commits,prsPure bash + curl + jq. Calls the GitHub REST API to fetch recent commits, PRs, and issues, then formats a Markdown summary and posts it. Runs entirely within GitHub Actions — no external services, no API keys, no data leaves GitHub.
MIT