jpskill.com
🛠️ 開発・MCP コミュニティ

clean-code-reviewer

Analyze code quality based on "Clean Code" principles. Identify naming, function size, duplication, over-engineering, and magic number issues with severity ratings and refactoring suggestions. Use when the user requests code review, quality check, refactoring advice, Clean Code analysis, code smell detection, or mentions terms like 代码体检, 代码质量, 重构检查.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o clean-code-reviewer.zip https://jpskill.com/download/19226.zip && unzip -o clean-code-reviewer.zip && rm clean-code-reviewer.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19226.zip -OutFile "$d\clean-code-reviewer.zip"; Expand-Archive "$d\clean-code-reviewer.zip" -DestinationPath $d -Force; ri "$d\clean-code-reviewer.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して clean-code-reviewer.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → clean-code-reviewer フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
3

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

クリーンコードレビュー

『クリーンコード』の原則に基づき、7つの高収益なチェック項目に焦点を当てています。

レビューワークフロー

Review Progress:
- [ ] 1. Scan codebase: identify files to review
- [ ] 2. Check each dimension (naming, functions, DRY, YAGNI, magic numbers, clarity, conventions)
- [ ] 3. Rate severity (高/中/低) for each issue
- [ ] 4. Generate report sorted by severity

核となる原則:機能の保持

すべての提案は実装方法の最適化のみを対象とし、コードの機能、出力、または動作の変更は一切推奨しません。

チェック項目

1. 命名の問題【意味のある命名】

チェックの兆候:

  • data1tempresultinfoobjなどの無意味な命名
  • 同じ概念に複数の命名(get/fetch/retrieveの混用)
// ❌ 
const d = new Date();
const data1 = fetchUser();

// ✅ 
const currentDate = new Date();
const userProfile = fetchUser();

2. 関数の問題【関数は短く + SRP】

チェックの兆候:

  • 関数が100行を超える
  • パラメータが3つを超える
  • 関数が複数のことを行っている
// ❌ 7つのパラメータ
function processOrder(user, items, address, payment, discount, coupon, notes)

// ✅ パラメータオブジェクトを使用
interface OrderParams { user: User; items: Item[]; shipping: Address; payment: Payment }
function processOrder(params: OrderParams)

3. 重複の問題【DRY】

チェックの兆候:

  • 類似したif-else構造
  • 類似したデータ変換/エラー処理ロジック
  • コピー&ペーストの痕跡

4. 過剰な設計【YAGNI】

チェックの兆候:

  • 一度もtrueにならないif (config.legacyMode)分岐
  • 実装が1つしかないインターフェース
  • 無駄なtry-catchまたはif-else
// ❌ YAGNI違反:一度も使用されない互換性コード
if (config.legacyMode) {
  // 100行の互換性コード
}

5. マジックナンバー【ハードコーディングの回避】

チェックの兆候:

  • 説明のないむき出しの数字
  • ハードコーディングされた文字列
// ❌ 
if (retryCount > 3) // 3は何ですか?
setTimeout(fn, 86400000) // これはどのくらいの時間ですか?

// ✅ 
const MAX_RETRY_COUNT = 3;
const ONE_DAY_MS = 24 * 60 * 60 * 1000;

6. 構造の明確さ【可読性優先】

チェックの兆候:

  • ネストされた三項演算子
  • 過度に密な1行コード
  • 深すぎる条件ネスト(3層以上)
// ❌ ネストされた三項演算子
const status = a ? (b ? 'x' : 'y') : (c ? 'z' : 'w');

// ✅ switchまたはif/elseを使用
function getStatus(a, b, c) {
  if (a) return b ? 'x' : 'y';
  return c ? 'z' : 'w';
}

7. プロジェクトの規約【一貫性】

チェックの兆候:

  • importの順序が混乱している(外部ライブラリ vs 内部モジュール)
  • 関数宣言のスタイルが不一致
  • 命名規約が不統一(camelCase vs snake_caseの混用)
// ❌ スタイルが不一致
import { api } from './api'
import axios from 'axios'  // 外部ライブラリは前にあるべき
const handle_click = () => { ... }  // 命名スタイルが混用

// ✅ スタイルを統一
import axios from 'axios'
import { api } from './api'
function handleClick(): void { ... }

[!TIP] プロジェクトの規約は、CLAUDE.mdAGENTS.md、またはプロジェクトで合意されたコーディング標準を参照してください。

深刻度レベル

レベル 標準
保守性/可読性に影響があり、直ちに修正すべき
改善の余地があり、修正を推奨
コードの匂い、オプションの最適化

出力形式

### [問題タイプ]: [要約]

- **原則**: [Clean Code 原則]
- **位置**: `ファイル:行番号`
- **レベル**: 高/中/低
- **問題**: [具体的な説明]
- **提案**: [修正の方向性]

参考文献

詳細な例: references/detailed-examples.mdを参照してください。

  • 各次元の完全なケース(命名、関数、DRY、YAGNI、マジックナンバー)

言語パターン: references/language-patterns.mdを参照してください。

  • TypeScript/JavaScriptの一般的な問題
  • Pythonの一般的な問題
  • Goの一般的な問題

マルチエージェント並列処理

以下の次元で複数のエージェントに分割して並列処理を行います。

  1. チェック次元別 - 7つの次元それぞれに1つのエージェント
  2. モジュール/ディレクトリ別 - 異なるモジュールそれぞれに1つのエージェント
  3. 言語別 - TypeScript、Python、Goそれぞれに1つのエージェント
  4. ファイルタイプ別 - コンポーネント、hooks、ユーティリティ関数、型定義

例:/clean-code-reviewer --scope=components または --dimension=naming

集計時には重複排除と深刻度評価の統一が必要です。

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Clean Code Review

基于《代码整洁之道》原则,聚焦 7 个高收益检查维度。

Review Workflow

Review Progress:
- [ ] 1. Scan codebase: identify files to review
- [ ] 2. Check each dimension (naming, functions, DRY, YAGNI, magic numbers, clarity, conventions)
- [ ] 3. Rate severity (高/中/低) for each issue
- [ ] 4. Generate report sorted by severity

核心原则:功能保留

所有建议仅针对实现方式优化——绝不建议改变代码的功能、输出或行为。

Check Dimensions

1. 命名问题【有意义的命名】

检查标志:

  • data1, temp, result, info, obj 等无意义命名
  • 同一概念多种命名(get/fetch/retrieve 混用)
// ❌ 
const d = new Date();
const data1 = fetchUser();

// ✅ 
const currentDate = new Date();
const userProfile = fetchUser();

2. 函数问题【函数短小 + SRP】

检查标志:

  • 函数超过 100 行
  • 参数超过 3 个
  • 函数做多件事
// ❌ 7 个参数
function processOrder(user, items, address, payment, discount, coupon, notes)

// ✅ 使用参数对象
interface OrderParams { user: User; items: Item[]; shipping: Address; payment: Payment }
function processOrder(params: OrderParams)

3. 重复问题【DRY】

检查标志:

  • 相似的 if-else 结构
  • 相似的数据转换/错误处理逻辑
  • Copy-paste 痕迹

4. 过度设计【YAGNI】

检查标志:

  • 从未为 true 的 if (config.legacyMode) 分支
  • 只有一个实现的接口
  • 无用的 try-catch 或 if-else
// ❌ YAGNI 违反:从未使用的兼容代码
if (config.legacyMode) {
  // 100 行兼容代码
}

5. 魔法数字【避免硬编码】

检查标志:

  • 裸露数字无解释
  • 硬编码字符串
// ❌ 
if (retryCount > 3) // 3 是什么?
setTimeout(fn, 86400000) // 这是多久?

// ✅ 
const MAX_RETRY_COUNT = 3;
const ONE_DAY_MS = 24 * 60 * 60 * 1000;

6. 结构清晰度【可读性优先】

检查标志:

  • 嵌套三元运算符
  • 过度紧凑的单行代码
  • 过深的条件嵌套(> 3 层)
// ❌ 嵌套三元
const status = a ? (b ? 'x' : 'y') : (c ? 'z' : 'w');

// ✅ 使用 switch 或 if/else
function getStatus(a, b, c) {
  if (a) return b ? 'x' : 'y';
  return c ? 'z' : 'w';
}

7. 项目规范【一致性】

检查标志:

  • import 顺序混乱(外部库 vs 内部模块)
  • 函数声明风格不一致
  • 命名规范不统一(camelCase vs snake_case 混用)
// ❌ 风格不一致
import { api } from './api'
import axios from 'axios'  // 外部库应在前
const handle_click = () => { ... }  // 命名风格混用

// ✅ 统一风格
import axios from 'axios'
import { api } from './api'
function handleClick(): void { ... }

[!TIP] 项目规范应参照 CLAUDE.md AGENTS.md 或项目约定的编码标准。

Severity Levels

级别 标准
影响可维护性/可读性,应立即修复
有改进空间,建议修复
代码气味,可选优化

Output Format

### [问题类型]: [简述]

- **原则**: [Clean Code 原则]
- **位置**: `文件:行号`
- **级别**: 高/中/低
- **问题**: [具体描述]
- **建议**: [修复方向]

References

Detailed examples: See references/detailed-examples.md

  • 各维度的完整案例(命名、函数、DRY、YAGNI、魔法数字)

Language patterns: See references/language-patterns.md

  • TypeScript/JavaScript 常见问题
  • Python 常见问题
  • Go 常见问题

Multi-Agent Parallel

按以下维度拆分给多 agent 并行:

  1. 按检查维度 - 7 维度各一个 agent
  2. 按模块/目录 - 不同模块各一个 agent
  3. 按语言 - TypeScript、Python、Go 各一个 agent
  4. 按文件类型 - 组件、hooks、工具函数、类型定义

示例:/clean-code-reviewer --scope=components--dimension=naming

汇总时需去重和统一严重程度评定。

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。