Use when you have a goal or brief and need to break it into executable, testable tasks. Produces a committed plan.md. Triggers on "make a plan", "break this into tasks", or as the planning step of yolo-feature.
Scanned 8/31/2026
Install to Claude Code
npx -y skills add CoriChui/yolo --skill yolo-plan --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Yolo Plan?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/corichui-yolo-plan)More formats (shields.io, HTML) on the badges page.
---
name: yolo-plan
description: Use when you have a goal or brief and need to break it into executable, testable tasks. Produces a committed plan.md. Triggers on "make a plan", "break this into tasks", or as the planning step of yolo-feature.
---
# yolo-plan
Turn a goal into an ordered set of small, testable tasks. One task = one commit.
## Inputs
- The brief (`workspace/features/<slug>/brief.md`) and, if present, `…/research.md`.
## Procedure
1. Decompose the goal into tasks small enough that each is one focused commit (roughly 2–5 steps of work).
2. For each task define: a kebab-case `id`, `title`, `description`, the `files` it touches, a `test_spec` (the tests to write/update — required for non-scaffolding tasks), `relevant_tests` (paths to *existing* tests that already cover the touched code — the contract to keep green; the executor loads these into context, since the measured TDD win is knowing *which* tests to check, not the ritual), a one-line `verification`, and `depends_on` (task ids).
3. Discover the project's `lint_commands` and `test_commands` from its config (package.json scripts, Makefile, pyproject, etc.) and record them — yolo-verify reuses them.
4. Order tasks by dependency.
## Output
Write `workspace/features/<slug>/plan.md` as YAML:
```yaml
tasks:
- id: add-csv-export
title: "Add CSV export endpoint"
description: "..."
files: ["src/export.ts"]
test_spec: "src/export.test.ts: happy-path export + empty-dataset"
relevant_tests: ["src/reports.test.ts"] # existing tests covering this area — keep green
verification: "GET /export returns text/csv"
depends_on: []
lint_commands: ["eslint ."]
test_commands: ["npm test"]
```
Commit the plan (`yolo: plan <slug>`).
## Execution contract (consumed downstream)
- Each task is implemented test-first — its `relevant_tests` (existing contract) and `test_spec` (new tests) are loaded into the executor's context — and committed with the trailer `YOLO-Task: <id>` (`<id>` matches the task's `id` field; see `.claude/yolo/conventions.md`).
- Present the plan for approval before any code is written — this IS the **plan gate**, the first of YOLO's two confirmations (`.claude/yolo/conventions.md` *The two gates*). Lead with the **key findings/assumptions from research** the plan rests on (a wrong assumption is the costliest thing to catch late — research-review is higher-leverage than diff-review), then the tasks. Skip only if the user pre-consented ("just go").
## Constraints
- No status files; status is derived from git. You only write `plan.md`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!