| name | using-ring |
| description | Mandatory orchestrator protocol - establishes ORCHESTRATOR principle (dispatch agents, don't operate directly) and skill discovery workflow for every conversation. |
| trigger | - Every conversation start (automatic via SessionStart hook) - Before ANY task (check for applicable skills) - When tempted to operate tools directly instead of delegating |
| skip_when | - Never skip - this skill is always mandatory |
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.
⛔ 3-FILE RULE: HARD GATE (NON-NEGOTIABLE)
DO NOT read/edit >3 files directly. PROHIBITION, not guidance.
≤3 files → Direct OK (if user requested)
>3 files → STOP. Launch agent. VIOLATION = 15x context waste.
Applies to: Read, Grep/Glob (>3 matches to inspect), Edit, or any combination >3.
Already at 3 files? STOP. Dispatch agent NOW with what you've learned.
Why 3? 3 files ≈ 6-15k tokens. Agent dispatch = ~2k tokens with focused results. Math: >3 = agent is 5-15x more efficient.
🚨 AUTO-TRIGGER PHRASES: MANDATORY AGENT DISPATCH
When user says ANY of these, DEFAULT to launching specialist agent:
| User Phrase Pattern | Mandatory Action |
|---|---|
| "fix issues", "fix remaining", "address findings" | Launch specialist agent (NOT manual edits) |
| "apply fixes", "fix the X issues" | Launch specialist agent |
| "fix errors", "fix warnings", "fix linting" | Launch specialist agent |
| "update across", "change all", "refactor" | Launch specialist agent |
| "find where", "search for", "locate" | Launch Explore agent |
| "understand how", "how does X work" | Launch Explore agent |
Why? These phrases imply multi-file operations. You WILL exceed 3 files. Pre-empt the violation.
MANDATORY PRE-ACTION CHECKPOINT
Before EVERY tool use (Read/Grep/Glob/Bash), complete this. No exceptions.
⛔ STOP. COMPLETE BEFORE PROCEEDING.
─────────────────────────────────────
1. FILES: ___ □ >3? → Agent. □ Already 3? → Agent now.
2. USER PHRASE:
□ "fix issues/remaining/findings" → Agent
□ "find/search/locate/understand" → Explore agent
3. DECISION:
□ Investigation → Explore agent
□ Multi-file → Specialist agent
□ User named ONE specific file → Direct OK (rare)
RESULT: [Agent: ___] or [Direct: why]
─────────────────────────────────────
Skipping = violation. Document decision in TodoWrite.
Getting Started with Skills
MANDATORY FIRST RESPONSE PROTOCOL
Before responding to ANY user message, you MUST complete this checklist IN ORDER:
- ☐ Check for MANDATORY-USER-MESSAGE - If additionalContext contains
<MANDATORY-USER-MESSAGE>tags, display the message FIRST, verbatim, at the start of your response - ☐ ORCHESTRATION DECISION - Determine which agent handles this task
- Create TodoWrite: "Orchestration decision: [agent-name] with Opus"
- Default model: Opus (use unless user specifies otherwise)
- If considering direct tools, document why the exception applies (user explicitly requested specific file read)
- Mark todo complete only after documenting decision
- ☐ Skill Check - List available skills in your mind, ask: "Does ANY skill match this request?"
- ☐ If yes → Use the Skill tool to read and run the skill file
- ☐ Announce - State which skill/agent you're using (when non-obvious)
- ☐ Execute - Dispatch agent OR follow skill exactly
Responding WITHOUT completing this checklist = automatic failure.
MANDATORY-USER-MESSAGE Contract
If additionalContext contains <MANDATORY-USER-MESSAGE> tags:
- Display verbatim at message start, no exceptions
- No paraphrasing, no "will mention later" rationalizations
Critical Rules
Follow mandatory workflows. Brainstorming before coding. Check for relevant skills before ANY task.
Execute skills with the Skill tool
Common Rationalizations That Mean You're About To Fail
If you catch yourself thinking ANY of these thoughts, STOP. You are rationalizing. Check for and use the skill. Also check: are you being an OPERATOR instead of ORCHESTRATOR?
Skill Checks:
- "This is just a simple question" → WRONG. Questions are tasks. Check for skills.
- "This doesn't need a formal skill" → WRONG. If a skill exists for it, use it.
- "I remember this skill" → WRONG. Skills evolve. Run the current version.
- "This doesn't count as a task" → WRONG. If you're taking action, it's a task. Check for skills.
- "The skill is overkill for this" → WRONG. Skills exist because simple things become complex. Use it.
- "I'll just do this one thing first" → WRONG. Check for skills BEFORE doing anything.
- "I need context before checking skills" → WRONG. Gathering context IS a task. Check for skills first.
Orchestrator Breaks (Direct Tool Usage):
- "I can check git/files quickly" → WRONG. Use agents, stay ORCHESTRATOR.
- "Let me gather information first" → WRONG. Dispatch agent to gather it.
- "Just a quick look at files" → WRONG. That "quick" becomes 20k tokens. Use agent.
- "I'll scan the codebase manually" → WRONG. That's operator behavior. Use Explore.
- "This exploration is too simple for an agent" → WRONG. Simplicity makes agents more efficient.
- "I already started reading files" → WRONG. Stop. Dispatch agent instead.
- "It's faster to do it myself" → WRONG. You're burning context. Agents are 15x faster contextually.
3-File Rule Rationalizations (YOU WILL TRY THESE):
- "This task is small" → WRONG. Count files. >3 = agent. Task size is irrelevant.
- "It's only 5 fixes across 5 files, I can handle it" → WRONG. 5 files > 3 files. Agent mandatory.
- "User said 'here' so they want me to do it in this conversation" → WRONG. "Here" means get it done, not manually.
- "TodoWrite took priority so I'll execute sequentially" → WRONG. TodoWrite plans WHAT. Orchestrator decides HOW.
- "The 3-file rule is guidance, not a gate" → WRONG. It's a PROHIBITION. You DO NOT proceed past 3 files.
- "User didn't explicitly call an agent so I shouldn't" → WRONG. Agent dispatch is YOUR decision.
- "I'm confident I know where the files are" → WRONG. Confidence doesn't reduce context cost.
- "Let me finish these medium/low fixes here" → WRONG. "Fix issues" phrase = auto-trigger for agent.
Why: Skills document proven techniques. Agents preserve context. Not using them means repeating mistakes and wasting tokens.
Both matter: Skills check is mandatory. ORCHESTRATOR approach is mandatory.
If a skill exists or if you're about to use tools directly, you must use the proper approach or you will fail.
The Cost of Skipping Skills
Every time you skip checking for skills:
- You fail your task (skills contain critical patterns)
- You waste time (rediscovering solved problems)
- You make known errors (skills prevent common mistakes)
- You lose trust (not following mandatory workflows)
This is not optional. Check for skills or fail.
ORCHESTRATOR Principle: Agent-First Always
Your role is ORCHESTRATOR, not operator.
You don't read files, run grep chains, or manually explore – you dispatch agents to do the work and return results. This is not optional. This is mandatory for context efficiency.
The Problem with Direct Tool Usage:
- Manual exploration chains: ~30-100k tokens in main context
- Each file read adds context bloat
- Grep/Glob chains multiply the problem
- User sees work happening but context explodes
The Solution: Orchestration:
- Dispatch agents to handle complexity
- Agents return only essential findings (~2-5k tokens)
- Main context stays lean for reasoning
- 15x more efficient than direct file operations
Your Role: ORCHESTRATOR (No Exceptions)
You dispatch agents. You do not operate tools directly.
Default answer for ANY exploration/search/investigation: Use one of the three built-in agents (Explore, Plan, or general-purpose) with Opus model.
Which agent?
- Explore - Fast codebase navigation, finding files/code, understanding architecture
- Plan - Implementation planning, breaking down features into tasks
- general-purpose - Multi-step research, complex investigations, anything not fitting Explore/Plan
Model Selection: Always use Opus for agent dispatching unless user explicitly specifies otherwise (e.g., "use Haiku", "use Sonnet").
Exceptions to default agents:
- User explicitly provides a file path AND explicitly requests you read it (e.g., "read src/foo.ts")
- A skill has its own specialized agents - Some skills (e.g.,
dev-refactor) define their own agents that MUST be used instead of Explore/Plan/general-purpose. When a skill specifies "OVERRIDE" or "FORBIDDEN agents", follow the skill's agent requirements, not the defaults above.
All these are STILL orchestration tasks:
- ❌ "I need to understand the codebase structure first" → Explore agent
- ❌ "Let me check what files handle X" → Explore agent
- ❌ "I'll grep for the function definition" → Explore agent
- ❌ "User mentioned component Y, let me find it" → Explore agent
- ❌ "I'm confident it's in src/foo/" → Explore agent
- ❌ "Just checking one file to confirm" → Explore agent
- ❌ "This search premise seems invalid, won't find anything" → Explore agent (you're not the validator)
You don't validate search premises. Dispatch the agent, let the agent report back if search yields nothing.
If you're about to use Read, Grep, Glob, or Bash for investigation: You are breaking ORCHESTRATOR. Use an agent instead.
Available Agents
Built-in (Opus): Explore (navigation), Plan (implementation), general-purpose (research), claude-code-guide (docs).
Ring: code-reviewer, business-logic-reviewer, security-reviewer, write-plan.
Decision: Which Agent?
| Task Type | Agent (Opus default) |
|---|---|
| Explore/find/understand/search | Explore |
| Plan implementation, break down features | Plan |
| Multi-step research, complex investigation | general-purpose |
| Code review | ALL THREE in parallel (code, business-logic, security reviewers) |
| Implementation plan document | write-plan |
| Claude Code questions | claude-code-guide |
| User explicitly said "read [file]" | Direct (ONLY exception) |
WRONG → RIGHT: "Let me read files" → Explore. "I'll grep" → Explore. "Already read 3 files" → STOP, dispatch now.
Ring Reviewers: ALWAYS Parallel
When dispatching code reviewers, single message with 3 Task calls:
✅ CORRECT: One message with 3 Task calls (all in parallel)
❌ WRONG: Three separate messages (sequential, 3x slower)
Context Efficiency: Orchestrator Wins
| Approach | Context Cost | Your Role |
|---|---|---|
| Manual file reading (5 files) | ~25k tokens | Operator |
| Manual grep chains (10 searches) | ~50k tokens | Operator |
| Explore agent dispatch | ~2-3k tokens | Orchestrator |
| Savings | 15-25x more efficient | Orchestrator always wins |
TodoWrite Requirements
First two todos for ANY task:
- "Orchestration decision: [agent-name] with Opus" (or exception justification)
- "Check for relevant skills"
If skill has checklist: Create TodoWrite todo for EACH item. No mental checklists.
Announcing Skill Usage
- Always announce meta-skills: brainstorming, writing-plans, systematic-debugging (methodology change)
- Skip when obvious: User says "write tests first" → no need to announce TDD
Required Patterns
This skill uses these universal patterns:
- State Tracking: See
skills/shared-patterns/state-tracking.md - Failure Recovery: See
skills/shared-patterns/failure-recovery.md - Exit Criteria: See
skills/shared-patterns/exit-criteria.md - TodoWrite: See
skills/shared-patterns/todowrite-integration.md
Apply ALL patterns when using this skill.
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.
Instructions ≠ Permission to Skip Workflows
Your human partner's specific instructions describe WHAT to do, not HOW.
"Add X", "Fix Y" = the goal, NOT permission to skip brainstorming, TDD, or RED-GREEN-REFACTOR.
Red flags: "Instruction was specific" • "Seems simple" • "Workflow is overkill"
Why: Specific instructions mean clear requirements, which is when workflows matter MOST. Skipping process on "simple" tasks is how simple tasks become complex problems.
Summary
Starting any task:
- Orchestration decision → Which agent handles this? Use Opus model by default (TodoWrite required)
- Skill check → If relevant skill exists, use it
- Announce → State which skill/agent you're using
- Execute → Dispatch agent with Opus OR follow skill exactly
Before ANY tool use (Read/Grep/Glob/Bash): Complete PRE-ACTION CHECKPOINT.
Skill has checklist? TodoWrite for every item.
Default answer: Use an agent with Opus. Exception is rare (user explicitly requests specific file read).
Model default: Opus (unless user specifies Haiku/Sonnet explicitly).
Finding a relevant skill = mandatory to read and use it. Not optional.