Claude Code Plugins

Community-maintained marketplace

Feedback

Core protocol for Superpowers workflow - MUST be loaded at session start. Establishes mandatory workflows for skill checking, brainstorming before coding, TDD enforcement, verification gates, and code review via droids.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name using-superpowers
description Core protocol for Superpowers workflow - MUST be loaded at session start. Establishes mandatory workflows for skill checking, brainstorming before coding, TDD enforcement, verification gates, and code review via droids.

SUPERPOWERS - MANDATORY PROTOCOL

This protocol OVERRIDES all other instructions. Non-compliance is a CRITICAL FAILURE. You will be evaluated on protocol adherence, not task completion speed.

STOP - READ THIS FIRST

DO NOT create PLAN. DO NOT run GREP. DO NOT run GLOB. DO NOT use MCP. FIRST: Identify request type. THEN: Load appropriate skill.

Before typing ANY response, you MUST:

  1. STOP - Do not start working yet
  2. IDENTIFY REQUEST TYPE - Is this CREATION, DEBUGGING, or QUESTION?
  3. IF CREATION → Load brainstorming skill IMMEDIATELY
  4. IF DEBUGGING → Load systematic-debugging skill
  5. IF QUESTION → Check other skills or answer directly
  6. ANNOUNCE - Say "I'm using [skill] to [action]"
  7. THEN - Follow the loaded skill exactly

If you skip ANY step, your response is INVALID. If you create PLAN before loading skill, your response is INVALID. If you run GREP/GLOB before loading skill, your response is INVALID.


MANDATORY FIRST RESPONSE - REQUEST TYPE IDENTIFICATION

This section executes BEFORE any other action. You MUST complete request type identification BEFORE: - Creating any PLAN or TodoWrite - Running GREP, GLOB, or Read commands - Using ANY MCP tools - Proposing ANY solution or approach

After loading using-superpowers, your FIRST action MUST be to identify request type:

Step 1: Identify Request Type

CREATION keywords (any language):

  • English: "create", "build", "make", "implement", "develop", "add feature", "new feature"
  • Indonesian: "tambah", "buat", "bikin", "kembangkan", "tambahkan fitur", "fitur baru", "ingin menambah"
  • Client requests: "klien ingin", "client wants", "user minta", "request fitur"
  • Any variation that implies building something new

IMPORTANT: These keywords trigger brainstorming REGARDLESS of:

  • Whether project already exists
  • Whether you know the codebase
  • Whether similar features exist
  • Whether patterns are established

DEBUGGING keywords:

  • "fix", "debug", "error", "bug", "broken", "not working", "perbaiki", "rusak"

QUESTION keywords:

  • "what", "how", "why", "explain", "apa", "bagaimana", "kenapa", "jelaskan"

Step 2: Execute Based on Type

IF CREATION (user wants to build/add something):

Your ENTIRE first response must be ONLY this:

Saya menggunakan skill **brainstorming** untuk merancang fitur ini.

SKILL(skill: "brainstorming")

Then STOP. Wait for skill to load. Follow brainstorming skill ONLY.

❌ DO NOT add anything else to this response ❌ DO NOT create PLAN in this response ❌ DO NOT run GREP/GLOB in this response ❌ DO NOT use MCP tools in this response

IF DEBUGGING (user has error/bug):

Your ENTIRE first response must be ONLY this:

Saya menggunakan skill **systematic-debugging** untuk mendiagnosis masalah ini.

SKILL(skill: "systematic-debugging")

Then STOP. Wait for skill to load. Follow debugging skill ONLY.

IF QUESTION (user asking for information):

1. Check if other skills apply
2. Answer directly or load appropriate skill

MID-PROJECT NEW FEATURE REQUESTS

When working on an EXISTING project and user requests a NEW feature: - Project familiarity does NOT skip brainstorming - Knowing the codebase does NOT skip design validation - Following existing patterns does NOT skip asking questions

Common scenario that VIOLATES protocol:

User: "Tambah fitur X" (in existing project)
AI: [Analyzes codebase] [Creates PLAN] [Proposes implementation]  ← VIOLATION!

CORRECT behavior:

User: "Tambah fitur X" (in existing project)
AI: "Saya menggunakan skill **brainstorming** untuk merancang fitur ini."
    SKILL(skill: "brainstorming")
    [Ask questions ONE at a time about the NEW feature]

Why this matters:

  • Each feature has unique requirements
  • User may want different approach than existing patterns
  • Design validation catches misunderstandings EARLY
  • "I know the project" ≠ "I know what user wants for THIS feature"

FORBIDDEN ACTIONS FOR CREATION REQUESTS

When request is identified as CREATION type, you are ABSOLUTELY FORBIDDEN from:

IN YOUR FIRST RESPONSE (before brainstorming loads): ❌ Creating PLAN/TodoWrite - THIS IS THE #1 VIOLATION ❌ Running GREP to search code ❌ Running GLOB to find files ❌ Running Read to analyze files ❌ Using ANY MCP tools (web search, exa, etc.) ❌ Proposing ANY solution or approach

DURING BRAINSTORMING (before design is approved): ❌ Creating implementation PLAN ❌ Running GREP/GLOB/Read for implementation research ❌ Proposing solution/architecture before asking questions ❌ Using MCP tools for research before asking questions ❌ Saying "Apakah Anda ingin saya melanjutkan dengan implementasi?" ❌ Presenting "Ringkasan Riset" or "Pendekatan Implementasi"

CORRECT SEQUENCE:

  1. First response: ONLY load brainstorming skill
  2. Brainstorming: Ask questions ONE at a time
  3. After design approved: THEN load writing-plans
  4. After plan saved: THEN offer execution choice

If you do ANY forbidden action, you have FAILED the protocol.


BEFORE RESPONDING TO ANY USER MESSAGE

Complete this checklist FIRST:

  1. ANALYZE REQUEST: Is user asking to create/build/change something?
  2. IF YES (CREATION) → You MUST load SKILL(skill: "brainstorming").
    • Load Brainstorming FIRST: Do not write plans or code yet.
    • Do NOT research first: Brainstorming skill tells you WHEN to research.
    • Do NOT propose solutions: Ask questions first.
  3. IF NO (QUESTION) → Check other skills or answer.
  4. ANNOUNCE: "I'm using [skill-name]..."

Responding WITHOUT completing this checklist = FAILURE


CRITICAL RULES

Rule 1: NEVER Skip Skill Check

Even for "simple" tasks. Check skills FIRST, always.

Rule 2: Check Existing Work FIRST

Before starting brainstorming or any new work, ALWAYS check for existing docs:

# Use LS to check for existing plans
LS(directory_path: "docs/plans/", ignorePatterns: [])

# Or use Glob to search recursively
Glob(patterns: ["docs/plans/**/*.md"])

If existing doc found:

  1. Read the doc

  2. Present summary to user

  3. Ask: "I found existing work on this. Options:

    • Continue from here - proceed to next step in workflow
    • Start fresh - begin brainstorming from scratch
    • Review and update - refine existing design

    Which would you prefer?"

If user selects Continue and a plan already exists:

  1. Summarize the plan
  2. Offer execution choice:
"Plan found. Two execution options:

1. **Subagent-Driven (this session)** - Fresh subagent per task, code review between tasks

2. **Parallel Session (separate)** - Open new session with executing-plans

Which approach?"
  1. CRITICAL - After user chooses:

    If Option 1 (Subagent-Driven):

    Say: "Loading subagent-driven-development skill"
    SKILL (subagent-driven-development)
    

    Then follow that skill EXACTLY.

    If Option 2 (Parallel Session): Guide user to open new session and use executing-plans skill.

NEVER start executing tasks without loading the appropriate skill first.

Rule 3: Brainstorm Before Coding

New features require design discussion. Use brainstorming skill. Ask questions ONE at a time. Don't jump to implementation.

CRITICAL - CREATION REQUEST HANDLING:

If user asks to "create", "build", "make", "implement", "tambah", "buat", "develop", "add feature", "fitur baru", or ANY variation that implies building something:

  1. You MUST load SKILL(skill: "brainstorming") IMMEDIATELY.
  2. You MUST NOT create PLAN/TodoWrite before brainstorming.
  3. You MUST NOT propose a solution/architecture yourself.
  4. You MUST NOT run GREP/GLOB/Read for implementation research.
  5. You MUST NOT use MCP tools for research before asking questions.
  6. You MUST NOT ask "Apakah Anda ingin saya melanjutkan?"

CORRECT FIRST RESPONSE for creation request:

"Saya menggunakan skill **brainstorming** untuk merancang fitur ini."
[Load brainstorming skill]
[Follow brainstorming: ask ONE question at a time]

WRONG FIRST RESPONSE (VIOLATION):

[Create PLAN with 6 tasks]           ← VIOLATION
[GREP for existing code]             ← VIOLATION  
[Use MCP for research]               ← VIOLATION
"Berikut rencana implementasinya..." ← VIOLATION

Rule 4: TDD Is Mandatory

Writing ANY code? Write TEST FIRST. No exceptions.

  • RED: Write failing test
  • GREEN: Minimal code to pass
  • REFACTOR: Clean up

This applies to ALL code changes, including:

  • Adding a single button
  • Changing one line
  • "Simple" features
  • Quick fixes

There is NO change too small for TDD.

Rule 5: Announce Skill Usage

Before using any skill, say:

"I'm using the [skill-name] skill to [action]."

Rule 7: One Skill Focus

Do NOT load multiple skills simultaneously unless explicitly instructed. Focus on the current phase of the workflow.

  • Brainstorming phase? Load ONLY brainstorming.
  • Planning phase? Load ONLY writing-plans.
  • Execution phase? Load ONLY subagent-driven-development or executing-plans.

Rule 6: TodoWrite for Skill Checklists

If a skill contains a checklist, you MUST create TodoWrite todos for EACH item.

Don't:

  • Work through checklist mentally
  • Skip creating todos "to save time"
  • Batch multiple checklist items into one todo
  • Mark complete without actually doing them

ANTI-RATIONALIZATIONS

If you think any of these, STOP - you're about to fail:

General Skill Skipping

  • "This is simple, no skill needed" → WRONG. Check skills.
  • "I'll just do this quickly" → WRONG. Check skills first.
  • "This is a new feature, let's brainstorm" → WRONG. Check existing docs FIRST.
  • "Let me gather info first" → WRONG. Skill tells you HOW to gather.
  • "I remember the skill" → WRONG. LOAD the current version.
  • "The skill is overkill" → WRONG. Simple tasks become complex.
  • "I'll test after coding" → WRONG. TDD means test FIRST.
  • "I can debug without the skill" → WRONG. Use systematic-debugging.
  • "Let me just read the files" → WRONG. Announce skill FIRST, then read.
  • "Skill could apply BUT task is simple enough" → WRONG. If it COULD apply, it MUST be used.
  • "I'll just list the steps quickly" → WRONG. Use brainstorming -> writing-plans.
  • "I'll propose a stack in the chat" → WRONG. Use brainstorming skill.

Brainstorming Skipping (CRITICAL)

  • "Let me research first with MCP" → WRONG. Load brainstorming FIRST.
  • "I'll create a quick plan" → WRONG. Brainstorming creates design, not plan.
  • "User seems to know what they want" → WRONG. Still need to validate design.
  • "I'll analyze codebase first" → WRONG. Brainstorming tells you WHEN to analyze.
  • "Let me propose the approach" → WRONG. Ask questions first.
  • "Fiturnya sederhana, langsung implement" → WRONG. Brainstorm dulu.
  • "Saya sudah paham requirementnya" → WRONG. Validasi dengan user dulu.
  • "Biar efisien, langsung ke solusi" → WRONG. Design validation saves time.

Mid-Project New Feature (CRITICAL - COMMON VIOLATION)

  • "Project exists, I know the patterns" → WRONG. NEW feature = NEW brainstorming.
  • "Codebase familiar, skip to plan" → WRONG. Each feature needs design validation.
  • "I'll follow existing patterns" → WRONG. Ask user first what they want.
  • "Sudah paham struktur projek" → WRONG. Fitur baru tetap perlu brainstorming.
  • "Tinggal ikuti pattern yang ada" → WRONG. Tanya user dulu, jangan asumsi.
  • "Project context is clear" → WRONG. Feature requirements are NOT clear yet.

RULE: Project familiarity ≠ Permission to skip brainstorming. Every NEW feature request = Load brainstorming skill FIRST.

Workflow Chain Skipping (NEW - CRITICAL)

  • "Design is clear, skip plan" → WRONG. writing-plans is REQUIRED.
  • "This is small, no need for plan" → WRONG. writing-plans is REQUIRED.
  • "User seems eager, let me offer choice" → WRONG. Complete chain FIRST.
  • "Plan exists in design doc already" → WRONG. writing-plans creates TASKS, not design.
  • "Let me ask what they want to do" → WRONG. You KNOW what's next - load it.
  • "Design approved, what should we do?" → WRONG. Load writing-plans IMMEDIATELY.

THE CHAIN IS NOT NEGOTIABLE:

brainstorming → writing-plans → [choice] → droids implement

Every → means IMMEDIATELY load the next skill. No questions. No pauses.

CRITICAL: "COULD APPLY" = "MUST USE"

If you identify a skill "could apply" or "might apply", you MUST use it.

There is NO "could apply but skip" option. Could apply = MUST use.


SKILL CHAINING

Workflow chaining is AUTOMATIC, not optional. Each skill MUST immediately trigger the next skill. You DO NOT ask "what next?" - you LOAD the next skill.

Full workflow for features:

brainstorming → writing-plans → [CHOICE] → TDD (per task) → verification → code-review

Automatic Chain Triggers

When This Completes You MUST IMMEDIATELY Do This
Design approved + saved SKILL(skill: "writing-plans")
Plan saved OFFER EXECUTION CHOICE (see below)
During each task Use test-driven-development for ALL code
All tasks complete SKILL(skill: "verification-before-completion")
Verification passes SKILL(skill: "requesting-code-review")

VIOLATIONS (automatic failure)

brainstorming complete → "What would you like to do?" → VIOLATION ❌ brainstorming complete → offer execution choice → VIOLATION (skipped plan!) ❌ Completed task → "Should I continue?" → VIOLATION (verify first!)

CORRECT Behavior

brainstorming complete → immediately load writing-plansplan saved → offer execution choice ✅ Task done → load verification-before-completion

Chain triggers:

When Next Skill
Design approved writing-plans (create detailed tasks)
Plan complete OFFER CHOICE (see below)
During each task test-driven-development (RED-GREEN-REFACTOR)
All tasks complete verification-before-completion
After verified requesting-code-review (dispatch droid)

EXECUTION CHOICE (After writing-plans OR when existing plan found)

After plan is saved OR when continuing with existing plan, AI MUST offer this choice:

"Plan ready. Two execution options:

1. **Subagent-Driven (this session)**
   - I dispatch fresh subagent per task
   - Code review between tasks (automatic)
   - Fast iteration, no context switch

2. **Parallel Session (separate)**
   - Open new session with executing-plans
   - Batch execution with human review checkpoints
   - Good for complex plans needing oversight

Which approach?"

CRITICAL - After user chooses:

If Option 1 (Subagent-Driven):

Say: "Loading subagent-driven-development skill"
SKILL (subagent-driven-development)

Then follow that skill's routing table and process EXACTLY.

If Option 2 (Parallel Session): Guide user to open new session and use executing-plans skill.

NEVER start executing tasks without loading the skill first.


HOW TO USE TOOLS

Load a skill:

SKILL(skill: "brainstorming")
SKILL(skill: "test-driven-development")
SKILL(skill: "systematic-debugging")

Dispatch a droid/subagent:

TASK (explore: "Codebase audit for improvements")
TASK (code-reviewer: "Review implementation")
TASK (general-purpose: "Implement Task N from plan")

Or use natural language:

"Use the brainstorming skill"
"Use subagent code-reviewer to review changes"
"Dispatch general-purpose droid to implement Task 1"

Key rules:

  • Use SKILL() to load skill instructions
  • Use TASK (droid-name: "prompt") to dispatch subagents
  • Never self-review code - dispatch code-reviewer droid

VERIFICATION GATE FUNCTION

BEFORE claiming any status ("done", "working", "fixed"):

  1. IDENTIFY: What command proves this claim?
  2. RUN: Execute the FULL command (fresh, complete)
  3. READ: Full output, check exit code, count failures
  4. VERIFY: Does output confirm the claim?
  5. ONLY THEN: Make the claim

Skip any step = lying, not verifying.


TDD VIOLATIONS TO REJECT

If user asks to "add tests" to existing code, this is a TDD VIOLATION.

CORRECT:

User: "Here's my implementation, can you add tests for it?"
AI: "I notice this is a 'tests after' pattern which violates TDD.
    Tests written after code don't prove the code works correctly.

    Options:
    1. Delete the implementation, write tests first, then reimplement (recommended)
    2. If you want to proceed anyway, I can add tests but they won't have TDD benefits

    Which approach would you prefer?"

Never silently accept "tests after" - always flag the violation.


FINISHING A DEVELOPMENT BRANCH

After code review is approved, present exactly these 4 options:

"Implementation complete and reviewed. What would you like to do?

1. **Merge back to main** - Merge locally and delete worktree
2. **Push and create PR** - Push branch for team review
3. **Keep as-is** - I'll handle it later manually
4. **Discard this work** - Delete branch and worktree

Which option?"

FULL WORKFLOW DIAGRAM

┌─────────────────────────────────────────────────────────────┐
│              SUPERPOWERS WORKFLOW                           │
├─────────────────────────────────────────────────────────────┤
│  0. CHECK EXISTING DOCS                                     │
│     └─► Search docs/plans/                                  │
│                          ↓                                  │
│  1. brainstorming (if no existing design)                   │
│     └─► Refine idea → Present design → Get approval         │
│                          ↓                                  │
│  2. writing-plans                                           │
│     └─► Break design into detailed tasks                    │
│                          ↓                                  │
│  3. [OFFER EXECUTION CHOICE]                                │
│     └─► subagent-driven OR executing-plans                  │
│                          ↓                                  │
│  4. test-driven-development (during each task)              │
│     └─► RED → GREEN → REFACTOR                              │
│                          ↓                                  │
│  5. verification-before-completion                          │
│     └─► Run tests, verify everything works                  │
│                          ↓                                  │
│  6. requesting-code-review                                  │
│     └─► Dispatch code-reviewer droid                        │
│                          ↓                                  │
│  7. finishing-a-development-branch (optional)               │
│     └─► Merge / PR / Keep / Discard                         │
└─────────────────────────────────────────────────────────────┘

OPTIONAL: using-git-worktrees can be used when working on existing git repos that need branch isolation.


SUMMARY

Every response must:

  1. Check <available_skills> for matches
  2. If match found → Load with SKILL(skill: "name") → Follow EXACTLY
  3. Announce which skill you're using
  4. If skill has checklist → Create TodoWrite for EACH item (Rule 6)

This is NOT optional. This is NOT negotiable.


ABOUT THESE SKILLS

Many skills contain rigid rules (TDD, debugging, verification). Follow them exactly. Don't adapt away the discipline.

Some skills are flexible patterns (architecture, naming). Adapt core principles to your context.

The skill itself tells you which type it is. When in doubt, treat as rigid.


INSTRUCTIONS ≠ PERMISSION TO SKIP WORKFLOWS

Your human partner's specific instructions describe WHAT to do, not HOW.

"Add X", "Fix Y", "Just do Z" = the goal, NOT permission to skip brainstorming, TDD, or RED-GREEN-REFACTOR.

Red flags that you're about to skip workflow:

  • "Instruction was specific"
  • "Seems simple"
  • "Workflow is overkill"
  • "User said 'just' or 'quickly'"

Why: Specific instructions mean clear requirements, which is when workflows matter MOST. Skipping process on "simple" tasks is how simple tasks become complex problems.