From kk-dev
カスタム ESLint ルールを作成する。ESLint ルール、lint ルール、コード規約の追加、静的解析ルールの作成時に使用。トリガー - ESLint, lint ルール, コード規約, 静的解析, ルール作成, no-xxx を検出
How this skill is triggered — by the user, by Claude, or both
Slash command
/kk-dev:create-eslint-rule <ルールの説明><ルールの説明>sonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
指定された仕様に基づいてカスタム ESLint ルールを作成します。
指定された仕様に基づいてカスタム ESLint ルールを作成します。
eslint-rules/
├── index.js # ルールのエクスポート
├── {rule-name}/
│ ├── rule.js # ルール本体
│ └── test.js # テスト (RuleTester 使用)
└── {another-rule}/
├── rule.js
├── test.js
└── fixtures/ # (オプション) テスト用フィクスチャ
├── valid.ts
└── invalid.ts
ユーザーから以下の情報を収集:
require-server-only, no-hardcoded-secrets)src/server/**/*.ts)既存のカスタムルールを参考にする:
ls eslint-rules/
cat eslint-rules/require-server-only/rule.js
cat eslint-rules/require-server-only/test.js
eslint-rules/{rule-name}/rule.js を作成。テンプレートは reference/rule-template.js を参照。
eslint-rules/{rule-name}/test.js を作成。テンプレートは reference/test-template.js を参照。
eslint-rules/index.js にルールを追加:
const requireServerOnly = require("./require-server-only/rule");
const newRule = require("./{rule-name}/rule");
module.exports = {
rules: {
"require-server-only": requireServerOnly,
"{rule-name}": newRule,
},
};
ルールを適用する設定を追加:
// Custom rule: {rule description}
{
files: ["{対象ファイルパターン}"],
plugins: {
custom: customRules,
},
rules: {
"custom/{rule-name}": "error",
},
},
pnpm exec node eslint-rules/{rule-name}/test.js
pnpm lint
eslint-rules/{rule-name}/) を作成rule.js) を作成test.js) を作成eslint-rules/index.js にルールを登録eslint.config.mjs に設定を追加pnpm lint が正常に動作することを確認/ と \\ の両方をチェック)npx claudepluginhub kokoichi206/cc-plugins --plugin kk-devCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.