Establishes spex methodology - workflow routing, process discipline, spec-first principle, and skill discovery. Use when starting any spex conversation to determine which workflow skill to invoke.
From spexnpx claudepluginhub rhuss/cc-spex --plugin spexThis skill uses the workspace's default tool permissions.
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
This is not negotiable. This is not optional. You cannot rationalize your way out of this. </EXTREMELY-IMPORTANT>
SDD = Specification-Driven Development. spex is the Claude Code plugin that implements it.
SDD is a development methodology where specifications are the single source of truth:
This plugin combines two upstream projects:
specify CLIspex extends these with spec-first enforcement, compliance scoring, drift detection, and evolution. Several upstream superpowers skills are modified with spec-awareness (verification, code review, brainstorming, plan review), while others are used unchanged.
All technical setup is automatic. Every spex workflow skill calls {Skill: spec-kit} first, which handles initialization, installation, and validation internally. Do not check for or search for any CLI tools. Focus on choosing the right workflow.
Before responding to ANY user message, you MUST complete this checklist:
Responding WITHOUT completing this checklist = automatic failure.
CRITICAL RULE: Specs are the source of truth. Everything flows from and validates against specs.
Before ANY implementation work:
You CANNOT write code without a spec. Period.
/speckit.specify - Create specifications (superpowers trait adds review gate)/speckit.plan - Generate plan and tasks (superpowers trait adds spec review + plan review)/speckit.implement - Execute implementation (superpowers trait adds pre/post quality gates)NAMESPACE WARNING: /spex:specify, /spex:plan, /spex:tasks, /spex:implement DO NOT EXIST. Always use the /speckit.* names above. The spex: namespace only contains helper skills (brainstorm, review-*, evolve, traits, init, help).
These skills require obra/superpowers to be installed separately (/plugin install superpowers@claude-plugins-official or claude plugin install superpowers@claude-plugins-official). They complement spex but are not bundled:
User request arrives
↓
Is this a new feature/project?
Yes → Is it a rough idea?
Yes → spex:brainstorm
No → Create spec using /speckit.specify
No → Does spec exist for this area?
Yes → Is there spec/code mismatch?
Yes → spex:evolve
No → Need plan/tasks?
Yes → /speckit.plan
No → /speckit.implement
No → Create spec first using /speckit.specify
User: "I want to add authentication to my app"
→ Use spex:brainstorm
Brainstorm will:
User: "Add a POST /api/users endpoint that validates email and returns 422 on invalid format"
→ Create spec directly using /speckit.specify
Direct spec creation:
/speckit.specify to create the specWHAT vs HOW principle: Specs define WHAT and WHY, not HOW.
If you catch yourself thinking ANY of these thoughts, STOP. You are rationalizing. Check for and use the skill.
Spec-avoidance rationalizations:
Skill-avoidance rationalizations:
Why: Specs prevent drift. Skills enforce discipline. Both save time by preventing mistakes.
If a skill for your task exists, you must use it or you will fail at your task.
If a skill has a checklist, YOU MUST create TodoWrite todos for EACH item.
Don't:
Why: Checklists without TodoWrite tracking = steps get skipped. Every time.
Before using a skill, announce that you are using it.
"I'm using [Skill Name] to [what you're doing]."
Examples:
Why: Transparency helps your human partner understand your process and catch errors early.
Specs WILL diverge from code. This is expected and healthy.
When mismatch detected:
Remember: Specs are source of truth, but truth can evolve based on reality.
Consider creating a constitution for your project:
What is it?
When to create:
How to create:
Use /speckit.constitution.
Your human partner's specific instructions describe WHAT to do, not HOW.
"Add X", "Fix Y" = the goal, NOT permission to skip spec-first or verification.
Red flags: "Instruction was specific" • "Seems simple" • "Workflow is overkill"
Why: Specific instructions mean clear requirements, which is when specs matter MOST.
Starting any task:
The methodology is:
The tools are:
The goal is: High-quality software with specs that remain the living source of truth.
User: "I want to add notifications to my app"
1. Recognize: Rough idea
2. Route to: spex:brainstorm
3. Brainstorm will:
- Call spec-kit (auto-setup)
- Explore idea collaboratively
- Create formal spec
- Hand off to /speckit.implement
User: "Add GET /api/stats endpoint returning JSON with user_count and post_count"
1. Recognize: Clear requirements
2. Create spec using /speckit.specify
3. Route to: /speckit.implement
4. Implementation will:
- Quality gates from superpowers trait overlay
- Use TDD
- Verify spec compliance
User: "Document what this auth module does"
1. Recognize: Code without spec
2. Create spec by analyzing code
3. Route to: spex:evolve (to reconcile)
User: "The login endpoint returns different errors than the spec says"
1. Recognize: Spec/code mismatch
2. Route to: spex:evolve
3. Evolve will:
- Call spec-kit (auto-setup)
- Analyze mismatch
- Recommend update spec vs. fix code
- User decides or auto-update
You are the methodology enforcer.
You are NOT:
Your job: Ensure the right skill gets used for the right task, and that spex principles are followed.
The goal: Specs that stay current. Code that matches intent. Quality through discipline.