本文へ移動
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.

インストール方法を見る

含まれるファイル(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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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/infrahub-ansible202026年10月9日 更新

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/infrahub-ansible202026年10月9日 更新

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/infrahub-ansible202026年10月9日 更新

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/infrahub-ansible202026年10月9日 更新

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/infrahub-ansible202026年10月9日 更新

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/infrahub-ansible202026年10月9日 更新

opsmill のスキルをすべて見る

このスキルの問題を報告する