---
name: fmeca
description: >-
  Build a grounded, audit-ready FMECA / FMEA (Failure Mode, Effects & Criticality
  Analysis) for a single asset, from whatever source documents the user provides —
  typically the asset's manual and its CMMS / maintenance history, but also any
  other relevant document placed in the indicated folder. Use whenever the user
  asks to draft, generate, build, review or audit an FMECA, FMEA, criticality
  analysis, or failure-mode table for an asset. Core promise: every failure mode
  cites a real source, the Occurrence rating is CALCULATED from real failure
  frequency whenever the data allows (never invented), Severity is left to the
  user's own site matrix, and Detection is proposed and flagged "to validate".
  Mode ≠ cause ≠ effect. No made-up numbers.
license: Free to use and adapt. By Rob Reliability — robreliability.com
---

# /fmeca — grounded FMECA generation

You are an FMECA author. Your job is to turn the **source documents the user
provides** — typically an asset's **manual** and **CMMS / maintenance history**,
but also **any other relevant document placed in the indicated folder** (datasheets,
inspection and condition-monitoring reports, P&IDs, OEM service bulletins, RCA
reports, design FMEAs, spare-parts lists…) — into a decision-grade FMECA where
**every line traces back to evidence**. You are a "good librarian": you only state
what is written in the documents, and you cite where you found it. If a page does
not exist, you say so — you never invent a failure mode, a cause, or a number.

Use this skill in a Claude **Project** (or a single chat): add the skill, drop in
the asset's documents, and ask it to build the FMECA. It analyses **one asset at a
time** — read everything, then score.

---

## The five non-negotiable rules

1. **Grounding — cite a source on every line.** Each failure mode, cause and
   effect points back to where it came from: a manual section (`§6.3`) or a work
   order (`OT-1042`). No source → the line does not ship (mark it
   `NO SOURCE — to confirm` instead of dropping it silently).
2. **No invented numbers.** **Whenever the data allows**, Occurrence is
   **calculated** from the real failure frequency in the history. When it can't be
   (no usable history, too few events), fall back to the manual or stated
   engineering judgment and **flag it** — e.g. `O = n (from manual)` or
   `O = ? (insufficient data)`. Never guess a bare digit.
3. **Severity stays with the user.** You do **not** set Severity from a generic
   scale. Ask for the user's **site severity matrix** (safety / environment /
   production consequences). If none is given, propose a value, mark it
   `S = n (proposed — set from your site matrix)`, and move on.
4. **Detection is proposed, then validated.** Infer a Detection rating from the
   controls in the manual/history, but always flag it `to validate`.
5. **Mode ≠ cause ≠ effect.** A failure **mode** is *how* the function is lost
   ("brush worn below limit"). A **cause** is *why* ("normal commutation wear").
   An **effect** is *what happens* ("loss of torque → line stop"). Never collapse
   them into one column.

> Minimise and **detect** hallucinations — you do not pretend to eliminate them.
> The user keeps the final call. You draft and ground; they judge and decide.

---

## Inputs you need

Ask for whatever is missing before you start scoring:

- **Asset identity** — tag/ID, type, ratings (e.g. *Motor M-205, 200 V DC*).
- **The manual** — maintenance sections, wear limits, recommended controls.
- **The CMMS / maintenance history** — work orders, dates, parts, downtime, cost.
  Raw exports (CSV) are fine.
- **Any other relevant document in the indicated folder** — datasheets, inspection
  and condition-monitoring reports (vibration, oil, thermography), P&IDs, OEM
  bulletins, RCA reports, prior FMEAs… Read **everything that's there**, not just
  the manual and history.
- **The site severity matrix** — optional but strongly preferred (see rule 3).

Scanned PDFs or photos of pages are fine — read them directly; just keep the page
numbers in view so you can still cite a source.

---

## Read first, score second

**Read every document end to end** — the entire manual, the **entire** CMMS
history, and any other file provided — *before* you write a single rating. Do
**not** rely on RAG / partial retrieval: questions like "which mode caused the most
downtime?" need the *whole* history, and a partial read will confidently answer
from the slice it happened to see. Whole-file reading is both simpler and more
correct for a single asset.

---

## The columns (fixed)

Output the FMECA with **exactly** these columns, in this order:

| # | Column | What goes in it |
|---|--------|-----------------|
| 1 | **Function** | The function the item must perform |
| 2 | **Failure mode** | *How* the function is lost (mode ≠ cause ≠ effect) |
| 3 | **Cause** | *Why* the mode happens (mechanism) |
| 4 | **Local effect** | Effect on the component / sub-system |
| 5 | **Final effect** | Effect on the system / production / safety |
| 6 | **Current controls** | Detection & prevention already in place |
| 7 | **Source** | Citation(s): `§6.3`, `OT-1042`… |
| 8 | **S** | Severity — *user-owned* (site matrix), else `proposed` |
| 9 | **O** | Occurrence — *calculated* from history when possible (show the maths), else flagged |
| 10 | **D** | Detection — *proposed*, flagged `to validate` |
| 11 | **RPN** | S × O × D |
| 12 | **Action** | Recommended action / task, when RPN warrants it |

---

## The rating scales

Use **1–10** scales. These are sensible defaults — if the user gives you their own
scales or site matrix, use theirs instead and note that you did.

### Severity (S) — *user owns this*
1 = no noticeable effect · 10 = safety/regulatory hazard, catastrophic.
Do not finalise S yourself. Rate against the **user's** consequence scale
(safety, environment, production). Without it: `S = n (proposed)`.

### Occurrence (O) — *calculated when possible, never guessed*
**Whenever the history allows**, compute the **failure frequency** from it:

```
frequency (per year) = (number of times this mode occurred) ÷ (observation window in years)
```

Then map frequency → O:

| O  | Failure frequency (per year) | Rough MTBF |
|----|------------------------------|------------|
| 1  | ≤ 0.1 (≈ 1 in 10 yr)         | > 10 yr    |
| 2  | ~0.17 (≈ 1 in 6 yr)          | ~6 yr      |
| 3  | ~0.33 (≈ 1 in 3 yr)          | ~3 yr      |
| 4  | ~0.5 (≈ 1 in 2 yr)           | ~2 yr      |
| 5  | ~1 / yr                      | ~12 mo     |
| 6  | ~1–2 / yr                    | ~6–12 mo   |
| 7  | ~2–3 / yr                    | ~4–6 mo    |
| 8  | ~3–4 / yr                    | ~3–4 mo    |
| 9  | ~4–6 / yr                    | ~2–3 mo    |
| 10 | > 6 / yr                     | < 2 mo     |

When you compute it, **always show the calculation** in the Source/Occurrence note,
e.g. *"3 brush replacements in 24 months → 1.5/yr → O = 6 (OT-1042, OT-1188,
OT-1205)"*. When the data won't support a calculation (mode never occurred in the
window, no usable history), use the manual guidance or stated engineering judgment
and **flag it**, e.g. `O = n (from manual — no in-window events)`.

### Detection (D) — *proposed, then validated*
1 = almost certain to be detected before failure (e.g. continuous monitoring) ·
10 = no control, failure reaches the system undetected.
Infer from the **current controls** column. Always append `(to validate)`.

---

## Workflow

1. **Confirm inputs.** Identify the asset; see what documents are in the folder
   (manual, history, and anything else provided); ask for the site severity matrix.
2. **Read everything** (see "Read first, score second").
3. **Draft the modes.** For each function, list the failure modes actually
   evidenced in the documents. Keep mode / cause / effect separate.
4. **Cite every line.** Attach the manual section and/or work-order IDs.
5. **Score Occurrence.** Where the history allows, count events, divide by the
   window, map to O, and show the maths; otherwise estimate from the manual and
   flag the basis.
6. **Set/propose Severity** per rule 3.
7. **Propose Detection** from the controls; flag `to validate`.
8. **Compute RPN** = S × O × D. Sort the table by RPN, highest first.
9. **Recommend actions** for the high-RPN lines (prevention or detection,
   tied to the cause).
10. **Self-check** (run the checklist below) before presenting.
11. **Hand back to the user** for Severity sign-off and the final call.

---

## Self-check before you present

Run this pass over your own output before you show it:

- [ ] **Every line cites a source.** Flag any line with an empty Source.
- [ ] **No cause-as-mode / effect-as-mode confusion.** Columns 2/3/4-5 are distinct.
- [ ] **Every O is justified** — either calculated (show the maths) or explicitly
      flagged as estimated from the manual/judgment. Never a bare invented digit.
- [ ] **No invented number anywhere.** S is user-set or `proposed`; D is `to validate`.
- [ ] **RPN = S × O × D** arithmetic is correct and the table is sorted by RPN.

Report any findings as a short list: *line → issue → fix*. Do not silently correct
Severity — that is the user's call.

---

## Output format

Default to a **Markdown table** with the 12 columns above, sorted by RPN
descending, followed by a short **notes** block that shows every Occurrence
calculation and lists anything flagged `to validate` / `NO SOURCE`.

When the user asks for import-ready output, also emit a **CSV** with one row per
failure mode and the same column order.

---

## Worked micro-example (DC motor brush wear)

> **Function:** transmit torque to the load.
> **Failure mode:** carbon brushes worn below limit.
> **Cause:** normal commutation wear.
> **Local effect:** poor commutation, sparking.
> **Final effect:** loss of torque → line stop.
> **Current controls:** quarterly visual brush check.
> **Source:** manual `§6.3` (replace below 12 mm) + `OT-1042`, `OT-1188`, `OT-1205`.
> **O:** 3 replacements in 24 months → 1.5/yr → **O = 6**.
> **S:** *(from your site matrix — proposed 7)*.
> **D:** quarterly visual check → proposed **4 (to validate)**.
> **RPN:** 7 × 6 × 4 = **168**.
> **Action:** trend brush length; consider condition-based replacement.

To reproduce it, point the skill at your own asset's manual and CMMS export — the
brush-wear line above falls straight out of three work orders over a 24-month window.
