Using Superpowers
Jesse Vincent (obra)CommunityCreated by Jesse Vincent (obra)
- Skill
- Meta (authoring, orchestration, planning, memory)
- Agent tooling
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The using-superpowers skill establishes a strict operational framework for AI agents. It mandates that agents must check for and invoke applicable skills before taking any action, including asking clarifying questions or performing initial research. This protocol is designed to prevent rationalization and ensure that agents consistently apply established methodologies, workflows, and best practices to every task. It includes specific guidance on skill priority, handling red flags that indicate potential avoidance of established procedures, and platform-specific adaptations for various agent harnesses.
What it does
- Enforces the mandatory invocation of relevant skills before any response or action.
- Requires agents to prioritize process-oriented skills over implementation tasks.
- Provides a checklist of red flags to identify and correct rationalization behaviors.
- Integrates with platform-specific tool mappings for various agent environments.
- Ensures that user instructions take precedence over default skill behaviors.
When to use it
- At the start of every new conversation or user interaction.
- Before initiating any task, including simple questions or information gathering.
- When determining the sequence of operations for complex, multi-step projects.
- Whenever there is a possibility that an existing skill might apply to the current request.
Advantages
- Promotes consistent and disciplined agent behavior across different tasks.
- Reduces the likelihood of skipping critical planning or debugging steps.
- Standardizes the interaction model between the agent and the user.
- Provides clear guidance on how to handle conflicting instructions or complex workflows.
Usage examples
- “Can you help me fix this bug in the login module?”
- The agent identifies the relevant debugging skill, announces 'Using systematic-debugging to address the login bug', and follows the skill's prescribed workflow before touching any code.
- “What is the current status of the project?”
- The agent checks for a project management skill, announces its intent to use it, and proceeds to gather information according to the skill's defined process.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/obra/using-superpowers/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip using-superpowers.zip -d .agents/skills
Documentation by Jesse Vincent (obra)
<SUBAGENT-STOP> If you were dispatched as a subagent to execute a specific task, ignore this skill. </SUBAGENT-STOP>
<EXTREMELY-IMPORTANT> If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill.
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
This is not negotiable. You cannot rationalize your way out of this. </EXTREMELY-IMPORTANT>
The Rule
Invoke relevant or requested skills BEFORE any response or action — including clarifying questions, exploring the codebase, or checking files. If it turns out wrong for the situation, you don't have to use it.
Before entering plan mode: if you haven't already brainstormed, invoke the brainstorming skill first.
Then announce "Using [skill] to [purpose]" and follow the skill exactly. If it has a checklist, create a todo per item.
Skill Priority
When multiple skills apply, process skills come first — they set the approach, then implementation skills (frontend-design, etc.) carry it out. Brainstorming and systematic-debugging are Superpowers' most common process skills, but the rule holds for any of them.
"Let's build X" → superpowers:brainstorming first, then implementation skills.
"Fix this bug" → superpowers:systematic-debugging first, then domain skills.
Red Flags
These thoughts mean STOP—you're rationalizing:
| Thought | Reality |
|---|---|
| "This is just a simple question" | Questions are tasks. Check for skills. |
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
| "Let me gather information first" | Skills tell you HOW to gather information. |
| "This doesn't need a formal skill" | If a skill exists, use it. |
| "I remember this skill" | Skills evolve. Read current version. |
| "This doesn't count as a task" | Action = task. Check for skills. |
| "The skill 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. Skills prevent this. |
| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
Platform Adaptation
If your harness appears here, read its reference file for special instructions:
Claude Code:
references/claude-code-tools.mdCodex:
references/codex-tools.mdPi:
references/pi-tools.mdAntigravity:
references/antigravity-tools.mdHermes Agent:
references/hermes-tools.mdMuse:
references/muse-tools.md
User Instructions
User instructions (CLAUDE.md, AGENTS.md, GEMINI.md, etc, direct requests) take precedence over skills, which in turn override default behavior. Only skip skill workflows or instructions when your human partner has explicitly told you to.
Files
- ATTRIBUTION.mdAdded by AutoGineer867 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md3.1 KiB
- references/antigravity-tools.md1.5 KiB
- references/claude-code-tools.md1.4 KiB
- references/codex-tools.md4.7 KiB
- references/gemini-tools.md4.5 KiB
- references/hermes-tools.md1.9 KiB
- references/muse-tools.md1.9 KiB
- references/pi-tools.md1.2 KiB
references/codex-tools.md
Subagent dispatch requires multi-agent support
Add to your Codex config (~/.codex/config.toml):
[features]
multi_agent = trueThis enables the multi-agent tools that skills like
dispatching-parallel-agents and subagent-driven-development use.
Which tools you get depends on the multi-agent version your model
preset selects (current presets run V2; older ones run V1). Trust your
actual tool list over any table — including this one — when they
disagree.
Spawning: give children a clean context with
spawn_agent {fork_turns: "none"}; the default"all"copies your entire transcript into the child. On Codex 0.145+, role files under~/.codex/agents/attach to isolated forks viaagent_type. Full-history forks acceptmodelandreasoning_effortoverrides (onlyagent_typeis refused there) — isolated forks are the SDD default for context hygiene, not because overrides require them.Fix rounds: resume the implementer with
followup_task— it delivers your message, triggers a turn, and transparently reloads a child the harness evicted. Never dispatch a fresh implementer on the theory that a spawned agent cannot be messaged again; on V2 it always can.Lifecycle: V2 has no
close_agent. Finished children are evicted automatically when slots are needed; leaving them unclosed costs nothing. Only V1 sessions haveclose_agent— there, close reviewers when their review returns, and close each implementer after its task's review passes.Model names: never copy a model name from a skill, table, or old session into
spawn_agentwithout checking it against your current spawn allowlist — V2 accepts only V2-capable presets and hard-errors on the rest.
Waiting on children
wait_agent is an event subscription, not a poll: a long wait wakes
the moment a child produces mailbox activity, with the same latency as
a short one. Short-timeout polling buys nothing and costs a tool call —
and a context rebill — per poll. In measured sessions, roughly
two-thirds of all wait calls were short polls that timed out.
While you still have local work, do not wait at all. A completed child's final answer is pushed into your mailbox and arrives with your next turn.
When you are genuinely idle with children outstanding, wait in bounded stretches:
wait_agentwithtimeout_ms300000-600000 (5-10 minutes). After each stretch — wake or timeout — post one status line, runlist_agents, and chase any child that finished without reporting. Never stack polls shorter than five minutes; the event subscription wakes a bounded stretch just as fast as a short one.Completion mail cannot wake an idle controller (it is delivered without triggering a turn); covering that idle window is
wait_agent's only job. A stretch that times out with no activity is your cue to reconcile, not to shorten the next stretch.
Model routing on spawns
Every spawn_agent you issue — including when you are yourself a
spawned child running a fan-out — sets model AND reasoning_effort
explicitly, per the Model Selection rules of the skill you are
executing. Setting model alone is a trap: the child's effort
silently resets to that model's default, not to yours.
Ask your human partner to add a machine-level backstop to
~/.codex/config.toml so any spawn that slips through still routes to
a deliberate tier instead of silently inheriting the session's most
expensive model:
[agents]
default_subagent_model = "<a mid-tier model from your spawn allowlist>"
default_subagent_reasoning_effort = "medium"Environment Detection
Skills that create worktrees or finish branches should detect their environment with read-only git commands before proceeding:
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
BRANCH=$(git branch --show-current)GIT_DIR != GIT_COMMON→ already in a linked worktree (skip creation)BRANCHempty → detached HEAD (cannot branch/push/PR from sandbox)
See using-git-worktrees Step 0 and finishing-a-development-branch
Step 1 for how each skill uses these signals.
Codex App Finishing
When the sandbox blocks branch/push operations (detached HEAD in an externally managed worktree), the agent commits all work and informs the user to use the App's native controls:
"Create branch" — names the branch, then commit/push/PR via App UI
"Hand off to local" — transfers work to the user's local checkout
The agent can still run tests, stage files, and output suggested branch names, commit messages, and PR descriptions for the user to copy.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Jesse Vincent (obra)
- Publisher
- Jesse Vincent (obra) (Community)
- Source
- obra/superpowers · skills/using-superpowers · commit 22f0b46
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Jesse Vincent (obra) or Jesse Vincent (obra).
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download using-superpowers.zip