--- name: explain-this description: "Explain whatever the user is pointing at right now in plain language: a pending question, a piece of code, an error, a command output, or an artifact like a plan or findings report. Use when the user asks to \"explain this\", \"what am I being asked\", \"what's happening right now\", \"help me understand this\", \"what does this mean\", \"what does this error mean\", \"what is this code doing\", or \"what do these options mean\"." --- # Explain This Take whatever the user is pointing at and translate it into plain language. "This" is usually the most recent assistant output or something pasted as an argument: a multi-option prompt, a free-form question, a code block, an error, a command output, or an artifact like a plan, findings report, or diff. ## Step 1: Identify the Subject Pick the subject in priority order: 1. Text passed as an argument — use that 2. A quoted or selected region from the user's most recent message — use that 3. The most recent non-trivial assistant output — use that 4. If the guess is not obvious, lead the explanation by naming what was picked so the user can redirect ## Step 2: Ground in State Read whatever makes the explanation concrete, no more: - Files the subject references - The active skill's `SKILL.md` when a skill-specific question is being asked - `git status` and `git diff --stat` when the subject involves staged or unstaged changes - Any artifact cited (plan, spec, findings, test plan, audit, PR, commit) ## Step 3: Produce the Explanation The reader is an experienced developer who may not be fluent in every tech stack or acronym but doesn't need concepts from first principles. Skip ELI5. Use plain language; strip skill-internal jargon, or define it inline when the jargon is what the user needs explained (for example, "P1 peer" becomes "priority 1 finding from the peer reviewer"). Go beyond "what this does" and surface the trade-offs: pros and cons per choice, benefits and costs, whether the thing reads as clean and elegant or redundant and overcomplicated. Be honest about red flags; be honest about solid work. Shape the output to match the subject. Use the branch that applies; drop the rest. **Question with discrete options** — restate the question plainly, then enumerate options using this template: ``` **What you're being asked:** ### Your Options **1.