mcpField
B
boy-scout

boy-scout

github.com/ertugrul-dmr開発208124 回インストール27 週間前に更新
リポジトリ

boy-scout について

コードに手を加えるたびに、小さく適切な改善を促すコーディングスキルです。命名、コメント、関数、品質、テストの専門スキルと作業内容に応じて連携します。

主な機能

  1. 01段階的な整理を促進
  2. 02すぐできる改善を提案
  3. 03専門スキルへの振り分け
  4. 04ルールに沿ったコードレビュー
  5. 05適切な範囲でのリファクタリング

活用シーン

  1. 01バグ修正と同時にコードを整理
  2. 02不要なコードやインポートの削除
  3. 03段階的な改善点のコードレビュー

インストール

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

$npx skills add https://github.com/ertugrul-dmr/clean-code-skills --skill boy-scout

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

詳細

ボーイスカウトの規則

「来たときよりも、キャンプ場をきれいにして帰ろう。」 — Robert Baden-Powell

「モジュールは、チェックアウトしたときよりもきれいな状態でチェックインしよう。」 — Robert C. Martin、Clean Code

哲学

すべてのモジュールを完璧にする必要はありません。見つけたときよりも少しだけ良くすればよいのです。

このシンプルな規則を皆が守れば:

  • システムは進化するにつれて、少しずつ良くなっていきます
  • チームはシステム全体を大切にするようになります
  • ソフトウェアが絶えず劣化していく状況は終わります

コードを扱うとき

コードに手を加えるたびに、少なくとも1つの小さな改善点を探してください:

すぐにできる改善(すぐに実行しましょう)
  • わかりにくい変数名を変更する → clean-names を起動します
  • 冗長なコメントを削除する → clean-comments を起動します
  • 使われていないコードやインポートを削除する
  • マジックナンバーを名前付き定数に置き換える
  • 深くネストしたブロックを、わかりやすい名前の関数に切り出す
より踏み込んだ改善(時間があるときに)
  • 複数の処理を行う関数を分割する → clean-functions を起動します
  • 重複を削除する(DRY) → clean-general を起動します
  • 不足している境界チェックを追加する
  • テストカバレッジを改善する → clean-tests を起動します

実践における規則

# You're asked to fix a bug in this function:
def proc(d, x, flag=False):
    # process data
    for i in d:
        if i > 0:
            if flag:
                x.append(i * 1.0825)  # tax
            else:
                x.append(i)
    return x

# Don't just fix the bug and leave.
# Leave it cleaner:
TAX_RATE = 0.0825

def process_positive_values(
    values: list[float],
    apply_tax: bool = False
) -> list[float]:
    """Filter positive values, optionally applying tax."""
    rate = 1 + TAX_RATE if apply_tax else 1
    return [v * rate for v in values if v > 0]

変更点:

  • ✅ 説明的な関数名(N1)
  • ✅ わかりやすいパラメーター名(N1)
  • ✅ 型ヒント(P3)
  • ✅ マジックナンバーに名前付き定数を使用(G25)
  • ✅ 出力引数の変更なし(F2)
  • ✅ 役に立つ docstring(C4)

スキルの連携

このスキルは、作業内容に応じて専門スキルと連携します:

タスク起動するスキル
Python の作成またはレビューpython-clean-code(マスター)
変数、関数、クラスの命名clean-names
コメントの作成または編集clean-comments
関数の作成またはリファクタリングclean-functions
コード品質のレビューclean-general
テストの作成またはレビューclean-tests

心構え

してはいけないこと:

  • 見つけたときよりコードを悪い状態にして残す
  • 「これは自分のコードではない」と言う
  • 専用のリファクタリングスプリントを待つ
  • タスクと関係のない大規模な変更を行う

すること:

  • コミットするたびに小さな改善を1つ加える
  • 自分が壊したものでなくても、気づいた問題を直す
  • 変更の規模をタスクに見合ったものにする
  • 品質改善の積み重ねを残す

AI の動作

コードを扱うとき:

  1. まず依頼されたタスクを完了します
  2. 小さな改善の機会を少なくとも1つ見つけます
  3. 適切な専門スキルを適用します
  4. 行った改善を記録します(例:「あわせて、わかりやすさのために x を results に変更しました」)

コードをレビューするとき:

  1. 包括的にルールを確認するため、python-clean-code を読み込みます
  2. 違反をルール番号とともに指摘します
  3. 全面書き換えではなく、段階的な改善を提案します

ボーイスカウトの誓い

手を加えたコードは、すべて少し良くなります。完璧ではなくても、ただ良くなります。

時間とともに、その改善が積み重なり、優れたものになります。

コメント