pr-to-lint-rule

pr-to-lint-rule is a skill for Claude Code, Codex from zernie/vigiles. It costs 25 tokens per session (427 once invoked), scanned A, original, MIT.

A coding workflow that turns a repeated pull-request review comment into a tested lint rule, which automatically checks code for that pattern.

In plain words
What is it for?
Use it to inspect a project's language, linter, and test setup, create a matching rule with tests, and record the rule in CLAUDE.md.
Why use it?
It removes the need to repeat the same review advice manually and helps prevent the mistake before code reaches review.

Skill for Claude CodeCodex

Part of the vigiles plugin — 26 skills, 1 agent, 4 hooks, 6 plugins shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/zernie/vigiles/examples
Any agent
npx skills add zernie/vigiles --skill examples
Clone the repo
git clone --depth 1 https://github.com/zernie/vigiles

Made for: Claude Code, Codex.

Or install vigiles, the plugin that ships this one along with the rest of its 26 skills, 1 agent, 4 hooks, 6 plugins.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pr-to-lint-rule

README.md
[![agentmods](https://agentmods.dev/badge/skills/zernie/vigiles/examples.svg)](https://agentmods.dev/skills/zernie/vigiles/examples)
Your own site
<a href="https://agentmods.dev/skills/zernie/vigiles/examples"><img src="https://agentmods.dev/badge/skills/zernie/vigiles/examples.svg" alt="Measured on agentmods" height="20"></a>
Per session 25 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 427 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00025 $0.00427
Opus 5 $0.00013 $0.00214
Sonnet 5 $0.00005 $0.00085
Haiku 4.5 $0.00003 $0.00043

Measured today against content hash 8711faa254b4, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

pr-to-lint-rule scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

The scan reads SKILL.md. This mod also ships 41 executable files (CLAUDE.md.spec.ts, experimental-emit/emit-server.mjs, experimental-emit/run-emit.mjs, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

examples/SKILL.md · 49 lines

What it actually says

Convert a recurring PR review comment into an automated lint rule.

Arguments

$ARGUMENTS — A natural language description of the pattern to enforce. Examples:

  • "we keep telling people not to import directly from antd, use our design system barrel file instead"
  • "people forget to use our custom logger instead of console.log"
  • "don't use unwrap() in production code, use expect() or proper error handling"
  • "API route handlers must use the withAuth wrapper"

Instructions

You are generating an automated lint rule from a recurring code review pattern. Follow these steps:

Step 1: Detect the Project Language and Toolchain

Look at the repository to determine:

  • Primary language (JS/TS, Python, Rust, Go, Ruby, etc.)
  • Linter in use (ESLint, Ruff, Clippy, golangci-lint, RuboCop, etc.)
  • Testing framework (Vitest, Jest, pytest, cargo test, etc.)
  • Existing custom rules (to match conventions)

If the language or linter cannot be confidently detected, ask the user which language and linter to target before generating anything.

Step 2: Generate the Lint Rule

Based on the detected (or user-specified) language, generate the appropriate rule type.

For JavaScript/TypeScript, generate an ESLint rule using the AST visitor pattern with meta and create(context).

Step 3: Update CLAUDE.md

Add the annotation block. See docs/spec-format.md for the correct format.

Step 4: Verify

Run npm test to ensure the new rule and tests pass.

Files

What ships with it

60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · -2 lines · +25 tokens per session 8711faa254b4
  2. 4d ago First seen · 51 lines · 0 tokens per session scan A c92b85b7bfd0

Subscribe to this mod's changes

pr-to-lint-rule is a skill published in the GitHub repository zernie/vigiles (15 stars, last pushed today), licensed MIT. It adds 25 tokens to every session and 427 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

embedding-strategies

Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.

foryourhealth111-pixel/Vibe-Skills · 37 tokens

docx-comment-reply

Reply to comments (批注) in Word .docx/.doc files: extract comment context, draft replies, write threaded replies back, and validate OOXML.

foryourhealth111-pixel/Vibe-Skills · 39 tokens

oma-scholar

Scholarly research companion using Knows sidecar spec (.knows.yaml). Generates, validates, reviews, queries, and compares structured research-paper sidecars, and fetches them from knows.academy. Use for academic literature search, survey synthesis, paper authoring assistance, and peer review with token-efficient…

first-fluke/oh-my-agent · 73 tokens

oma-hwp

Convert HWP / HWPX / HWPML files to Markdown using kordoc. Extracts text, headings, tables, lists, images, footnotes, and hyperlinks. Use for Korean word processor files (Hangul), government documents, and AI-ready data preparation.

first-fluke/oh-my-agent · 59 tokens

moai-ref-ui-polish

UI polish and interface-completion reference: the small visual details — concentric border radius, optical alignment, shadow-vs-border, motion easing, typography smoothing, tabular numbers, icon stroke weight, hit areas — that separate polished interfaces from generic ones. Agent-extending skill that amplifies…

modu-ai/moai-adk · 98 tokens

trellis-brainstorm

Guides collaborative requirements discovery before implementation. Creates task directory, seeds PRD, asks high-value questions one at a time, researches technical choices, and converges on MVP scope. Use when requirements are unclear, there are multiple valid approaches, or the user describes a new feature or complex…

mindfold-ai/Trellis · 65 tokens