| name | interview |
| description | Use when guiding decision interviews that produce a design artifact in .lev/pm/designs before proposal or implementation planning. |
| output_template | footer |
Interview
Run a design-acquisition interview. First reduce ambiguity until the subject, intent, outcome, scope, constraints, and success criteria are clear enough to know the decision space. Then walk one researched design branch at a time until a design artifact is ready under `.lev/pm/designs/`.
The interview output is a design, not a spec. It should carry the product
framing normally expected from a PRD, but inside the design artifact.
propose is the next lifecycle step after design alignment.
/interview
/interview --quick
/interview --standard
/interview --deep
/interview --auto
/interview --framework=SCAMPER
rules:
- "Depth and verbosity are separate controls: quick/standard/deep changes ambiguity threshold; compact/full changes visible text volume only."
- "--auto performs lookup and scoring first; if ambiguity is at or below threshold, update the artifact instead of interviewing."
- "Start in the orientation loop unless ambiguity is already at or below the active depth threshold."
- "Do not walk design branches until the orientation loop identifies the subject and ambiguity is at or below threshold."
- "Run codebase/docs/artifact lookup before asking in both loops; do not ask the user what files can answer."
- "When ambiguity is above threshold, ask one Socratic question targeting the weakest clarity dimension, with three concrete ways to answer and one recommendation."
- "When ambiguity is at or below threshold, discover the candidate branch map and walk one design branch at a time."
- "For design-branch questions, provide three researched options, one recommendation, and the consequence of each option."
- "Persist subject, source context, depth, ambiguity, resolved branches, deferred branches, and next branch."
- "`--auto` may answer lookup-resolvable branches without pausing, but it must stop for human product judgment, irreversible decisions, or when the design is ready for propose."
validation: "Every turn declares phase, active depth threshold, ambiguity score, lookup result or gap, and the next state transition."
on_failure: "Do not ask another broad question. Re-score ambiguity, inspect context, or switch to the orientation template."
steps:
- id: select_controls
action: Choose depth and cadence
instruction: |
Default to --standard --compact.
--auto inherits --standard --compact unless quick/standard/deep/full is also supplied.
User-passed quick/standard/deep overrides complexity inference.
If not passed, infer depth from complexity: quick for low blast radius and reversible choices, standard for normal product/architecture design, deep for cross-module, high-risk, or irreversible design.
Auto controls cadence only; it never changes lookup, scoring, branch coverage, or artifact quality.
In --auto, ask only when lookup cannot reduce ambiguity below the selected threshold or human judgment/propose handoff is required.
Compact/full controls presentation only; it never changes lookup, scoring, or branch coverage.
validation: "Depth is quick, standard, or deep; output mode is compact or full; auto is true or false."
on_failure: "Default to --standard --compact and state that more detail is available with --full or d. Deep dive."
- id: load_design_template
action: Load the canonical design template
instruction: |
Before creating or updating the design artifact, load:
/Users/jean-patricksmith/.agents/skills/work/templates/design.md
Use it as the artifact skeleton under .lev/pm/designs/.
Do not create a spec artifact from interview output.
validation: "Design template loaded and target artifact path is under .lev/pm/designs/."
on_failure: "Stop and load the design template before writing interview artifacts."
- id: discover_context
steps:
- id: lifecycle_sync
action: Keep work artifacts current when .lev/pm/ exists
instruction: |
If .lev/pm/ exists, treat interview as part of the work lifecycle.
Prefer updating active workstream state, handoff, and .lev/pm/designs/ artifacts.
Update proposals only when the user enters proposition mode or asks to run propose.
validation: "Relevant lifecycle artifact is updated or explicitly not needed for read-only/trivial work."
on_failure: "Pause and create or resume lifecycle continuity before continuing substantial work."
rules:
- "There is one visible interview format. Do not branch into alternate display modes."
- "Use hard line breaks between sections; do not combine multiple metadata fields into dense status prose."
- "Orientation output uses: Question, Recommended, Ways to answer, Progress line, emoji HUD."
- "Design output uses: Decision, Recommended, Options, Progress line, emoji HUD."
- "Recommended must explain why the option is recommended, not just restate the option."
- "Each a/b/c answer gets its own mini-block with a consequence after ->."
- "Orientation a/b/c choices are answer frames, not final design-branch alternatives."
- "Design a/b/c choices are researched branch options."
- "Progress is exactly one line. Do not render progress as bullets."
- "Keep the emoji HUD. It is the fast status surface."
- "Use d. Deep dive as the only expansion mode for evidence, gates, trade-offs, codebase exploration, or alternate lenses."
- "Use plain ASCII arrows like => in templates."
validation: "Output has a question or decision, one recommendation, three a/b/c choices when viable, d. Deep dive, one Progress line, and one emoji HUD."
on_failure: "Rewrite using the orientation or design template. Remove progress bullet lists and display-mode wording."
## q{n}) Clarify {weakest_dimension} ({lens_tag})
Question
{smallest_socratic_question}
Recommended
{a|b|c} because {why_this_answer_frame_best_reduces_ambiguity}
Ways to answer
a {answer_frame_a} -> {what_this_clarifies}
b {answer_frame_b} -> {what_this_clarifies}
c {answer_frame_c} -> {what_this_clarifies}
d Deep dive
Progress: .lev/pm/designs/{design_slug}.md | orientation | ambiguity {0.xx}/{threshold} | next: choose a, b, c, d, or propose
🧭 orientation | 🎯 ambiguity {0.xx}/{threshold} | ✅ alignment {xx}% | 🌿 branches {resolved}/{total} | 🧪 proof {proof_state} | ⏭️ {next_action}
## q{n}) {decision_title} ({lens_tag})
Decision
{one_sentence_decision}
Recommended
{a|b|c} because {why_recommended}
Options
a {researched_answer_a} -> {design_consequence}
b {researched_answer_b} -> {design_consequence}
c {researched_answer_c} -> {design_consequence}
d Deep dive
Progress: .lev/pm/designs/{design_slug}.md | {design|proof-shaping|ready-to-propose} | ambiguity {0.xx}/{threshold} | branches {resolved}/{total} | next: choose a, b, c, d, or propose
🧭 {phase} | 🎯 ambiguity {0.xx}/{threshold} | ✅ alignment {xx}% | 🌿 branches {resolved}/{total} | 🧪 proof {proof_state} | ⏭️ {next_action}
## q{n}) {decision_title} ({lens_tag})
- Design artifact: `.lev/pm/designs/{design_slug}.md`
- Design section: {design_section}
- Phase: {orientation|design|proof-shaping|ready-to-propose}
- Depth threshold: {depth} / {ambiguity_threshold}
- Decision: {design_decision}
- Needed now: {why_now}
- Unblocks: {what_unblocks}
- Risk if wrong: {failure_mode}
{framework_read_of_pressure_points}
- Current branch: {branch_under_test}
- Resolved branches: {resolved}
- Deferred branches: {deferred}
- {artifact_fact_with_path}
- {code_or_doc_fact_with_path}
- {constraint_or_gate}
- {assumption_check}
| Option | Benefits | Costs/Risks | Gate Impact | Side Effects |
|---|
| a | ... | ... | ... | ... |
| b | ... | ... | ... | ... |
| c | ... | ... | ... | ... |
a. {researched_option_a} -> {design_consequence}
b. {researched_option_b} -> {design_consequence}
c. {researched_option_c} -> {design_consequence}
d. Deep dive / branch expansion
Recommended: {a|b|c} ({lens_tag}) - {why}
Progress: .lev/pm/designs/{design_slug}.md | {phase} | ambiguity {0.xx}/{threshold} | branches {resolved}/{total} | next: choose a, b, c, d, or propose
🧭 {phase} | 🎯 ambiguity {0.xx}/{threshold} | ✅ alignment {xx}% | 🌿 branches {resolved}/{total} | 🧪 proof {proof_state} | ⏭️ {next_action}
score:
formula: "ambiguity = 1 - sum(clarity_i * weight_i)"
depth_thresholds:
quick: 0.30
standard: 0.20
deep: 0.15
phase_gate: "If ambiguity is above the active depth threshold, stay in orientation. If ambiguity is at or below threshold, enter the design phase."
dimensions:
intent: 0.30
outcome: 0.25
scope: 0.20
constraints: 0.15
success_criteria: 0.10
complexity_default_depth:
formula: "complexity = novelty*.25 + blast_radius*.25 + cross_module_scope*.20 + irreversibility*.15 + evidence_gap*.15"
quick: "complexity < 0.35"
standard: "0.35 <= complexity < 0.70"
deep: "complexity >= 0.70"
design_readiness_gate: "The design is ready to propose when ambiguity is at or below the active threshold, major branches are resolved or explicitly deferred, and the design artifact can name acceptance horizon, constraints, first slice, proof signals, and forbidden moves."
progress_fields:
design_entity: "The .lev/pm/designs artifact path or slug. It identifies the durable design, not process state."
phase: "orientation until ambiguity is below threshold, design while resolving branches, proof-shaping while naming gates/KPIs, ready-to-propose when propose can harden it."
ambiguity: "Weighted uncertainty. It should fall as intent, outcome, scope, constraints, and success criteria become clear."
rules:
- "Interview output is always a design artifact under .lev/pm/designs/."
- "Load /Users/jean-patricksmith/.agents/skills/work/templates/design.md before creating or updating the design."
- "Do not create spec artifacts from interview output."
- "Do not create a separate PRD artifact; PRD-style product content lives inside the design."
- "Do not walk design branches until ambiguity is at or below the active depth threshold."
- "If the subject or decision space is unclear, use the orientation template with three ways to answer."
- "Quick/standard/deep controls rigor. Do not introduce alternate output modes."
- "Never ask ingredient-only option prompts; every a/b/c answer must include a consequence after ->."
- "Do not print hidden chain-of-thought or framework analysis unless d. Deep dive is requested."
- "Do not mention stale provenance, deprecated project names, or internal origin stories."
- "Use YAML for workflow, contracts, scoring, validation, and state."
- "Use live XML sections for reusable output templates; do not wrap active XML templates in fenced Markdown blocks."
- "Use d. Deep dive for evidence, gates, trade-offs, codebase exploration, and alternate lenses."
- "When the user says propose, stop interviewing and route the aligned design to propose."
- "When the user says plan, route to the standalone planning lane instead of treating plan as a propose prerequisite."
validation: "Output is an orientation question while ambiguity is high, then a design question after branch discovery. Both use recommendation, a/b/c choices, Progress line, and emoji HUD. Deep detail appears only after d. Deep dive."