SuperAPI AI Directory

using-superpowers

Agents & models

View repository

Updated 10-16 08:44

About this skill

If a skill applies to your task, you don't have a choice. You must use it.

This is non-negotiable. This is not optional. You cannot rationalize your way out of this.

Instruction Priority

Superpowers skills override default system prompt behavior, butuser instructions always take precedence:

  1. User's explicit instructions(CLAUDE.md, GEMINI.md, AGENTS.md, direct requests) — highest priority
  2. Superpowers skills — overrides default system behavior where they conflict
  3. Default system prompt — lowest priority

If CLAUDE.md, GEMINI.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.

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.

In Copilot CLI: Use the skill tool. Skills are auto-discovered from installed plugins.skill tool works the same as Claude Code's Skill tool.

In Gemini CLI: Skills are activated via the activate_skill tool. Gemini loads skill metadata at session start and activates full content on demand.

In other environments: Check your platform's documentation for how skills are loaded.

Platform Adaptation

Skills use Claude Code tool names. Non-CC platforms: see references/copilot-tools.md(Copilot CLI)、references/codex-tools.md(Codex) for equivalent tools. Gemini CLI users get the tool mapping loaded automatically via GEMINI.md.

Using Skills

The Rule

Invoke relevant or requested skills BEFORE any response or action. Even a 1% chance a skill might apply means 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.

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];
    "Announce: 'Using [skill] to [purpose]'" [shape=box];
    "Has checklist?" [shape=diamond];
    "Create TodoWrite todo 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?" -> "Respond (including clarifications)" [label="definitely not"];
    "Invoke Skill tool" -> "Announce: 'Using [skill] to [purpose]'";
    "Announce: 'Using [skill] to [purpose]'" -> "Has checklist?";
    "Has checklist?" -> "Create TodoWrite todo per item" [label="yes"];
    "Has checklist?" -> "Follow skill exactly" [label="no"];
    "Create TodoWrite todo 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 to gather context first" Skill check happens 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 the current version.
"This doesn't count as a task" Action = task. Check for skills.
"This skill is too heavy" Simple things become complicated. Use it.
"I'll just do this one thing first" Check before doing anything.
"This feels efficient" 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 might apply, use them in this order:

  1. Process skills first(brainstorming, debugging) - they determine how to approach the task
  2. Implementation skills second(frontend-design, mcp-builder) - they guide execution

"Let's build X" → use brainstorming first, then implementation skills. "Fix this bug" → use debugging first, then domain-specific skills.

Skill Types

Rigid(TDD, debugging): Follow strictly. Do not weaken discipline to fit.

Flexible(patterns): Adapt principles to context.

The skill itself will tell you which type it is.

User Instructions

Instructions say what to do, not how to do it. "Add X" or "Fix Y" does not mean skipping the workflow.