Plan > Vibes. Five Claude Code skills for solo devs who refuse to vibe-code and refuse enterprise ceremony.
/dev-brainstorm → /dev-plan → /dev-coding → /dev-ship
BRIEF.md PLAN.md executes verifies + closes
│
/dev-fix (a bug appears, any time)
solodev is not a new framework. It's a distillation — four of the best dev-discipline projects for AI coding, compressed into five lean skills that fit one person shipping fast.
flowchart TB
MP["<b>Matt Pocock — skills</b><br/><sub>grilling · TDD vertical<br/>diagnose loop · to-prd · to-issues</sub>"]
OS["<b>OpenSpec</b><br/><sub>spec-driven philosophy<br/>BRIEF → PLAN → archive lifecycle</sub>"]
GSD["<b>get-shit-done</b><br/><sub>atomic task frontmatter<br/>must-haves · checkpoints · read_first</sub>"]
ECC["<b>everything-claude-code</b><br/><sub>verification-loop · search-first<br/>anti-vibe patterns catalog</sub>"]
KAR["<b>Karpathy rules</b><br/><sub>think before coding<br/>surgical changes · no speculation</sub>"]
MP --discipline--> SOLO
OS --philosophy--> SOLO
GSD --structure--> SOLO
ECC --catalog--> SOLO
KAR --DNA--> SOLO
SOLO(("<b>solodev</b>"))
SOLO --> B["/dev-brainstorm"]
SOLO --> P["/dev-plan"]
SOLO --> C["/dev-coding"]
SOLO --> F["/dev-fix"]
SOLO --> SH["/dev-ship"]
style SOLO fill:#0ea5e9,stroke:#0369a1,stroke-width:3px,color:#fff
style B fill:#f8fafc,stroke:#0ea5e9,stroke-width:1px,color:#0f172a
style P fill:#f8fafc,stroke:#0ea5e9,stroke-width:1px,color:#0f172a
style C fill:#f8fafc,stroke:#0ea5e9,stroke-width:1px,color:#0f172a
style F fill:#f8fafc,stroke:#0ea5e9,stroke-width:1px,color:#0f172a
style SH fill:#f8fafc,stroke:#0ea5e9,stroke-width:1px,color:#0f172a
Most AI dev frameworks were written for teams: phases, sprints, epics, OKRs, sub-rituals, multi-agent orchestration, parallel execution waves, integration officers. You are not twenty people. You are one person shipping a feature this afternoon.
solodev removes the ceremony. What's left is the smallest set of disciplines that consistently prevents AI from making you regret asking it to code:
| You want | solodev gives you | We dropped |
|---|---|---|
| Stress-test the idea | /dev-brainstorm — 1 question at a time, with recommendation |
Persona workshops, opportunity sizing |
| Plan that survives reset | /dev-plan — atomic tasks, verifiable acceptance, vertical slices |
Phases, milestones, wave scheduling, parallel agent pools |
| Execute reliably | /dev-coding — TDD where it pays, delegates bugs and closeout |
DAG orchestrators, multi-agent supervisors, agent boards |
| Kill bugs with method | /dev-fix — feedback loop first, falsifiable hypotheses, one probe each |
Trial-and-error, "change it and see if it passes" |
| Ship what's verified | /dev-ship — Must-Haves, demo script, diff review, security pass |
Release trains, change-advisory boards, sign-off matrices |
Solo devs lose more time to planning theater than to bad code. Symptoms you'll recognize:
- BRD → PRD → TDD → ADR → RFC → SDS for a CRUD endpoint
- 14-page spec where 2 paragraphs would land the same outcome
- "Phase 3 of 7" for a feature that could ship Friday
- Backlog grooming for a backlog you alone wrote yesterday
- A
must_haveschecklist with 30 items, of which 25 are obvious to anyone reading the code
The 9 vs 10 rule: a 9/10 implementation shipped today compounds. A 10/10 plan that ships in three weeks rots. Solo devs win on velocity, not polish. solodev biases every default toward the 9.
- One question at a time with a recommendation — never ten at once, never silent assumptions (Karpathy)
- No code in the plan — decisions, contracts, verifiable acceptance criteria; code lives in code
- Vertical slices — each task cuts schema → API → UI → test in a thin slice, not "all the models first"
- Reset-friendly — drop the session, read the
PLAN.md, resume. Auto-sufficient on purpose. - Verify before done — every acceptance criterion is grep/build/test-able; no "works correctly" allowed
- Surgical changes — touch what was asked; don't refactor adjacent code; don't add abstractions for hypothetical futures
- ❌ Phases, sprints, epics, OKRs (you have tasks and subtasks)
- ❌ Wave-based parallel execution (you're one person — there is no "wave 2")
- ❌ Multi-agent orchestration with shared state machines (overkill for solo)
- ❌ Goal trees with 30 must-have rows (3–5 verifiable truths is enough)
- ❌ SUMMARY chaining between adjacent plans (false dependencies)
- ❌ User-setup documents separated from the plan (just put it inline)
- ❌ Spec-kit-style rigid phase gates (iterate, don't waterfall)
Structured grilling before you plan. Mirrors back what it understood (so a spoken, stream-of-consciousness idea doesn't get grilled in the wrong direction), triages the idea as S/M/L so a 30-minute task doesn't pay BRIEF tax, then asks one question at a time, always with a recommendation inline. Explores the codebase silently to answer what code can answer. Adds a product lens (empty/error/loading/permission states) and closes with a top-3 risk radar. Builds a one-page BRIEF.md live as decisions crystallize.
Use when: you have a raw idea and want to stress-test it before committing to a plan.
Transforms the BRIEF.md (or a finished discussion) into an atomic PLAN.md. Vertical slice tasks. Each task has: type, effort, slice, depends_on, read_first, files_modified, action, acceptance (verifiable), must_pass, and rollback (for tasks that touch migrations, public contracts, or prod data). Plus a Must-Haves block (truths, artifacts, key links) and a 60-second demo script that get verified at the end, and /clear points marked between noisy tasks. Every material decision logs the choice plus the rejected alternative, and the plan ships as draft until an explicit Approve flips it to ready. No code in the plan.
Use when: the BRIEF is closed and you want a reset-friendly execution document.
Executes the PLAN.md task-by-task. Opens each session with a progress line (4/9 tasks ✅). Reads read_first before touching anything. Runs must_pass and verifies every acceptance criterion. Supports TDD (vertical tracer bullets, never horizontal slicing), HITL checkpoints (checkpoint:decision, checkpoint:human-verify), a scope guard when a task balloons past its declared files, a drift protocol when reality contradicts the plan, and atomic commits per task. Delegates bugs to /dev-fix and closeout to /dev-ship.
Use when: you have a PLAN.md and want to execute it without losing discipline.
The diagnose loop as its own skill — no plan required. Triages a bug as trivial / real / architectural, then for real bugs runs the six-phase loop: build a sub-10-second reproducible feedback loop first, rank falsifiable hypotheses, one probe per hypothesis, fix with a regression test, clean up the probes. Stops and asks after two cycles without progress instead of guessing a third time.
Use when: something is broken — a stack trace, "it worked yesterday", or a failed checkpoint:human-verify.
Goal-backward verification before you call it done. Runs the full build/test/lint, the PLAN's Must-Haves, and the demo script; reviews the whole diff for leftovers (debug logs, dead code, empty catches) and author bugs; runs a security lens over touched files (hardcoded secrets, unvalidated external input, missing auth); writes SUMMARY.md and archives the plan. Also runs standalone as a disciplined pre-commit review.
Use when: the last task is done, or you want a diff reviewed before committing.
git clone https://github.com/calneymgp/solodev.git
cd solodev && ./install.sh # global → ~/.claude/skills/
# or
cd solodev && ./install.sh --project # project → ./.claude/skills/Open any Claude Code session and type / — the five skills appear in autocomplete.
1. > /dev-brainstorm
Mirrors the idea back, triages S/M/L, asks one question at a time
with a recommendation. .plans/<feature>/BRIEF.md is written live.
2. > /dev-plan
Reads BRIEF + your CLAUDE.md + codebase, writes PLAN.md.
Atomic tasks, vertical slices, effort, rollback, must-haves, demo script.
3. > /clear (optional — reset context)
PLAN.md is auto-sufficient.
4. > /dev-coding
Picks next pending task, reads read_first, applies action,
verifies acceptance, marks [x], commits, moves on.
→ /dev-fix any time a bug appears.
5. > /dev-ship
Build/test/lint + Must-Haves + demo + diff review + security pass.
Writes SUMMARY.md. Done means verified, not "looks done".
Outputs live in:
.plans/<feature-slug>/
├── BRIEF.md # /dev-brainstorm (optional)
├── PLAN.md # /dev-plan (source of truth)
├── DISCOVERY.md # /dev-plan (when library research was needed)
└── SUMMARY.md # /dev-ship (on completion)
solodev cherry-picks what compounds across four leading dev-discipline projects for AI coding agents — and drops what doesn't fit a solo dev.
-
Matt Pocock — skills —
grill-with-docstaught the "one question at a time, with recommendation, explore-codebase-first" pattern.tddtaught vertical tracer bullets (never horizontal slicing).diagnosetaught "build the feedback loop first — that IS the skill".to-prdandto-issuesshowed independently-grabbable vertical slices. -
OpenSpec (Fission-AI) —
proposal.md→tasks.md→ archive lifecycle. The "agree before you build" anti-vibe philosophy. -
get-shit-done (gsd-build) — per-task frontmatter (
type,slice,depends_on,files_modified,read_first,must_pass), checkpoint patterns, and Must-Haves (truths/artifacts/key_links) for goal-backward verification. solodev keeps the spirit, drops the enterprise weight. -
design.md (Google Labs) — separate concern; not pulled in directly. Worth knowing about for UI-token-heavy work.
-
everything-claude-code (affaan-m) — the comprehensive catalog that helped identify which patterns actually compound (search-first, verification-loop) vs. which are framework-bound noise.
- Think before coding — surface ambiguity, never assume in silence
- Surgical changes — touch only what was asked
- Goal-driven — vague tasks → verifiable criteria before starting
- No speculative engineering — minimum code that solves the actual problem
- Not a framework. No CLI, no daemon, no state machine, no version pinning. Five markdown files Claude reads.
- Not a methodology. Skip
/dev-brainstormif the brief is already clear in your head. Skip Must-Haves on a 30-line script. Use it where it pays. - Not for teams. Ten PMs + thirty engineers? Use full GSD or OpenSpec. solodev is the lean version for one person.
- Not anti-AI. It's pro-AI — by removing the "vibe" failure mode that makes AI coding unreliable for solo devs.
Open an issue if a pattern bites you in real solo-dev usage. Improvements should make the skills shorter and sharper, not longer.
PRs welcome if they reduce ceremony without sacrificing discipline.
MIT — see LICENSE. If you fork: keep the credits. The four upstream projects deserve the visibility.