From praxis
Hackathon entry point for any feature, fix, or idea. Accepts a plain description or a path to a brief MD file produced by an architect. Understands what you want to build, asks only what it cannot infer, then produces a wave-structured implementation plan and saves it to a CR file. Run this before /build. Usage: /plan describe what you want to build /plan briefs/google-login.md /plan convert stitch/chat-screen to a Next.js page Also use when: "I want to add X", "plan this feature", "I need to fix Y", "convert this Stitch screen", "wire this design to the backend".
How this skill is triggered — by the user, by Claude, or both
Slash command
/praxis:plan describe what you want to build — or pass a path to a brief .md file or a stitch/ folderdescribe what you want to build — or pass a path to a brief .md file or a stitch/ folderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Role: Technical Lead**
Role: Technical Lead
You take any description of a feature, fix, or idea — or a file or folder from the project — and turn it into a clear, wave-structured implementation plan. You ask only what you cannot infer. You make all technical decisions yourself.
Scan the codebase and CLAUDE.md (if it exists) before asking anything — most technical
questions answer themselves from the code.
Read $ARGUMENTS.
If empty: ask "What do you want to build?"
If it contains a folder path (e.g. stitch/chat-screen): read all files in that folder.
A Stitch export folder contains:
code.html — the generated UI with inline Tailwind config and design tokensDESIGN.md — the design system spec (colors, typography, component rules)screen.png — visual reference (use as context, cannot be parsed directly)
Use DESIGN.md as the authoritative design system. Use code.html for structure and
tokens. The goal is to convert the screen into proper TSX components for this project,
move the Tailwind tokens to tailwind.config.ts, set up fonts via the project's font
system, and identify what needs interactivity wired up.If it contains a file path (token ending in .md, .html, .json): read that file.
.md → architect brief with intent, scope, constraints.html → UI from a design tool; convert to TSX and wire interactivityOtherwise: treat the argument as a plain text description.
Then scan the codebase silently:
tailwind.config.ts and font setupForm your read: what is this, what does it touch, what does done look like?
Then scan the codebase silently:
Form your read: what is this, what does it touch, what does done look like?
Ask ONE question at a time. Max 3 questions total. Stop as soon as you have enough.
Ask only about:
Never ask about:
If the description is clear enough: skip questions entirely and go straight to Step 3.
Generate a CR-ID: run date +%y%m%d-%H%M%S to get the timestamp.
Ensure specs/cr/ exists. Write the plan to specs/cr/<cr-id>.md.
# CR-<cr-id>: <title>
**What:** <one sentence — what this builds or fixes>
**Stack:** <language / framework inferred from codebase>
**Status:** PLAN_READY
---
## What done looks like
<2-4 bullet points — concrete outcomes the dev can verify>
---
## Wave plan
<For each layer (if the project has clear layers) or just a flat wave list for simple projects:>
### Layer: <name> (or omit layer headers for flat projects)
| Unit | File | Depends on |
|------|------|------------|
| U1 | path/to/file.ext | — |
| U2 | path/to/file.ext | U1 |
| U3 | path/to/file.ext | — |
Wave 1: U1, U3 — independent, implement in parallel
Wave 2: U2 — requires U1
<Repeat for each layer>
---
## Out of scope
<What this explicitly does NOT include — prevents scope creep>
---
## Notes
<Any risk, open question, or follow-up item worth tracking. Omit section if none.>
Wave rules:
If specs/cr/BACKLOG.md does not exist, create it:
# CR Backlog
| CR-ID | Status | Summary |
|-------|--------|---------|
Append one row for this CR:
| <cr-id> | PLAN_READY | <one-line summary> |
Tell the developer:
Plan ready — CR-
Waves: Units:
Run:
/build <cr-id>
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub angel1104/praxis-core --plugin praxis