.claude/skills/prd-v05-risk-discovery-interview/SKILL.md
Surface risks through guided questioning, helping users consider pivots, constraints, and prioritization during PRD v0.5 Red Team Review. Triggers on requests to identify risks, stress-test the idea, perform red team review, or when user asks "what could go wrong?", "identify risks", "red team", "risk assessment", "challenge assumptions", "stress test the idea". Consumes all prior IDs (CFD-, BR-, FEA-, PER-, UJ-, SCR-) as interview context. Outputs RISK- entries with owner decisions and mitigations. Feeds v0.5 Technical Stack Selection.
npx skillsauth add mattgierhart/PRD-driven-context-engineering prd-v05-risk-discovery-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.
Position in workflow: v0.4 Screen Flow Definition → v0.5 Risk Discovery Interview → v0.5 Technical Stack Selection
This is an interactive interview skill. The AI asks questions, the user reflects and decides. The goal is to surface risks so the user can mitigate or accept them—not to kill ideas.
This skill requires prior work from v0.1-v0.4:
This skill assumes v0.1-v0.4 work is complete and serves as context for interview discovery.
This skill creates/updates:
All RISK- entries are created through user decision during the interview; they reflect explicit owner choices on severity, not AI assumptions:
Example RISK- entry (user-scored):
RISK-001: Market — Competitor Feature Parity
Description: Competitor X launches report scheduling feature (our FEA-003 planned) within 60 days
Trigger: Competitor announces roadmap; sees our landing page
Impact: High (3) — User severity assessment based on competitive urgency
Likelihood: Medium (2) — User assessment of competitor execution speed
Raw Score: 6 (3 × 2)
Status: open
Effective Score: 6.0
Early Signal: Competitor job postings for feature area, beta announcement
Response: Mitigate
Mitigation: Accelerate FEA-003 launch by 30 days; add scheduling as P0 (links to FEA-003, KPI-002)
Owner: Product Lead
Linked IDs: FEA-003 (report scheduling), KPI-002 (activation rate), BR-042 (undercut positioning)
Review Date: Weekly during v0.6 (architecture phase)
Added: v0.5
Note: Confidence scores are NOT part of RISK- entries. Risks are binary facts (discovered or not); severity is user-decided. Confidence applies to CFD-/FEA-/KPI- entries, not risks.
| Category | Focus Area | Example Questions | |----------|------------|-------------------| | Market | Competitors, timing, demand | "What if [competitor] launches this feature next month?" | | Technical | Complexity, unknowns, dependencies | "Which feature has the most technical uncertainty?" | | Adoption | User behavior, activation, retention | "What's the biggest friction point in onboarding?" | | Resource | Team, budget, time | "If you had to cut scope by 50%, what stays?" | | Dependency | External factors, integrations, partners | "What external factor could block launch?" | | Timing | Deadlines, market windows, seasonality | "Is there a deadline we must hit? Why?" |
Each RISK- entry maps to one of 3 scoring categories for the README Risk Scorecard:
| Scoring Category | Discovery Categories | Measures | |---|---|---| | Market | Market, Timing | Will anyone buy this? | | User | Adoption, Dependency | Will users succeed with this? | | Technical | Technical, Resource | Can we build and run this? |
Before asking questions, AI reviews:
Ask questions from each category, adapting based on product context:
Market Risks:
Technical Risks:
Adoption Risks:
Resource Risks:
Dependency Risks:
Timing Risks:
For each identified risk, create RISK- entry with user input on severity and response.
| Technique | How to Use | When to Use | |-----------|------------|-------------| | Pre-mortem | "It's 6 months from now and the product failed. Why?" | Opening question | | Constraint forcing | "If you only had [X], what would you cut?" | Resource discovery | | Dependency mapping | "What external factor could block launch?" | Dependency discovery | | Assumption surfacing | "What must be true for this to work?" | Any category | | Devil's advocate | "Let me argue the opposite—what if [X]?" | Challenge weak evidence |
RISK-XXX: [Risk Title]
Scoring Category: [Market | User | Technical]
Discovery Category: [Market | Technical | Adoption | Resource | Dependency | Timing]
Description: [What could go wrong]
Trigger: [What would cause this to happen]
Impact: [High | Medium | Low] — User assessed
Likelihood: [High | Medium | Low] — User assessed
Raw Score: [Impact × Likelihood, 1-9]
Status: [open | mitigating | mitigated | resolved | accepted]
Effective Score: [Raw Score × Status Weight]
Early Signal: [How we'd know this is happening]
Response: [Mitigate | Accept | Avoid | Transfer]
Mitigation: [Specific action if Response = Mitigate]
Owner: [Who is responsible for monitoring]
Linked IDs: [FEA-XXX, UJ-XXX, BR-XXX affected]
Review Date: [When to reassess this risk]
Added: [PRD stage when discovered, e.g., v0.5]
Status weights: open=1.0, accepted=1.0, mitigating=0.5, mitigated=0.25, resolved=0.0
Example RISK- entry:
RISK-001: Primary API Dependency (Stripe) Outage
Scoring Category: Technical
Discovery Category: Dependency
Description: Stripe API outage would block all payment processing
Trigger: Stripe infrastructure failure or rate limiting
Impact: High (3) — All revenue blocked during outage
Likelihood: Low (1) — Stripe has 99.99% uptime SLA
Raw Score: 3
Status: mitigating
Effective Score: 1.5
Early Signal: Stripe status page, payment failure rate spike
Response: Mitigate
Mitigation:
- Implement graceful degradation (queue payments for retry)
- Add status page monitoring alert
- Document manual billing fallback process
Owner: Tech Lead
Linked IDs: FEA-020 (payments), UJ-005 (checkout), BR-030 (pricing)
Review Date: Before launch, quarterly thereafter
Added: v0.5
| Response | When to Use | Example | |----------|-------------|---------| | Mitigate | Can reduce impact or likelihood | Add fallback provider, implement retry logic | | Accept | Low impact or unavoidable | "Competitor might copy us—we accept" | | Avoid | Change plan to eliminate risk | Remove feature with high technical uncertainty | | Transfer | Someone else owns the risk | Use managed service instead of self-hosting |
| | Low Impact | Medium Impact | High Impact | |---|---|---|---| | High Likelihood | Monitor | Mitigate | Mitigate urgently | | Medium Likelihood | Accept | Monitor/Mitigate | Mitigate | | Low Likelihood | Accept | Accept/Monitor | Monitor |
| Anti-Pattern | Signal | Fix | |--------------|--------|-----| | Risk theater | 50+ risks documented | Focus on top 10 that matter | | All high severity | Everything is critical | Force rank; max 3-5 "High" | | No owner | Risks without accountability | Every RISK- needs an owner | | Mitigation = "be careful" | Vague responses | Require specific, testable actions | | Interview becomes lecture | AI talks more than user | Ask, listen, summarize | | Killing ideas | Every risk leads to "don't do it" | Frame as "how to succeed despite" |
After documenting all risks:
open)Before proceeding to Technical Stack Selection:
v0.5 establishes the baseline risk register, but risk discovery does not end here. New RISK- entries can be added at any stage:
| Stage | Typical New Risks | Score Impact | |-------|-------------------|--------------| | v0.6 Architecture | Infrastructure complexity, integration unknowns | Technical score rises | | v0.7 Build | Implementation blockers, test coverage gaps | Technical score rises | | v0.8 Deployment | Operational risks, security findings | Technical score rises | | v0.9 GTM | Market timing shifts, competitive moves | Market score rises | | v1.0 Growth | Real adoption data contradicting assumptions | User score rises |
Protocol when adding risks after v0.5:
Added: v0.X to record which stage surfaced itProtocol when risk status changes:
RISK- entries feed into:
| Consumer | What It Uses | Example | |----------|--------------|---------| | README Risk Scorecard | Aggregated scores by category | Total score determines project risk level | | v0.5 Technical Stack Selection | RISK- constraints affect tech choices | RISK-003 (latency) → choose edge hosting | | v0.6 Architecture Design | Risk mitigations become architecture requirements | RISK-005 → add circuit breaker | | v0.7 Build Execution | Risk monitoring in EPIC | Track RISK-001 early signals | | KPI- Thresholds | Kill criteria from risks | "If RISK-002 triggers, evaluate pivot" |
references/question-bank.mdassets/risk.mdreferences/examples.mdtools
Make technology decisions for every product capability by discovering existing assets, evaluating vendor-aligned options, and categorizing as Reuse/Extend/Build/Buy/Integrate/Research during PRD v0.5 Red Team Review. Handles both greenfield and brownfield contexts. Triggers on "tech stack", "build or buy?", "what technologies?", "technical decisions", "what do we reuse?", "existing stack", "vendor constraint", "IBM-first", "what tools do we need?", "evaluate solutions", "select tech stack". Consumes FEA- (features), SCR- (screens), RISK- (constraints). Outputs TECH- entries with decisions, rationale, and cross-references. Feeds v0.6 Architecture Design.
development
Define success criteria and tracking setup for launch during PRD v0.9 Go-to-Market. Triggers on requests to define launch metrics, set up tracking, or when user asks "how do we measure launch success?", "launch KPIs", "tracking setup", "success criteria", "analytics", "launch goals". Outputs KPI- entries specialized for launch measurement.
development
Define go-to-market strategy including launch plan, messaging, channels, and timing during PRD v0.9 Go-to-Market. Triggers on requests to plan launch, define GTM strategy, or when user asks "how do we launch?", "go-to-market", "launch plan", "marketing strategy", "messaging", "launch channels", "GTM". Outputs GTM- entries with launch plan components.
development
Establish channels and processes for capturing and processing post-launch feedback during PRD v0.9 Go-to-Market. Triggers on requests to set up feedback systems, capture user input, or when user asks "how do we collect feedback?", "feedback loop", "user research", "post-launch feedback", "customer feedback", "NPS", "voice of customer". Outputs CFD- entries specialized for post-launch feedback capture.