Agent skill

Recap Doc

by sd0xdev in sd0xdev/sd0x-harness

Post-development recap document generator. An agent skill from sd0xdev/sd0x-harness.

MITAuto-check passedDevelopment

Install Recap Doc

skills CLI
$ npx skills add sd0xdev/sd0x-harness --skill recap-doc -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sd0xdev/sd0x-harness recap-doc --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/recap-doc .claude/skills/recap-doc && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
recap-doc
GitHub stars
192
Token cost
~2.8k tokens
SKILL.md length
971 words
Files
4 (incl. references)
Skills in repo
91
Repo updated
First seen
Licence
MIT

At a glance

Post-development recap document generator. An agent skill from sd0xdev/sd0x-harness.

  • Works in 5 steps: Scope Load → Evidence Collection (reuse tech-brief… → Spec Cross-reference → …
  • : AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why
  • SKILL.md covers Trigger, When NOT to Use, Command Signature and Workflow, plus 8 more sections
  • Calls git

What it does

Recap Doc is an agent skill from sd0xdev/sd0x-harness. Post-development recap document generator. Use when: AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why, with blind-spot detection and anticipated questions. Not for: Q&A follow-up (use /recap-ask), technical share-out for teammates (use /tech-brief), or generic code explanation (use /codex-explain). Output: briefing-recap-<YYYY-MM-DD.md with file-level walkthrough, design intents, spec drift, blind spots (mandatory), and anticipated questions.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/output-template.md`, `references/prompt-template.md` and `references/source-guide.md`).

It sits in Development, covering Technical documentation. The repository describes itself as: The harness layer for Claude Code — a reference implementation of harness engineering with hook-enforced dual review, state-machine gates that survive context compaction, and… The licence is MIT.

When your agent uses it

  • : AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why
  • With blind-spot detection and anticipated questions

Example prompts

  • “/recap-doc”

Requirements

  • Pre-approved tools (allowed-tools): Read, Grep, Glob, Write, Bash(git:*), Bash(node:*), Skill

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Scope Load
  2. Evidence Collection (reuse tech-brief Stage 2)
  3. Spec Cross-reference
  4. AI Synthesis
  5. Redaction + Write

What it can do on your machine

Read from SKILL.md and the folder at commit c9a2036. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Glob
    • Write
    • Bash(git:*)
    • Bash(node:*)
    • Skill

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Recap Doc loads about 2.8k tokens when it runs, and up to ~8.1k if it reads all its reference files. Until then it costs about 127 tokens; SKILL.md has 971 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~127
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sd0xdev/sd0x-harness at commit c9a2036, republished under its MIT licence (© sd0xdev). 971 words, ~2,789 tokens.

Download SKILL.mdSave it as .claude/skills/recap-doc/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
recap-doc
description
Post-development recap document generator. Use when: AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why, with blind-spot detection and anticipated questions. Not for: Q&A follow-up (use /recap-ask), technical share-out for teammates (use /tech-brief), or generic code explanation (use /codex-explain). Output: briefing-recap-<YYYY-MM-DD>.md with file-level walkthrough, design intents, spec drift, blind spots (mandatory), and anticipated questions.
allowed-tools
Read, Grep, Glob, Write, Bash(git:*), Bash(node:*), Skill

/recap-doc — Recap Document Generator

Trigger

  • Keywords: recap-doc, generate recap, 產出導覽文件, walkthrough doc, 本輪導覽

When NOT to Use

ScenarioAlternative
Interactive Q&A over an existing recap/recap-ask
Full flow (detect + doc + Q&A)/post-dev-recap wrapper
Technical share-out for other developers/tech-brief
Single function explanation/codex-explain
First-principles reasoning of an existing doc/fp-brief

Command Signature

/recap-doc --scope <json-path-or-inline> [--focus <str>] [--depth brief|normal|deep] [--output <path>]
FlagDefaultDescription
--scoperequiredPath to ScopeReport JSON or inline JSON string (from scripts/detect-scope.js)
--focus""Natural-language keyword to bias section emphasis (e.g. "auth middleware")
--depthnormalOutput depth — affects top-N, section verbosity, and optional sections
--outputautoOutput file path (see Save Behavior)

Workflow

mermaid
sequenceDiagram
    participant U as Caller (user or /post-dev-recap)
    participant D as /recap-doc
    participant S as scripts/detect-scope.js
    participant T as tech-brief-style collection
    participant CE as /codex-explain (Skill)
    participant SR as scripts/security-redact.js
    participant F as Output file

    U->>D: /recap-doc --scope <json> [--depth]
    D->>D: Phase 1: Load & validate ScopeReport
    D->>T: Phase 2: Collect git evidence for scope.files (reuse tech-brief Stage 2)
    D->>D: Phase 3: Cross-reference tech-spec (if feature_context.has_tech_spec)
    D->>CE: Phase 4a: Explain top-N changed files
    D->>D: Phase 4b: Synthesize sections + Blind Spots (Must) + Anticipated Questions
    D->>SR: Phase 5a: Scan output for high/medium-confidence secrets
    SR-->>D: Redacted or AbortError
    D->>F: Phase 5b: Write briefing-recap-<date>.md
    D-->>U: Emit output path + summary
Phase 1 — Scope Load
  1. Parse --scope argument: accept file path, - for stdin, or inline JSON (detected by leading {).
  2. Validate ScopeReport v1 required fields: version === 1, source, files[], feature_context, fallback_trace.
  3. If source === null or files.length === 0 → exit non-zero with message directing user to rerun scripts/detect-scope.js.
Phase 1b — scan_error gate

scan_error gate. scan_error !== false ⇒ the source sets are unknown, not empty — report it and take the ⚠️ Need Human exit rather than composing a recap from sources you could not enumerate. Gate on !== false, not === true: a {} payload from a shell fallback carries no such field at all, and a non-null key is not evidence the sets are complete — scan_error rides alongside a resolved key.

This skill reaches the source sets through @skills/tech-brief/references/source-guide.md, which it loads as its own Phase 2 strategy. Loading a reference is loading what it instructs: there is no reading of that link under which the sets are described but not consumed, so the gate is owed here exactly as it is in the skill that owns the file.

Phase 2 — Evidence Collection (reuse tech-brief Stage 2)

See references/source-guide.md for the full strategy. Summary:

  • Run git log --oneline -20 -- <path> per scope file (capped at top-N by depth)
  • Run git diff --stat <base-ref>..HEAD -- <path> for magnitude
  • Read top-N changed files (100 lines each, source files only; exclude docs/test)

Top-N by depth: brief=5, normal=10, deep=15.

Phase 3 — Spec Cross-reference

When scope.feature_context.has_tech_spec === true:

  1. Read <docs_path>/2-tech-spec.md
  2. Extract section headings + Work Breakdown items
  3. Prepare drift-check input: list each tech-spec work item + implementation evidence (changed files overlap)
Phase 4 — AI Synthesis

See references/prompt-template.md for the full prompt. Key behaviors:

  1. Per-file explanations (Phase 4a): for each top-N file, invoke /codex-explain (Skill tool call) with --lines scoped to changed hunks. Reuse, not reimplement — this satisfies NFR-5.
  2. Section synthesis (Phase 4b): compose §1 Overview through §7 Evidence using the output template (see references/output-template.md).
  3. Blind Spots (FR-9, Must — any depth): even if no obvious blind spots are found, emit the §5 heading with the fallback wording 「本輪未偵測到明顯盲點」+ 推論依據.
  4. Anticipated Questions (FR-11): present ≥ 3 questions at normal/deep; omit at brief.
Phase 5 — Redaction + Write
  1. Load scripts/security-redact.js and invoke redact(text) on the complete markdown output.
  2. If AbortError is thrown → do not write; emit stderr with fingerprint and exit non-zero.
  3. If redacted successfully → validate output path via fs.realpathSync on the first existing ancestor (must resolve inside repo root or <tmp>; no .. / external symlink).
  4. Write file with trailing newline.

Depth Levels

See the full matrix in references/output-template.md. Summary:

LevelTop-N§5 Blind Spots§6 Anticipated QCode snippets
brief5Top-3 onlyOmittedNo
normal10Full list≥ 3No
deep15Full list≥ 3Inline
Show full SKILL.md (426 more words)Show less

Save Behavior

Recap output is ephemeral by default — written to the OS temp directory so the user's project tree stays clean. Callers that want the recap checked in must opt in with --output.

ConditionOutput Path
Default (no --output)<tmp>/sd0x-dev-flow-recap/briefing-recap-<YYYY-MM-DD>.md
--output <path> providedExplicit path; the canonical (realpath-resolved) target must lie inside either the repo root or <tmp>. Paths that escape both roots are rejected (see ## Path Security).

Where <tmp> resolves in this order:

  1. $TMPDIR environment variable (honoured on macOS by default).
  2. Node's os.tmpdir() (portable fallback — in code this is require('os').tmpdir()).
  3. /tmp as the final POSIX fallback.

The directory <tmp>/sd0x-dev-flow-recap/ is created if missing. If the target file already exists the same day, append a numeric suffix: briefing-recap-2026-04-17-r2.md.

Permanent recap: when the user wants the recap stored with the feature docs (e.g. shareable post-mortem), invoke with --output docs/features/<key>/briefing-recap-<YYYY-MM-DD>.md explicitly.

Path Security

RuleImplementation
Default-dir boundaryDefault path is always under <tmp>/sd0x-dev-flow-recap/ (<tmp> resolved via $TMPDIR → os.tmpdir() → /tmp, see ## Save Behavior); the skill never writes under the repo without an explicit --output
Explicit-path allowlist--output <path>: accept any absolute or repo-relative path whose canonical (realpath-resolved) target lies inside the repo root or <tmp>; reject .. segments that escape the resolved parent and external symlinks whose target lies outside both roots
Symlink checkResolve the output path with fs.realpathSync on the first existing ancestor; reject if the resolved ancestor is neither inside the repo root (git rev-parse --show-toplevel) nor inside <tmp>
Secret redactionscripts/security-redact.js — abort on high-confidence, mask medium
Input trustScopeReport JSON paths are validated before any fs read

Performance

Target: NFR-2 — /recap-doc output generation ≤ 30s (excluding external LLM latency, measured from scope-load start to file-write complete). The Phase 4a per-file explanations should be dispatched in parallel batches to stay within budget.

Output Structure

See references/output-template.md for the canonical markdown template. High-level structure:

# Recap: <feature-key or "session">
> **Scope source**: ...
> **Detected at**: ...
> **Focus**: ...
> **Confidence**: ...

## 1. Overview
## 2. Changed Files (table with file:line references)
## 3. Design Decisions
## 4. Spec vs Implementation Drift    (if has_tech_spec)
## 5. Blind Spots                     (FR-9 Must — any depth)
## 6. Anticipated Questions           (normal/deep only)
## 7. Evidence                         (commit SHAs, file:line index)

Verification

  • ScopeReport v1 validated (version + required fields) before any synthesis
  • Top-N files aligned with depth (brief=5, normal=10, deep=15)
  • §5 Blind Spots heading present regardless of depth; fallback wording when no items
  • §6 Anticipated Questions ≥ 3 at normal/deep; omitted at brief
  • /codex-explain invoked per top-N file (NFR-5 reuse — not reimplemented)
  • security-redact.js invoked before write (NFR-7)
  • Output path resolves (via fs.realpathSync) inside repo root or <tmp>; no ..; no external symlink
  • Total pipeline ≤ 30s from scope-load to write (NFR-2)

References

  • references/output-template.md — Recap doc structure + depth matrix
  • references/source-guide.md — Phase 2 evidence collection (reuse tech-brief pattern)
  • references/prompt-template.md — LLM synthesis prompt (obeys @rules/codex-invocation.md)
  • @skills/tech-brief/references/source-guide.md — upstream pattern (read-only reference)
  • @skills/codex-explain/SKILL.md — Phase 4a reuse target
  • scripts/detect-scope.js — ScopeReport v1 producer (T1)
  • scripts/security-redact.js — Pre-write redaction (T1)
  • scripts/config/doc-taxonomy.json L94-99 — briefing- ancillary pattern

Examples

Input: /recap-doc --scope /tmp/scope.json --depth normal
Action: Load scope → collect git evidence for top-10 files → /codex-explain per file → synthesize sections including Blind Spots + 3+ Anticipated Questions → security-redact → write to <tmp>/sd0x-dev-flow-recap/briefing-recap-2026-04-17.md (ephemeral default; user opts in to commit via --output)

Input: /recap-doc --scope '{"version":1,"source":"uncommitted",...}' --focus "auth" --depth brief
Action: Parse inline JSON → filter to auth-related files → top-5 only → §5 Blind Spots top-3 only → omit §6 → write to <tmp>/sd0x-dev-flow-recap/briefing-recap-<YYYY-MM-DD>.md

Input: /recap-doc --scope scope.json --depth deep --output docs/features/<key>/briefing-recap-2026-04-17.md
Action: Load scope → top-15 with inline code snippets → full §5/§6 → redact → realpath-resolve target (must be inside repo root OR <tmp>) → write. Paths that escape both roots are rejected.

© sd0xdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/recap-doc of sd0xdev/sd0x-harness.

  • SKILL.md
  • references/output-template.md
  • references/prompt-template.md
  • references/source-guide.md

Open the folder on GitHubat commit c9a2036

Compare with similar skills

Recap Doc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Recap Doc compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Recap Doc this skillsd0xdev/sd0x-harness192—~2.8kAutomated safety check: PassMIT
Diagram Designcathrynlavery/diagram-design44k1 repos~7.5kAutomated safety check: PassMIT
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
Get API Docs with chubandrewyng/context-hub14k2 repos~775Automated safety check: PassMIT
Doc SyncJetBrains/ideavim10k2 repos~2.6kAutomated safety check: PassMIT
Mailspring App ScreenshotsFoundry376/Mailspring18k—~1.4kAutomated safety check: PassGPL-3.0

Similar skills

  • Diagram Design

    cathrynlavery/diagram-design

    Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.

    44k GitHub starsUsed in 1 repo~7.5k tokens
    DevelopmentAuto-check passed
  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • Get API Docs with chub

    andrewyng/context-hub

    Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.

    14k GitHub starsUsed in 2 repos~775 tokens
    DevelopmentAuto-check passed
  • Doc Sync

    JetBrains/ideavim

    Official

    Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 2 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Mailspring App Screenshots

    Foundry376/Mailspring

    Captures screenshots of the running Mailspring dev app for docs, PRs or visual checks by launching it with a debugging port, driving the UI and clipping to an element.

    18k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Draw.io Diagram Studio

    Agents365-ai/drawio-skill

    Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.

    10k GitHub stars~2.4k tokensUpdated 5 days ago
    DevelopmentAuto-check: notes

More from sd0xdev/sd0x-harness

All 91 skills in this repo
  • Adr

    sd0xdev/sd0x-harness

    Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as docs/features/<feature/adr-<NNN-<title.md with a 3-digit zero-padded…

    192 GitHub stars~4.8k tokensUpdated yesterday
    Auto-check passed
  • Load PR Review

    sd0xdev/sd0x-harness

    Load GitHub PR review comments into AI session — analyze, triage, plan.

    192 GitHub stars~4.4k tokensUpdated yesterday
    Auto-check passed
  • Next Step

    sd0xdev/sd0x-harness

    Change-aware next step advisor. An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Obsidian CLI

    sd0xdev/sd0x-harness

    Obsidian vault integration via official CLI. An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Orchestrate

    sd0xdev/sd0x-harness

    Agent-driven workflow orchestration (v1 report-only). An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • PR Comment

    sd0xdev/sd0x-harness

    Post friendly review comments to a GitHub PR — prepare locally, preview, then submit as atomic review.

    192 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Recap Doc

What does Recap Doc do?

Post-development recap document generator. An agent skill from sd0xdev/sd0x-harness. Recap Doc is an agent skill from sd0xdev/sd0x-harness. Post-development recap document generator.

When should I use Recap Doc?

Recap Doc fits situations like: : AI/Codex has implemented a feature and the user needs a guided walkthrough of what changed and why; with blind-spot detection and anticipated questions.

How do I install Recap Doc in Claude Code?

Run `npx skills add sd0xdev/sd0x-harness --skill recap-doc -a claude-code`. Or copy the skill folder (skills/recap-doc in sd0xdev/sd0x-harness) into .claude/skills/recap-doc in your project. Claude Code loads it when a task matches its description.

How do I install Recap Doc in Codex?

Run `npx skills add sd0xdev/sd0x-harness --skill recap-doc -a codex`. Or copy the skill folder (skills/recap-doc in sd0xdev/sd0x-harness) into .agents/skills/recap-doc in your project. Codex loads it when a task matches its description.

Can I use Recap Doc in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sd0xdev/sd0x-harness --skill recap-doc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/recap-doc, .gemini/skills/recap-doc, .github/skills/recap-doc and .opencode/skills/recap-doc in your project.

What does Recap Doc need to run?

Going by SKILL.md and its folder, Recap Doc needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Read, Grep, Glob, Write, Bash(git:*), Bash(node:*), Skill.

Does Recap Doc access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Recap Doc safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Recap Doc use?

Recap Doc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Recap Doc use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.3k tokens, read only when the agent opens those files.

What are the alternatives to Recap Doc?

Skills that share tags, products or a category with Recap Doc: Diagram Design (cathrynlavery/diagram-design, 44k stars), Simple English (moeru-ai/airi, 50k stars), Get API Docs with chub (andrewyng/context-hub, 14k stars) and Doc Sync (JetBrains/ideavim, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Recap Doc?

sd0xdev (a GitHub user) maintains it in sd0xdev/sd0x-harness, which has 192 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on October 6, 2026.

Source: sd0xdev/sd0x-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.