All skills
simota avatar

/omen

@c805268
by shingo imotasimota/agent-skills85 stars
15

Enumerating failure modes via pre-mortem analysis. Systematically identifies failure scenarios for plans, designs, and features, scoring them with RPN/AP. Does not write code.

Requires /judge

Use this Skill: https://skilld.dev/gh/simota/agent-skills/omen

This session only. Nothing lands on disk.

referencefault-tree-analysis.md

≈1.7k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Fault Tree Analysis Reference

Purpose: Top-down deductive analysis (IEC 61025) that starts from a single undesired top event and decomposes failure logic through AND/OR/XOR/voting gates down to basic events. Produces Minimal Cut Sets (MCS) and, when input probabilities are available, a quantified top-event probability. Use FTA when one catastrophic outcome needs deep causal dissection — not when breadth across many failure modes is the goal.

Scope Boundary

  • omen faulttree: single undesired top event, deductive AND/OR decomposition, cut-set computation, optional probability roll-up, hand-off to bowtie or Triage playbooks.
  • omen mode / premortem (elsewhere): broad FMEA-style enumeration across many components. Use when the question is "what can go wrong?" rather than "why does this fail?".
  • siege concurrency (elsewhere): concurrency / async / resource-leak root-cause detection. FTA can reference a siege concurrency finding as a basic event, but the dynamic debugging stays there.
  • sentinel / breach (elsewhere): attacker-driven attack trees. FTA gates are safety-oriented; attack trees invert objectives and belong to Sentinel or Breach.
  • magi (elsewhere): trade-offs between competing mitigation paths derived from the tree.

When FTA Beats FMEA

Situation Prefer
One catastrophic outcome with many possible combined causes FTA
Broad coverage across many components / modes FMEA (mode)
Quantified probability roll-up required FTA
Severity × Occurrence × Detection prioritization FMEA (rpn / ap)
Regulatory artifact (aviation, nuclear, medical) FTA
Early design hazard scan FMEA first, then FTA on top hits

FTA is single-event deep dive; FMEA is broad mode coverage. Use both for safety-critical releases.

Workflow

1. TOP EVENT     pick one undesired, measurable, bounded outcome
                 e.g. "Checkout order placed but not persisted"
                 reject: "system is slow" (not bounded), "bad UX" (not measurable)

2. BOUNDARY      define system boundary, mission phase, time window
                 list assumed-working components (out of tree scope)

3. DECOMPOSE     ask: "what combinations of lower events cause this?"
                 AND  — all inputs must occur
                 OR   — any input suffices
                 XOR  — exactly one input (rare; use sparingly)
                 k/N  — voting / majority-fail (redundancy analysis)

4. TERMINATE     expand until each leaf is either:
                   - a basic event with known (or estimable) probability
                   - an undeveloped event (deferred, marked with diamond)
                   - an external/house event (on/off, binary condition)

5. CUT SETS      compute Minimal Cut Sets via MOCUS (top-down expansion):
                   - replace OR gate → union of child sets
                   - replace AND gate → Cartesian product of child sets
                   - reduce via absorption (X ⊆ Y drops Y)
                 rank MCS by order (size); order-1 cuts are single points of failure.

6. QUANTIFY      if basic-event probabilities known:
                   - independent OR: 1 − Π(1 − pᵢ)
                   - independent AND: Π pᵢ
                   - rare-event approximation: P(top) ≈ Σ P(MCSⱼ)
                   flag the assumption of independence explicitly.

7. HANDOFF       feed cut sets to `bowtie` (left side = threats) or to Triage
                 for playbook construction; escalate order-1 cuts to Magi.

Gate Semantics Cheat Sheet

Symbol Gate Meaning Typical use
∩ AND all inputs true → output true redundant systems both fail
∪ OR any input true → output true single-point failure candidates
⊕ XOR exactly one input mutually exclusive failure paths
k/N Voting at least k of N N-modular redundancy
▷ Priority AND AND with ordering sequence-dependent failure
◇ Inhibit AND conditioned on a house event failure only in mission phase X

Event symbol shorthand

  • Basic event (circle): atomic, quantifiable, no further decomposition.
  • Undeveloped event (diamond): could be decomposed but deferred.
  • House event (house): binary condition (on during cruise, off during taxi).
  • Conditional event (oval): qualifier attached to an inhibit gate.
  • Transfer (triangle): subtree continued elsewhere (keep trees readable).

Worked Mini Example

Top event: Payment captured but order row missing.

TOP  Payment captured but order row missing
  └─ AND
       ├─ Payment gateway confirms capture   (basic, p=0.9990)
       └─ OR
            ├─ DB write fails silently        (basic, p=1e-4)
            ├─ AND
            │    ├─ Write succeeds             (house: normal path)
            │    └─ Post-commit hook loses row (basic, p=5e-5)
            └─ Idempotency key collision       (basic, p=2e-6)

Minimal Cut Sets (order-1 highlighted):

  1. {Payment confirm, DB write fails silently} — AND, p ≈ 9.99e-5
  2. {Payment confirm, Write succeeds, Post-commit hook loses row} — p ≈ 5e-5
  3. {Payment confirm, Idempotency collision} — p ≈ 2e-6

Top-event probability (rare-event approx): ≈ 1.52e-4 per transaction. Order-1 interpretation: no single basic event alone causes TOP — redundancy is effective against single failures here.

Anti-Patterns

  • Picking a vague top event ("app is unreliable") — tree becomes unbounded and useless.
  • Mixing causes and symptoms in the same branch — keep the tree causal, top-down.
  • Treating correlated basic events as independent when multiplying probabilities — flag common-cause failures (CCF) explicitly, often with a beta-factor model.
  • Expanding a subtree below your evidence base — stop at undeveloped (diamond) rather than inventing numbers.
  • Using FTA where the real question is "which of many things might fail?" — that is FMEA territory.
  • Redrawing the tree after every review cycle without versioning — keep cut-set deltas between revisions.

Handoff

  • To bowtie: top event + Minimal Cut Sets become the left-side threats; barriers get attached per cut set.
  • To Triage: order-1 cuts and top-3 highest-probability cuts seed runbook triggers.
  • To Magi: when two barrier strategies have comparable risk reduction, hand the cut-set delta to Magi for trade-off arbitration.
  • To Beacon: basic events with detectability gaps become observability targets (metrics, traces, alerts).
  • To Radar: each minimal cut set is a test scenario candidate — especially order-1 and order-2 cuts.

Source: SKILL.md on GitHub

1 alert13d4 checks · Risk HIGH
  • Gen Agent Trust Hub13d

    The Omen skill performs pre-mortem analysis but contains instructions to bypass security permissions when calling sub-agents via external CLI tools. It also presents a significant attack surface for indirect prompt injection by processing untrusted documentation and generating instructions for downstream agents without sanitization.

  • Socket13d

    No alerts

  • Snyk13d

    Risk: LOW · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at c805268. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 days ago.

Activeupdated 2 weeks ago

README badge

README badge for simota/agent-skills/omen