Agent skill

Plan

by ericrisco in ericrisco/rsc-harness

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…

MITAuto-check passedAgent Workflows

Install Plan

skills CLI
$ npx skills add ericrisco/rsc-harness --skill plan -a claude-code

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

GitHub CLI
$ gh skill install ericrisco/rsc-harness plan --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/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/plan .claude/skills/plan && 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
plan
GitHub stars
156
Token cost
~2.5k tokens
SKILL.md length
1,192 words
Files
4 (incl. references)
Skills in repo
229
Repo updated
First seen
Licence
MIT

At a glance

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…

  • Works in 4 steps: The spec — 02-DOCS/wiki/sdd/specs/.md.… → The constitution —… → The Knowledge map —… → …
  • Clarified spec must become a technical blueprint before any code — the SDD phase between clarify and tasks: architecture
  • SKILL.md covers Decide structure, not syntax, Entry gate, What a plan contains and The artifact, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • 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

Example prompts

  • “/plan”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. The spec — 02-DOCS/wiki/sdd/specs/.md. Missing → STOP, route to
  2. The constitution — 02-DOCS/wiki/sdd/constitution.md holds the project's non-negotiables
  3. The Knowledge map — 02-DOCS/wiki/index.md points at 02-DOCS/wiki/stack/* and prior
  4. The profile — technical_level in 02-DOCS/wiki/harness/user-profile.md (see below).

What it can do on your machine

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

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    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

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.

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

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 ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 1,192 words, ~2,502 tokens.

Download SKILL.mdSave it as .claude/skills/plan/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
plan
description
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`).
tags
sdd, plan, design
recommends
tasks
profiles
core, full
origin
risco

Plan — the technical blueprint between spec and tasks

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.

text
constitution → specify → clarify → [ plan ] → tasks → analyze → implement → verify → review → ship

Decide structure, not syntax

A 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.

text
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 none

That 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.

Entry gate

  1. The spec — 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.
  2. The constitution — 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.
  3. The Knowledge map — 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.
  4. The profile — technical_level in 02-DOCS/wiki/harness/user-profile.md (see below).

What a plan contains

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.

§SectionThe question it answers
0Global constraintsWhich exact values must every task honor? (verbatim, not paraphrased — a context-isolated implementer and its reviewer see nothing else)
1Context & constraintsWhich spec/constitution facts pin this design down? Cite (spec §Acceptance #3), don't re-paste
2ArchitectureWhat are the components and how do they fit together?
3Interfaces & contractsWhat does each component promise the others?
4Data model & flowWhat data exists, where it lives, how it moves and changes?
5Testing strategyHow will we prove each part does what it claims?
6Sequencing & dependenciesIn what order can this be built and verified?
7Risks & open decisionsWhat is most likely to be wrong, and what is still undecided?

Three of them carry the weight and fail quietly:

  • §2 Architecture — a box-and-arrow diagram, one sentence of single responsibility per component, internal vs. external marked (the arrows are the seams you will test and parallelize). State the one decision that matters most — sync vs. async, split service vs. monolith, read model vs. single table — and defend it against a constraint from §1. If two designs are genuinely viable, give both, the trade-off, and your recommendation; leaving the reader to choose is not a plan.
  • §5 Testing strategy — per acceptance criterion: the level that proves it (unit / contract / integration / e2e), what it asserts, what it fakes to stay fast. Deciding this before code exists is what makes implement's TDD possible. You choose the seams; the stack skill owns the tooling.
  • §7 Risks — ranked, each with trigger, impact, and the mitigation or spike that retires it. A plan claiming zero risk is the riskiest one. Significant decisions taken while planning also get appended to 02-DOCS/wiki/sdd/decisions.md, so later phases can trace the why.

The artifact

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.

Model tier — 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.

Show full SKILL.md (474 more words)Show less

Talking about the plan

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-patterns

Anti-patternWhy 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 negativeThe plan that claims no risk is the riskiest. Rank the real ones, give each a mitigation.
Picking the framework, ORM and config hereStack canon lives in the constitution; mechanics live in the stack skill. Stay above the seam.
Listing two designs and letting the reader chooseDecide. Alternatives ship only with a trade-off and a recommendation matched to the constitution.
One big undifferentiated sequencing stepThen tasks cannot slice it and nothing is independently verifiable. Order it into checkable steps.
Starting a fresh plan when one exists for the slugForked plans rot and later phases read the wrong one. Update in place, note the change.

Always propose isolation before the build

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.)

When NOT to use

  • Fuzzy idea, no spec yet → ../specify/SKILL.md; ambiguity in an existing spec → ../clarify/SKILL.md; project-wide non-negotiables → ../constitution/SKILL.md.
  • Slicing an approved plan into an ordered checklist → ../tasks/SKILL.md.
  • Concrete framework/ORM/test-runner mechanics → the stack skill (../fastapi/SKILL.md, ../nextjs/SKILL.md, ../go/SKILL.md, ../flutter/SKILL.md, ../postgresdb/SKILL.md).

Result envelope

End with the parseable block every SDD phase shares, so the dispatcher can chain without interpreting prose (contract: ../sdd/SKILL.md):

json
{
  "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"]
}

Next in the chain

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

Files

SKILL.md and 3 other files (references) in skills/plan of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/plan-template.md

Open the folder on GitHubat commit 92fde8f

Compare with similar skills

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.

Plan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Plan this skillericrisco/rsc-harness156—~2.5kAutomated safety check: PassMIT
Breakdown Testgithub/awesome-copilot40k1 repos~3.7kAutomated safety check: PassMIT
MemPalace Task HandoffMemPalace/mempalace59k—~1.9kAutomated safety check: PassMIT
Planning And Task Breakdownabashev/vfs-s31068 repos~1.9kAutomated safety check: PassApache-2.0
Incremental Implementationaddyosmani/agent-skills102k1 repos~2.3kAutomated safety check: PassMIT
ULW Plan Workflowcode-yeongyu/oh-my-openagent70k—~3.9kAutomated safety check: PassCustom licence

Similar skills

  • Breakdown Test

    github/awesome-copilot

    Official

    Test Planning and Quality Assurance prompt that generates comprehensive test strategies, task breakdowns, and quality validation plans for GitHub projects.

    40k GitHub starsUsed in 1 repo~3.7k tokens
    Testing & QAAuto-check passed
  • MemPalace Task Handoff

    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.

    59k GitHub stars~1.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Breaks work into ordered tasks. An agent skill from abashev/vfs-s3.

    106 GitHub starsUsed in 8 repos~1.9k tokens
    Agent WorkflowsAuto-check passed
  • Incremental Implementation

    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.

    102k GitHub starsUsed in 1 repo~2.3k tokens
    Agent WorkflowsAuto-check passed
  • ULW Plan Workflow

    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.

    70k GitHub stars~3.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Implementation Plan Creator

    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.

    7.6k GitHub starsUsed in 1 repo~1.1k tokens
    Agent WorkflowsAuto-check passed

More from ericrisco/rsc-harness

All 229 skills in this repo
  • Ab Testing

    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…

    156 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Accessibility

    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…

    156 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Ads

    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…

    156 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Agent Eval

    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…

    156 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • AI Media

    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…

    156 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Analytics

    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.

    156 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Categories

Questions about Plan

What does Plan do?

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.

When should I use Plan?

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.

How do I install Plan in Claude Code?

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.

How do I install Plan in Codex?

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.

Can I use Plan 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 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.

What does Plan need to run?

SKILL.md names no scripts, command-line tools or credentials: Plan is instructions for the agent only.

Does Plan access the network?

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.

Is Plan 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 Plan use?

Plan 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 Plan use?

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.

What are the alternatives to Plan?

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.

Who maintains Plan?

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.