← ClaudeAtlas

define-successlisted

Convert an imperative task statement into explicit
danielvm-git/bigpowers · ★ 2 · AI & Automation · score 70
Install: claude install-skill danielvm-git/bigpowers
# Define Success Transform "do X" into "step → verify: <cmd>" pairs. This is the pre-flight check before `plan-work` or `develop-tdd` — it makes success observable and removes ambiguity about when you're done. > **HARD GATE** — Success criteria must be testable and user-observable. "Code should be fast" is not testable. "Pageload latency < 2s" is testable. ## Why this matters "Implement user authentication" is not a plan. It has no checkpoints, no evidence requirement, and no way to know if you're done. The Karpathy principle: every step must be independently verifiable with a runnable command. If you can't verify it, you can't prove it works. ## Process ### 1. Read the task statement Take the task as stated (from conversation, or from `specs/epics/ (see slice-tasks)`, or from `specs/product/SCOPE_LATEST.yaml`). ### 2. Break into observable outcomes For each thing the task requires, identify: - The smallest unit of observable behavior that proves something works - The command that proves it Work at the level of behaviors (what the system does) not implementation steps (how you'll write the code). ### 3. Write the pairs Format each pair as: ``` N. [What must be true] → verify: <runnable command> ``` Examples: ``` Task: "Add user registration to the API" 1. POST /users accepts {email, name} and returns {id, email, name} → verify: curl -s -X POST http://localhost:3000/users -H 'Content-Type: application/json' -d '{"email":"test@test.com","name":"Test"}' | jq .id 2