Help us improve
Share bugs, ideas, or general feedback.
From base
Creates a personal activity summary across all GitHub repositories for reflection. Use when the user wants to create weekly reports, work reviews, task summaries, activity retrospectives, or review their recent contributions. Also trigger when asked "what did I do this week", "summarize my work", "create a work log", "振り返り", or any variation of reviewing personal GitHub activity over a time period.
npx claudepluginhub kkhys/claude-code-marketplaceHow this skill is triggered — by the user, by Claude, or both
Slash command
/base:creating-task-summaryThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a personal activity summary across all GitHub repositories.
Generates markdown summary of your GitHub PRs authored in the past week, grouping by category/function with links. Use for weekly reports or work retrospectives.
Generates daily standup reports aggregating 24h GitHub activity (PRs, commits, reviews) and Linear issues by status (In Progress, Todo, blockers). Ideal for morning prep or activity summaries.
Summarizes recent codebase activity over a time period (default 2 weeks): features landed, fixes, refactors, focus/neglected areas, and contributor patterns. Uses git log or timewarp tools for quick catch-up.
Share bugs, ideas, or general feedback.
Generate a personal activity summary across all GitHub repositories.
The purpose is reflection — helping the user see the bigger picture of their work, not just producing a mechanical list of links. Synthesize what they focused on, what they accomplished, and what's still in flight.
Default: past 7 days. If the user specifies a different period (e.g., "this month", "last 2 weeks", "3/1 ~ 3/14"), calculate the start date accordingly.
START_DATE=$(date -v-7d +%Y-%m-%d)
END_DATE=$(date +%Y-%m-%d)
Run these in parallel across all repositories. Using --sort updated with --updated captures items that were active during the period — a PR created two weeks ago but merged this week should appear.
# PRs authored
gh search prs --author "@me" --sort updated \
--updated ">=${START_DATE}" --limit 100 \
--json repository,title,url,state,createdAt,mergedAt,number
# Issues authored or assigned
gh search issues --author "@me" --sort updated \
--updated ">=${START_DATE}" --limit 100 \
--json repository,title,url,state,createdAt,closedAt,number
# PR reviews given to others
gh search prs --reviewed-by "@me" --sort updated \
--updated ">=${START_DATE}" --limit 100 \
--json repository,title,url,state,number,repository,author
Dedup: if a PR appears in both "authored" and "reviewed", keep it under "authored" only.
When the period covers a week or more, fetch daily contribution counts to visualize activity trends. This gives a quick sense of busy vs. quiet days.
USERNAME=$(gh api user --jq '.login')
gh api "users/${USERNAME}/contributions" \
--jq '.contributions[] | select(.date >= "'${START_DATE}'")'
If this endpoint is unavailable, approximate from the PR/issue data by counting items per day based on createdAt / mergedAt dates.
Render as a simple ASCII bar chart:
03/01 ███ 3
03/02 █████████ 9
03/03 ████████████ 12
Scale the bars relative to the most active day. Place the chart near the top of the output, right after the heading — it gives an immediate visual overview before the detailed breakdown.
This is where the summary becomes useful for reflection.
Clean up PR titles before including them in the output:
[main], [develop], [release] — these are merge artifacts, not meaningful contentfeat:, fix:, etc.) as they convey intent[develop] #9793 feature/PDQ-1578/TECM-3648) — replace with the actual PR title or a human-readable description from the PR bodymain -> release, keep as-is since they describe the action## Activity Summary (YYYY-MM-DD ~ YYYY-MM-DD)
### Daily Activity
\```
MM/DD ████████████████ 16
MM/DD ████████ 8
MM/DD ██████████████ 14
\```
### [Theme / Feature Area]
[1-2 sentence narrative describing what was accomplished and why it matters]
- [Title](url) — repo-name (merged/open/closed)
- [Title](url) — repo-name (closed)
### [Another Theme]
[Narrative]
- [Title](url) — repo-name (merged)
### Reviews
- [PR Title](url) — repo-name (@author)
- [PR Title](url) — repo-name (@author)
---
**Totals**: X PRs (Y merged), Z issues (W closed), V reviews
**Active repos**: repo-a, repo-b, repo-c
The output structure should match the shape of the data, not a rigid template: