mcpField
P
pr-to-lint-rule

pr-to-lint-rule

github.com/zernieテスト・品質15436 回インストール2 日前に更新
リポジトリ

pr-to-lint-rule について

繰り返し発生するPRレビュー指摘を、自動化されたlintルールに変換するスキルです。プロジェクトの言語とツールチェーンを判定し、ルール生成、CLAUDE.mdの更新、テスト実行を行います。

主な機能

  1. 01プロジェクトの言語とlintツールを検出
  2. 02適切なlintルールを生成
  3. 03CLAUDE.mdの注釈ブロックを更新
  4. 04テストでルールを検証

活用シーン

  1. 01ライブラリからの直接インポートを禁止
  2. 02プロジェクト独自のロガーを必須化
  3. 03本番コードでのunwrap()を防止
  4. 04APIルートでwithAuthを必須化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zernie/vigiles --skill pr-to-lint-rule

インストール後、Claude Code で/pr-to-lint-ruleを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CLAUDE.md
CLAUDE.md.spec.ts
frontmatter-CLAUDE.md
experimental-emit/
emit-server.mjs
README.md
run-emit.mjs
score-emits.mjs
experimental-emit/records/
emit-tool.json
emits-2026-08-13.jsonl
prose-baseline-2026-08-13.json
rate-limit-event.json
trials-2026-08-13.jsonl
harness/
agent-loop.harness.mjs
checks-dogfood.harness.mjs
compiled-hook-inprocess.harness.mjs
harness/dogfood/
adversarial-gate.eval.mjs
code-quality.trigger.eval.mjs
debug-my-harness.trigger.eval.mjs
edit-spec.trigger.eval.mjs
generate-logo.trigger.eval.mjs
landing-site.trigger.eval.mjs
review-docs.trigger.eval.mjs
reviewer-ab.eval.mjs
screenshot.trigger.eval.mjs
ship-a-feature.trigger.eval.mjs
harness/dogfood/reviewer-ab/prose/.claude-plugin/
plugin.json
harness/dogfood/reviewer-ab/prose/agents/
code-reviewer.md
harness/dogfood/reviewer-ab/spec/.claude-plugin/
plugin.json
harness/dogfood/reviewer-ab/spec/agents/
code-reviewer.md
code-reviewer.md.spec.ts

詳細

繰り返し寄せられるPRレビューコメントを、自動化されたLintルールに変換します。

引数

$ARGUMENTS — 適用するパターンを自然言語で説明します。例:

  • 「antdから直接インポートせず、代わりにデザインシステムのバレルファイルを使うよう、何度も指摘しています」
  • 「console.logの代わりにカスタムロガーを使うのを忘れる人がいます」
  • 「本番コードではunwrap()を使わず、expect()か適切なエラー処理を使ってください」
  • 「APIルートハンドラーではwithAuthラッパーを使う必要があります」

手順

繰り返し指摘されるコードレビューのパターンをもとに、自動化されたLintルールを生成します。次の手順に従ってください。

ステップ1:プロジェクトの言語とツールチェーンを特定する

リポジトリを調べて、次の項目を特定します。

  • 主要な言語(JS/TS、Python、Rust、Go、Rubyなど)
  • 使用中のリンター(ESLint、Ruff、Clippy、golangci-lint、RuboCopなど)
  • テストフレームワーク(Vitest、Jest、pytest、cargo testなど)
  • 既存のカスタムルール(規約を合わせるため)

言語またはリンターを確実に特定できない場合は、何かを生成する前に、対象とする言語とリンターをユーザーに尋ねてください。

ステップ2:Lintルールを生成する

特定した(またはユーザーが指定した)言語に基づいて、適切な種類のルールを生成します。

JavaScript/TypeScriptの場合は、metaとcreate(context)を使ったASTビジターパターンでESLintルールを生成します。

ステップ3:CLAUDE.mdを更新する

アノテーションブロックを追加します。正しい形式については、docs/spec-format.mdを参照してください。

ステップ4:検証する

npm testを実行し、新しいルールとテストが通ることを確認します。

コメント