test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
executing-plans
Use when you have a written implementation plan to execute in a separate session with review checkpoints
subagent-driven-development
Use when executing implementation plans with independent tasks in the current session
verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
dispatching-parallel-agents
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
using-superpowers
Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
requesting-code-review
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
using-git-worktrees
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
finishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
receiving-code-review
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
obra/superpowers@requesting-code-review
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
obra/superpowers@test-driven-development
Use when implementing any feature or bug fix, before writing implementation code
obra/superpowers@using-git-worktrees
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
obra/superpowers@verification-before-completion
Use this when you are about to claim work is complete, fixed, or passing—before committing or creating PRs. Requires running the verification commands and confirming their full output and exit code before making any success claims; always prefer evidence before assertions.
obra/superpowers@systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
obra/superpowers@executing-plans
Use when you have a written implementation plan to execute in a separate session with review checkpoints
obra/superpowers@receiving-code-review
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable. Requires technical rigor and verification — not performative agreement or blind implementation.
obra/superpowers@writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
obra/superpowers@brainstorming
You MUST use this before any creative work — creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements, and design before implementation.
obra/superpowers@writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
obra/superpowers@dispatching-parallel-agents
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
obra/superpowers@subagent-driven-development
Use when executing an implementation plan composed of independent tasks within the current session
obra/superpowers@finishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
obra/superpowers@using-superpowers
Use at the start of every conversation — establishes how to find and use Skills, requiring invocation of the Skill tool before ANY response, including clarifying questions.
writing-clearly-and-concisely
Apply Strunk's timeless writing rules to ANY prose humans will read—documentation, commit messages, error messages, explanations, reports, or UI text. Makes your writing clearer, stronger, and more professional.
remembering-conversations
Use when user asks 'how should I...' or 'what's the best approach...' after exploring code, OR when you've tried to solve something and are stuck, OR for unfamiliar workflows, OR when user references past work. Searches conversation history.
finding-duplicate-functions
Use when auditing a codebase for semantic duplication - functions that do the same thing but have different names or implementations. Especially useful for LLM-generated codebases where new functions are often created rather than reusing existing ones.
using-tmux-for-interactive-commands
Use when you need to run interactive CLI tools (vim, git rebase -i, Python REPL, etc.) that require real-time input/output - provides tmux-based approach for controlling interactive sessions through detached sessions and send-keys
slack-messaging
Use when asked to send or read Slack messages, check Slack channels, test Slack integrations, or interact with a Slack workspace from the command line.
mcp-cli
Use MCP servers on-demand via the mcp CLI tool - discover tools, resources, and prompts without polluting context with pre-loaded MCP integrations
browsing
Use when you need direct browser control - teaches Chrome DevTools Protocol for controlling existing browser sessions, multi-tab management, form automation, and content extraction via use_browser MCP tool
obra-superpowers-pack
All skills from obra/superpowers (skills/).
developing-claude-code-plugins
Use when working on Claude Code plugins (creating, modifying, testing, releasing, or maintaining) - provides streamlined workflows, patterns, and examples for the complete plugin lifecycle
working-with-claude-code
Use when working with Claude Code CLI, plugins, hooks, MCP servers, skills, configuration, or any Claude Code feature - provides comprehensive official documentation for all aspects of Claude Code
example-workflow
Use when demonstrating plugin workflow features - shows how skills can guide multi-step processes
linear
Manage Linear issues. Use when asked about tasks, tickets, bugs, or Linear.
Refactoring Safely
Refactor with tests first, one change at a time, never mix refactoring with bug fixes or new features
Defense-in-Depth Validation
Validate at every layer data passes through to make bugs impossible
Reducing Complexity
Managing complexity is software's primary technical imperative - all other goals are secondary
Creating Skills
TDD for process documentation - test with subagents before writing, iterate until bulletproof
Testing Anti-Patterns
Never test mock behavior. Never add test-only methods to production classes. Understand dependencies before mocking.
Encapsulating Complexity
Hide implementation details behind interfaces - work at domain level (what), not implementation level (how)
Getting Started with Skills
Skills wiki intro - mandatory workflows, search tool, brainstorming triggers
Commenting Intent
Comment WHY code exists and non-obvious decisions, not WHAT code does (mechanics)