Vercel Composition Patterns
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
Post-development recap wrapper. An agent skill from sd0xdev/sd0x-harness.
$ npx skills add sd0xdev/sd0x-harness --skill post-dev-recap -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sd0xdev/sd0x-harness post-dev-recap --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/post-dev-recap .claude/skills/post-dev-recap && 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 "post-dev-recap" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/post-dev-recap into .claude/skills/post-dev-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "post-dev-recap", 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/post-dev-recapType 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 post-dev-recap -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sd0xdev/sd0x-harness post-dev-recap --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/post-dev-recap .agents/skills/post-dev-recap && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "post-dev-recap" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/post-dev-recap into .agents/skills/post-dev-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "post-dev-recap", 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 post-dev-recap -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sd0xdev/sd0x-harness post-dev-recap --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/post-dev-recap .cursor/skills/post-dev-recap && 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 "post-dev-recap" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/post-dev-recap into .cursor/skills/post-dev-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "post-dev-recap", 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/post-dev-recap--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 post-dev-recap -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sd0xdev/sd0x-harness post-dev-recap --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/post-dev-recap .gemini/skills/post-dev-recap && 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 "post-dev-recap" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/post-dev-recap into .gemini/skills/post-dev-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "post-dev-recap", 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 post-dev-recapInstalls 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 post-dev-recap -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/post-dev-recap .github/skills/post-dev-recap && 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 "post-dev-recap" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/post-dev-recap into .github/skills/post-dev-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "post-dev-recap", 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 post-dev-recap -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 post-dev-recap --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/post-dev-recap .opencode/skills/post-dev-recap && 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 "post-dev-recap" agent skill from https://github.com/sd0xdev/sd0x-harness/tree/main/skills/post-dev-recap into .opencode/skills/post-dev-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "post-dev-recap", 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.
post-dev-recapPost-development recap wrapper. An agent skill from sd0xdev/sd0x-harness.
Post Dev Recap is an agent skill from sd0xdev/sd0x-harness. Post-development recap wrapper. Use when: AI/Codex just finished implementing a feature and the user wants a guided walkthrough with scope detection + doc generation + follow-up Q&A. Not for: generating only a doc (use /recap-doc), Q&A over an existing recap (use /recap-ask), technical share-out (use /tech-brief), first-principles reasoning of an existing doc (use /fp-brief), general code tracing (use /code-explore). Output: ScopeReport → briefing-recap-<date.md → interactive Q&A session.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. 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.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a4d4bc1. 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(node:*)Bash(git:*)SkillAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitnodeFrom 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.
Post Dev Recap loads about 3.6k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 1,246 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 a4d4bc1, republished under its MIT licence (© sd0xdev). 1,246 words, ~3,596 tokens.
.claude/skills/post-dev-recap/SKILL.md (or your agent's skills folder)./post-dev-recap — Guided Post-Development Recap| Scenario | Alternative |
|---|---|
| Only need a doc (no Q&A) | /recap-doc — emits the recap markdown and stops |
| Have an existing recap, want to ask questions | /recap-ask --context <path> |
| Share-out for other developers (not the author) | /tech-brief — focuses on knowledge transfer to strangers |
| First-principles reasoning of an existing doc | /fp-brief — explains why decisions hold |
| General project Q&A, no recent change | /ask — reopens the whole repo as context |
| Deep code tracing across modules | /code-explore — execution-path walker |
/ask, /tech-brief, /fp-brief, /code-explore (AS-5)| Dimension | /post-dev-recap | /ask | /tech-brief | /fp-brief | /code-explore |
|---|---|---|---|---|---|
| Trigger | Right after AI/Codex finishes a feature | Any quick question | Share-out for teammates | Explain an existing doc | Diagnose unknown code |
| Input | ScopeReport (detected live) | Free-form question | A finished feature | A document | A code question |
| Output | Recap doc + Q&A session | Answer | Brief artifact | First-principles chain | Execution-path report |
| Bounded? | Yes — scope of the just-done change | No — whole repo | No — whole feature | Document-scoped | Free search |
/post-dev-recap [<focus>] [--interactive] [--depth brief|normal|deep]| Flag | Default | Description |
|---|---|---|
<focus> | "" | Natural-language keyword to bias section emphasis, passed to /recap-doc --focus |
--interactive | false | Enable per-step AskUserQuestion — user can choose one of 4 actions between phases: 繼續 (continue) / 提問 (ask) / 跳段 (skip) / 結束 (end) |
--depth | normal | Recap depth — brief / normal / deep, passed to /recap-doc --depth |
FR-4 Must — Q&A is mandatory. This wrapper has no
--no-qaflag. Callers that only want the markdown must invoke/recap-docdirectly. See the Q&A Gate (FR-4 Must) section below for the design rationale.
❌ git add | git commit | git push | git stash | git reset — all git mutations are forbiddenThis wrapper reads git state (git status, git diff, git log) for scope detection only. It never creates commits, pushes, or alters the working tree. See @rules/git-workflow.md.
sequenceDiagram
participant U as User
participant W as /post-dev-recap
participant S as scripts/detect-scope.js
participant D as /recap-doc
participant A as /recap-ask
U->>W: /post-dev-recap [<focus>] [--interactive] [--depth ...]
W->>W: Phase 0: Parse args + resolve CWD = git repo root
W->>S: Phase 1: node scripts/detect-scope.js (no args)
alt source === null (scope detection failed)
S-->>W: ScopeReport with source: null + fallback_trace[]
W-->>U: ⚠️ Need Human + fallback_trace + suggest manual /recap-doc --scope
Note over W: exit non-zero — do NOT invoke sub-skills
else source resolved
S-->>W: ScopeReport v1 JSON
opt --interactive
W->>U: AskUserQuestion — "Scope detected (<N> files). 繼續 (continue) / 提問 (ask) / 跳段 (skip) / 結束 (end)?"
U-->>W: 繼續 (continue) | 提問 (ask) | 跳段 (skip) | 結束 (end)
Note over W: ask=prompt the user to phrase a clarifying question about the scope, echo answer, then re-prompt. skip=skip /recap-doc, jump to Phase 3 with user-supplied recap path. end=stop.
end
W->>D: Phase 2: /recap-doc --scope <json> [--focus <focus>] [--depth <d>]
D-->>W: briefing-recap-<date>.md path (ephemeral default = <tmp>/sd0x-dev-flow-recap/)
opt --interactive
W->>U: AskUserQuestion — "Recap ready at <path>. 繼續 (continue) / 提問 (ask) / 跳段 (skip-qa-end) / 結束 (end)?"
U-->>W: 繼續 (continue) | 提問 (ask) | 跳段 (skip-qa-end) | 結束 (end)
Note over W: "skip-qa-end" is the only documented FR-4 bypass — explicit user consent, logged.
end
W->>A: Phase 3: /recap-ask --context <recap-path> (FR-4 Must — non-interactive flow)
loop Q&A turns (until user ends)
U->>A: <question>
A-->>U: answer + Sources + Thread
end
A-->>W: Thread id + promote outcome
W-->>U: Summary: recap path, thread id, promote status
end<focus>; subsequent positional args are a warning (extra args ignored with stderr note).git rev-parse --show-toplevel. If the command is not run inside a git repo, emit ⚠️ Need Human — /post-dev-recap must run inside a git repository. and stop.--depth ∈ {brief, normal, deep}. Reject unknown values.Invoke node scripts/detect-scope.js with no additional args (it auto-detects source: uncommitted → branch → session → null).
Parse stdout as JSON (ScopeReport v1). Validate version === 1.
Scope-fail path (AS-6 exit): if source === null OR files.length === 0, emit:
⚠️ Need Human — scope detection inconclusivefallback_trace array (why each heuristic failed)/recap-doc --scope <explicit-json>scan_error gate: feature_context.scan_error !== false ⇒ the source sets behind the
scope are unknown, not empty — report it and take the ⚠️ Need Human exit rather than
recapping a change whose feature corpus could not be enumerated. detect-scope.js projects
the field onto feature_context for exactly this check. Gate on !== false, not === true: a payload from a shell fallback or an older producer
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.Interactive hook (opt-in): when --interactive is set and scope resolved, call AskUserQuestion with the scope summary (<N> files, source=<s>, confidence=<c>) and the 4-option set {繼續 (continue), 提問 (ask), 跳段 (skip), 結束 (end)}. ask = prompt the user for a clarifying question about the detected scope, echo the answer, then re-prompt the 4-option set. skip = skip /recap-doc and jump to Phase 3 (requires the user to supply an existing recap path). end = stop cleanly without invoking sub-skills.
/recap-doc --scope <path> [--focus <focus>] [--depth <depth>] via the Skill tool.<tmp>/sd0x-dev-flow-recap/briefing-recap-<YYYY-MM-DD>.md (see @skills/recap-doc/SKILL.md ## Save Behavior)./recap-doc failure, surface its stderr verbatim and exit — do not silently fall through.--interactive, call AskUserQuestion with the recap path and the 4-option set {繼續 (continue), 提問 (ask), 跳段 (skip-qa-end), 結束 (end)}. ask = prompt the user for a clarifying question about the recap doc itself (not a Q&A turn — that belongs in Phase 3), echo the answer, re-prompt. skip-qa-end is the only documented FR-4 bypass — explicit user consent, flagged in session log. end closes the session immediately after the doc is written.skip-qa-end in Phase 2's interactive prompt (the only documented FR-4 bypass), collect the user's first question before invoking /recap-ask — the sub-skill's command signature requires <question> as a positional argument (see @skills/recap-ask/SKILL.md ## Command Signature). Use AskUserQuestion with a free-text prompt: 「針對本輪 recap 想問的第一個問題?」. This is a required data-collection step (not a bypass mechanism): a non-empty answer is mandatory. If the user submits an empty answer, re-prompt once with clarification; if they still decline, emit the canonical bypass reminder — 「依 FR-4,非互動模式無法跳過 Q&A;若需跳過請改用 --interactive + 選 skip-qa-end。」 — and re-prompt. Phase 3 does not proceed without a question. The "No bypass" cell at line 133 below remains authoritative for non-interactive runs./recap-ask "<first-question>" --context <recap-path> via the Skill tool using the collected question./recap-ask --continue <threadId> turns until the user types 結束 / done or invokes /recap-ask --end (see @skills/recap-ask/SKILL.md Phase 4). The wrapper does not add extra termination signals — it forwards them as-is.--continue is reusable in future sessions.Design rationale: a "recap" without follow-up Q&A is just a doc. The feature's value is the interactive exploration. Callers who truly only want the markdown must use /recap-doc directly. The wrapper intentionally has no --no-qa flag.
| Mode | Bypass path |
|---|---|
| Non-interactive (default) | No bypass — Phase 3 always runs |
--interactive | skip-qa-end option in Phase 2 AskUserQuestion (explicit consent, logged) |
Target: NFR-2 applies to Phase 2 (/recap-doc ≤ 30s); Phase 1 scope detection and Phase 3 per-turn Q&A inherit from the respective sub-skills' targets. Wrapper overhead itself must be negligible (≤ 1s parsing + dispatch).
| Rule | Implementation |
|---|---|
| Repo boundary | CWD is resolved via git rev-parse --show-toplevel; wrapper refuses to run outside a repo |
| Sub-skill pass-through | /recap-doc and /recap-ask enforce their own path-security rules (see those files) |
| No project writes | Wrapper never writes inside the user's project tree. Phase 2 may serialise the ScopeReport to a short-lived temp file under the OS temp dir ($TMPDIR / os.tmpdir() / /tmp) purely as input to /recap-doc; the recap markdown itself is owned by /recap-doc (ephemeral default under <tmp>/sd0x-dev-flow-recap/). |
| Secret redaction | Inherited from /recap-doc Phase 5 (scripts/security-redact.js) and /recap-ask Phase 3 (same script) |
| Git write operations | Forbidden — see ## Prohibited Actions |
## Post-Dev Recap
**Scope**: <N> files, source=<source>, confidence=<high|medium|low>
**Recap**: `<path>` (ephemeral | committed)
**Q&A**: <N> turns | thread=<codex-threadId> | promote=<yes|no|n/a>
### Summary
- Key file: `<path>:<line>` — <one-line intent>
- Design decision: <one-liner>
- Blind spot flagged: <heuristic name>
### Next steps
- Resume Q&A: `/recap-ask "<follow-up>" --context <path> --continue <threadId>`
- Promote to ticket: already done | `/recap-ask --end` + confirm## ⚠️ Need Human — scope detection inconclusive
**Fallback trace**:
- uncommitted: <N> changes (if <0 or >threshold, fail reason)
- branch: <ahead-of-base>, <reason>
- session: <transcript-entries>, <reason>
**Suggested manual path**:
- Inspect `git status` and pick a scope manually
- Invoke `/recap-doc --scope '{ version: 1, source: ..., files: [...] }'` with explicit JSON<focus>; extras ignored with warning--depth rejected for unknown values (only brief/normal/deep accepted)git rev-parse --show-toplevel; refuses outside reposource === null OR files.length === 0--focus and --depth through to /recap-doc unchangedskip-qa-end can bypass--interactive triggers AskUserQuestion between Phase 1↔2 and Phase 2↔3git add/commit/push/stash/reset) are invoked (AS-6)When NOT to Use contrasts /ask / /tech-brief / /fp-brief / /code-explore (AS-5)/codex-review-fast@skills/recap-doc/SKILL.md — Phase 2 sub-skill (T2)@skills/recap-ask/SKILL.md — Phase 3 sub-skill (T3)scripts/detect-scope.js — Phase 1 ScopeReport producer (T1)@skills/ask/SKILL.md — Pattern comparison only (not reused here; /recap-ask reuses its Phase 2)@rules/git-workflow.md — Git mutation ban (AS-6)@rules/auto-loop.md — Post-execution review loopInput: /post-dev-recap
Action: Phase 0 parse → Phase 1 detect-scope → source=uncommitted, 12 files → Phase 2 /recap-doc → ephemeral recap at <tmp>/sd0x-dev-flow-recap/briefing-recap-2026-04-17.md → Phase 3 /recap-ask --context <path> → interactive Q&A loop until user ends
Input: /post-dev-recap "auth middleware" --depth deep
Action: pass `--focus "auth middleware" --depth deep` to /recap-doc → deep recap with inline snippets → mandatory Q&A
Input: /post-dev-recap --interactive
Action: AskUserQuestion after scope detection (繼續/提問/跳段/結束) → after doc (繼續/提問/跳段-skip-qa-end/結束) → Q&A unless user chose skip-qa-end
Input: /post-dev-recap when no uncommitted/branch/session scope available
Action: Phase 1 returns source=null + fallback_trace → emit ⚠️ Need Human + trace → exit non-zero, no sub-skill invocation© sd0xdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/post-dev-recap of sd0xdev/sd0x-harness.
Open the folder on GitHubat commit a4d4bc1
Post Dev Recap 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 |
|---|---|---|---|---|---|---|
| Post Dev Recap this skillsd0xdev/sd0x-harness | 192 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Vercel Composition Patternssupabase/supabase | 111k | 59 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
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 wrapper. An agent skill from sd0xdev/sd0x-harness. Post Dev Recap is an agent skill from sd0xdev/sd0x-harness. Post-development recap wrapper.
Post Dev Recap fits situations like: development work in your project.
Run `npx skills add sd0xdev/sd0x-harness --skill post-dev-recap -a claude-code`. Or copy the skill folder (skills/post-dev-recap in sd0xdev/sd0x-harness) into .claude/skills/post-dev-recap in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sd0xdev/sd0x-harness --skill post-dev-recap -a codex`. Or copy the skill folder (skills/post-dev-recap in sd0xdev/sd0x-harness) into .agents/skills/post-dev-recap 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 post-dev-recap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/post-dev-recap, .gemini/skills/post-dev-recap, .github/skills/post-dev-recap and .opencode/skills/post-dev-recap in your project.
Going by SKILL.md and its folder, Post Dev Recap needs the command-line tools its instructions call (git and node). Its frontmatter pre-approves these tools: Read, Grep, Glob, Write, Bash(node:*), Bash(git:*), Skill, AskUserQuestion.
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.
Post Dev Recap is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Post Dev Recap: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k 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 89 skills in this directory. The repository was last updated on October 8, 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.