Install
openclaw skills install nm-egregore-quality-gateOrchestrates the QUALITY pipeline stage for egregore work items, running code review, unbloat, and test updates
openclaw skills install nm-egregore-quality-gateNight Market Skill — ported from claude-night-market/egregore. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
make lint directly)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":
git diff --name-only main...HEADconventions/codex.ymlconventions.pyIf blocking findings exist:
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"
}
When mode is "pr-review":
gh pr diff <number> --name-onlypensive:unified-review on the diffMap findings to GitHub review:
gh api POST review with
event "APPROVE"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"]
}
skip: list of steps to skip (run all others)only: list of steps to run (skip all others)only takes precedenceNot 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.