Breakdown Test
github/awesome-copilot
Test Planning and Quality Assurance prompt that generates comprehensive test strategies, task breakdowns, and quality validation plans for GitHub projects.
A skill your agent uses when an approved, clarified spec must become a technical blueprint before any code — the SDD phase between clarify and tasks: architecture, contracts, data flow, testing…
$ npx skills add ericrisco/rsc-harness --skill plan -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness plan --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/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/plan .claude/skills/plan && 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 "plan" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/plan into .claude/skills/plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plan", 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/ericrisco/rsc-harness/tree/main/skills/planType 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 ericrisco/rsc-harness --skill plan -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness plan --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/plan .agents/skills/plan && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "plan" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/plan into .agents/skills/plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plan", 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 ericrisco/rsc-harness --skill plan -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness plan --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/plan .cursor/skills/plan && 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 "plan" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/plan into .cursor/skills/plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plan", 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/ericrisco/rsc-harness.git --path skills/plan--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 ericrisco/rsc-harness --skill plan -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness plan --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/plan .gemini/skills/plan && 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 "plan" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/plan into .gemini/skills/plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plan", 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 ericrisco/rsc-harness planInstalls 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 ericrisco/rsc-harness --skill plan -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/plan .github/skills/plan && 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 "plan" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/plan into .github/skills/plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plan", 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 ericrisco/rsc-harness --skill plan -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness plan --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/plan .opencode/skills/plan && 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 "plan" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/plan into .opencode/skills/plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "plan", 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.
planA skill your agent uses when an approved, clarified spec must become a technical blueprint before any code — the SDD phase between clarify and tasks: architecture, contracts, data flow, testing…
Plan is an agent skill from ericrisco/rsc-harness. Use when an approved, clarified spec must become a technical blueprint before any code — the SDD phase between clarify and tasks: architecture, contracts, data flow, testing strategy, sequencing and risks, at structure altitude, never framework syntax. NOT the what/why spec (that is specify), NOT the ambiguity sweep (that is clarify), NOT the task breakdown (that is tasks), NOT the code (that is implement).
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/plan-template.md`).
It sits in Agent Workflows, covering Test strategy and Task breakdown. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Plan loads about 2.5k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 1,192 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 ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 1,192 words, ~2,502 tokens.
.claude/skills/plan/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.The spec says what and why. plan decides how: the components, the contracts between
them, the data that flows, how each claim gets proven, and what is most likely to bite. It reads the
clarified spec and the constitution, writes ONE artifact — 02-DOCS/wiki/sdd/plans/<slug>.md — and
hands off to tasks, which slices it into an ordered, independently-verifiable checklist.
constitution → specify → clarify → [ plan ] → tasks → analyze → implement → verify → review → shipA plan names components, contracts, shapes and flows. It does not write the framework's route
decorators, the ORM's session boilerplate or the test runner's flags — those are stack mechanics,
owned by the stack skill (../fastapi/SKILL.md, ../nextjs/SKILL.md, ../go/SKILL.md,
../flutter/SKILL.md, ../postgresdb/SKILL.md) at implement time. This altitude is what makes a
plan reviewable against intent and slice-able by tasks; drop it and you get code no one approved.
reservation.reserve(cartId: CartId) -> Reservation | OutOfStock | CartNotFound
- idempotent on cartId (calling twice returns the same Reservation)
- holds stock for 15 min, then auto-releases
- never partially reserves: all lines or noneThat is the altitude. The stack skill later decides whether it becomes a POST handler with a Pydantic model or a Go method on a struct — it can, because the contract is unambiguous.
02-DOCS/wiki/sdd/specs/<slug>.md. Missing → STOP, route to
../specify/SKILL.md. Still carrying [NEEDS CLARIFICATION] markers or open questions → STOP,
route to ../clarify/SKILL.md. A plan built on an unclarified spec is a guess wearing a diagram,
and every phase downstream inherits the guess.02-DOCS/wiki/sdd/constitution.md holds the project's non-negotiables
(stack canon, quality bars, conventions). Every architectural choice must be consistent with it;
where the design needs to bend a principle, say so with a reason instead of bending it silently.02-DOCS/wiki/index.md points at 02-DOCS/wiki/stack/* and prior
plans/decisions. Reusing what the project already settled is the difference between a plan and
scope drift.technical_level in 02-DOCS/wiki/harness/user-profile.md (see below).The sections of the artifact, in order; fill them top-down, later ones lean on earlier ones. The
fill-in skeleton with per-section guidance is references/plan-template.md — use it verbatim.
| § | Section | The question it answers |
|---|---|---|
| 0 | Global constraints | Which exact values must every task honor? (verbatim, not paraphrased — a context-isolated implementer and its reviewer see nothing else) |
| 1 | Context & constraints | Which spec/constitution facts pin this design down? Cite (spec §Acceptance #3), don't re-paste |
| 2 | Architecture | What are the components and how do they fit together? |
| 3 | Interfaces & contracts | What does each component promise the others? |
| 4 | Data model & flow | What data exists, where it lives, how it moves and changes? |
| 5 | Testing strategy | How will we prove each part does what it claims? |
| 6 | Sequencing & dependencies | In what order can this be built and verified? |
| 7 | Risks & open decisions | What is most likely to be wrong, and what is still undecided? |
Three of them carry the weight and fail quietly:
implement's TDD possible. You choose the seams; the stack skill owns the tooling.02-DOCS/wiki/sdd/decisions.md, so later phases can trace the why.Write 02-DOCS/wiki/sdd/plans/<slug>.md, <slug> matching the spec's slug exactly — one plan per
spec, same name, because that is how tasks, analyze and implement find it. Then index it in
02-DOCS/wiki/index.md (the Knowledge map; root CLAUDE.md keeps only a pointer). If a plan for
this slug already exists, update it in place and note what changed — never fork a -v2.
heavy (opt-in routing)Architecture, interfaces, data flow and risk are the heaviest reasoning in the chain, so this
phase's default tier is heavy. Routing is off unless models.enabled: true in
02-DOCS/wiki/sdd/config.yaml; the resolution order, the announce rule and the model table live in
../sdd/references/model-routing.md. Routing off or no profile → session model, silently.
The artifact is complete regardless of who reads it: every section, each significant design choice
justified with the trade-offs weighed. In chat, say only what the reader needs, in the orient
voice: point to the file and give one line of why on the top architectural decision. The register
comes from technical_level in 02-DOCS/wiki/harness/user-profile.md (set by ../init/SKILL.md):
for a non-technical reader, explain the architecture with an everyday analogy and define each term
inline. Ask only about constraints you cannot infer.
| Anti-pattern | Why it fails / the fix |
|---|---|
| Writing the real code in the plan "because it's faster" | You dropped an altitude. Syntax is the stack skill's job at implement. Pull back to contracts. |
| Planning around a spec that is "a bit fuzzy but I get the gist" | A plan on an unclarified spec is a guess. STOP, route to clarify, then plan. |
| Testing strategy = "we'll write tests" | Not a strategy. Name the level per acceptance criterion and what each test fakes. |
| Keeping risks short because they read negative | The plan that claims no risk is the riskiest. Rank the real ones, give each a mitigation. |
| Picking the framework, ORM and config here | Stack canon lives in the constitution; mechanics live in the stack skill. Stay above the seam. |
| Listing two designs and letting the reader choose | Decide. Alternatives ship only with a trade-off and a recommendation matched to the constitution. |
| One big undifferentiated sequencing step | Then tasks cannot slice it and nothing is independently verifiable. Order it into checkable steps. |
| Starting a fresh plan when one exists for the slug | Forked plans rot and later phases read the wrong one. Update in place, note the change. |
Once the plan is written, always propose isolating the work in a git worktree/branch before any code is implemented — every feature, not just the risky ones. One line:
"Antes de implementar, ¿aíslo este trabajo en un worktree/rama propia (
../worktrees/SKILL.md) para no tocar tu rama actual? (recomendado)"
Accepted → hand to ../worktrees/SKILL.md first. Declined → note it and continue. Already on the
default branch (main/master) → isolation is not optional: say so and route to worktrees
regardless. (implement re-checks this as a hard gate before its first commit.)
../specify/SKILL.md; ambiguity in an existing spec →
../clarify/SKILL.md; project-wide non-negotiables → ../constitution/SKILL.md.../tasks/SKILL.md.../fastapi/SKILL.md,
../nextjs/SKILL.md, ../go/SKILL.md, ../flutter/SKILL.md, ../postgresdb/SKILL.md).End with the parseable block every SDD phase shares, so the dispatcher can chain without
interpreting prose (contract: ../sdd/SKILL.md):
{
"status": "complete|blocked|failed",
"executive_summary": "Technical plan derived from the clarified spec, with the isolation decision made.",
"artifact": "02-DOCS/wiki/sdd/plans/<slug>.md",
"next_recommended": "tasks",
"risk": "low|medium|high",
"skill_resolution": {
"used": ["plan"],
"missing": [],
"fallback": [],
"compact_rules": ["The plan answers HOW; the spec owns WHAT.", "Name the isolation choice before the build starts."]
},
"evidence": ["plan path exists", "each spec acceptance criterion has an approach", "risks and rollback stated"]
}Plan written, indexed, decisions logged → propose isolation (above), then hand off to
../tasks/SKILL.md, which turns §6 into an ordered task list with a done-check per task. If
planning surfaced an ambiguity the spec never resolved, loop back to ../clarify/SKILL.md first.
© ericrisco, 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/plan of ericrisco/rsc-harness.
Open the folder on GitHubat commit 92fde8f
Plan 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 |
|---|---|---|---|---|---|---|
| Plan this skillericrisco/rsc-harness | 156 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Breakdown Testgithub/awesome-copilot | 40k | 1 repos | ~3.7k | Automated safety check: Pass | MIT | |
| MemPalace Task HandoffMemPalace/mempalace | 59k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Planning And Task Breakdownabashev/vfs-s3 | 106 | 8 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Incremental Implementationaddyosmani/agent-skills | 102k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| ULW Plan Workflowcode-yeongyu/oh-my-openagent | 70k | — | ~3.9k | Automated safety check: Pass | Custom licence |
github/awesome-copilot
Test Planning and Quality Assurance prompt that generates comprehensive test strategies, task breakdowns, and quality validation plans for GitHub projects.
MemPalace/mempalace
Creates, hands off, claims, executes and closes agent tasks through the MemPalace logstream, with approval of the exact task before it is recorded.
abashev/vfs-s3
Breaks work into ordered tasks. An agent skill from abashev/vfs-s3.
addyosmani/agent-skills
Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.
code-yeongyu/oh-my-openagent
Explore-first planning that turns a vague or large request into one decision-complete work plan, written only after your approval and executed by a separate worker.
tailcallhq/forgecode
Writes a structured Markdown implementation plan with checkbox tasks, verification criteria and risks, then checks it with a validation script; no code changes.
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Categories
A skill your agent uses when an approved, clarified spec must become a technical blueprint before any code — the SDD phase between clarify and tasks: architecture, contracts, data flow, testing…. Plan is an agent skill from ericrisco/rsc-harness. Use when an approved, clarified spec must become a technical blueprint before any code — the SDD phase between clarify and tasks: architecture, contracts, data flow, testing strategy, sequencing and risks, at structure altitude, never framework syntax.
Plan fits situations like: clarified spec must become a technical blueprint before any code — the SDD phase between clarify and tasks: architecture; testing strategy; sequencing and risks; at structure altitude.
Run `npx skills add ericrisco/rsc-harness --skill plan -a claude-code`. Or copy the skill folder (skills/plan in ericrisco/rsc-harness) into .claude/skills/plan in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill plan -a codex`. Or copy the skill folder (skills/plan in ericrisco/rsc-harness) into .agents/skills/plan 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 ericrisco/rsc-harness --skill plan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/plan, .gemini/skills/plan, .github/skills/plan and .opencode/skills/plan in your project.
SKILL.md names no scripts, command-line tools or credentials: Plan is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Plan 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.5k tokens (SKILL.md is roughly 10k 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 1.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Plan: Breakdown Test (github/awesome-copilot, 40k stars), MemPalace Task Handoff (MemPalace/mempalace, 59k stars), Planning And Task Breakdown (abashev/vfs-s3, 106 stars) and Incremental Implementation (addyosmani/agent-skills, 102k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.