Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
athola avatar

Quality Gate

  • 83 installs
  • 325 repo stars
  • Updated August 2, 2026
  • athola/claude-night-market

Run the egregore QUALITY stage before opening a PR by chaining code review, unbloat, refinement, tests, and docs checks on a work item branch.

About

Quality Gate is an orchestration skill for the egregore work-item pipeline’s QUALITY stage. Instead of ad-hoc review chat, it routes each quality step through a fixed table: code review against conventions C1–C5 via pensive:unified-review, unbloat via conserve:unbloat, refinement via pensive:code-refinement, test updates via sanctum:update-tests, and documentation plus slop detection via sanctum:update-docs and scribe:slop-detector. The orchestrator passes step, mode (self-review or pr-review), work_item_id, branch, and optionally PR number. Solo builders using egregore-style multi-agent workflows get a repeatable pre-PR ritual that mirrors team CI discipline. It does not replace raw linters; the skill itself says to use make lint for one-off format checks outside the pipeline.

  • Orchestrates egregore QUALITY steps: code-review, unbloat, code-refinement, update-tests, update-docs.
  • Routing table maps each step to convention IDs (C1–C5) and downstream skills (pensive, conserve, sanctum, scribe).
  • Supports self-review and PR-review modes with work_item_id, branch, and optional pr_number inputs.
  • Explicit When NOT To Use: skip for one-off lint/format—use make lint instead.
  • Intermediate orchestration skill with model_hint standard (~300 estimated tokens in frontmatter).

Quality Gate by the numbers

  • 83 all-time installs (skills.sh)
  • Ranked #478 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill quality-gate

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs83
repo stars325
Security audit2 / 3 scanners passed
Last updatedAugust 2, 2026
Repositoryathola/claude-night-market

What it does

Run the egregore QUALITY stage before opening a PR by chaining code review, unbloat, refinement, tests, and docs checks on a work item branch.

Files

SKILL.mdMarkdownGitHub ↗

Quality Gate

When To Use

  • Running quality checks on egregore work items
  • Self-review before creating a PR
  • Reviewing another agent's PR in PR-review mode

When NOT To Use

  • Manual code reviews outside egregore pipeline
  • One-off lint or format checks (use make lint directly)

Orchestrate the QUALITY stage of egregore's pipeline. Each quality step runs convention checks from the codex and invokes mapped skills.

Routing Table

StepConventionsSkillsModes
code-reviewC1,C2,C3,C4,C5pensive:unified-reviewself, pr
unbloat-conserve:unbloatself
code-refinement-pensive:code-refinementself
update-tests-sanctum:update-testsself
update-docsC5sanctum:update-docs, scribe:slop-detectorself

Inputs

The orchestrator invokes this skill with:

  • step: which quality step to run (e.g. "code-review")
  • mode: "self-review" or "pr-review"
  • work_item_id: the manifest work item ID
  • branch: the git branch with changes
  • pr_number: (PR-review mode only) the PR number

Self-Review Workflow

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

Auto-Fix Loop

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"

Verdict Calculation

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"
}

PR-Review Workflow

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

Posting Reviews

Map findings to GitHub review:

  • No findings: gh api POST review with

event "APPROVE"

  • Warnings only: POST review with event "COMMENT",

findings as inline comments

  • Blocking findings: POST review with event

"REQUEST_CHANGES", blocking findings as inline comments with "must fix" prefix

Comment format per finding:

[egregore:{convention_id}] {message}

Convention: {convention_name}
Severity: {severity}

Quality Config

Work items may have a quality_config field:

{
  "skip": ["unbloat"],
  "only": ["code-review", "update-docs"]
}
  • skip: list of steps to skip (run all others)
  • only: list of steps to run (skip all others)
  • If both are set, only takes precedence
  • If neither is set, all steps run (default)

Convention Filtering by Step

Not all conventions run on every step. The routing table above defines which conventions apply to which step. The quality gate filters the loaded codex accordingly before running checks.

Exit Criteria

  • All applicable convention checks executed
  • All mapped skills invoked
  • Verdict calculated and recorded in manifest
  • For PR-review: GitHub review posted

Related skills

FAQ

Is Quality Gate safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Code Review & Qualitytestinggitdocs

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.