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 sc-lint-roslyn sprint work where team-lead coordinates, crl is the sole developer, and quality-mgr enforces the QA gate.
Repair Claude teammate routing after same-session compaction or resume when the sc-lint-roslyn team still exists on disk and the saved leadSessionId still matches the current SESSION_ID, but SendMessage or teammate reachability is broken.
Team-lead delegates plan hardening to crl after the user has already discussed the plan details with crl.
Generate a sprint status report for the current phase. Default is --table.
基于 SOC 职业分类
| 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 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": "diagnostic-release-sync",
"branch": "feature/pM-s1-diagnostic-release-sync",
"commit": "abc1234",
"pr": 123,
"verdict": "FAIL",
"findings": {
"blocking": 1,
"important": 2,
"minor": 0
},
"blocking_ids": ["QA-001"],
"next_action": "Fix analyzer release metadata mismatch",
"owner": "crl",
"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.
Use standard GitHub CLI:
gh pr checks <PR> --watchgh pr view <PR> --json mergeStateStatus,reviewDecisiongh pr view <PR> --json statusCheckRollup when job-level state is neededIf 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 and should use
--request-changes.PASS closeout with residual risk and readiness and should
use --approve.For each task:
No silent processing.