Generate a weekly progress report for the specified author (default: current git user).
-
Gather git commits from the past week
git config user.name
git log --oneline --since="7 days ago" --author="$ARGUMENTS" --all | head -50
-
List recent PRs (open and merged)
gh pr list --author @me --state all --limit 20
gh pr list --author @me --state open --json number,title,url,createdAt
gh pr list --author @me --state merged --limit 20 --json title,number,mergedAt,url
-
Get detailed PR information
- For each open PR, get commit messages, file counts, and line changes
gh pr view {number} --json commits,files,additions,deletions,body
gh pr view {number} --json commits --jq '.commits[].messageHeadline'
-
Check for reviews received on own PRs
gh api "repos/{owner}/{repo}/pulls/{number}/reviews" | jq -r '.[] | "Reviewed by \(.user.login): \(.state)"'
-
Check for review comments made and received
- Get PR review comments (inline code comments)
gh api "repos/{owner}/{repo}/pulls/{number}/comments" | jq -r '.[] | select(.user.login == "{author}") | "- \(.path | split("/") | last): \(.body | split("\n")[0][:70])"'
- Get issue/PR comments (general discussion)
gh api "repos/{owner}/{repo}/issues/{number}/comments" | jq -r '.[] | "\(.user.login) (\(.created_at | split("T")[0])): \(.body | split("\n")[0][:100])"'
-
Check submodules for contributions
- Look for any submodules in the repo and check for commits there too
git submodule foreach 'git log --oneline --since="7 days ago" --author="$ARGUMENTS" | head -20'
- For each submodule with commits, get detailed commit info
cd {submodule_path} && git log --oneline -10 --format="%h %s (%an, %ad)" --date=short
cd {submodule_path} && git show {commit_hash} --stat | head -20
-
Check for commit comments on submodule repositories
- Look for comments on commits in forked/submodule repos
gh api "repos/{owner}/{submodule_repo}/commits/{commit_sha}/comments" | jq -r '.[] | "\(.user.login) (\(.created_at | split("T")[0])): \(.body | split("\n")[0][:80])"'
-
Gather Linear ticket activity from the past week
- Get issues assigned to current user that were updated in the past week (includes moved/status changes)
mcp__linear__list_issues with assignee="me", updatedAt="-P7D", limit=50
- Get issues created by current user in the past week
mcp__linear__list_issues with assignee="me", createdAt="-P7D", limit=50
- For each issue found, check for comments to identify issues you commented on
mcp__linear__list_comments with issueId for each relevant issue
- Get current user info to filter comments by author
mcp__linear__get_user with query="me"
-
Format the report using this template
Output the final report wrapped in a markdown code block (triple backticks) for easy copy-paste:
```markdown
### [Author Name]
- **LAST WEEK**
- [Main accomplishment 1]
- [Sub-detail if relevant]
- [Main accomplishment 2]
- [Review activity - PRs reviewed with key feedback given]
- **THIS WEEK**
- [Planned work item 1]
- [Planned work item 2]
- **GITHUB**
- [PR #X: Title](url) - Status
- [PR #Y: Title](url) - Reviewed
- **LINEAR**
- [ARCH-XXX: Title](url) - Created/Moved to [Status]/Commented
- [ARCH-YYY: Title](url) - Status change: [Old] → [New]
```