user-scope-skills/mirror/SKILL.md
"/mirror", "mirror back", "echo back", "이해한 거 맞아?", "내가 뭘 원하는지 말해봐", "확인해줘", "paraphrase this", "너가 이해한 거 설명해봐", "what did I ask?"
npx skillsauth add onejaejae/skills mirrorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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
From the user's input (the text after /mirror), extract:
Fast path — request already clear: If the input already contains explicit What, Why, Scope, and Constraints (e.g., structured bullet points, a spec snippet, or a detailed paragraph covering all four), skip directly to a brief confirmation instead of a full mirror:
"Your request is already well-structured. Let me confirm I'm reading it correctly:
[1-2 sentence summary of What + Why]
Scope: [In/Out]. Constraints: [list].
Any corrections, or shall we proceed?"
This avoids the overhead of a full MIRROR cycle on input that is already clear. If the user corrects anything, fall through to the normal MIRROR flow.
Too vague: 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.
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:
/mirror slash command that echoes back the user's request in structured form"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" }
]
)
Present handoff options:
AskUserQuestion(
question: "Confirmed! What's next?",
header: "Next Step",
options: [
{ label: "/specify", description: "Full spec planning" },
{ label: "/quick-plan", description: "Lightweight task breakdown" },
{ label: "/execute", description: "Execute directly" },
{ label: "/discuss", description: "Explore the idea further" },
{ label: "Done", description: "Just needed the confirmation" }
]
)
"Run: /specify \"[1-line What summary]\"" → Stop"Run: /quick-plan \"[1-line What summary]\"" → Stop"Run: /execute \"[1-line What summary]\"" → Stop"Run: /discuss [topic]" → Stop"Confirmed. Your request is clear in the conversation history." → StopSay: "What should I correct?" — wait for user's correction in natural language.
Then return to Stage 2: MIRROR with the corrected understanding.
Say: "Let me start over. What part was most off?" — wait for user's clarification.
Then return to Stage 2: MIRROR from scratch.
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 |
# 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
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.
### Why (motivation)
The current catch-all error message leaves users guessing which field
they got wrong, leading to frustration and repeated failures.
### Scope
- **In**: Login flow error messages
- **Out**: Signup, password reset, and other auth flows (not mentioned)
### Constraints
- None stated
### Gaps & Assumptions
- Security tradeoff: Specific errors can reveal whether an account exists.
Unclear how to balance this against UX. Needs a decision.
[CONFIRM]
→ User: "Close, but needs tweaks" — "I know about the security issue,
I want to prioritize UX over enumeration protection"
→ Round 2 MIRROR (reflects UX > security decision)
→ User: "Yes, correct"
→ CONFIRMED → Handoff options
| Skill | What it does | When to use instead of /mirror |
|-------|-------------|-------------------------------|
| /discuss | Multi-round Socratic dialogue about an idea | To explore a concept, not just confirm understanding |
| /stepback | One-shot perspective reset on current work | Mid-work sanity check, no dialogue needed |
| /specify | Full spec generation via interview | To plan a task, not just confirm what it is |
| /quick-plan | Lightweight task breakdown | Quick task list without deep spec |
| clarify:vague | Structured requirements extraction | Vague idea that needs shaping, not just restating |
If the user seems to want one of these instead, suggest it.
testing
CLAUDE.md 기반 환경 안전 체크. 작업 시작 전에 프로젝트의 안전 규칙, 컨벤션, 환경 설정을 자동 검증하여 CLEAR/WARNING/BLOCKED 상태를 보고한다. /check가 "변경 후 검증"이라면, /pre-flight는 "작업 전 환경 검증"이다. Use PROACTIVELY before starting work, especially after switching branches, pulling changes, or resuming a session. Also use when explicitly asked: "/pre-flight", "프리플라이트", "환경 체크", "작업 전 점검", "안전 체크", "environment check", "pre-flight check", "시작해도 돼?", "환경 괜찮아?", "safety check", "DB 확인", "설정 확인", "config check".
tools
PR 리뷰 워크플로우와 체크리스트를 제공하는 스킬. "PR 리뷰해줘", "코드 리뷰 해줘", "이 PR 봐줘", "review this PR" 등 PR 리뷰 요청 시 사용. GitHub/GitLab PR URL 또는 로컬 브랜치 diff를 기반으로 체계적이고 일관된 리뷰를 수행. 코드 품질, 안정성/보안, 성능, 테스트, 문서화 관점에서 건설적인 피드백 제공.
documentation
PR review comments를 체계적으로 처리하는 skill. Use when: (1) PR에 동료의 리뷰가 달렸을 때, (2) 여러 리뷰를 한 번에 처리하고 싶을 때, (3) 수정 후 commit 링크가 포함된 reply를 자동으로 추가하고 싶을 때
tools
PR diff를 받아 코드 리뷰 자동 요약을 생성하는 스킬. 핵심 변경점을 3줄로 요약하고, 변경 파일별로 what changed / why it matters / risk level을 정리. Use when: "PR 요약", "diff 요약", "PR 변경점 정리", "코드 변경 요약", "summarize PR", "PR summary", "diff summary", "what changed in this PR", "변경점 요약해줘", "PR 핵심 정리", "리뷰 요약"