j5ik2o/okite-ai/custom-linter-creator

Claude Code and agent skill by j5ik2o/okite-ai

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

各プログラミング言語の既存リンターエコシステムを活用してカスタムlintルールを作成するスキル。 人間向けではなくAIエージェント向けのリンターであり、エラーメッセージはAIに対する修正指示プロンプトとして機能する。 Rust(dylint)、TypeScript/JavaScript(ESLint)、Python(pylint)、Go(golangci-lint)等、 言語ごとの標準的な方法でカスタムルールを `lints/` ディレクトリに作成する。 以下の場合に使用する: (1) プロジェクト固有のコーディングルールをAIに強制させたいとき、 (2) 違反時にAIが読める修正指示を出力するlintルールを作りたいとき、 (3) 命名規則・構造パターン・一貫性ルールをAI駆動のリンティングで強制したいとき。 トリガー: 「リンタールールを作成」「lintルールを追加」「このパターンを強制」 「AIリンター」「カスタムlint」「コードルール」「命名ルール」「構造ルール」 「create a linter rule」「add a lint rule」「enforce this pattern」「AI linter」。

Install

npx vskill@latest install j5ik2o/okite-ai/custom-linter-creator

SKILL.md

カスタムリンタークリエイター

各言語の既存リンターエコシステムを活用し、lints/ ディレクトリにカスタムlintルールを作成する。 エラーメッセージはAIエージェントへの修正指示プロンプトとして設計する。

基本概念

  • 既存エコシステム活用: フルスクラッチではなく、各言語の標準リンターにカスタムルールを追加する
  • AI向けエラーメッセージ: lint違反メッセージをAIが理解・実行できる修正指示として記述する
  • `lints/` ディレクトリ: プロジェクトルートの lints/ にカスタムルールを配置する

言語別ガイド(クイックリンク)

詳細な実装手順は references/language-ecosystems.md を参照。

言語リンターツール詳細リンク
RustdylintRust (dylint)
TypeScript/JavaScriptESLintESLint
PythonpylintPython (pylint)
Gogolangci-lintGo (golangci-lint)

ワークフロー

1. 対象言語の特定

プロジェクトの言語を確認し、上記テーブルから適切なリンターを選択する。

確認項目:

  • [ ] プロジェクトのメイン言語を特定した
  • [ ] 対応するリンターツールがインストール可能か確認した
2. lints/ ディレクトリの初期化

言語別ガイドに従い、lints/ ディレクトリを初期化する。

確認項目:

  • [ ] lints/ ディレクトリを作成した
  • [ ] 言語固有の設定ファイル(Cargo.toml / package.json 等)を配置した
  • [ ] エントリポイントファイルを作成した

検証: ls -la lints/ でファイル構造を確認する。

3. カスタムルールの実装

AI向けエラーメッセージテンプレートに従い、ルールを実装する。

確認項目:

  • [ ] ルールファイルを作成した
  • [ ] エラーメッセージをAI向け修正指示として記述した
  • [ ] テンプレートの5要素(違反内容・修正手順・コンテキスト・スコープ制限・理由)を含めた

検証: ルールファイルの構文エラーがないことを確認する。

4. リンター設定への統合

プロジェクトのリンター設定にカスタムルールを追加する。

確認項目:

  • [ ] プロジェクトの設定ファイルにカスタムルールを登録した
  • [ ] ルールの重大度(error/warning)を設定した

検証: リンターの設定読み込みエラーがないことを確認する。

5. 動作確認

実行→検証→修正ループ:

  1. 実行: 意図的に違反コードを書き、リンターを実行する
  2. 検証: AI向けエラーメッセージが正しく出力されるか確認する
  3. 修正: メッセージが不明瞭なら修正し、再度実行する

言語別実行コマンド:

言語実行コマンド期待される出力
Rustcargo dylint --all違反箇所のファイルパス・行番号とAI向けメッセージ
TypeScript/JSnpx eslint .違反箇所とmessageIdに対応するメッセージ
Pythonpylint --load-plugins=lints.checkers.xxx src/メッセージコード(C9001等)と詳細メッセージ
Go./bin/linter ./... または golangci-lint run違反箇所の位置情報とメッセージ

確認項目:

  • [ ] 違反コードでエラーが検出された
  • [ ] エラーメッセージに5要素(違反内容・修正手順・コンテキスト・スコープ・理由)が含まれている
  • [ ] 修正後、エラーが解消された

AI向けエラーメッセージテンプレート

すべてのカスタムルールは以下のテンプレートに従ってエラーメッセージを記述する。

テンプレート構造
[違反内容]: 何が違反しているかを1文で説明
修正手順:
1. [具体的なアクション1]
2. [具体的なアクション2]
3. [具体的なアクション3]
コンテキスト: {file_path}:{line_number} の {identifier}
スコープ: 修正対象以外のコードは変更しないこと
理由: このルールが存在する理由を簡潔に記載

注意: {identifier} はルールに応じた識別子名(モジュール名、クラス名、関数名等)に置き換える。

具体例

Rust (mod.rs禁止ルール):

このファイルは mod.rs を使用しているが、プロジェクト規約で禁止されている。
修正手順:
1. このファイルの内容を親ディレクトリ名.rs にコピーする
2. 例: src/actors/mod.rs → src/actors.rs に移動する
3. mod.rs ファイルを削除する
4. 他ファイルの use/mod 宣言に変更は不要(パスは同じ)
コンテキスト: {file_path}:{line_number} の {module_name}
スコープ: 対象ファイルとその移動先のみ変更すること
理由: Rust 2018 エディションのモジュールスタイルに統一するため

ESLint (曖昧サフィックス禁止ルール):

クラス '{class_name}' は曖昧なサフィックス '{suffix}' を使用している。
修正手順:
1. このクラスの責務を特定する(データアクセス?認証?調整?)
2. 責務を具体的に表す名前に変更する
例: UserManager → UserRepository / UserAuthenticator / UserCoordinator
3. このクラスへの全参照を新しい名前に更新する
コンテキスト: {file_path}:{line_number} の {class_name}
スコープ: クラス定義とその参照のみ変更すること
理由: Managerは責務が曖昧で、コードの意図が伝わりにくいため
設計指針
  1. 具体的な修正手順: 「修正してください」ではなく「snake_caseに変換し、全参照を更新する」
  2. ステップ番号付き: 複数手順がある場合は番号で順序を示す
  3. コンテキスト情報: 違反箇所のファイルパス・シンボル名・行番号を含める
  4. スコープ制限: 「修正対象以外のコードは変更しない」旨を明記する
  5. 理由の説明: なぜこのルールが存在するかを簡潔に記載する

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
75
Repository forks
2
7-day trend score
22

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 7 Apr 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/j5ik2o/okite-ai/custom-linter-creator/badge)](https://verified-skill.com/skills/j5ik2o/okite-ai/custom-linter-creator)

Something wrong with this skill or its page? Tell us.