Risk Analysis
Purpose / When to Activate
Activate:
- Before finalizing Epics & Stories
- Before execution planning
- After repeated QA failures
- After major scope changes
This skill makes risks explicit, prioritized, and actionable. It does not solve problems.
Process
CRITICAL — Anti-Collision Guard (MUST execute before writing any output file):
Before writing contexts/artefacts/risk-reports/{story_id}.risk-report.md, check if the target file already exists on disk:
- If it does NOT exist → proceed normally.
- If it DOES exist → read the existing file first. Then decide:
- If the existing content is from a different entity (different story ID, different epic) → STOP immediately, surface the ID collision to the human, do not proceed.
- If the existing content is from the same entity and an update is warranted → proceed, but preserve any human edits or prior findings that remain relevant. Treat this as an update, not a replacement.
- If the existing content is identical or still valid → skip writing, report "no changes needed".
This guard prevents the silent data loss incident of 2026-03-17 where concurrent sessions overwrote story files.
- Read provided artefacts fully
- Load relevant memory (if supplied)
- Scan for: ambiguity, assumptions, complexity spikes, constraint conflicts, missing validations
- For each risk: describe clearly, classify type, assess impact and likelihood, propose mitigation direction (not solution)
- Rank risks by severity. Derive severity from impact × likelihood using this matrix:
- Critical: high impact + high likelihood, OR any impact + touches security/payments/PII
- High: high impact + medium likelihood, OR medium impact + high likelihood
- Medium: medium impact + medium likelihood, OR high impact + low likelihood
- Low: low impact + any likelihood, OR medium impact + low likelihood
Risk Categories
Product risks: unclear outcomes, wrong user assumptions, missing edge cases, scope creep
Delivery risks: technical feasibility, hidden dependencies, performance/security concerns, testability gaps
Systemic risks: architectural erosion, rule violations, knowledge loss, repeated failure patterns
Output Format
RISK-ID naming convention: use format RISK-{STORY_ID}-{NNN} (e.g., RISK-E06S18-001).
Each risk:
### RISK-ID
Type: product | delivery | systemic
Description: clear concise risk
Impact: low | medium | high | critical
Likelihood: low | medium | high
Why it matters: concrete consequence
Suggested mitigation direction: what needs clarification, validation or control
Quality Checks
- No vague risks ("might be complex" is invalid)
- Each risk is actionable
- Severity is explicit
- No risk inflation
- Focus on real failure points
- Every risk must trace to a specific artefact section, assumption, or identified gap — not a general technical concern
Non-Goals
This skill must NOT:
- Invent risks without evidence
- Propose detailed solutions
- Bypass artefacts
- Produce long lists of low-signal risks
Unseen risk is what breaks AI-driven delivery. Surfaced risk is what makes it predictable.
1---2name: risk-analysis3description: Systematically identify and structure product, delivery, and systemic risks before they become failures. Activate before finalizing Epics and Stories, before execution planning, after repeated QA failures, or after major scope changes.4license: ELv25compatibility: Works with any filesystem-based AI coding agent6metadata:7 author: gaai-framework8 version: "1.0"9 category: cross10 track: cross-cutting11 id: SKILL-RISK-ANALYSIS-00112 updated_at: 2026-01-2713 status: stable14inputs:15 - contexts/artefacts/** (PRD, Epics, Stories, Plans as provided)16 - memory_context_bundle (optional)17outputs:18 - contexts/artefacts/risk-reports/{story_id}.risk-report.md19 - flagged_risks (structured list)20---2122# Risk Analysis2324## Purpose / When to Activate2526Activate:27- Before finalizing Epics & Stories28- Before execution planning29- After repeated QA failures30- After major scope changes3132This skill makes risks **explicit, prioritized, and actionable**. It does not solve problems.3334---3536## Process3738**CRITICAL — Anti-Collision Guard (MUST execute before writing any output file):**39Before writing `contexts/artefacts/risk-reports/{story_id}.risk-report.md`, check if the target file already exists on disk:40- If it does NOT exist → proceed normally.41- If it DOES exist → **read the existing file first**. Then decide:42 - If the existing content is from a **different entity** (different story ID, different epic) → **STOP immediately**, surface the ID collision to the human, do not proceed.43 - If the existing content is from the **same entity** and an update is warranted → proceed, but preserve any human edits or prior findings that remain relevant. Treat this as an **update**, not a replacement.44 - If the existing content is identical or still valid → skip writing, report "no changes needed".45This guard prevents the silent data loss incident of 2026-03-17 where concurrent sessions overwrote story files.46471. Read provided artefacts fully482. Load relevant memory (if supplied)493. Scan for: ambiguity, assumptions, complexity spikes, constraint conflicts, missing validations504. For each risk: describe clearly, classify type, assess impact and likelihood, propose mitigation direction (not solution)515. Rank risks by severity. Derive severity from impact × likelihood using this matrix:52 - **Critical:** high impact + high likelihood, OR any impact + touches security/payments/PII53 - **High:** high impact + medium likelihood, OR medium impact + high likelihood54 - **Medium:** medium impact + medium likelihood, OR high impact + low likelihood55 - **Low:** low impact + any likelihood, OR medium impact + low likelihood5657---5859## Risk Categories6061**Product risks:** unclear outcomes, wrong user assumptions, missing edge cases, scope creep6263**Delivery risks:** technical feasibility, hidden dependencies, performance/security concerns, testability gaps6465**Systemic risks:** architectural erosion, rule violations, knowledge loss, repeated failure patterns6667---6869## Output Format7071RISK-ID naming convention: use format `RISK-{STORY_ID}-{NNN}` (e.g., `RISK-E06S18-001`).7273Each risk:7475```76### RISK-ID7778Type: product | delivery | systemic79Description: clear concise risk80Impact: low | medium | high | critical81Likelihood: low | medium | high82Why it matters: concrete consequence83Suggested mitigation direction: what needs clarification, validation or control84```8586---8788## Quality Checks8990- No vague risks ("might be complex" is invalid)91- Each risk is actionable92- Severity is explicit93- No risk inflation94- Focus on real failure points95- Every risk must trace to a specific artefact section, assumption, or identified gap — not a general technical concern9697---9899## Non-Goals100101This skill must NOT:102- Invent risks without evidence103- Propose detailed solutions104- Bypass artefacts105- Produce long lists of low-signal risks106107**Unseen risk is what breaks AI-driven delivery. Surfaced risk is what makes it predictable.**