quality-management-gh
Reusable QA orchestration skill for GitHub PRs. Use for multi-pass QA, CI monitoring, and template-driven findings and final quality reports.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Reusable QA orchestration skill for GitHub PRs. Use for multi-pass QA, CI monitoring, and template-driven findings and final quality reports.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Orchestrate Wyvern sprint/phase work inside a single Cursor session. Parent spawns reviewers and rust-developer; Task(cursor-quality-mgr) enforces spawn proof, aggregates fenced JSON evidence, triages findings, publishes PR reports, and owns the QA gate. Use when the user asks for /cursor-orchestration, Cursor-session phase/sprint orchestration, or same-session QA via cursor-quality-mgr. Never use ATM quality-mgr or codex-orchestration while this skill governs the session.
Orchestrate sprint work where team-lead coordinates, cwy is the sole developer, and quality-mgr enforces the QA gate.
Orchestrate pre-dispatch QA finding triage as team-lead. Launch one qa-triage agent per finding, collect phase-scoped Turtle records, aggregate by promoted branch, and only then dispatch branch-scoped fix assignments to arch-ctm.
Orchestrate multi-sprint phase execution as team-lead. Manages sprint waves, scrum-master lifecycle, PR merges, cwy reviews, and integration branch strategy. This skill is for team-lead only, not for scrum-masters.
Team-lead drives plan hardening after the current plan state already exists in repo docs.
Repair Claude teammate routing after same-session compaction or resume when wyvern still exists on disk and the saved leadSessionId still matches the current SESSION_ID, but SendMessage or teammate reachability is broken.
| name | quality-management-gh |
| version | 1.0.0 |
| description | Reusable QA orchestration skill for GitHub PRs. Use for multi-pass QA, CI monitoring, and template-driven findings and final quality reports. |
This skill defines a reusable quality-management workflow for teams that run QA across one or more passes before merge.
Use this skill when you need to:
IN-FLIGHT, FAIL, PASS)This skill is intentionally generic. Team-specific teammate names, branch
policy, and background-agent ownership stay in the repo’s quality-mgr agent
prompt.
Every QA update, both ATM and PR, must include:
PASS | FAIL | IN-FLIGHT)complete, total, percent)blocking, important, minor)ready | not ready) plus reasonUse fenced JSON for machine-readable status payloads:
{
"sprint": "M.1",
"task": "mailbox-locking",
"branch": "feature/pM-s1-mailbox-locking",
"commit": "abc1234",
"pr": 123,
"verdict": "FAIL",
"deliverables": {
"complete": 9,
"total": 11,
"percent": 82
},
"findings": {
"blocking": 1,
"important": 2,
"minor": 0
},
"blocking_ids": ["QA-001"],
"next_action": "Fix lock acquisition rollback semantics",
"owner": "cwy",
"merge_readiness": "not ready",
"merge_reason": "Blocking findings remain"
}
FAIL with findings.
IN-FLIGHT or FAIL while fixes are in progress.
PASS with final quality report and merge recommendation.Do not treat QA as single-shot.
Preferred repo-specific flow:
atm gh monitor status to verify monitor health when availableatm gh monitor pr <PR> --start-timeout 120 to start or attach a PR monitor when availableatm gh pr report <PR> --json for one-shot structured status when availableFallback when repo-specific atm gh tooling is unavailable or not yet wired:
gh pr checks <PR> --watchgh pr view <PR> --json mergeStateStatus,reviewDecisionIf monitoring cannot start, include the failure in QA status and proceed with one-shot PR report data.
Template:
.claude/skills/quality-management-gh/findings-report.md.j2Recommended flow:
Suggested commands:
sc-compose render --root .claude/skills/quality-management-gh --file findings-report.md.j2 --var-file <vars.json> | gh pr review <PR> --request-changes --body-file -sc-compose render --root .claude/skills/quality-management-gh --file findings-report.md.j2 --var-file <vars.json> | gh pr comment <PR> --body-file -Fallback when render fails:
<vars.json> must be a flat JSON map of strings for sc-compose.
Use raw JSON strings for array-valued machine-status fields, for example:
blocking_ids_json: "[\"QA-001\"]"Use numeric strings for count fields so the templates can render them as JSON numbers without quotes.
Template:
.claude/skills/quality-management-gh/quality-report.md.j2Recommended flow:
Suggested command:
sc-compose render --root .claude/skills/quality-management-gh --file quality-report.md.j2 --var-file <vars.json> | gh pr review <PR> --approve --body-file -Use the final template only for PASS closeout.
FAIL with full findings — use
--request-changes when appropriate.PASS closeout with residual risks and readiness.For each task:
No silent processing.
Chain of evidence (dual publish): when a PR exists, the completion summary
sent to the coordinator (ATM in Codex; parent session in Cursor) must carry the
same Machine Status JSON and finding tables as the PR comment for that
qa_pass. PR-only or coordinator-only QA is invalid.
cursor-quality-mgr)When .cursor/skills/cursor-orchestration governs the session:
cursor-quality-mgr enforces spawn proof only.next_action: parent_respawn_reviewersnext_action: triage_and_fixnext_action: noneMachine Status rendered keys (PR + parent):
| Key | Type | Notes |
|---|---|---|
reviewer_spawn_gate | string | pass | fail |
reviewer_manifest | array | {agent, task_id, spawn_actor, verdict, findings} |
missing_reviewers | array | spawn-gate fail only |
unparsed_reviewers | array | spawn-gate fail only |
evidence_chain | object | pr_comment_url, coordinator_task_id, triage.ttl_paths |
sc-compose input vars use reviewer_manifest_json and evidence_chain_json
(render inputs); templates emit reviewer_manifest and evidence_chain.
Cursor $_VARS for PR posts must always populate reviewer_spawn_gate,
reviewer_manifest_json (array string), and evidence_chain_json — optional
template defaults are for codex-only callers.