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.
Post-development recap document generator. An agent skill from sd0xdev/sd0x-harness.
$ npx skills add sd0xdev/sd0x-harness --skill recap-doc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sd0xdev/sd0x-harness recap-doc --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "recap-doc" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/recap-doc into .claude/skills/recap-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recap-doc", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sd0xdev/sd0x-harness/tree/main/skills/recap-docType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sd0xdev/sd0x-harness --skill recap-doc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sd0xdev/sd0x-harness recap-doc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/recap-doc .agents/skills/recap-doc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "recap-doc" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/recap-doc into .agents/skills/recap-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recap-doc", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sd0xdev/sd0x-harness --skill recap-doc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sd0xdev/sd0x-harness recap-doc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/recap-doc .cursor/skills/recap-doc && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "recap-doc" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/recap-doc into .cursor/skills/recap-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recap-doc", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sd0xdev/sd0x-harness.git --path skills/recap-doc--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sd0xdev/sd0x-harness --skill recap-doc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sd0xdev/sd0x-harness recap-doc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/recap-doc .gemini/skills/recap-doc && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "recap-doc" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/recap-doc into .gemini/skills/recap-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recap-doc", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sd0xdev/sd0x-harness recap-docInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sd0xdev/sd0x-harness --skill recap-doc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/recap-doc .github/skills/recap-doc && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "recap-doc" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/recap-doc into .github/skills/recap-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recap-doc", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sd0xdev/sd0x-harness --skill recap-doc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sd0xdev/sd0x-harness recap-doc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sd0xdev/sd0x-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/recap-doc .opencode/skills/recap-doc && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "recap-doc" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/recap-doc into .opencode/skills/recap-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recap-doc", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
recap-docPost-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. 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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c9a2036. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobWriteBash(git:*)Bash(node:*)SkillFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from sd0xdev/sd0x-harness at commit c9a2036, republished under its MIT licence (© sd0xdev). 971 words, ~2,789 tokens.
.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./recap-doc — Recap Document Generator| Scenario | Alternative |
|---|---|
| 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 |
/recap-doc --scope <json-path-or-inline> [--focus <str>] [--depth brief|normal|deep] [--output <path>]| Flag | Default | Description |
|---|---|---|
--scope | required | Path to ScopeReport JSON or inline JSON string (from scripts/detect-scope.js) |
--focus | "" | Natural-language keyword to bias section emphasis (e.g. "auth middleware") |
--depth | normal | Output depth — affects top-N, section verbosity, and optional sections |
--output | auto | Output file path (see Save Behavior) |
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--scope argument: accept file path, - for stdin, or inline JSON (detected by leading {).version === 1, source, files[], feature_context, fallback_trace.source === null or files.length === 0 → exit non-zero with message directing user to rerun scripts/detect-scope.js.scan_error gatescan_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.
See references/source-guide.md for the full strategy. Summary:
git log --oneline -20 -- <path> per scope file (capped at top-N by depth)git diff --stat <base-ref>..HEAD -- <path> for magnitudeTop-N by depth: brief=5, normal=10, deep=15.
When scope.feature_context.has_tech_spec === true:
<docs_path>/2-tech-spec.mdSee references/prompt-template.md for the full prompt. Key behaviors:
/codex-explain (Skill tool call) with --lines scoped to changed hunks. Reuse, not reimplement — this satisfies NFR-5.references/output-template.md).「本輪未偵測到明顯盲點」+ 推論依據.normal/deep; omit at brief.scripts/security-redact.js and invoke redact(text) on the complete markdown output.AbortError is thrown → do not write; emit stderr with fingerprint and exit non-zero.fs.realpathSync on the first existing ancestor (must resolve inside repo root or <tmp>; no .. / external symlink).See the full matrix in references/output-template.md. Summary:
| Level | Top-N | §5 Blind Spots | §6 Anticipated Q | Code snippets |
|---|---|---|---|---|
| brief | 5 | Top-3 only | Omitted | No |
| normal | 10 | Full list | ≥ 3 | No |
| deep | 15 | Full list | ≥ 3 | Inline |
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.
| Condition | Output Path |
|---|---|
Default (no --output) | <tmp>/sd0x-dev-flow-recap/briefing-recap-<YYYY-MM-DD>.md |
--output <path> provided | Explicit 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:
$TMPDIR environment variable (honoured on macOS by default).os.tmpdir() (portable fallback — in code this is require('os').tmpdir())./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.
| Rule | Implementation |
|---|---|
| Default-dir boundary | Default 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 check | Resolve 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 redaction | scripts/security-redact.js — abort on high-confidence, mask medium |
| Input trust | ScopeReport JSON paths are validated before any fs read |
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.
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)/codex-explain invoked per top-N file (NFR-5 reuse — not reimplemented)security-redact.js invoked before write (NFR-7)fs.realpathSync) inside repo root or <tmp>; no ..; no external symlinkreferences/output-template.md — Recap doc structure + depth matrixreferences/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 targetscripts/detect-scope.js — ScopeReport v1 producer (T1)scripts/security-redact.js — Pre-write redaction (T1)scripts/config/doc-taxonomy.json L94-99 — briefing- ancillary patternInput: /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
SKILL.md and 3 other files (references) in skills/recap-doc of sd0xdev/sd0x-harness.
Open the folder on GitHubat commit c9a2036
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Recap Doc this skillsd0xdev/sd0x-harness | 192 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 44k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Get API Docs with chubandrewyng/context-hub | 14k | 2 repos | ~775 | Automated safety check: Pass | MIT | |
| Doc SyncJetBrains/ideavim | 10k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Mailspring App ScreenshotsFoundry376/Mailspring | 18k | — | ~1.4k | Automated safety check: Pass | GPL-3.0 |
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.
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.
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.
JetBrains/ideavim
Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.
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.
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.
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…
sd0xdev/sd0x-harness
Load GitHub PR review comments into AI session — analyze, triage, plan.
sd0xdev/sd0x-harness
Change-aware next step advisor. An agent skill from sd0xdev/sd0x-harness.
sd0xdev/sd0x-harness
Obsidian vault integration via official CLI. An agent skill from sd0xdev/sd0x-harness.
sd0xdev/sd0x-harness
Agent-driven workflow orchestration (v1 report-only). An agent skill from sd0xdev/sd0x-harness.
sd0xdev/sd0x-harness
Post friendly review comments to a GitHub PR — prepare locally, preview, then submit as atomic review.
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.