deep-interview
Start a structured interview to gather requirements for complex features. Use when tackling multi-layer features, validating PRDs, or defining scope for implementation.
What this skill does
# Deep Interview
A structured interview process for gathering requirements and making design decisions on complex features.
## Input
`$ARGUMENTS` can be:
| Format | Example | Description |
| ------------------- | ---------------------------------- | ------------------------------ |
| Issue number | `#531` or `531` | GitHub issue to research first |
| PRD path | `docs/feature-spec.md` | Existing PRD to validate |
| Feature description | `"user authentication flow"` | Free-form description |
| Nothing | (empty) | Ask what we're planning |
---
## Interview Process
### Phase 1: Context Gathering (Before Questions)
Silently research the topic before asking any questions:
1. If an issue number is provided, read the issue and its comments
2. Search for related documentation and existing code
3. Identify existing patterns that could be reused, and gaps between planned and current state
Summarize findings to the user before starting questions:
> "I've reviewed [issue/PRD/code]. Here's what I found: [current state, planned state, key gaps]. Let me ask some questions to clarify the approach..."
---
### Phase 2: Scope Definition
**First question — establish boundaries:**
```
Question: "What does [goal] mean to you? What's your target scope?"
Header: "Scope"
Options:
- Minimal: [simplest version, automatic, no new UI]
- Medium: [adds user interaction after completion]
- Full: [mid-process interaction, complete workflow]
- Other: (always available)
```
Options should represent increasing complexity, not different features.
---
### Phase 3: Approach Selection
**Second question — choose implementation strategy:**
```
Question: "Which approach do you prefer for [main mechanism]?"
Header: "Approach"
Options:
- Option A: [simpler, faster to build]
- Option B (Recommended): [better UX, more robust]
- Hybrid: [combine best of both]
```
**Listen for:** If stakeholder suggests something different ("we could do X because Y already exists"), probe deeper — they have context about existing patterns.
---
### Phase 4: Priority Ranking
**Third question — identify most valuable improvements:**
```
Question: "What's the most valuable improvement for users right now?"
Header: "Priority"
multiSelect: true
Options:
- [Capability A]: [benefit description]
- [Capability B]: [benefit description]
- [Capability C]: [benefit description]
```
---
### Phase 5: Implementation Details
Drill into specifics for each selected priority. Ask about context/data flow, UI/UX patterns, and behavior on triggers — adapting questions to the feature at hand.
---
### Phase 6: Technical Decisions
Architectural choices — new implementation vs reusing existing patterns, and why.
**Listen for:** "We could reuse X" — stakeholder knows about existing infrastructure you should leverage.
---
### Phase 7: Timeline & Scope Confirmation
Final questions: timeline expectation (quick win / full feature / polish) and any additional ideas or concerns.
---
## Output: PRD Generation
After completing the interview, generate a PRD covering:
- **Executive Summary** — what we're building and why
- **Design Decisions** — table of each decision, choice, and rationale
- **Architecture Overview** — current state and target state
- **Data Model Changes** — new and modified entities
- **API Changes** — new and modified endpoints
- **Frontend Changes** — new and modified components
- **Implementation Checklist** — phased tasks (foundation, core feature, polish)
- **Rollback Plan** — how to disable if issues arise
- **Open Questions** — unresolved items
Save the PRD to an appropriate location (e.g., `prds/[date]-[feature-name].md` or as specified).
---
## Gotchas
- Start broad (scope), then narrow (details) — never ask about timeline first
- Present tradeoffs, not just options. Mark recommended options with "(Recommended)"
- Don't present more than 4 options per question
- Probe when stakeholder mentions existing patterns — they have context you don't
- Summarize decisions before moving to next phase
- Use `multiSelect: true` when options aren't mutually exclusive
---
$ARGUMENTS
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.