mirror of
https://github.com/addyosmani/agent-skills.git
synced 2026-10-26 15:05:04 +00:00
interview-me: address review feedback
- Disambiguate the using-agent-skills flowchart so interview-me and
idea-refine no longer match the same condition top-to-bottom
("Don't know what you want yet?" vs "Have a rough concept, need
variants?").
- Add "grill me" to interview-me's frontmatter description and the
When to Use trigger list (it was already mentioned in README).
- Reorder sections: Example and Interaction with Other Skills now
precede Common Rationalizations and Red Flags, so the persuasive
example lands before the rationalization table.
Per review by @nucliweb on #164.
This commit is contained in:
1 parent
aec93252da
commit
12ae36e0d5
2 files changed
+29
-29
No files matched your search
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: interview-me
|
||||
description: Extracts what the user actually wants instead of what they think they should want. Achieves this through one-question-at-a-time interview until ~95% confidence about the underlying intent. Use when an ask is underspecified ("build me X" without "for whom" or "why now"), when the user explicitly invokes ("interview me", "are we sure?", "stress-test my thinking"), or when you catch yourself silently filling in ambiguous requirements before any plan, spec, or code exists.
|
||||
description: Extracts what the user actually wants instead of what they think they should want. Achieves this through one-question-at-a-time interview until ~95% confidence about the underlying intent. Use when an ask is underspecified ("build me X" without "for whom" or "why now"), when the user explicitly invokes ("interview me", "grill me", "are we sure?", "stress-test my thinking"), or when you catch yourself silently filling in ambiguous requirements before any plan, spec, or code exists.
|
||||
---
|
||||
|
||||
# Interview Me
|
||||
@@ -21,7 +21,7 @@ Apply this skill when:
|
||||
- The request is conventional rather than specific ("build me X", "make it faster") and you can't unpack the convention without guessing
|
||||
- You're tempted to start with assumptions you haven't surfaced
|
||||
- The user hasn't said which value they're optimizing for when two reasonable ones are in tension (simplicity vs. flexibility, cost vs. speed)
|
||||
- The user explicitly invokes: "interview me", "before we start, are we sure?", "stress-test my thinking"
|
||||
- The user explicitly invokes: "interview me", "grill me", "before we start, are we sure?", "stress-test my thinking"
|
||||
|
||||
**When NOT to use:**
|
||||
|
||||
@@ -135,31 +135,6 @@ The output of this skill is a **confirmed statement of intent**: the restate fro
|
||||
|
||||
If the user wants the intent to persist (a multi-session project, a handoff to another collaborator), offer to save it to `docs/intent/[topic].md`. Only save if they confirm.
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
| Rationalization | Reality |
|
||||
|---|---|
|
||||
| "The ask is clear enough" | If you can't write the user's desired outcome in one sentence right now, the ask isn't clear. Run Step 1 before deciding. |
|
||||
| "Asking too many questions wastes their time" | Time wasted by 4–6 targeted questions is small. Time wasted by building the wrong thing is enormous, and the user is the one bearing that cost. |
|
||||
| "I'll figure it out as I build" | Switching costs after code exists are 10x what they are now. Discovery during implementation is rework. |
|
||||
| "They said 'whatever you think,' so I should just decide" | "Whatever you think" is delegation, not decision. Re-ask with two concrete options as a choice. |
|
||||
| "I should give them several options to pick from" | Options work when the user knows what they want and is choosing between trade-offs. They don't know what they want yet. Listing options widens the search; asking narrows it. |
|
||||
| "If I attach my guess, I'm leading them" | Leading is the point. Reacting is faster than generating from scratch. The risk is sycophancy, not leading; mitigate by being visibly willing to be wrong. |
|
||||
| "We've talked enough, I get it" | Test it: can you predict their reaction to the next three questions? If not, you don't get it yet. |
|
||||
| "The user said yes, we're done" | If the yes followed a vague restate or an open-ended "sounds good," the yes is hollow. Restate concretely and re-confirm. |
|
||||
|
||||
## Red Flags
|
||||
|
||||
- Three or more questions in a single message: that's batching, not interviewing
|
||||
- A question without your hypothesis attached: that's surveying, not committing
|
||||
- Accepting "whatever you think is best" as a terminal answer
|
||||
- Producing a spec, plan, or task list before the user has explicitly confirmed your restate
|
||||
- Questions framed as "what would be best practice?" instead of "what do you actually want?"
|
||||
- The user gives a sophistication-signaling answer ("scalable", "clean", "modern") and you accept it without probing whether it's what they actually want
|
||||
- Three or more rounds without your confidence visibly rising: you're asking the wrong questions, step back and reframe
|
||||
- Saving the intent doc before the user has confirmed (the doc itself implies a yes the user didn't give)
|
||||
- Skipping the "Out of scope" line in the restate (silent disagreement about non-goals is half of misalignment)
|
||||
|
||||
## Example
|
||||
|
||||
A short before-and-after.
|
||||
@@ -208,6 +183,31 @@ Two questions in, the agent has discovered the actual ask isn't "a dashboard." I
|
||||
- **`doubt-driven-development`**: opposite end of the timeline. Interview-me is pre-decision intent extraction; doubt-driven is post-decision artifact review. Both catch divergence, but at different moments.
|
||||
- **`source-driven-development`**: orthogonal. Interview-me clarifies what the user wants; SDD verifies framework facts. They don't compete.
|
||||
|
||||
## Common Rationalizations
|
||||
|
||||
| Rationalization | Reality |
|
||||
|---|---|
|
||||
| "The ask is clear enough" | If you can't write the user's desired outcome in one sentence right now, the ask isn't clear. Run Step 1 before deciding. |
|
||||
| "Asking too many questions wastes their time" | Time wasted by 4–6 targeted questions is small. Time wasted by building the wrong thing is enormous, and the user is the one bearing that cost. |
|
||||
| "I'll figure it out as I build" | Switching costs after code exists are 10x what they are now. Discovery during implementation is rework. |
|
||||
| "They said 'whatever you think,' so I should just decide" | "Whatever you think" is delegation, not decision. Re-ask with two concrete options as a choice. |
|
||||
| "I should give them several options to pick from" | Options work when the user knows what they want and is choosing between trade-offs. They don't know what they want yet. Listing options widens the search; asking narrows it. |
|
||||
| "If I attach my guess, I'm leading them" | Leading is the point. Reacting is faster than generating from scratch. The risk is sycophancy, not leading; mitigate by being visibly willing to be wrong. |
|
||||
| "We've talked enough, I get it" | Test it: can you predict their reaction to the next three questions? If not, you don't get it yet. |
|
||||
| "The user said yes, we're done" | If the yes followed a vague restate or an open-ended "sounds good," the yes is hollow. Restate concretely and re-confirm. |
|
||||
|
||||
## Red Flags
|
||||
|
||||
- Three or more questions in a single message: that's batching, not interviewing
|
||||
- A question without your hypothesis attached: that's surveying, not committing
|
||||
- Accepting "whatever you think is best" as a terminal answer
|
||||
- Producing a spec, plan, or task list before the user has explicitly confirmed your restate
|
||||
- Questions framed as "what would be best practice?" instead of "what do you actually want?"
|
||||
- The user gives a sophistication-signaling answer ("scalable", "clean", "modern") and you accept it without probing whether it's what they actually want
|
||||
- Three or more rounds without your confidence visibly rising: you're asking the wrong questions, step back and reframe
|
||||
- Saving the intent doc before the user has confirmed (the doc itself implies a yes the user didn't give)
|
||||
- Skipping the "Out of scope" line in the restate (silent disagreement about non-goals is half of misalignment)
|
||||
|
||||
## Verification
|
||||
|
||||
After applying interview-me:
|
||||
|
||||
@@ -16,8 +16,8 @@ When a task arrives, identify the development phase and apply the corresponding
|
||||
```
|
||||
Task arrives
|
||||
│
|
||||
├── Ask is underspecified? ───────→ interview-me
|
||||
├── Vague idea/need refinement? ──→ idea-refine
|
||||
├── Don't know what you want yet? ──────→ interview-me
|
||||
├── Have a rough concept, need variants? → idea-refine
|
||||
├── New project/feature/change? ──→ spec-driven-development
|
||||
├── Have a spec, need tasks? ──────→ planning-and-task-breakdown
|
||||
├── Implementing code? ────────────→ incremental-implementation
|
||||
|
||||
Reference in new issue
Block a user