본문으로 건너뛰기
cccskills
무료GitHub에 공개

quality-gates

Shared in-workflow quality gates for code/PR skills — the gate model, trust tiers, and the three primitives (evidence-before-done, independent judge, anti-gaming). DO NOT TRIGGER directly — referenced by consumer skills via relative path.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(9)

  • SKILL.md4.7 KB
  • DECISION.md1.4 KB
  • evals/evals.json2.5 KB
  • gates/_index.md387 B
  • gates/gate-model.md3.2 KB
  • gates/primitives/anti-gaming.md1.8 KB
  • gates/primitives/evidence-before-done.md546 B
  • gates/primitives/independent-judge.md3.8 KB
  • hooks/ship-gate-check.sh4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Quality Gates

Shared reference for turning a skill's critical steps from prompts into gates: enforced checkpoints with independent verification, required evidence, and a STOP-on-fail. Not invocable directly; consumer skills reference these files by relative path.

This is the CANONICAL copy. opsmill-repo/skills/quality-gates/ is a synced copy; if they diverge, this copy wins (see DECISION.md).

Contents

  • gates/gate-model.md — the 4 properties of a gate, the 3 trust tiers, and the hybrid ship-vs-verify judge policy.
  • gates/primitives/evidence-before-done.md — P1: no "done" claim without pasted output.
  • gates/primitives/independent-judge.md — P2: author≠judge via a fresh subagent.
  • gates/primitives/anti-gaming.md — P3: measure intent, not form; forbidden evasions.

Trust tiers (summary)

TierSkill doesRequired gates
T0advisory / read-onlyP1 + self-review
T1mutates a branch, no shipP1 (P2 optional)
T2ships / opens PR / merges / force-pushes / stamps a "complete" markerP1 + P2 + P3

Consumer Gate Mapping

Which skills declare which gates. Keep this in sync as consumers are wired.

SkillPluginTierShip gate (full P2)?
fixing-bugsdevT2yes — before AGENT_FIX_COMPLETE
test-driving-bugsdevT2yes — before AGENT_TEST_COMPLETE (local mode stamps the marker; PR mode also opens the draft PR; both require the ship gate)
prdevT2yes — before gh pr create
monitoring-pull-requestsdevT2yes — before declaring CI resolved
merging-branchesdevT2yes — before opening the draft PR
rebasedevT1 escalating to T2 at force-pushyes — the ship gate is mandatory before force-push (T2); branch-only rebases without force-push are T1
commitdevT1no
analyzing-bugsdevT0no
creating-issuesdevT0no (human is judge, R4)
grilling-ideasdevT0no (human is judge, R4)
auditing-repo-standardsrepoT0no
auditing-agentic-structurerepoT0/T1no
detecting-repo-driftrepoT2yes — before opening each PR

Adding a new consumer

A new code/PR skill that ships output (opens a PR, merges, force-pushes, stamps a completion marker) MUST declare a T2 ship gate. Propose any new primitive as an ADR in DECISION.md rather than copying gate logic into the consumer.

Hook enforcement (Claude Code only)

Under Claude Code, a PreToolUse hook (hooks/ship-gate-check.sh, registered in this plugin's .claude-plugin/plugin.json) enforces two deterministic gates on Bash commands — both opt-in per repo (.claude/quality-gates/enabled; the hook is a no-op until it exists) and both overridable with QUALITY_GATES_BYPASS=1:

  • Branch discipline: denies git commit / git push while on a protected branch (main, master, develop, stable, release/*). Create a feature branch first.
  • Ship-gate receipt (commit-bound): denies the irreversible ship actions — gh pr create/merge, git push --force*, and AGENT_FIX_COMPLETE/AGENT_TEST_COMPLETE marker stamps — unless a PASS/DEGRADED receipt exists for the current HEAD. The P2 judge writes .claude/quality-gates/receipts/<HEAD>.json on PASS; a new commit invalidates it.

Progressive enhancement: the prose gates are unchanged and remain the behaviour under Codex; the hook adds deterministic enforcement under Claude. Gitignore .claude/quality-gates/receipts/ in consuming repos.

Receipt format (ship-gate PASS)

On a ship-gate PASS the P2 judge writes a commit-bound receipt to .claude/quality-gates/receipts/<HEAD>.json. The authoritative field list and write steps (mkdir -p, git rev-parse HEAD, the PASS/DEGRADED verdicts) live in gates/primitives/independent-judge.md › Handling the verdict — kept in one place so the receipt shape can't drift between this overview and the procedure agents actually run.

Properties that matter here: a DEGRADED receipt (an accepted R2 re-read with no subagent) is allowed, but the hook surfaces it as a visible allow-reason. The receipt is commit-bound — a new commit changes HEAD, so a stale pass cannot authorise a later ship. Receipts live under .claude/quality-gates/receipts/ (gitignored); this is what the hook checks before allowing gh pr create / gh pr merge.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

commit

무료

Stages and commits the current changes onto a safe working branch, enforcing branch discipline and optionally pushing upstream. TRIGGER when: the user wants to commit, save, or check in the current changes. DO NOT TRIGGER when: opening a pull request → pr.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

opsmill/nornir-infrahub122026년 10월 19일 업데이트

Turns a single feature idea, improvement, or bug into ONE well-structured GitHub issue. TRIGGER when: the user wants to file/open/create an issue, turn a feature idea or improvement into a ticket, or capture something missing or broken as a ticket. DO NOT TRIGGER when: breaking work into multiple issues or planning a body of work → a planning skill; writing a full Product Requirements Document → creating-prd; the idea is still fuzzy and unhardened → grilling-ideas first.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

opsmill/nornir-infrahub122026년 10월 19일 업데이트

Synthesises the current conversation context into a Product Requirements Document and publishes it to GitHub (as a comment on a referenced issue, or a new issue). Synthesises from context; does not interview. TRIGGER when: the conversation has produced enough understanding of a feature and the user wants it captured as a PRD. DO NOT TRIGGER when: a single small issue is enough → creating-issues; the idea has not been stress-tested yet → grilling-ideas first; bug reports.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

opsmill/nornir-infrahub122026년 10월 19일 업데이트

Stress-tests a fuzzy or vague feature idea before any PRD, spec, or ticket is written. TRIGGER when: the user has a fuzzy feature idea — one or two paragraphs, vague on users / scope / success — and wants to harden it, or says "grill / stress-test / pressure-test this idea." DO NOT TRIGGER when: the idea is already turned into a spec or PRD; bug fixes or refactors; the idea is hardened and you are ready to write the PRD → creating-prd.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

opsmill/nornir-infrahub122026년 10월 19일 업데이트

Watches an open pull request's CI until green and fixes failing checks. TRIGGER when: the user wants to watch a pull request's CI, babysit a PR until it goes green, or fix failing CI checks on an open PR. DO NOT TRIGGER when: opening the PR in the first place → pr; rebasing the branch onto its base → rebase.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

opsmill/nornir-infrahub122026년 10월 19일 업데이트

pr

무료

Opens a pull request, publishing the current branch as a PR. TRIGGER when: the user wants to open a pull request, publish the current branch as a PR, or take the current work through to an open PR. DO NOT TRIGGER when: only committing changes → commit; babysitting CI after the PR is already open → monitoring-pull-requests.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

opsmill/nornir-infrahub122026년 10월 19일 업데이트

opsmill의 스킬 모두 보기

이 스킬의 문제 신고