Agentic Skills Framework & Software Development Methodology
obra/superpowers — 102.7k stars
agent37.club
Superpowers is a plugin system that equips Claude Code and other AI agents with composable "skills" — structured instructions that enforce disciplined software development practices.
AI agents are capable but undisciplined. The bottleneck isn't intelligence — it's process. Superpowers provides the missing methodology.
# Repo structure skills/ # 14 skill definitions agents/ # Subagent configs commands/ # CLI commands docs/ # Platform docs hooks/ # Integration hooks
Tests precede implementation. Always. No exceptions. Code written before tests gets deleted.
Process-driven development replaces intuition-based coding. Every phase has explicit rules.
Simplicity is the primary design objective. YAGNI and DRY enforced at every stage.
Verification required before declaring success. No "I think it works" — prove it.
These aren't suggestions. They're enforced constraints baked into skill definitions. The AI literally cannot proceed without satisfying them.
Socratic questioning to refine the idea. Design presented in reviewable sections. User approval required before proceeding.
Isolated workspace on a new branch. Project setup auto-detected. Clean test baseline established.
Work decomposed into 2-5 minute tasks with exact file paths, complete code specs, and verification steps.
Subagents dispatched per task. Two-stage review: spec compliance first, then code quality.
RED-GREEN-REFACTOR cycles. Failing test required before any implementation code is written.
Pre-merge review against plan specs. Issues reported by severity level.
All tests verified. Merge/PR options presented. Workspace cleaned up.
| Skill | Domain |
|---|---|
| brainstorming | Collaboration |
| writing-plans | Planning |
| executing-plans | Planning |
| test-driven-development | Testing |
| systematic-debugging | Debugging |
| verification-before-completion | Quality |
| requesting-code-review | Review |
| Skill | Domain |
|---|---|
| receiving-code-review | Review |
| using-git-worktrees | Workflow |
| finishing-a-development-branch | Workflow |
| subagent-driven-development | Coordination |
| dispatching-parallel-agents | Coordination |
| using-superpowers | System |
| writing-skills | Extensibility |
--- name: test-driven-development description: Use when implementing any feature or bugfix, before writing implementation code --- # Overview Write the test first. Watch it fail. Write minimal code to pass. # When to Use - Always for features and fixes - Rare exceptions need human approval # The Iron Law No production code without a failing test first. Violation = DELETE and start over. # Red-Green-Refactor Cycle # Common Rationalizations # Red Flags
The description field determines when the skill gets loaded. It must describe triggering conditions, not summarize the workflow. Bad descriptions = skills that never activate.
Skills are not always loaded. The AI agent searches skill descriptions when it encounters a relevant situation, deciding in real-time which skills to read.
Descriptions answer: "Should I read this right now?" They must state triggers and symptoms — not workflow steps.
# BAD: summarizes workflow description: Guides the agent through red-green-refactor TDD cycles # GOOD: states trigger condition description: Use when implementing any feature or bugfix, before writing implementation code
| Type | Max Words |
|---|---|
| Getting-started | 150 |
| Frequently-loaded | 200 |
| Other skills | 500 |
Token-efficient by design. Cross-reference other skills rather than repeating content.
1. Explore project context (files, docs, commits)
2. Offer visual companion if applicable
3. Ask clarifying questions (one per message)
4. Propose 2-3 approaches with tradeoffs
5. Present design in reviewable sections
6. Write design document, commit to git
7. Spec review loop (max 3 iterations)
8. User reviews written spec
9. Transition to writing-plans skill
"Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it."
One question at a time (prevents cognitive overload). Multiple choice preferred. Ruthless scope discipline with YAGNI. "Simple" projects still require designs.
The terminal state is always invoking writing-plans. No other exit path allowed.
Standard branches require switching context and losing state. Worktrees create parallel directories on separate branches — the main workspace stays untouched.
# MUST verify before creating git check-ignore .worktrees/ # If NOT ignored, add first: echo ".worktrees/" >> .gitignore git add .gitignore git commit -m "Ignore worktrees" # Then create the worktree git worktree add \ .worktrees/feature-x -b feature-x
Auto-detect project type (npm, cargo, poetry). Run setup. Run baseline tests. Never proceed with failing tests.
# Feature: User Auth # Goal: JWT-based login Architecture: Stateless auth with refresh token rotation... Stack: Express, jsonwebtoken, bcrypt Skills: test-driven-development
Each task takes 2-5 minutes and follows TDD:
## Task 3: Password hashing Files: CREATE src/auth/hash.ts CREATE tests/auth/hash.test.ts Test (write first): test('hashes password', () => { const hash = hashPassword('pw') expect(hash).not.toBe('pw') }) Run: npm test -- hash Expected: 1 failing (RED) Implementation: ... Commit: "feat(auth): add hash"
Design principle: Each file has one responsibility. Files that change together live together. If multiple subsystems exist, they get separate plans.
Long conversations degrade AI output quality. Fresh agents have no context pollution from previous tasks — each operates at peak capability.
| DONE | Task complete, tests pass |
| DONE_WITH_CONCERNS | Complete but has notes |
| NEEDS_CONTEXT | Missing information |
| BLOCKED | Cannot proceed |
Never force retries without addressing the underlying issue.
Write a minimal failing test that captures one requirement. Run it. Confirm it fails for the right reason.
Write the simplest possible code to make the test pass. Nothing more. Verify no regressions.
Clean up while keeping tests green. Improve design without changing behavior. Commit.
Code written before tests is automatically deleted. The skill instructs the agent to rm the file and restart. This seems extreme but eliminates the #1 TDD failure mode.
| Excuse | Reality |
|---|---|
| "It's too simple to test" | Simple code gets complex fast |
| "I'll add tests after" | Tests-after never prove it works |
| "Just a quick prototype" | Prototypes become production |
| "Tests slow me down" | Debugging slows you more |
| "The framework handles it" | Framework bugs are your bugs |
| "I already know it works" | Prove it. Run the test. |
The skill includes 12 rationalizations with counters — each discovered through real AI agent testing.
A single review mixes concerns. Separating spec from quality prevents "improved" code that no longer meets requirements.
| Task Type | Model Tier |
|---|---|
| Mechanical, well-specified | Cheaper/faster |
| Multi-file integration | Standard |
| Architecture & review | Most capable |
Reserve capability for complexity. Don't waste expensive models on boilerplate.
Create pressure scenarios. Run subagents without the skill. Document exactly how they fail:
Write minimal skill addressing only those specific failures. Run scenarios again — agents should now comply.
Agents find new rationalizations. Add explicit counters for each loophole. Build rationalization tables. Re-test until bulletproof.
# Skill file structure skills/ my-skill/ SKILL.md # Required reference.* # Optional heavy ref # SKILL.md anatomy --- name: my-skill-name description: Use when [trigger] --- # Overview 1-2 sentences # When to Use symptom bullets # Core Pattern before/after # Quick Ref scannable table # Mistakes errors + fixes # Red Flags self-check list
Descriptions must start with Use when... and describe symptoms, never workflow. Bad: "Guides through TDD". Good: "Use when implementing any feature or bugfix".
AI agents are excellent rationalizers. Given any rule, they'll find creative justifications for violating it. Superpowers treats this as a first-class engineering problem.
# Common Rationalizations table | Excuse | Reality | "It's trivial" -> Trivial code gets complex fast "I'll add tests after" -> Tests-after can't prove causation "Just exploring" -> Exploration code becomes prod # Red Flags [ ] Writing code before tests [ ] Tests that can't fail [ ] Skipping the RED verify step [ ] Multiple features per cycle
This approach uses psychological weight through repetition. The same core rule is stated multiple times in different contexts, making it harder for the agent to "forget".
Confirm the bug exists. Create a minimal reproduction. Document exact steps and expected vs. actual behavior.
Form specific, testable hypotheses about root cause. List at least 3 candidates before investigating any.
Test each hypothesis systematically. Gather evidence. Narrow down to root cause through elimination.
Write a test that reproduces the bug (RED). Fix it (GREEN). Verify no regressions. Commit.
AI agents default to "shotgun debugging" — changing things randomly until something works. This leads to accidental fixes that break other things.
The agent follows a rigorous diagnostic process. Root causes are identified before solutions are attempted. Fixes are verified against the original bug report.
Notice how Phase 4 feeds back into the TDD skill — skills are composable. Debugging's fix phase triggers TDD's red-green-refactor cycle.
AI agents have a dangerous tendency to declare success prematurely. This skill enforces evidence-based completion.
"I've reviewed the code and it looks correct" is not verification. Running the test suite and seeing green output is verification.
# Before declaring DONE: [ ] Tests exist for all new code [ ] Test suite actually executed [ ] All tests pass (screenshot/log) [ ] No regressions in existing tests [ ] Edge cases covered [ ] Error handling verified [ ] Changes match spec exactly [ ] Commit message is conventional # If ANY box unchecked: Status: NOT DONE # Fix, re-run, re-verify.
| Platform | Installation |
|---|---|
| Claude Code | Official marketplace (one click) |
| Cursor | Plugin marketplace search |
| Codex | Manual installation |
| OpenCode | Manual installation |
| Gemini CLI | Manual installation |
Official inclusion since January 2026. One-click install automatically enables skill activation during agent workflows. Biggest driver of adoption.
Shell 57.8% |||||||||||| JavaScript 30.1% |||||| HTML 5.2% | Python 3.8% | TypeScript 2.3% |
Primarily Shell + markdown. Skills are just text files — no compilation, no runtime, no dependencies. The "code" is the methodology itself.
This is a key architectural choice: skills work with any AI agent that can read markdown, making the framework inherently portable.
This is the endgame: you brainstorm, approve a design, approve a plan, then walk away. The agent executes tasks via subagents, reviews each one, fixes issues, and commits — all without human intervention.
Each skill addresses one failure mode. Together, they create a system where autonomous operation is safe because every risk has a mitigation.
# You type: "I need user authentication" # Agent responds (Phase 1): Q1: What type of auth? a) Username/password b) OAuth (Google, GitHub) c) Magic link (email) d) All of the above # You pick: a + b Q2: Session management? a) JWT (stateless) b) Server-side sessions c) JWT + refresh tokens # You pick: c Q3: Need role-based access? a) No, just authenticated/not b) Yes, admin + user c) Yes, custom roles # Agent then presents design...
The agent would immediately scaffold a full auth system with JWT, sessions, OAuth, roles, and email verification — whether you needed all that or not.
By asking first, the agent builds exactly what's needed. If you only need password auth, that's all you get. No premature abstraction.
# Main agent extracts tasks from plan Task 1: Create password hash utility Task 2: Create user model with validation Task 3: Create login endpoint Task 4: Create JWT token generation # For each task: ==> Dispatch implementer subagent with full task spec Implementer: Asks 0-2 clarifying questions Implementer: Writes failing test (RED) Implementer: Verifies test fails Implementer: Implements minimal code (GREEN) Implementer: Verifies test passes Implementer: Commits changes Implementer: Reports DONE ==> Dispatch spec reviewer subagent Reviewer: Checks against plan requirements Reviewer: Reports PASS or issues ==> Dispatch quality reviewer subagent Reviewer: Checks code quality, patterns, edge cases Reviewer: Reports PASS or issues ==> Move to next task
Skills don't embed other skills' content. Instead, they cross-reference — "invoke the writing-plans skill" rather than duplicating planning logic.
brainstorm → plan → worktree → execute → TDD → review → finish
Each arrow is a skill handoff. Each skill has a defined terminal state that invokes the next.
| Without Superpowers | With Superpowers | Impact |
|---|---|---|
| Starts coding immediately | Brainstorms and gets approval first | Builds the right thing |
| One long messy session | Isolated worktree per feature | Safe experimentation |
| Vague "I'll implement this" | 2-5 min tasks with exact specs | Predictable progress |
| Tests after (or never) | Tests first, always | Provable correctness |
| Context degrades over time | Fresh subagent per task | Consistent quality |
| "It should work" | Evidence-based verification | Actual confidence |
| No review before merge | Two-stage review per task | Fewer bugs ship |
| Loses focus after 30 min | Hours of autonomous work | 10x throughput |
Jesse Vincent publishes "Superpowers: How I'm Using Coding Agents" blog post. Open sources the skills framework.
Word of mouth on Hacker News and Twitter. Early adopters find dramatic improvements in AI coding quality.
Official Claude Code marketplace inclusion. One-click install drives massive adoption. Stars cross 40k.
102,700 stars. 6,800+ forks. 24 contributors. One of the highest weekly star gainers on GitHub.
+1,867 stars in a single day (March 16, 2026)
Superpowers has no runtime. No compilation. No framework code. The entire system is markdown files that AI agents read and follow.
Traditional software: code tells computers what to do.
Superpowers: text tells AI what to do.
The skill files are the program. The AI agent is the runtime. Markdown is the programming language.
An experimental companion repo (obra/superpowers-lab) tests new skills and techniques before they graduate to the core library.
# 1. Create the directory mkdir skills/my-skill # 2. Write SKILL.md --- name: my-deployment-checklist description: Use when deploying to production or staging environments --- # Overview Enforce pre-deploy checks... # When to Use - Agent mentions "deploy" or "release" - Changes to CI/CD configuration - Version bumps # Core Pattern ...checklist items...
Companies are writing skills for their specific workflows: deployment checklists, API design standards, database migration patterns, PR conventions, security review requirements.
The bottleneck in AI coding isn't model capability. It's methodology. Better process beats bigger models.
Skills are markdown files. The AI is the runtime. This makes the system portable, inspectable, and forkable.
AI agents argue back. Treating rationalization as a first-class engineering problem is Superpowers' key innovation.
14 skills chain together into a complete workflow. Each handles one failure mode. Together they enable autonomous coding.
The big lesson: We've been trying to make AI smarter. Superpowers shows we should be making AI more disciplined. The same model, given structure, produces dramatically better results.
Agentic Skills Framework & Software Development Methodology
github.com/obra/superpowers
MIT License — 102.7k stars — 14 skills
agent37.club