architecture-traceability
Use this skill for requirements deviation checks, requirements traceability, and PO Spec coverage analysis. Compares PO Spec use cases against architecture documentation to detect coverage gaps. Generates a markdown traceability report (TRACEABILITY_REPORT.md) showing Covered, Partial, or Not Covered status per requirement. Invoke when checking for requirements deviations, running a requirements coverage check, verifying PO Spec coverage, generating a traceability matrix, or checking if architecture covers all business requirements.
What this skill does
# Architecture Traceability Skill
## Purpose
This skill compares **PO Spec use cases** against **architecture documentation** to produce a portable markdown traceability report. It answers: "Did the architecture team cover everything the PO asked for?"
**Output**: `TRACEABILITY_REPORT.md` at the project root — a markdown file designed for tickets, emails, Confluence, GitHub issues, and external platforms.
---
## When to Invoke This Skill
- User asks to "check requirements coverage", "verify traceability", or "check PO spec coverage"
- User asks for a "requirements deviation check" or "requirements traceability"
- User asks if the architecture covers all business requirements
- User wants to detect requirements deviations or PO Spec deviations
- User needs a traceability matrix or coverage report
- User uses `/skill architecture-traceability`
**Do NOT invoke for:**
- Creating or editing the PO Spec → use `architecture-readiness` skill
- Creating or editing ARCHITECTURE.md → use `architecture-docs` skill
- Compliance contract generation → use `architecture-compliance` skill
- Architecture quality/peer review → use `architecture-peer-review` skill
---
## Files in This Skill
| File | Purpose |
|------|---------|
| `SKILL.md` | This file — entry point and workflow |
---
## Workflow
### Step 1 — Locate PO Spec File
Search for the Product Owner Specification:
```
Search order:
1. PRODUCT_OWNER_SPEC.md at project root
2. PO_SPEC.md at project root
3. Glob **/PRODUCT_OWNER_SPEC.md, **/PO_SPEC.md
4. Glob **/po-spec*, **/product-owner*
5. Ask user for path
```
If no PO Spec found, abort with: *"No Product Owner Specification found. Use `/skill architecture-readiness` to create one first."*
---
### Step 2 — Locate Architecture Documentation
Search for `ARCHITECTURE.md` at the project root. Detect multi-file vs monolithic structure.
Build the `arch_files` list:
- `ARCHITECTURE.md` (navigation index or monolithic)
- `docs/01-system-overview.md` (S1+S2)
- `docs/03-architecture-layers.md` (S4)
- `docs/components/*.md` or `docs/components/*/*.md` (S5)
- `docs/04-data-flow-patterns.md` (S6)
- `docs/05-integration-points.md` (S7)
- `docs/06-technology-stack.md` (S8)
- `docs/07-security-architecture.md` (S9)
- `docs/08-scalability-and-performance.md` (S10)
- `docs/09-operational-considerations.md` (S11)
Only include files that exist. If no `ARCHITECTURE.md` found, abort with: *"No ARCHITECTURE.md found. Use `/skill architecture-docs` to create one first."*
**Also extract the Architecture Version** from `ARCHITECTURE.md`:
- Look for `<!-- ARCHITECTURE_VERSION: X.Y.Z -->` comment at the top of the file
- If present, use that value for the report header
- If absent (architecture predates versioning), use literal `unversioned`
---
### Step 3 — Parse Use Cases from PO Spec
Read the PO Spec file. Locate the Use Cases section by searching for heading patterns:
- `## N. Use Cases` (e.g., `## 4. Use Cases`, `## 3. Use Cases`)
- `## Use Cases`
For each use case found (identified by `### UC-NNN:`, `### N.N UC-NNN:`, `### Use Case N:`, or `### N.N` sub-headings), extract:
| Field | Pattern | Required |
|-------|---------|----------|
| `id` | Parse from heading (e.g., `UC-01`) or generate sequentially | Yes |
| `name` | Text after the colon in the heading | Yes |
| `actor` | `**Actor:**` or `**Actors:**` field | No |
| `description` | `**Description:**` field or first paragraph after heading | No |
| `primaryFlow` | `**Primary Flow:**` numbered steps | No |
| `alternativeFlows` | `**Alternative Flows:**` sub-items | No |
| `edgeCases` | `**Edge Cases:**` items | No |
| `preconditions` | `**Preconditions:**` items | No |
| `postconditions` | `**Postconditions:**` items | No |
| `successMetrics` | `**Success Metrics:**` items | No |
**Phase detection**: Search the PO Spec for phase references:
- Look for `**Phase N:**` sections in Section 8 (Next Steps / Roadmap)
- Cross-reference use case names or keywords with phase deliverables
- If no phase structure found, all UCs default to `Phase 1`
**Requirement extraction**: Each use case yields N traceable requirements:
| Requirement Source | What becomes a requirement |
|--------------------|---------------------------|
| Primary Flow | Each step that implies system behavior (skip pure UI navigation) |
| Alternative Flows | Each alternative scenario |
| Edge Cases | Each edge case with its handling |
| Preconditions | Authentication, role, or system state requirements |
| Postconditions | System state changes that must be supported |
| Success Metrics | Performance, quality, or UX targets |
For **simplified PO Specs** (bullet-point format without formal UC structure), each bullet under the Use Cases section becomes one requirement.
**Extraction filter — strip "how" from PO Spec requirements**: When the PO Spec mentions specific technologies, integration paths, or implementation details (e.g., "integrate with Push Notification Gateway via FCM"), extract only the business capability ("push notification delivery with status tracking") as the traceable requirement. The architecture team decides the "how" — the traceability check validates the "what."
---
### Step 4 — Search Architecture Docs for Coverage
For each requirement from Step 3, search the architecture files for coverage evidence. Map requirement types to architecture sections:
| Requirement Type | Primary Search Targets |
|-----------------|----------------------|
| Functional behavior (flow steps) | S1+S2 (`docs/01-system-overview.md`), S5 (`docs/components/*.md`) |
| Data operations (CRUD, storage) | S6 (`docs/04-data-flow-patterns.md`), S5 |
| External integrations | S7 (`docs/05-integration-points.md`) |
| Authentication / authorization | S9 (`docs/07-security-architecture.md`) |
| Performance / latency targets | S10 (`docs/08-scalability-and-performance.md`) |
| Error handling / edge cases | S5, S11 (`docs/09-operational-considerations.md`) |
| Monitoring / operations | S11 (`docs/09-operational-considerations.md`) |
**Coverage classification**:
- **✅ Covered**: Architecture docs explicitly address this requirement. Evidence includes section reference + brief quote (max 100 chars).
- **⚠️ Partial**: Architecture docs mention related concepts but don't fully address the requirement. Evidence shows what's present; gap describes what's missing.
- **❌ Not Covered**: No evidence found in any architecture doc. Suggest which architecture section should document this.
**Important**: Coverage matching is **semantic, not lexical**. The PO Spec may say "User configures schedule" while the architecture says "Cron-based scheduling." Use architectural understanding to determine coverage — grep is a locating hint, classification is judgment.
**PO Spec Scope Rule — "What" vs "How"**:
The PO Spec defines **what** the business needs (capabilities, outcomes, constraints). It does **not** define **how** the architecture implements those needs (technology choices, integration paths, component decomposition). When evaluating coverage:
- **Evaluate the business capability**, not the implementation path. If the PO Spec says "Push Notification Gateway integration" but the architecture delegates push delivery to a different component that achieves the same outcome, the requirement is **✅ Covered** — the business need (push notifications) is satisfied.
- **Never flag a gap** because the architecture uses a different integration path, technology, or component structure than the PO Spec imagined. The PO owns the "what"; the architecture team owns the "how."
- **Do flag a gap** when the business capability itself is missing — e.g., the PO Spec requires push notifications but no component in the architecture handles push delivery at all.
- When the architecture satisfies the requirement through a different path than the PO Spec expected, note this in the evidence column: `"Covered via [component/path] (differs from PO Spec's expected [path])"`
---
### Step 5 — ComRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.