| name | using-superpowers |
| description | Use when starting any conversation - establishes how to find and use Bob commands |
| metadata | {"user-invocable":true,"disable-model-invocation":true} |
Using Bob Commands
Core Principle
If there's even a 1% chance a command might apply to what you're doing, you should use it.
IF A COMMAND APPLIES TO YOUR TASK, YOU MUST USE IT.
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
Instruction Priority
Bob commands override default system prompt behavior, but user instructions always take precedence:
- User's explicit instructions (direct requests, custom instructions) — highest priority
- Bob commands — override default system behavior where they conflict
- Default system prompt — lowest priority
If user instructions say "don't use TDD" and a command says "always use TDD," follow the user's instructions. The user is in control.
How to Access Commands
Bob commands are available via slash commands like /brainstorming, /test-driven-development, etc.
Use the command that matches your current task.
The Rule
Use relevant commands BEFORE any response or action. Even a 1% chance a command might apply means you should use it to check. If a command turns out to be wrong for the situation, you don't need to follow it.
Red Flags
These thoughts mean STOP—you're rationalizing:
| Thought | Reality |
|---|
| "This is just a simple question" | Questions are tasks. Check for commands. |
| "I need more context first" | Command check comes BEFORE clarifying questions. |
| "Let me explore the codebase first" | Commands tell you HOW to explore. Check first. |
| "I can check git/files quickly" | Files lack conversation context. Check for commands. |
| "Let me gather information first" | Commands tell you HOW to gather information. |
| "This doesn't need a formal command" | If a command exists, use it. |
| "I remember this command" | Commands evolve. Read current version. |
| "This doesn't count as a task" | Action = task. Check for commands. |
| "The command is overkill" | Simple things become complex. Use it. |
| "I'll just do this one thing first" | Check BEFORE doing anything. |
| "This feels productive" | Undisciplined action wastes time. Commands prevent this. |
| "I know what that means" | Knowing the concept ≠ using the command. Use it. |
Command Priority
When multiple commands could apply, use this order:
- Process commands first (/brainstorming, /systematic-debugging) - these determine HOW to approach the task
- Implementation commands second - these guide execution
"Let's build X" → /brainstorming first, then implementation.
"Fix this bug" → /systematic-debugging first, then domain-specific work.
Command Types
Rigid (/test-driven-development, /systematic-debugging): Follow exactly. Don't adapt away discipline.
Flexible (patterns): Adapt principles to context.
The command itself tells you which.
User Instructions
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.
Available Commands
Key Bob commands include:
/brainstorming - Design before implementation
/test-driven-development - Write tests first
/systematic-debugging - Root cause before fixes
/writing-plans - Create implementation plans
/executing-plans - Execute written plans
/subagent-driven-development - Task-by-task execution with review
/verification-before-completion - Verify before claiming success
/requesting-code-review - Get code reviewed
/receiving-code-review - Handle review feedback
/finishing-a-development-branch - Complete and integrate work
/using-git-worktrees - Set up isolated workspaces
/dispatching-parallel-agents - Parallel independent tasks
/writing-skills - Create new skills/commands
Use the command that matches your current need.