A weekly heartbeat for your repo.
Automates weekly "what happened" posts so contributors feel seen—without you writing newsletters.
Posts a clean weekly digest to GitHub Discussions so your community stays in the loop without you playing newsletter editor.
- No-AI required (default)
- Anti-spam: skips weeks with low activity
- Drop-in GitHub Action (copy/paste and go)
- Shoutouts for new contributors (because people are the point)
Above: a real digest post from this Action running on agent-instructions-kit.
Live example: Weekly Digest — 2026-01-14
Here's what gets posted to your Discussions:
# Weekly Digest — 2026-01-07 to 2026-01-14
## Merged Pull Requests
- [#142](https://github.com/you/repo/pull/142) Add dark mode support — [@alice](https://github.com/alice)
- [#139](https://github.com/you/repo/pull/139) Fix memory leak in parser — [@bob](https://github.com/bob)
- [#137](https://github.com/you/repo/pull/137) Update dependencies — [@charlie](https://github.com/charlie)
## New Contributors
Welcome to our newest contributors! Thank you for your first contribution.
- [@alice](https://github.com/alice) in [#142](https://github.com/you/repo/pull/142)
---
*3 PRs merged • 1 new contributor*
---
*Generated by [community-digest-action](https://github.com/malmichaels-gif/community-digest-action) — [give it a star](https://github.com/malmichaels-gif/community-digest-action) if you find it useful!*-
Create a GitHub Discussion category where you want the digest to land Example:
Weekly Updates -
Add this workflow:
name: Weekly Community Digest
on:
schedule:
- cron: "0 16 * * 1" # Mondays 16:00 UTC (pick your time)
workflow_dispatch: {}
permissions:
contents: read
pull-requests: read
discussions: write
jobs:
digest:
runs-on: ubuntu-latest
steps:
- uses: malmichaels-gif/community-digest-action@v0
with:
discussion_category: "Weekly Updates"That's it. Next run posts a digest.
| Input | Default | Description |
|---|---|---|
discussion_category |
(required) | Discussion category name to post into |
since_days |
7 |
Lookback window |
max_prs |
10 |
Max merged PRs to include |
max_new_contributors |
10 |
Max first-time contributors to shout out |
min_activity |
3 |
Skip posting if activity is below this threshold |
dry_run |
false |
Don't post, just log the markdown |
footer_star_link |
true |
Add "Generated by..." footer with a star link |
- uses: malmichaels-gif/community-digest-action@v0
with:
discussion_category: "Weekly Updates"
since_days: "7"
min_activity: "5"
max_prs: "7"
max_new_contributors: "7"We calculate an "activity count" roughly like:
- merged PRs + new contributors (+ v0.2: issues/release activity)
If the count is < min_activity, we skip posting.
No one needs a weekly "nothing happened" post. That's how tools get removed.
This action needs:
contents: readfor repo metadatapull-requests: readto list merged PRsdiscussions: writeto post the digest
It does not need admin permissions or issue access. Keep it boring.
- Requires GitHub Discussions enabled on the repo
- Discussion category must exist before first run
- Skips posting if activity is below
min_activitythreshold (this is intentional) - v0.x only covers merged PRs + new contributors (issues/releases in v0.2)
- The action never reads secrets.
dry_runis there so you can see output before posting.- We intentionally keep output high-level (titles + links), not giant quoted bodies.
@v0— stable channel, recommended for most users@v0.1.0— pinned to exact release@<commit-sha>— pinned forever
Please do. See CONTRIBUTING.md. Agent instructions live in AGENTS.md.
- v0.2: optional Issues mode
- v0.2: optional "Help wanted" section
- v0.3: optional AI "voice" (still works without AI)
- v1.0: stable config + formatting guarantees
MIT.
Built by HeyTC.
