一键导入
repo-recap
Generate a comprehensive repo recap (PRs, issues, releases) ready to share with the team. Pass "fr" for French output (default is English).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate a comprehensive repo recap (PRs, issues, releases) ready to share with the team. Pass "fr" for French output (default is English).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Auto-configure AGENTS.md and brain/ knowledge docs for a new project. Use when setting up Brain Bootstrap in a new repository. Discovers the codebase, fills in templates, and writes project-specific configuration.
Use before any new feature, component, or behavioral change — when you need to explore requirements and design before writing code. Hard gate — no code until design is approved.
Build the project and verify it compiles cleanly. Use after making changes to confirm nothing is broken before running tests. Reads the build command from brain/build.md.
Activate safety mode — review every destructive command before running. Use before working on production infrastructure, migration scripts, or any task where a typo could be catastrophic.
Generate a user-facing changelog from git commits — categorize, filter noise, translate to user language. Pass a tag or date as argument (e.g. "$changelog v1.0.0" or "$changelog 2026-01-01").
Save session state before context gets full or before ending. Writes current task state, branch, and loaded docs to brain/tasks/todo.md so the next session can resume cleanly.
| name | repo-recap |
| description | Generate a comprehensive repo recap (PRs, issues, releases) ready to share with the team. Pass "fr" for French output (default is English). |
Generate a structured recap of the repository state: open PRs, open issues, recent releases, and executive summary. Output is formatted as Markdown with clickable GitHub links, ready to share.
$ARGUMENTS = fr or french → produce the recap in French$ARGUMENTS = en, english, or empty → English (default)Before gathering data, verify:
git rev-parse --is-inside-work-tree 2>/dev/null && echo "✅ git repo" || echo "❌ not a git repo"
gh auth status 2>&1 | head -3
If either fails, stop and tell the user what's missing.
Run these commands via gh CLI:
# Repo identity (for links)
gh repo view --json nameWithOwner -q .nameWithOwner
# Open PRs with metadata
gh pr list --state open --limit 50 --json number,title,author,createdAt,changedFiles,additions,deletions,reviewDecision,isDraft
# Open issues with metadata
gh issue list --state open --limit 50 --json number,title,author,createdAt,labels,assignees
# Recent releases
gh release list --limit 5
# Recently merged PRs (for contributor activity)
gh pr list --state merged --limit 10 --json number,title,author,mergedAt
Note: author in JSON results is an object {login: "..."} — always extract .author.login.
Size labels:
| Label | Additions |
|---|---|
| XS | < 50 |
| S | 50-200 |
| M | 200-500 |
| L | 500-1000 |
| XL | > 1000 |
Categorize into 3 groups:
Detect overlaps: Two PRs overlap if they modify the same files (use changedFiles). If >50% file overlap between 2 PRs, flag both.
# Copy to clipboard (cross-platform)
clip() {
if command -v pbcopy &>/dev/null; then pbcopy
elif command -v xclip &>/dev/null; then xclip -selection clipboard
elif command -v wl-copy &>/dev/null; then wl-copy
else cat
fi
}
# {Repo Name} — Recap {date}
## Recent Releases
| Version | Date | Highlights |
|---------|------|------------|
---
## Open PRs ({count} total)
### Our PRs
| PR | Title | Size | Status |
|----|-------|------|--------|
### External — Reviewable
| PR | Author | Title | Size | Status | Action |
|----|--------|-------|------|--------|--------|
### External — Problematic
| PR | Author | Title | Size | Problem | Action |
|----|--------|-------|------|---------|--------|
---
## Open Issues ({count} total)
| # | Author | Topic | Priority |
|---|--------|-------|----------|
---
## Executive Summary
- **Point 1**: ...
gh CLI, not the GitHub API directlyauthor in gh JSON is an object — always use .author.login