interview
This skill contains shell command directives (!`command`) that may execute system commands. Review carefully before installing.
Pre-computed context
Current branch: !git branch --show-current 2>/dev/null || echo "unknown"
Recent commits: !git log --oneline -5 2>/dev/null || echo "no commits"
Working tree status: !git status --porcelain 2>/dev/null | head -10 || echo "clean"
Variables
Arguments: $ARGUMENTS
Purpose
Most rework comes from acting on assumptions the user never made and the agent never surfaced — an underspecified task, one missing the constraints needed to act safely. /interview is the pipeline's underspecification resolver: a structured pass driving every load-bearing unknown to a decision OR capturing it as a named, explicit assumption — before exploration, planning, or execution start.
The pre-clarity stage — upstream of exploration, research, and /planning:plan. /planning:plan presupposes a coherent task; /interview produces one out of fuzzy intent. The contract it writes is the target every later stage aims at.
Supportive, not adversarial. /devils-advocate attacks an existing artifact after the fact. /interview walks alongside the user to extract a clear contract from the start.
Domain-routed. The interview loop is universal — it interviews any plan, decision, or idea. What the session produces depends on context: an engineering task in a code repo locks a PLAN.md Brief and can hand off to /planning:plan; a general decision drives to a shared understanding and ends there. The domain is inferred from the task's build surface — the problem itself decides, with repo and working directory as context that never suffices alone — never asked, and it is orthogonal to the me/auto/lock action. Engineering machinery — codebase grounding, the Brief, ADR/glossary outputs, pipeline handoff — engages only when the context is engineering; the universal loop runs either way. A user can override the inference in prose ("this isn't a code task", "interview me on this decision").