rizukirr/vibekit/plan
Claude Code and agent skill by rizukirr/vibekit
- community
Checking that the SKILL.md file is still in the repository.
Use when a spec is approved and implementation has not started: turns it into a task-by-task plan with exact paths and checkable verification. No code here.
Install
npx vskill@latest install rizukirr/vibekit/planSKILL.md
plan
Turn an approved spec into an implementation plan. No code is written here.
HARD-GATE
Do NOT implement anything until a plan file exists and the user has approved it.
The gate has one precondition, and it is checkable rather than asserted: a spec file exists carrying status: approved in its frontmatter. If there is none, stop and invoke brainstorm. A plan built on a draft is a plan built on something the user may still change.
The spec is settled
Read it, do not re-litigate it. Questions it already answered are not asked again. A defect found in it goes back to the user as a question: never a silent edit, because the approved artefact is what the user signed.
Refusals
- Spec spans independent subsystems. Say so before writing any task. One plan per subsystem, each producing working software on its own.
- A requirement has no possible verify clause. Not a licence to write a weak one. Either the task boundary is wrong and splits, or the requirement is unobservable and goes back to the user as a question.
Plan document
Write to docs/plans/YYYY-MM-DD-<topic>.md, then commit: that file alone.
Global constraints are the spec's project-wide requirements: version floors, dependency limits, naming rules. Stated once, they are implicitly part of every task, so no task restates them and no task author has to remember them.
Task shape
A task is the smallest unit worth a fresh reviewer's gate. Fold setup, config and documentation into the task whose deliverable needs them. Split only where a reviewer could reject one task while approving its neighbour. Each task ends with an independently testable deliverable and one commit.
Steps that change code carry the actual code. A step that runs a command names the command and stops there.
You may not write a value you have not observed
Every value this plan states, a number, a path, a count, a cross-reference, must be one you observed. You read it, you ran it, or you chose it as a threshold. A value you recalled is a guess, and a guess in a plan is a defect a fresh implementer pays for: they follow the plan exactly, hit a contradiction, and stop.
Two ways to satisfy it. Derive the value before writing it, usually one command and a few seconds. Or state the property instead of the value: "every new case passes" rather than "three cases pass".
A clause is the strictest case. A → verify: clause states a predicate: something checkable by a reader of the plan, before anything runs. Not a transcript.
Predicates: exit status, pass or fail, a file exists, a match count at or above a threshold, an HTTP status.
Not predicates: a quoted message, a specific count, a diff, a sample of output. Each is a claim about a future you have not seen. When one is wrong, the executing agent cannot tell whether the code failed or the plan lied, and it will assume the code.
A number is not itself the tell. Three forms carry one legitimately: an exit status, an HTTP status, and a threshold in either direction (at least 1 match, under 120 lines). Any other number in a clause is a predicted value. A threshold is derivable because you chose it. A predicted value is not, because the runtime chooses it.
Spelling a number out does not launder it. "The four cases pass" is a count, and the first plan written under this rule got that count wrong.
Naming your command in a code span is not quoting. Backticks delimit what to run. Straight quotes are how a predicted transcript gets in.
If a specific value is genuinely load-bearing, the task's first step observes it, and the clause refers to the observation instead of a guess.
A clause must be satisfiable by the task it belongs to. If you cannot say what would make it true, the task boundary is wrong, not the clause.
Outside a clause the rule still holds, and there is no allowlist. A line count in a task title, a path in a Files block, a version in Global constraints, a reference to another task by number: each is a value, so each was read, run, or chosen. None may be recalled.
No placeholders
TBD, TODO, "add error handling", "similar to Task N", and any reference to a function no task defines are plan failures, not shorthand. Repeat the code: tasks get read out of order.
Self-review
- Spec coverage. Every requirement maps to a task. Add any that is missing.
- Placeholders. Scan for the patterns above. Fix them.
- Clauses. Scan every
→ verify:for a quoted string, or a number outside the three permitted forms. Both are predicted output. Fix them. - Provenance. For every number, path, count and cross-reference in the plan, name where it came from. "I ran it" and "I read it" pass. "I knew it" is a guess: derive it, or state a property instead.
Fix inline. No re-review.
User review gate
Send exactly this, verbatim:
Plan written and committed to<path>. Please review it and let me know if you want to make any changes before we start implementing.
Wait. On requested changes, make them and re-run self-review.
Handoff
The only next skill is exec, once the user has approved the plan. Never invoke an implementation skill from here.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/plan/SKILL.md
Popularity
- Repository stars
- 20
- Repository forks
- 1
- 7-day trend score
- 15
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rizukirr/vibekit/plan)