devtu-code-optimization について
ToolUniverse の開発と保守に向けたコード最適化スキルです。コミット前チェックリスト、問題パターンの分類、API 修正とコードのリファレンスをまとめています。
主な機能
- 01コミット前チェックリスト
- 02兆候別に整理した問題例
- 03API 修正リファレンス
- 04再利用可能なコードパターン
- 05Git と PR の手順
活用シーン
- 01ToolUniverse の変更をコミット前に確認
- 02ツール出力やスキーマの問題を調査
- 03API 呼び出しや例外処理の不具合を修正
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill devtu-code-optimizationインストール後、Claude Code で/devtu-code-optimizationを入力して読み込まれたか確認します。
同梱ファイルreferences/api-fixes.mdreferences/code-patterns.md
詳細
ToolUniverse コード最適化
コードの作成または変更後は、必ず Skill(skill="simplify") を実行してください。
コミット前のチェックリスト
-
return_schemaにoneOf: [{data+metadata}, {error}]がある - テスト例では実在する ID を使用している(DUMMY/PLACEHOLDER は使用しない)
-
try:とexcept:のインデントレベルが完全に一致している - JSON に末尾のカンマがない(
python3 -c "import json; json.load(open('f.json'))") - 新しいツールクラスが
_lazy_registry_static.pyとdefault_config.pyに登録されている -
ruff check src/tooluniverse/<file>.pyが成功する -
python -c "from tooluniverse.<module> import <Class>"が成功する -
python -m tooluniverse.cli run <Tool> '<real_args_json>'が期待されるデータを返す - 変更したすべてのファイルに対して
Skill(skill="simplify")を実行した
主な修正カテゴリ
| カテゴリ | 状況 | 参照先 |
|---|---|---|
| パラメーターが無視される | API は受け付けるが、フィルターが適用されない | code-patterns.md — クライアント側フィルター |
| API フィールド/エンドポイントの誤り | 結果が 0 件、または 404 | api-fixes.md — クイック参照表 |
| スキーマが無効 | null 型、oneOf の欠落 | code-patterns.md — スキーマパターン |
| 正規化の非開示 | 自動変換がユーザーに示されない | code-patterns.md — 正規化の開示 |
| try/except のインデント | 実行時に SyntaxError が発生 | code-patterns.md — try/except セクション |
| 切り詰め情報が埋もれている | データ件数が注記に隠れている | code-patterns.md — 切り詰め |
| ホスト型モデル API(NIM) | ポーリング時に非同期 404、JSON でラップされた出力、200 だが内部で失敗、「not found for account」 | code-patterns.md — ホスト型モデル API ツール |
| R サブプロセスツール | Rscript -e で '\.' unrecognized escape が発生 | code-patterns.md — R サブプロセスツール |
参考資料
- references/api-fixes.md — API ごとのバグ修正(GtoPdb、CIViC、GTEx、ENCODE、CPIC など)
- references/code-patterns.md — 再利用可能な Python パターン(スキーマ、フィルタリング、ページネーション、正規化)
Git と PR のワークフロー
git fetch origin && git stash && git rebase origin/main && git stash pop
git push --force-with-lease origin fix/round-XX-bugs
gh pr view <N> --json mergeable # must be MERGEABLE before done
mainに直接プッシュしないでください- 修正用の PR を複数同時にオープンしないでください
- コミットメッセージには「Feature」または「Fix」を使用し、「Bug」は使用しないでください
- コミットに AI の帰属情報を含めないでください
- リポジトリ:
mims-harvard/ToolUniverse—git remote -vで確認してください
コメント
Markdown 対応