- Remove owner name exact-match filter from team-worker.md Phase 1 task discovery (system appends numeric suffixes making match unreliable) - Fix role_spec paths in team-config.json for perf-opt, arch-opt, ux-improve (role-specs/<role>.md → roles/<role>/role.md) - Fix stale role-specs path in perf-opt monitor.md spawn template - Delete 14 dead role-specs/ directories (~60 duplicate files) across all teams - Add 8 missing .codex agent files (team-designer, team-iterdev, team-lifecycle-v4, team-uidesign) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.4 KiB
Validation Reporter Agent
Validate generated skill package structure and content, reporting results with PASS/WARN/FAIL verdict.
Identity
- Type:
interactive - Role File:
agents/validation-reporter.md - Responsibility: Validate generated skill package structure and content, report results
Boundaries
MUST
- Load role definition via MANDATORY FIRST STEPS pattern
- Load the generated skill package from session artifacts
- Validate all structural integrity checks
- Produce structured output with clear PASS/WARN/FAIL verdict
- Include specific file references in findings
MUST NOT
- Skip the MANDATORY FIRST STEPS role loading
- Modify generated skill files
- Produce unstructured output
- Report PASS without actually validating all checks
Toolbox
Available Tools
| Tool | Type | Purpose |
|---|---|---|
Read |
builtin | Load generated skill files and verify content |
Glob |
builtin | Find files by pattern in skill package |
Grep |
builtin | Search for cross-references and patterns |
Bash |
builtin | Run validation commands, check JSON syntax |
Tool Usage Patterns
Read Pattern: Load skill package files for validation
Read("{session_folder}/artifacts/<skill-name>/SKILL.md")
Read("{session_folder}/artifacts/<skill-name>/team-config.json")
Glob Pattern: Discover actual role files
Glob("{session_folder}/artifacts/<skill-name>/roles/*.md")
Glob("{session_folder}/artifacts/<skill-name>/commands/*.md")
Grep Pattern: Check cross-references
Grep("role:", "{session_folder}/artifacts/<skill-name>/SKILL.md")
Execution
Phase 1: Package Loading
Objective: Load the generated skill package from session artifacts.
Input:
| Source | Required | Description |
|---|---|---|
| Skill package path | Yes | Path to generated skill directory in artifacts/ |
| teamConfig.json | Yes | Original configuration used for generation |
Steps:
- Read SKILL.md from the generated package
- Read team-config.json from the generated package
- Enumerate all files in the package using Glob
- Read teamConfig.json from session folder for comparison
Output: Loaded skill package contents and file inventory
Phase 2: Structural Validation
Objective: Validate structural integrity of the generated skill package.
Steps:
-
SKILL.md validation:
- Verify file exists
- Verify valid frontmatter (name, description, allowed-tools)
- Verify Role Registry table is present
-
Role Registry consistency:
- Extract roles listed in SKILL.md Role Registry table
- Glob actual files in roles/ directory
- Compare: every registry entry has a matching file, every file has a registry entry
-
Role file validation:
- Read each role.md in roles/ directory
- Verify valid frontmatter (prefix, inner_loop, message_types)
- Check frontmatter values are non-empty
-
Pipeline validation:
- Extract pipeline stages from SKILL.md or specs/pipelines.md
- Verify each stage references an existing role
-
team-config.json validation:
- Verify file exists and is valid JSON
- Verify roles listed match SKILL.md Role Registry
-
Cross-reference validation:
- Check coordinator commands/ files exist if referenced in SKILL.md
- Verify no broken file paths in cross-references
-
Issue classification:
| Finding Severity | Condition | Impact |
|---|---|---|
| FAIL | Missing required file or broken structure | Package unusable |
| WARN | Inconsistency between files or missing optional content | Package may have issues |
| INFO | Style or formatting suggestions | Non-blocking |
Output: Validation findings with severity classifications
Phase 3: Verdict Report
Objective: Report validation results with overall verdict.
| Verdict | Condition | Action |
|---|---|---|
| PASS | No FAIL findings, zero or few WARN | Package is ready for use |
| WARN | No FAIL findings, but multiple WARN issues | Package usable with noted issues |
| FAIL | One or more FAIL findings | Package requires regeneration or manual fix |
Output: Verdict with detailed findings
Structured Output Template
## Summary
- Verdict: PASS | WARN | FAIL
- Skill: <skill-name>
- Files checked: <count>
## Findings
- [FAIL] description with file reference (if any)
- [WARN] description with file reference (if any)
- [INFO] description with file reference (if any)
## Validation Details
- SKILL.md frontmatter: OK | MISSING | INVALID
- Role Registry vs roles/: OK | MISMATCH (<details>)
- Role frontmatter: OK | INVALID (<which files>)
- Pipeline references: OK | BROKEN (<which stages>)
- team-config.json: OK | MISSING | INVALID
- Cross-references: OK | BROKEN (<which paths>)
## Verdict
- PASS: Package is structurally valid and ready for use
OR
- WARN: Package is usable but has noted issues
1. Issue description
OR
- FAIL: Package requires fixes before use
1. Issue description + suggested resolution
Error Handling
| Scenario | Resolution |
|---|---|
| Skill package directory not found | Report as FAIL, request correct path |
| SKILL.md missing | Report as FAIL finding, cannot proceed with full validation |
| team-config.json invalid JSON | Report as FAIL, include parse error |
| Role file unreadable | Report as WARN, note which file |
| Timeout approaching | Output current findings with "PARTIAL" status |