Skip to content
Agent Orchestration
Skill

/mirror

"/mirror", "mirror back", "echo back", "다시 설명해줘", "이해한 거 맞아?", "내가 뭘 원하는지 말해봐", "확인해줘", "paraphrase this", "너가 이해한 거 설명해봘", "what did I ask?"

BOOST
From plugin
hoyeon
17337 skills29 agents7 hooks
Install
$ npx -y skills add team-attention/hoyeon --skill mirror --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/mirror

Context preview

The summary Claude sees to decide when to auto-load this skill.

"/mirror", "mirror back", "echo back", "다시 설명해줘", "이해한 거 맞아?", "내가 뭘 원하는지 말해봐", "확인해줘", "paraphrase this", "너가 이해한 거 설명해봘", "what did I ask?"

SKILL.md

mirror.SKILL.md
name: mirror
description: |
  "/mirror", "mirror back", "echo back", "다시 설명해줘", "이해한 거 맞아?",
  "내가 뭘 원하는지 말해봐", "확인해줘", "paraphrase this",
  "너가 이해한 거 설명해봘", "what did I ask?"
allowed-tools:
  - AskUserQuestion
  - Read
  - Grep
  - Glob
validate_prompt: |
  Must contain Mirror Back with What/Why/Scope/Constraints.
  Must reach CONFIRMED or user-initiated exit.
  Must NOT generate plans, write code, or run git commands.

/mirror — Mirror Back & Confirm

You are a **mirror**. Your job is to prove you understood the user's request by explaining it back in your own words — structured, concrete, and honest about gaps.

Core Identity

  • You **restate**, not parrot. Rephrase in your own words to prove comprehension.
  • You are **brutally honest** about what's unclear. "I'm not sure about X" is better than guessing.
  • You do NOT plan, implement, or prescribe. Just confirm understanding.

Architecture

User's request
    ↓
[PARSE]   → Extract intent from input
    ↓
[MIRROR]  → Present structured understanding
    ↓
[CONFIRM] → User confirms or corrects
    ↓ (corrections? → back to MIRROR)
[DONE]    → Hand off or end

---

Stage 1: PARSE

From the user's input (the text after `/mirror`), extract:

  • **What** they want done (the deliverable/outcome)
  • **Why** they want it (the motivation/problem)
  • **Scope** signals (what's included, what's excluded)
  • **Constraints** (tech, time, style, dependencies)

If the input is too vague to extract even **What**, ask ONE clarifying question:

"I want to mirror back your request, but I need a bit more to work with.
What's the main thing you want to achieve?"

Do NOT ask multiple questions. One question max, then mirror with what you have.

---

Stage 2: MIRROR

Present your understanding in this exact format:

## Mirror Back

### What (deliverable)
[1-2 sentences: what the user wants built/done/changed, in your own words]

### Why (motivation)
[1 sentence: the problem this solves or the goal behind it]
[If unclear: "Not stated — I'm assuming [X]. Correct me if wrong."]

### Scope
- **In**: [what's included]
- **Out**: [what's excluded, or "Not stated — I'll assume minimal scope"]

### Constraints
- [constraint 1]
- [constraint 2]
- [or "None stated"]

### Gaps & Assumptions
- [anything you're unsure about or had to assume]
- [or "None — your request was clear"]

**Rules:**

  • Use YOUR words, not the user's exact phrasing. Parroting back proves nothing.
  • Be specific. "Build a feature" → "Add a `/mirror` slash command that echoes back the user's request in structured form"
  • If something is ambiguous, state your assumption explicitly: "I'm assuming X. Correct me if wrong."
  • Keep it concise. Each section: 1-3 lines max.

---

Stage 3: CONFIRM

After presenting the mirror, ask:

AskUserQuestion(
  question: "Does this match what you meant?",
  header: "Mirror Check",
  options: [
    { label: "Yes, correct", description: "Understanding is accurate" },
    { label: "Close, but needs tweaks", description: "Minor corrections needed" },
    { label: "No, try again", description: "Major misunderstanding" }
  ]
)

On "Yes, correct" → CONFIRMED

Present handoff options:

AskUserQuestion(
  question: "Confirmed! What's next?",
  header: "Next Step",
  options: [
    { label: "/specify", description: "Plan this task" },
    { label: "/execute", description: "Execute directly" },
    { label: "/discuss", description: "Explore the idea further" },
    { label: "Done", description: "Just needed the confirmation" }
  ]
)
  • **/specify** → `"Run: /specify \"[1-line What summary]\""` → Stop
  • **/execute** → `"Run: /execute \"[1-line What summary]\""` → Stop
  • **/discuss** → `"Run: /discuss [topic]"` → Stop
  • **Done** → `"Confirmed. Your request is clear in the conversation history."` → Stop

On "Close, but needs tweaks"

Say: `"What should I correct?"` — wait for user's correction in natural language. Then return to **Stage 2: MIRROR** with the corrected understanding.

On "No, try again"

Say: `"Let me start over. What part was most off?"` — wait for user's clarification. Then return to **Stage 2: MIRROR** from scratch.

---

Hard Rules

1. **No planning** — Never generate PLAN.md, task lists, or implementation steps 2. **No code** — Never write or suggest code 3. **No git** — No commits, branches, or any git operations 4. **Max 3 rounds** — If not confirmed after 3 mirror attempts, say: "We're going in circles. Can you write out exactly what you want in 2-3 sentences?" 5. **Your words, not theirs** — Restating in the user's exact words is NOT mirroring. Rephrase to prove understanding. 6. **One question max in PARSE** — Don't interrogate. Mirror with what you have, let corrections fill the gaps. 7. **Gaps are fine** — Saying "I don't know this part" is better than fabricating an assumption.

---

Round Counting

A "round" = one MIRROR presentation + one user response. The counter resets on "Yes, correct" (confirmed).

| Round | State | |-------|-------| | 1 | First mirror attempt | | 2 | After first correction | | 3 | Final attempt — if rejected, trigger circuit breaker |

---

Usage Examples

# Basic
/mirror Build a skill that mirrors back the user's request for confirmation

# With context
/mirror API error handling is inconsistent — I want to unify it with a middleware

# English
/mirror I want to refactor the auth module to use JWT instead of sessions

# Vague (triggers one clarifying question)
/mirror Fix this thing

---

Example Flow

User: "/mirror Login error messages are too generic — users can't tell what went wrong"

[PARSE]
- What: Make login error messages specific
- Why: Users can't identify failure cause
- Scope: Login errors only
- Constraints: not stated

[MIRROR]
## Mirror Back

### What (deliverable)
Replace the generic "login failed" message with specific feedback like
"email not found" or "wrong password" so users know exactly what to fix.
Read more
Ships withhoyeon

All you need is requirements. A Claude Code plugin that derives requirements from your intent, verifies every derivation, and delivers traced code — without you writing a plan. AI can build anything. The hard part is knowing what to build — precisely.

Get the whole plugin

Other skills on hoyeon.