agentic/code/addons/uat-mcp/skills/uat-report/SKILL.md
Generate UAT completion report with tool coverage matrix, pass/fail metrics, and regression detection
npx skillsauth add jmagly/aiwg uat-reportInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate a structured UAT completion report from execution results. Includes tool coverage matrix, per-phase metrics, failure details, and optional regression detection against previous runs.
# Generate report from results
/uat-report .aiwg/testing/uat/results/results-gitea-20260227.yaml
# Compare against previous run (regression detection)
/uat-report .aiwg/testing/uat/results/results-gitea-20260227.yaml \
--compare .aiwg/testing/uat/results/results-gitea-20260220.yaml
# JSON output for CI integration
/uat-report .aiwg/testing/uat/results/results-gitea-20260227.yaml --format json
# Custom output path
/uat-report results.yaml --output .aiwg/reports/uat/RELEASE-UAT-REPORT.md
# Report from latest results in directory
/uat-report .aiwg/testing/uat/results/
Path to a results file (YAML) or a directory containing results files. If a directory is given, uses the most recent results file.
Output format:
| Format | Use Case |
|--------|----------|
| markdown | Human-readable report, suitable for issue comments or docs |
| json | Machine-readable, for CI/CD pipelines |
| table | Compact terminal-friendly summary |
Path to a previous results file. Enables regression detection: highlights tests that passed before but fail now, and tests that were fixed.
Output path. Default: .aiwg/reports/uat/UAT-REPORT-{timestamp}.md
# UAT Report: {server_name}
**Date**: {execution_date}
**Plan**: {plan_file}
**Duration**: {total_duration}
**Result**: {PASS | FAIL | PARTIAL}
| Metric | Value |
|--------|-------|
| Total tests | 165 |
| Passed | 159 (96.4%) |
| Failed | 4 (2.4%) |
| Skipped | 1 (0.6%) |
| Errors | 1 (0.6%) |
| Tool coverage | 76/78 (97.4%) |
| Issues filed | 4 |
## Tool Coverage
| Tool | Phase | Happy Path | Edge Case | Negative | Status |
|------|-------|------------|-----------|----------|--------|
| create_issue | P03 | PASS | PASS | PASS | Full |
| get_issue_by_index | P03 | PASS | — | — | Partial |
| edit_issue | P03 | PASS | PASS | PASS | Full |
| create_issue_comment | P03 | PASS | — | PASS | Partial |
| ... | ... | ... | ... | ... | ... |
Coverage: 76/78 tools (97.4%)
Untested: cancel_repo_action_run, stop_stopwatch
## Phase Results
| Phase | Tests | Pass | Fail | Skip | Duration |
|-------|-------|------|------|------|----------|
| P00: Preflight | 3 | 3 | 0 | 0 | 5s |
| P01: Seed Data | 5 | 5 | 0 | 0 | 12s |
| P02: User & Org | 8 | 8 | 0 | 0 | 23s |
| P03: Issues | 12 | 12 | 0 | 0 | 45s |
| P04: Repositories | 10 | 8 | 2 | 0 | 38s |
| ... | ... | ... | ... | ... | ... |
| P11: Cleanup | 3 | 3 | 0 | 0 | 8s |
## Failures
### P04-007: Update Repository Description
- **Tool**: mcp__gitea__update_repo
- **Expected**: Returns updated repository with new description
- **Actual**: 404 Not Found
- **Issue**: #415
- **Severity**: High
### P06-003: Wiki Page Creation
- **Tool**: mcp__gitea__create_wiki_page
- **Expected**: Returns created wiki page
- **Actual**: Timeout after 30 seconds
- **Issue**: #416
- **Severity**: Medium
## Regression Analysis
Compared against: results-gitea-20260220.yaml
### Regressions (previously passed, now failing)
| Test | Tool | Previous | Current |
|------|------|----------|---------|
| P04-007 | update_repo | PASS | FAIL |
### Fixed (previously failing, now passing)
| Test | Tool | Previous | Current |
|------|------|----------|---------|
| P05-002 | create_label | FAIL | PASS |
### Summary
- Regressions: 1
- Fixed: 1
- Net change: 0
## Issues Filed
| Issue | Test | Tool | Severity |
|-------|------|------|----------|
| #415 | P04-007 | update_repo | High |
| #416 | P06-003 | create_wiki_page | Medium |
| #417 | P08-002 | create_release | Medium |
| #418 | P09-011 | search_repos | Low |
Error: No UAT results found at {path}
Run a UAT execution first:
/uat-execute .aiwg/testing/uat/plan.md
Warning: Results file has unexpected format.
Attempting to parse partial results...
Recovered: 120/165 test results parsed.
Report generated with available data.
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.