← ClaudeAtlas

pr-to-lint-rulelisted

Synthesize a recurring code-review rule into a custom lint rule — gated by an independent soundness test that abstains rather than ship a checker it can't prove sound
zernie/vigiles · ★ 15 · Code & Development · score 76
Install: claude install-skill zernie/vigiles
Turn a prose rule that **no off-the-shelf linter rule matches** into a custom lint rule — the opt-in **synthesis** step. This is the hand-off target of the **custom rule (⚙)** lane in a `vigiles audit` rule map: audit maps a rule there when it looks enforceable but nothing off-the-shelf fits. You invoke this skill explicitly; nothing here runs on its own, and installing vigiles never starts synthesizing anything. The point of this skill is **not** "write a checker." A model can write a plausible-looking checker in seconds. The point is the discipline that makes the result **trustworthy**: synthesize the rule **and** an independent test that encodes the rule's real _intent_, run the checker against adversarial cases it didn't author, and **abstain** — hand it back as prose — if it leaks. A checker that matches a rule's _surface_ but not its _intent_ gives false confidence (the measured failure mode: most naively-synthesized checkers silently leak). Shipping a green check nobody should trust is worse than shipping nothing. ## Arguments `$ARGUMENTS` — a prose rule to enforce. Either a **custom rule (⚙)** line copied from a `vigiles audit` report, or free text. Examples: - "we keep telling people not to import directly from antd — use our design-system barrel" - "people forget to use our custom logger instead of console.log" - "wrap outbound API calls in our `withRetry` helper" - "route handlers must go through the `withAuth` wrapper" ## The pipeline ``` prose rule → dete