using-superpowers · diff
git:20260308.245d50e to git:20260310.87e27a2
18 added, 12 removed. Audit A to A.
---
name: using-superpowers
description: Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
---
<SUBAGENT-STOP>
If you were dispatched as a subagent to execute a specific task, skip 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. This is not optional. You cannot rationalize your way out of this.
</EXTREMELY-IMPORTANT>
## Instruction Priority
Superpowers skills override default system prompt behavior, but **user instructions always take precedence**:
- 1. **User's explicit instructions** (CLAUDE.md, AGENTS.md, direct requests) — highest priority
+ 1. **User's explicit instructions** (copilot-instructions.md, .instructions.md, direct requests) — highest priority
2. **Superpowers skills** — override default system behavior where they conflict
3. **Default system prompt** — lowest priority
- If CLAUDE.md or AGENTS.md says "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control.
+ If your project instructions say "don't use TDD" and a skill says "always use TDD," follow the user's instructions. The user is in control.
## How to Access Skills
- **In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files.
+ Use `read_file` on the skill's SKILL.md file to load it. Skills are referenced by file path from your `.github/copilot-instructions.md`.
- **In other environments:** Check your platform's documentation for how skills are loaded.
+ ## Tool Mapping
- ## Platform Adaptation
+ Some skills reference Claude Code tool names. Use these Copilot equivalents:
- Skills use Claude Code tool names. Non-CC platforms: see `references/codex-tools.md` for tool equivalents.
+ - `Task` → `runSubagent`
+ - `TodoWrite` → `manage_todo_list`
+ - `Skill` → `read_file` on the SKILL.md path
+ - `Read` / `Write` / `Edit` → `read_file` / `create_file` / `replace_string_in_file`
+ - `Bash` → `run_in_terminal`
+ Full mapping: `references/copilot-tools.md`
+
# Using Skills
## The Rule
**Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
```dot
digraph skill_flow {
"User message received" [shape=doublecircle];
"About to EnterPlanMode?" [shape=doublecircle];
"Already brainstormed?" [shape=diamond];
"Invoke brainstorming skill" [shape=box];
"Might any skill apply?" [shape=diamond];
- "Invoke Skill tool" [shape=box];
+ "Read skill file" [shape=box];
"Announce: 'Using [skill] to [purpose]'" [shape=box];
"Has checklist?" [shape=diamond];
- "Create TodoWrite todo per item" [shape=box];
+ "Create manage_todo_list per item" [shape=box];
"Follow skill exactly" [shape=box];
"Respond (including clarifications)" [shape=doublecircle];
"About to EnterPlanMode?" -> "Already brainstormed?";
"Already brainstormed?" -> "Invoke brainstorming skill" [label="no"];
"Already brainstormed?" -> "Might any skill apply?" [label="yes"];
"Invoke brainstorming skill" -> "Might any skill apply?";
"User message received" -> "Might any skill apply?";
- "Might any skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"];
+ "Might any skill apply?" -> "Read skill file" [label="yes, even 1%"];
"Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
- "Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'";
+ "Read skill file" -> "Announce: 'Using [skill] to [purpose]'";
"Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
- "Has checklist?" -> "Create TodoWrite todo per item" [label="yes"];
+ "Has checklist?" -> "Create manage_todo_list per item" [label="yes"];
"Has checklist?" -> "Follow skill exactly" [label="no"];
- "Create TodoWrite todo per item" -> "Follow skill exactly";
+ "Create manage_todo_list per item" -> "Follow skill exactly";
}
```
## 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. |
## Skill Priority
When multiple skills could apply, use this order:
1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task
2. **Implementation skills second** (frontend-design, mcp-builder) - these guide execution
"Let's build X" → brainstorming first, then implementation skills.
"Fix this bug" → debugging first, then domain-specific skills.
## Skill Types
**Rigid** (TDD, debugging): Follow exactly. Don't adapt away discipline.
**Flexible** (patterns): Adapt principles to context.
The skill itself tells you which.
## User Instructions
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.