explain-repo
Write one HTML recap of a whole repo for someone coming back to it after time away: what the product does, how it's used, the architecture and why it was…
Skill by caioba-codes
Chalk Labs
Need help deploying explain-repo?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/caioba-codes-explain-repo
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/explain-repo
What's inside
- Skill name
explain-repo- Description
- Write one HTML recap of a whole repo for someone coming back to it after time away: what the product does, how it's used, the architecture and why it was built that way, the stack, how the pieces work together, and what changed lately. Published the same way as explain-diff pages. Use for /explain-repo, 'recap this repo', 'refresh me on this codebase', 'I've been away, what is this again'.
- License
- MIT
- Instructions
- 77 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Explain repo
**When the user has been away from a repo, they get one page that puts the whole thing back in their head: the product first, then the machine behind it, and the reasons it's shaped that way.** It's the whole-repo sibling of `explain-diff`. An explain-diff page goes deep on one change; this page goes wide over the whole system and stays at the level of "what is this part for and how does it talk to the others". It is longer than an explain-diff page and much shallower than reading the code.
The page borrows from how good repos explain themselves. matklad's [ARCHITECTURE.md](https://matklad.github.io/2021/02/06/ARCHITECTURE.md.html) gives the codemap: what each part is and where it lives, plus the invariants and boundaries the code doesn't show. The [C4 model](https://c4model.com/) gives the zoom order: the system and its neighbors first, then its running parts, then the folders and files inside them, so the reader can stop at the depth they need. Onboarding guides add the annotated directory tree, depth-limited, with the entry points marked.
## Inputs
- **The repo.** Default to the current checkout. Read from `origin`'s default branch, not a feature branch someone has open, so the page describes what's live. `git fetch` first; if other agents are working in the checkout, read with `git show origin/<default>:<path>` or a fresh worktree rather than switching branches.
- **The reader.** The repo's owner, who built most of it and forgot the details. They don't need beginner background on the languages or tools. They need the map back, the reasons back, and what moved while they were gone.
- **The time away.** If the user says how long ("I've been away a month"), use it for the "Lately" section. Otherwise use the last 30 days.
## Sources of the "why"
Every reason the page gives must come from something the repo or its history says, never from what seems plausible. Look in this order and cite each one with a link:
1. Plans, design docs, ADRs, decision logs (`plans/`, `docs/`, `adr/`, `DECISIONS.md` and the like).
2. The README, `FEATURES.md`, `CHANGELOG`, runbooks, `AGENTS.md`/`CLAUDE.md` (they often record rules with their reasons and dates).
3. PR descriptions: `gh pr list --state merged --limit 200 --json number,title,mergedAt,body`. Search them for the decision you're explaining, then read the one that made it.
4. Commit messages and code comments that state a reason.
When nothing records why something is the way it is, say so in a short "not recorded" note instead of inventing a reason. A few honest gaps are fine.
## What to read
Spend the effort on breadth. Use the `how` skill's approach, or parallel read-only subagents (one per top-level area), to get each area's purpose, entry points and what it talks to. Then read the sources above for the reasons. Collect, before writing:
- The directory tree, two or three levels deep, from `git ls-tree -r --name-only origin/<default>`, so it shows the default branch and only tracked files. Untracked and ignored files never appear; tracked generated or vendored folders appear collapsed to one line. For each significant directory: its purpose, its key files, what it depends on, and what calls it.
- Entry points: what starts the system (servers, daemons, crons, CLIs, scheduled jobs, the app's main).
- External services and data stores, and which part talks to each.
- Where it runs (machines, hosts, cloud) and how code gets there (deploy scripts, CI).
- The 3 to 6 decisions that shaped the system most, each with its source.
- The merged PRs of the time-away window, grouped into a handful of themes.
## Writing the page
One long page with these sections, in order. Each section header gets a one-line summary under it so a skimmer gets the gist.
- **What it is.** The product in plain words: who uses it, what they get, a few lines. If the product has a name different from the repo's, use the product's name and say what the repo is called. Then **a day with it**: two or three concrete things a user does, each traced from what they see to what the system does, with toy data.
- **The big picture.** One system diagram (C4's container level: the running processes, services and data stores) of the main components and the data flowing between them, with example data on the arrows. This is the page's anchor figure; later sections reuse it, highlighting the part they're about.
- **Why it's built this way.** The 3 to 6 shaping decisions. For each one: what was chosen, what it was chosen over, the reason, and the source link. Use callouts.
- **The stack.** A compact table: layer, what's used, what it's for. Languages, runtimes, frameworks, data stores, external APIs, hosting, CI. Only what the repo actually uses.
- **How the pieces work together.** Two or three end-to-end flows through the big-picture diagram (one request, one scheduled job, one deploy), each step naming the file or module that does it.
- **What's in the repo.** The codemap, in two parts.
1. **The annotated tree.** The repo as an `ls`/`tree` listing, two or three levels deep, in a `<pre>` block with a short comment after every entry saying what it is ("`server.mjs # the HTTP server: every request starts here`"). Mark the entry points. Collapse tracked folders nobody opens (fixtures, archives, generated or vendored code) to one line that says so. A directory whose contents follow one pattern gets the pattern and one example, not every file. The reader should be able to scan it in a minute and know what every folder is for.
2. **A card per significant directory**, in the order a reader would explore them, starting from the entry point: what it's for, the two or three files to open first and what each does, what it depends on and what depends on it, and any rule about it ("nothing here imports the personal daemon", "every file here is deployed"). State boundaries and invariants explicitly, especially ones that are an absence, since they don't show in the code.
Then the conventions an agent or the owner must know: where tests go, how to deploy, the rule files.
- **Lately.** What changed in the time-away window, grouped by theme, each theme with its PR links. Then what's still open: open PRs, unfinished plans, known blockers, each with a link.
- **Quiz.** Five questions about the system, not trivia: which part handles X, why Y was chosen over Z, what breaks if W is down. Interactive multiple choice, as in explain-diff.
Keep each section short enough to read in a few minutes. The whole page should take 15 to 25 minutes. When a section starts explaining one change in depth, link to that change's PR or explainer instead.
Format follows explain-diff's rules: one self-contained HTML file with inline CSS and JS, a table of contents, no tabs for the top-level structure, readable on a phone, light and dark via `prefers-color-scheme`, a closing `</body>`, HTML diagrams (never ASCII), `pre`/`pre-wrap` on every code block, callouts for key ideas. Write with the clarity of Martin Kleppmann and run the prose through the **unslop** skill. No secrets, tokens, private message contents or personal data in examples; hostnames and account names only where the reader needs them to find something, and never credentials.
Write it outside the code repo, for example `/tmp/<slug>.html`.
## Publishing
Use explain-diff's publisher, so recaps land in the same place and the same review list as feature explainers:
```
~/.claude/skills/explain-diff/scripts/publish.sh /tmp/<slug>.html --slug <YYYY-MM-DD>-<repo>-recap --title "<Product>: repo recap" --repo <owner/repo>
```
Write `<repo>` in the slug lowercase with dots and underscores as hyphens, since the publisher only accepts `[a-z0-9-]`. Leave out `--prs` (the page covers the whole repo). Reply with the printed link on its own line, plus a one-line summary of what the page covers. If publishing fails, say so and attach the HTML instead.
When the user has a Notion destination for explainers, write the recap there exactly as explain-diff's **Notion destination** section says (`~/.claude/skills/explain-diff/SKILL.md`), and reply with the Notion link.
## Check before publishing
1. Every "why" has a source link or a "not recorded" note.
2. Every file path and command on the page exists on the default branch, and every top-level entry from `git ls-tree --name-only origin/<default>` appears in the annotated tree.
3. Search the page for tokens, keys, passwords, phone numbers and email addresses; remove any.
4. Open it in a browser if you can, on a laptop width and a phone width.From caioba-codes/cflow, MIT.
More from caioba-codes/cflow
- 0.570score
explain-diff
caioba-codes
Write one rich HTML explainer of a finished feature (background, intuition, code walkthrough, quiz), publish it (or put it in the user's Notion), and check…
SkillAFreshness: AClaude Code +9 - 0.570score
explain-flow
caioba-codes
Write a one-file HTML page for an agent workflow with two tabs: Get started (prerequisites, then one canned feature step by step, each step marked you or…
SkillAFreshness: AClaude Code +9 - 0.567score
cflow-help
caioba-codes
Guides users through cflow setup, /cflow, and picking the skill, playbook, or principle for a task.
SkillAFreshness: AClaude Code +9 - 0.567score
cflow
caioba-codes
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work.
SkillAFreshness: AClaude Code +9 - 0.565score
grilling
caioba-codes
Grill the user in rounds of numbered questions about a plan before anything is built.
SkillAFreshness: AClaude Code +9 - 0.541score
architect
caioba-codes
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillAFreshness: AClaude Code +9 - 0.541score
how
caioba-codes
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillAFreshness: AClaude Code +9 - 0.536score
arena
caioba-codes
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 23, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/caioba-codes/cflow
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from caioba-codes
- 0.570score
explain-diff
caioba-codes
Write one rich HTML explainer of a finished feature (background, intuition, code walkthrough, quiz), publish it (or put it in the user's Notion), and check…
SkillAFreshness: AClaude Code +9 - 0.570score
explain-flow
caioba-codes
Write a one-file HTML page for an agent workflow with two tabs: Get started (prerequisites, then one canned feature step by step, each step marked you or…
SkillAFreshness: AClaude Code +9 - 0.567score
cflow-help
caioba-codes
Guides users through cflow setup, /cflow, and picking the skill, playbook, or principle for a task.
SkillAFreshness: AClaude Code +9 - 0.567score
cflow
caioba-codes
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work.
SkillAFreshness: AClaude Code +9 - 0.565score
grilling
caioba-codes
Grill the user in rounds of numbered questions about a plan before anything is built.
SkillAFreshness: AClaude Code +9 - 0.541score
architect
caioba-codes
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get explain-repo running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
explain-repo skill. Agent Mart. https://agentmart.dev/skills/caioba-codes-explain-repo (last updated 2026-10-24)