pr-to-lint-rule について
繰り返し発生するPRレビュー指摘を、自動化されたlintルールに変換するスキルです。プロジェクトの言語とツールチェーンを判定し、ルール生成、CLAUDE.mdの更新、テスト実行を行います。
主な機能
- 01プロジェクトの言語とlintツールを検出
- 02適切なlintルールを生成
- 03CLAUDE.mdの注釈ブロックを更新
- 04テストでルールを検証
活用シーン
- 01ライブラリからの直接インポートを禁止
- 02プロジェクト独自のロガーを必須化
- 03本番コードでのunwrap()を防止
- 04APIルートでwithAuthを必須化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zernie/ vigiles --skill pr-to-lint-ruleインストール後、Claude Code で/pr-to-lint-ruleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CLAUDE.mdCLAUDE.md.spec.tsfrontmatter-CLAUDE.mdexperimental-emit/emit-server.mjsREADME.mdrun-emit.mjsscore-emits.mjsexperimental-emit/records/emit-tool.jsonemits-2026-08-13.jsonlprose-baseline-2026-08-13.jsonrate-limit-event.jsontrials-2026-08-13.jsonlharness/agent-loop.harness.mjschecks-dogfood.harness.mjscompiled-hook-inprocess.harness.mjsharness/dogfood/adversarial-gate.eval.mjscode-quality.trigger.eval.mjsdebug-my-harness.trigger.eval.mjsedit-spec.trigger.eval.mjsgenerate-logo.trigger.eval.mjslanding-site.trigger.eval.mjsreview-docs.trigger.eval.mjsreviewer-ab.eval.mjsscreenshot.trigger.eval.mjsship-a-feature.trigger.eval.mjsharness/dogfood/reviewer-ab/prose/.claude-plugin/plugin.jsonharness/dogfood/reviewer-ab/prose/agents/code-reviewer.mdharness/dogfood/reviewer-ab/spec/.claude-plugin/plugin.jsonharness/dogfood/reviewer-ab/spec/agents/code-reviewer.mdcode-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を実行し、新しいルールとテストが通ることを確認します。
コメント
Markdown 対応