Repo Recap banner
rtk-ai rtk-ai

Repo Recap

Documentation community intermediate

Description

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.

Installation

Terminal
claude install-skill https://github.com/rtk-ai/rtk

README


description: Generate a comprehensive repo recap (PRs, issues, releases) for sharing with team. Pass "en" or "fr" as argument for language (default fr).

Repo Recap

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.

Language

    undefined

Preconditions

Before gathering data, verify:

# Must be inside a git repo
git rev-parse --is-inside-work-tree

# Must have gh CLI authenticated
gh auth status

If either fails, stop and tell the user what's missing.

Steps

1. Gather Data

Run these commands in parallel 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 (for version history)
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` when processing.

2. Determine Maintainers

To distinguish "our PRs" from external contributions:

gh api repos/{owner}/{repo}/collaborators --jq '.[].login'

If this fails (permissions), fallback: authors with write/admin access are those who merged PRs recently. When in doubt, ask the user.

3. Analyze and Categorize

PRs — Categorize into 3 groups:

**Our PRs** (author is a repo collaborator):

    undefined

**External — Reviewable** (manageable size, no major blockers):

    undefined

**External — Problematic** (any of: too large, CI failing, overlapping, merge conflict):

    undefined

**Size labels** (use in "Taille" column for quick visual triage):

Label Additions
XS < 50
S 50-200
M 200-500
L 500-1000
XL > 1000

Format: `+{additions}, {files} files ({label})` — e.g., `+245, 2 files (S)`

Detect overlaps:

Two PRs overlap if they modify the same files. Use `changedFiles` from the JSON data. If >50% file overlap between 2 PRs, flag both as overlapping an