skills/interview/SKILL.md
Conduct an iterative multiple-choice interview using AskUserQuestion. Returns the Q&A inline. Use as a utility when a caller needs structured user input on a topic.
npx skillsauth add alexanderguy/skills interviewInstall 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.
Use this skill to gather user input on a topic by asking multiple-choice questions in batches via AskUserQuestion. Return the questions and answers in the conversation. The caller decides what to do with them.
This is a utility, not a planner. It does not decide what to build, write any files, or invoke other skills.
<topic>[; <context>]
If no topic is given, ask for one before proceeding.
Enumerate the open questions worth asking, drawn from the topic and context. Skip dimensions the context already settles. Add domain-specific ones where relevant. There is no fixed dimension list — the topic determines it.
Probe objective and priorities before details. They shape every later question, so anchoring them early prevents reshuffling halfway through.
Each round uses AskUserQuestion. Refer to the tool's own documentation for parameter limits and multi-select behavior.
Quality bar for options:
Batching:
Stop when:
There is no fixed round cap. Stop when the marginal value of another round is low. If the caller passed an explicit cap, honour it.
When the interview ends, emit the Q&A inline as a numbered list of question → answer pairs. Format:
## Interview findings: <topic>
1. <question>: <answer>
2. <question>: <answer>
3. <question>: <answer (multi-select)> — <answer>
If the user declined some questions or punted a dimension, note it in the same list:
4. <question>: deferred (user said "you decide")
Do not invent a structured summary on top of this. The caller decides what to do with the findings.
After emitting the findings, stop. Do not load other skills, invoke other agents, or write any file.
Invocation: skill(name="interview", arguments="notification system; backend is Node/Postgres, internal users only, must integrate with existing auth")
Round 1 (3 questions, bundled because none depends on the others):
AskUserQuestion([
{ header: "Goal", question: "What is the primary goal of the notification system?",
options: [
{ label: "Alert on critical events", description: "Errors, security issues, SLA breaches" },
{ label: "Keep users informed of activity", description: "Mentions, replies, updates" },
{ label: "Drive user re-engagement", description: "Digests, reminders, summaries" } ] },
{ header: "Priorities", question: "If you had to pick one, which matters most?",
options: [
{ label: "Reliability of delivery", description: "Never miss a notification, even if delayed" },
{ label: "Latency", description: "Real-time, even if some are dropped under load" },
{ label: "User control", description: "Fine-grained per-event opt-in/out" } ] },
{ header: "Channels", question: "Which delivery channels do you want?", multiSelect: true,
options: [
{ label: "In-app", description: "Notification center in the UI" },
{ label: "Email", description: "Per-event or digest" },
{ label: "Webhook", description: "Outbound HTTP to a user-configured endpoint" } ] }
])
Hypothetical answers: Alert on critical events; Reliability of delivery; In-app + Email.
Round 2 builds on round 1 (e.g. email cadence, failure handling). Once no obvious questions remain, emit the findings list and stop.
development
Perform a code review or pull request review on a branch
development
Write scripts using opsh and its built-in libraries. Load this skill when writing, reviewing, or debugging opsh scripts.
testing
Reshape git history with rebase — edit-in-place to fix an earlier commit, squash/fixup, drop, split, reword, or validate every replayed commit. Load whenever you need to change a commit that is not HEAD, or for any branch-history cleanup before push. Covers driving every editor invocation non-interactively so the rebase runs without a human at the keyboard.
development
Examine code, document its design, and collaboratively plan improvements