vm-requirements-cross-reference
Skill detail with category, linked agents, and source metadata.
vm-requirements-cross-reference
Bidirectional cross-reference of two requirement sets with semantic matching, coverage scoring, and gap identification. Compares Source A items against Source B items (and vice versa) to produce a structured gap analysis. Supports any combination: requirement doc vs codebase capabilities, system appreciation doc vs RE Agent output, old requirements vs new requirements, change request vs existing feature inventory.
Source: .github/skills/requirements-elicitation/vm-requirements-cross-reference/SKILL.md
Used By Agents
Preview
View source preview (first 3000 chars)
# VM Requirements Cross-Reference
## Overview
Given two structured requirement or capability sets (Source A and Source B), this skill performs a **bidirectional semantic cross-reference** — identifying what is in A but missing from B, what is in B but missing from A, what partially overlaps, and producing coverage scores with match rationale.
This is a **generative** skill: semantic matching between informally-expressed items (e.g., a change request's stated goals) and a structured set (e.g., capabilities extracted from RE Agent output) requires LLM reasoning, not simple string comparison. This skill provides structured methodology to guide that reasoning consistently.
## Brownfield Context
In brownfield scenarios, Source A is typically a document (requirement, change request, system appreciation doc) and Source B is a set of capabilities extracted from the existing codebase (via RE Agent output, file deep analysis, or flow mapper results). The cross-reference answers:
- "What in this change request already exists in the codebase?" (avoid re-implementing)
- "What does this requirement ask for that has no code equivalent?" (net-new work)
- "What does the codebase implement that the requirement doc never mentions?" (undocumented behavior, potential drift)
## When to Use
Invoke when:
- Comparing a change request against existing codebase capabilities
- Mapping a system appreciation document's stated features to what the code actually does
- Cross-referencing old requirements vs new requirements to find what changed
- Building a traceability matrix between a requirement set and an implementation inventory
Do NOT use when:
- Extracting requirements from a single document (use vm-document-markdown-converter + vm-document-section-classifier first)
- Checking a single requirement set for internal completeness
- Evaluating requirement quality
## Unitary Function
**ONE RESPONSIBILITY:** Take two pre-structured requirement/capability sets and produce a bidirectional coverage map with semantic match rationale, gap identification, and scoring.
**NOT RESPONSIBLE FOR:**
- Extracting requirements from raw documents (caller must pre-extract)
- Converting document formats (use vm-document-markdown-converter first)
- Classifying document sections (use vm-document-section-classifier first)
- Generating the final formatted report (use vm-gap-analysis-report-generator after this skill)
## Inputs
```json
{
"cross_reference_id": "XREF-uuid",
"source_a": {
"label": "Change Request / Requirement Document",
"type": "requirement_doc|change_request|system_appreciation|specification|meeting_notes",
"items": [
{
"id": "A-001",
"text": "Normalized requirement text",
"original_text": "Exact quote from source document",
"source_location": "Section/page reference",
"category": "functional|non-functional|constraint|assumption",
"priority": "mandatory|important|nice-to-have|unspecified"
}