mcpField
C
code-execution

code-execution

github.com/mhattingpete開発689290 回インストール14 週間前に更新
リポジトリ

code-execution について

Claude Code向けのスキルで、Pythonによるファイル、コード、変換、Gitの操作をローカルで実行します。大量処理や複数ステップの作業に適し、大きなソースデータではなく概要を返します。

主な機能

  1. 01ファイルシステムのコピーと編集
  2. 02コードメタデータと依存関係の分析
  3. 03コードの一括変換
  4. 04Gitの状態確認と変更操作
  5. 05ローカルでの一括処理

活用シーン

  1. 01複数ファイルの識別子を一括変更
  2. 02指定関数をファイル間で移動
  3. 03コードベースの依存関係を監査

インストール

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

$npx skills add https://github.com/mhattingpete/claude-skills-marketplace --skill code-execution

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
bulk_refactor.py
codebase_audit.py
extract_functions.py

詳細

コード実行

API アクセスを利用して、Python をローカルで実行します。一括処理で90~99%のトークンを節約できます。

使用するタイミング

  • 一括操作(10 ファイル以上)
  • 複雑な複数ステップのワークフロー
  • 多数のファイルに対する反復処理
  • ユーザーが効率やパフォーマンスに言及した場合

使用方法

Claude Code で Python を直接インポートします。

from execution_runtime import fs, code, transform, git

# Code analysis (metadata only!)
functions = code.find_functions('app.py', pattern='handle_.*')

# File operations
code_block = fs.copy_lines('source.py', 10, 20)
fs.paste_code('target.py', 50, code_block)

# Bulk transformations
result = transform.rename_identifier('.', 'oldName', 'newName', '**/*.py')

# Git operations
git.git_add(['.'])
git.git_commit('feat: refactor code')

インストールされていない場合: ~/.claude/plugins/marketplaces/mhattingpete-claude-skills/execution-runtime/setup.sh を実行します

利用可能な API

  • ファイルシステム(fs):copy_lines、paste_code、search_replace、batch_copy
  • コード分析(code):find_functions、find_classes、analyze_dependencies — メタデータのみを返します!
  • 変換(transform):rename_identifier、remove_debug_statements、batch_refactor
  • Git(git):git_status、git_add、git_commit、git_push

パターン

  1. ローカルで分析する(ソースではなくメタデータのみ)
  2. ローカルで処理する(実行中にすべての操作を行う)
  3. 概要を返す(データではなく!)

例

一括リファクタリング(50 ファイル):

from execution_runtime import transform
result = transform.rename_identifier('.', 'oldName', 'newName', '**/*.py')
# Returns: {'files_modified': 50, 'total_replacements': 247}

関数の抽出:

from execution_runtime import code, fs

functions = code.find_functions('app.py', pattern='.*_util$')  # Metadata only!
for func in functions:
    code_block = fs.copy_lines('app.py', func['start_line'], func['end_line'])
    fs.paste_code('utils.py', -1, code_block)

result = {'functions_moved': len(functions)}

コード監査(100 ファイル):

from execution_runtime import code
from pathlib import Path

files = list(Path('.').glob('**/*.py'))
issues = []

for file in files:
    deps = code.analyze_dependencies(str(file))  # Metadata only!
    if deps.get('complexity', 0) > 15:
        issues.append({'file': str(file), 'complexity': deps['complexity']})

result = {'files_audited': len(files), 'high_complexity': len(issues)}

ベストプラクティス

✅ データではなく概要を返す ✅ code_analysis を使用する(ソースではなくメタデータを返します) ✅ 一括操作を行う ✅ エラーを処理し、エラー数を返す

❌ すべてのコードをコンテキストに返さない ❌ メタデータが必要なときにソース全体を読み込まない ❌ ファイルを 1 つずつ処理しない

トークン節約量

ファイル数従来の方法実行節約量
105K tokens50090%
5025K tokens60097.6%
100150K tokens1K99.3%

コメント