claude-code-plugin-ref…
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops; use night-market-operations.
Orchestrates the QUALITY pipeline stage for egregore work items, running code review, unbloat, and test updates. Use when running quality checks before a PR.
$ npx -y skills add athola/claude-night-market --skill quality-gate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/quality-gateContext preview
The summary Claude sees to decide when to auto-load this skill.
Orchestrates the QUALITY pipeline stage for egregore work items, running code review, unbloat, and test updates. Use when running quality checks before a PR.
name: quality-gate description: Orchestrates the QUALITY pipeline stage for egregore work items, running code review, unbloat, and test updates. Use when running quality checks before a PR. alwaysApply: false category: orchestration tags: - egregore - quality - review - conventions tools: [] complexity: intermediate model_hint: standard estimated_tokens: 300
Orchestrate the QUALITY stage of egregore's pipeline. Each quality step runs convention checks from the codex and invokes mapped skills.
| Step | Conventions | Skills | Modes | |------|------------|--------|-------| | code-review | C1,C2,C3,C4,C5 | pensive:unified-review | self, pr | | unbloat | - | conserve:unbloat | self | | code-refinement | - | pensive:code-refinement | self | | update-tests | - | sanctum:update-tests | self | | update-docs | C5 | sanctum:update-docs, scribe:slop-detector | self |
The orchestrator invokes this skill with:
When mode is "self-review":
1. Get changed files: `git diff --name-only main...HEAD` 2. Load conventions from `conventions/codex.yml` 3. Filter conventions to those mapped to the current step 4. Run convention checks via `conventions.py` 5. Invoke mapped skills on the changed files 6. Collect all findings 7. Calculate verdict
If blocking findings exist:
1. Attempt to fix each finding (skill-dependent) 2. Commit fixes to the work item branch 3. Re-run convention checks 4. If still blocking after 3 attempts, verdict is "fix-required"
if no findings:
verdict = "pass"
elif all findings are severity "warning":
verdict = "pass-with-warnings"
elif blocking findings remain after auto-fix:
verdict = "fix-required"Record verdict in manifest decisions:
{
"step": "code-review",
"chose": "pass-with-warnings",
"why": "2 warnings (C4: noqa in hooks), 0 blocking"
}By default the loop runs indefinitely and autonomously: a `fix-required` verdict is recorded but does not, on its own, stop the item from advancing. This preserves the historical hands-off posture.
When `config.pipeline.completion_integrity` is `true`, the verdict becomes a gate the agent cannot talk its way past:
1. A `fix-required` verdict is reported to the orchestrator as a **step failure**, so the item cannot advance to the ship stage with unresolved blocking findings. It retries in place and, on exhausting `max_attempts`, is marked `failed` and the overseer is alerted (never silently `completed`). 2. Merge is held for human review regardless of `auto_merge`: the PR is prepared but left open.
This binds "done" to the verifier (convention checks plus the mapped review skills), not to the agent's own say-so. The principle comes from shipped agent harnesses, stated best by `KbWen/agentic-os`: an agent "can still cut a corner, it just can't cut this one past a check it doesn't control." The recurring patterns across those harnesses:
| Pattern | What it does | Source | |---------|--------------|--------| | Verifier gate as completion judge | Bind "done" to tests, lints, or result hashes the agent cannot fake | Aider, snarktank/ralph, gaasher | | Completion promise + max-iterations cap | String-matching "done" is insufficient; pair it with an iteration ceiling and manual abort | anthropics ralph-wiggum | | Evidence gates the agent does not control | Credential scan, test-execution validation, phase-log parsing enforced by hooks or CI | KbWen/agentic-os | | Keep-if-better / revert-if-worse ledger | Score each change, revert regressions, log to an append-only ledger for review | gaasher/Agent-Loop-Skills | | Legibility anchor | A persisted current-state or repo-map file that lets a human re-enter the loop | Aider repo map, agentic-os | | Human observer checkpoint | Watch early iterations, monitor diffs, reserve loops for defined problems | anthropics, ghuntley |
Further rationale: make the illegal state unrepresentable before guarding against it, because a fallback that hides an impossible case becomes silent corruption instead of a locatable crash. Armin Ronacher, "The Coming Loop" (2026), https://lucumr.pocoo.org/2026/6/23/the-coming-loop/. The flag is off by default; enabling it is a deliberate choice to keep a human as the final judge.
When mode is "pr-review":
1. Fetch PR diff: `gh pr diff <number> --name-only` 2. Load conventions and filter to code-review step 3. Run convention checks on changed files 4. Invoke `pensive:unified-review` on the diff 5. Collect all findings
Map findings to GitHub review:
event "APPROVE"
findings as inline comments
"REQUEST_CHANGES", blocking findings as inline comments with "must fix" prefix
Comment format per finding:
[egregore:{convention_id}] {message}
Convention: {convention_name}
Severity: {severity}Work items may have a `quality_config` field:
{
"skip": ["unbloat"],
"only": ["code-review", "update-docs"]
}A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops; use night-market-operations.
States load-bearing decisions, invariants, and weak points. Use when judging a design change. Do not use for gating; use night-market-change-control.
Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain breaks. Do not use for daily commands; use night-market-operations.
Classify, gate, and review changes. Use when landing a PR, releasing, or amending rules. Do not use for failure triage; use night-market-debugging-playbook.
Search and record project memory (Discussions, journal, ADRs). Use before re-investigating anything. Do not use for settled battles; see failure-archaeology.
Bind loop 'done' to unfakeable gates. Use to harden egregore/herald loops or promote completion_integrity. Not for QA gates; use night-market-validation-and-qa.