一键导入
ensemble-requirement-status
On-demand requirement satisfaction report — scans bead comments for req-verified tokens (Codex skill for /ensemble:requirement-status)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
On-demand requirement satisfaction report — scans bead comments for req-verified tokens (Codex skill for /ensemble:requirement-status)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate a normalized executable workstream TRD from multiple source TRDs (Codex skill for /ensemble:create-workstream-trd)
Implement TRD with beads project management — persistent bead hierarchy, dependency-aware execution via br/bv, and cross-session resumability (Codex skill for /ensemble:implement-trd-beads)
Approval-gated Beads graph refinement before execution (Codex skill for /ensemble:refine-beads)
Create Foreman-native structured Technical Requirements Document from PRD — omits adversarial review phase, outputs parser-compatible tables (Codex skill for /ensemble:create-trd-foreman)
Create Technical Requirements Document from PRD with architecture design and adversarial review (Codex skill for /ensemble:create-trd)
Create comprehensive Product Requirements Document with structured elicitation and adversarial review (Codex skill for /ensemble:create-prd)
| name | ensemble-requirement-status |
| description | On-demand requirement satisfaction report — scans bead comments for req-verified tokens (Codex skill for /ensemble:requirement-status) |
| user-invocable | true |
| argument-hint | ["trd-path-or-slug"] |
| model | gpt-5.1-codex |
This Codex skill mirrors the Ensemble slash command /ensemble:requirement-status.
Follow the workflow below, adapt to the current repository, and keep outputs structured.
Scan the root epic bead and all child task beads for req-verified: tokens written by implement-trd-beads when test tasks close. Cross-reference against the PRD REQ-NNN list to produce a requirement satisfaction table showing which requirements are verified, which are in-progress, and which are not yet started.
1. TRD Slug Resolution Resolve the TRD slug from $ARGUMENTS. If $ARGUMENTS is a file path: derive TRD_SLUG from filename (lowercase, replace non-alphanumeric with hyphens). If $ARGUMENTS is a slug string: use directly as TRD_SLUG. If $ARGUMENTS empty: list recent TRD-prefixed epics via br list --status=open --json and prompt user. If br list returns no TRD-prefixed epics: print 'No TRD implementations found in beads storage. Run /ensemble:implement-trd-beads first.' and EXIT.
2. Root Epic Location Find the root epic bead for this TRD. Run: br list --status=open --json Verify the output is valid JSON (starts with '['). If not: print 'ERROR: br command failed or returned non-JSON output. Is br installed and configured? Output: <first 200 chars>' and EXIT. Also run: br list --status=closed --json Verify the output is valid JSON (starts with '['). If not: print 'ERROR: br command failed or returned non-JSON output. Is br installed and configured? Output: <first 200 chars>' and EXIT. Parse combined JSON output, search for entry where title matches [trd:<TRD_SLUG>] with type epic. If found: ROOT_EPIC_ID = bead .id If not found: print 'ERROR: No root epic found for TRD slug <TRD_SLUG>. Run implement-trd-beads first.' and EXIT.
3. PRD Requirement Loading Load PRD REQ-NNN list for cross-reference. Search TRD document for PRD reference link or 'Based on PRD:' annotation. If TRD has a PRD reference line AND the file exists at that path: parse PRD for REQ-NNN IDs -> build PRD_REQUIREMENTS map. If TRD has a PRD reference line BUT the file does not exist at that path: print 'WARNING: PRD file referenced in TRD not found at . Cross-reference reporting will be incomplete. Fix the PRD path in the TRD.' Set PRD_REQUIREMENTS = null. If TRD has no PRD reference line at all: print 'NOTE: No PRD reference in TRD — cross-reference not available.' Set PRD_REQUIREMENTS = null.
1. Epic Comment Scan Scan root epic comments for req-verified tokens. Run: br comment list <ROOT_EPIC_ID> If br comment list returns non-JSON or exits non-zero: print 'WARNING: Could not read epic comments for <ROOT_EPIC_ID> — verified requirement data may be incomplete.' Continue with VERIFIED_REQS = {}. Parse each comment line for tokens matching: req-verified:REQ-NNN by:TRD-NNN-TEST qa: ac-proven:AC-NNN-M,AC-NNN-M Build VERIFIED_REQS map: REQ-NNN -> {test_task, qa_agent, acs_proven: [], timestamp} These comments are written by implement-trd-beads when test tasks close with PASSED verdict.
2. Test Bead Status Scan Scan all test task beads for in-progress requirement verification. Run: br list --status=open --json If the call fails or returns non-JSON: print 'WARNING: Could not fetch open test beads — those tasks will appear in wrong status bucket.' Continue with empty list for that status. Run: br list --status=in_progress --json If the call fails or returns non-JSON: print 'WARNING: Could not fetch in_progress test beads — those tasks will appear in wrong status bucket.' Continue with empty list for that status. Run: br list --status=closed --json If the call fails or returns non-JSON: print 'WARNING: Could not fetch closed test beads — those tasks will appear in wrong status bucket.' Continue with empty list for that status. Filter for beads with title matching [trd:<TRD_SLUG>:task:*-TEST] pattern. For each test bead: extract task ID, read br native status (open/in_progress/closed). Read bead comments for req-satisfied: tokens. Parse each bead comment for 'req-satisfied:' substring within status:closed comment lines (the token is embedded as: 'status:closed qa: verdict:passed req-satisfied:<REQ_ID> ac-proven:'). Do not look for standalone req-satisfied: comment lines. Build TEST_TASKS map: TRD-NNN-TEST -> {status, req_satisfied, acs_proven}
1. Status Table Generation Generate requirement satisfaction table.
Cross-reference PRD_REQUIREMENTS (if available) with VERIFIED_REQS and TEST_TASKS:
For each REQ-NNN in PRD_REQUIREMENTS (or VERIFIED_REQS if no PRD): Status determination: SATISFIED: REQ-NNN in VERIFIED_REQS (test bead closed with PASSED) IN PROGRESS: corresponding -TEST bead is in_progress or in_review or in_qa PENDING: corresponding -TEST bead is open (not yet started) NOT PLANNED: no -TEST bead found for this requirement
If multiple test tasks satisfy the same REQ-NNN: status is SATISFIED only if ALL corresponding -TEST beads are closed-PASSED. If any are open or in_progress, status is IN PROGRESS. If any are closed but not PASSED, note the failure.
Print table: === REQUIREMENT SATISFACTION STATUS: <TRD_SLUG> ===
| REQ-NNN | Description | Status | Test Task | ACs Proven |
|---|---|---|---|---|
| REQ-001 | ... | SATISFIED | TRD-001-TEST | AC-001-1, AC-001-2 |
| REQ-002 | ... | IN PROGRESS | TRD-007-TEST | — |
| REQ-003 | ... | PENDING | TRD-003-TEST | — |
Format: Requirement satisfaction table (console output)
Structure:
/ensemble:requirement-status [trd-path-or-slug]