WAY 14 — requirements traceability matrix for a user story: each acceptance criterion → the tests covering it → their latest result → open bugs. Use when the user says "trace it", "traceability", "is #148 covered", "coverage of SHOP-148".
Installs into .claude/skills of the current project.
Are you the author of Traceability?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ghassenazzouz-traceability)
---
name: traceability
description: 'WAY 14 — requirements traceability matrix for a user story: each acceptance criterion → the tests covering it → their latest result → open bugs. Use when the user says "trace it", "traceability", "is #148 covered", "coverage of SHOP-148".'
---
# WAY 14 — Traceability Matrix
## Step 1: Gather inputs
One or more story refs (required).
## Phase 1: Build the matrix
For each story:
1. **ACs:** `issue.get`, then parse the Acceptance Criteria table (`AC-01 … AC-nn`, title, priority) from the `user-story-format` body. If the story has no ACs, say so and suggest `enhance us <ref>` (WAY 6) first
2. **Tests:** Grep `qa-artifacts/test-cases/**` for `**Source:** <ref>`. In those folders, read each `Test#<nn>.md` `**Covers:**` line and the `# Test#<nn> | AC-<NN>` comments in the `.feature`
3. **Latest result:** for each test, take the newest `runs/*/results.json` that contains its spec, and its status there (plus the run date)
4. **Bugs:** `issue.list` with label `bug` and the test folder name as search text (bug bodies cite the test path), plus bugs that reference the story ref. Keep the open ones
## Phase 2: Classify each AC
| Status | Meaning |
|---|---|
| 🟢 covered — passing | ≥1 test, all passing in their latest run |
| 🔴 covered — failing | ≥1 test failing, or an open bug |
| 🟡 covered — not run | tests exist, no run found |
| ⚪ untested | no test mentions this AC |
Tests marked `**Covers:** untraced` are listed separately. They test something the story doesn't state, which is a hint the story is incomplete.
## Phase 3: Report
Save `./qa-artifacts/traceability/<ref>-<YYYY-MM-DD>.md`:
```markdown
# Traceability — <ref> <story title>
**Coverage:** 5/7 ACs tested · 4 passing · 1 failing · 2 untested
| AC | Title | Priority | Tests | Latest result | Open bugs | Status |
|---|---|---|---|---|---|---|
| AC-01 | Apply a valid code | must | Test#01, Test#02 | ✅ ✅ (2026-10-09) | — | 🟢 |
| AC-04 | Expired code rejected | must | — | — | — | ⚪ |
**Untraced tests:** Test#07 (checks currency rounding: not in any AC)
---
🤖 _Generated by DevOps QA Agent — review before acting on this._
```
Print the summary. Ask the user before posting it as a comment on the story. For untested `must` ACs, offer `write it <ref>` (WAY 4).