Agent skill
auto-build
プロジェクトタイプを自動検出してビルドを実行するスキル。コード変更後にビルドを提案、エラー発生時は修正案を提示。Node.js、Rust、Python、Go、Makefileプロジェクトに対応。
Install this agent skill to your Project
npx add-skill https://github.com/dobachi/AI_Instruction_Kits/tree/main/templates/claude-skills/ja/auto-build
SKILL.md
自動ビルドスキル
プロジェクトの設定を自動検出し、適切なビルドコマンドを実行します。
自動提案のタイミング
| 状況 | 提案内容 |
|---|---|
| コード変更後 | 「ビルドしますか?」 |
| 依存関係追加後 | 「依存関係をインストールしてビルドしますか?」 |
| 設定ファイル変更後 | 「クリーンビルドを実行しますか?」 |
| ビルドエラー発生時 | 「エラーを修正してリビルドしますか?」 |
| テスト前 | 「先にビルドを確認しますか?」 |
プロジェクトタイプの自動検出
| ファイル | プロジェクトタイプ | パッケージマネージャー |
|---|---|---|
package.json |
Node.js | npm/yarn/pnpm |
Cargo.toml |
Rust | cargo |
pyproject.toml |
Python | pip/poetry |
go.mod |
Go | go |
pom.xml |
Java (Maven) | mvn |
build.gradle |
Java (Gradle) | gradle |
Makefile |
Make | make |
パッケージマネージャーの検出(Node.js)
# 優先順位
if [ -f "pnpm-lock.yaml" ]; then
PM="pnpm"
elif [ -f "yarn.lock" ]; then
PM="yarn"
elif [ -f "bun.lockb" ]; then
PM="bun"
else
PM="npm"
fi
ビルドコマンド
Node.js プロジェクト
# 依存関係インストール(必要な場合)
$PM install
# 標準ビルド
$PM run build
# プロダクションビルド
$PM run build:prod # または NODE_ENV=production $PM run build
# クリーンビルド
rm -rf dist node_modules/.cache && $PM run build
Rust プロジェクト
# 依存関係解決
cargo fetch
# デバッグビルド
cargo build
# リリースビルド
cargo build --release
# クリーンビルド
cargo clean && cargo build --release
Python プロジェクト
# 仮想環境(pyproject.tomlの場合)
poetry install # または pip install -e .
# ビルド
python -m build
# wheel作成
pip wheel .
Go プロジェクト
# 依存関係取得
go mod download
# ビルド
go build
# プロダクションビルド
CGO_ENABLED=0 go build -ldflags="-s -w"
Makefile プロジェクト
# 標準ビルド
make
# クリーンビルド
make clean && make
# 特定ターゲット
make build
make release
ビルドフロー
┌─────────────────┐
│ プロジェクト検出 │
└────────┬────────┘
↓
┌─────────────────┐
│ 依存関係確認 │ ──→ なければインストール
└────────┬────────┘
↓
┌─────────────────┐
│ ビルド実行 │
└────────┬────────┘
↓
┌────┴────┐
↓ ↓
┌───────┐ ┌───────┐
│ 成功 │ │ 失敗 │ ──→ エラー分析・修正提案
└───────┘ └───────┘
エラーハンドリング
一般的なエラーと対処
| エラー | 原因 | 対処 |
|---|---|---|
MODULE_NOT_FOUND |
依存関係不足 | npm install を実行 |
Type error |
TypeScript型エラー | 型定義を修正 |
Syntax error |
構文エラー | 該当箇所を修正 |
Out of memory |
メモリ不足 | NODE_OPTIONS=--max-old-space-size=4096 |
エラー分析の流れ
- エラーメッセージを解析
- エラータイプを特定
- 該当ファイル・行を特定
- 修正案を提示
- ユーザー確認後に修正・リビルド
使用シナリオ
シナリオ1: コード変更後
AI: コードを変更しました。ビルドを実行しますか?
# 検出結果
プロジェクトタイプ: Node.js (TypeScript)
パッケージマネージャー: pnpm
# 実行
pnpm run build
シナリオ2: 依存関係追加後
AI: 新しい依存関係を追加しました。インストールしてビルドしますか?
# 実行
pnpm install && pnpm run build
シナリオ3: ビルドエラー発生時
AI: ビルドエラーが発生しました。
エラー: Cannot find module '@types/node'
修正案:
1. @types/node をインストール
2. リビルド
実行しますか?
# 実行
pnpm add -D @types/node && pnpm run build
シナリオ4: クリーンビルド
AI: 設定ファイルが変更されました。クリーンビルドを推奨します。
# 実行
rm -rf dist .cache && pnpm run build
プロジェクト固有の設定
CLAUDE.md または PROJECT.md にビルド設定を記載可能:
## ビルド設定
- ビルドコマンド: `npm run custom-build`
- テストコマンド: `npm run test:all`
- プロダクションビルド: `npm run build:prod`
- 前処理: `npm run prebuild`
判断基準
ビルドを提案する条件
- ソースコード(.ts, .js, .rs, .py, .go)が変更された
- 設定ファイル(tsconfig.json, Cargo.toml等)が変更された
- 依存関係ファイル(package.json等)が変更された
- ユーザーが「ビルド」「コンパイル」と言及
クリーンビルドを提案する条件
- ビルド設定ファイルが変更された
- 依存関係のバージョンが変更された
- 前回ビルドが失敗している
- キャッシュ関連のエラーが発生
注意事項
- ビルド前に未保存の変更がないか確認
- 長時間ビルドの場合は進捗を表示
- 複数のビルドターゲットがある場合は選択を促す
- CI/CD環境との整合性を考慮
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
checkpoint-manager
タスクの進捗を追跡・管理するスキル。会話開始時に未完了タスクを確認、新規タスク依頼時にタスク開始を提案、作業完了時に完了報告を提案。チェックポイントシステムと連携。
commit-safe
安全なコミットを支援するスキル。変更内容を確認してから選択的にコミット。大きな変更時にファイル指定コミットを提案、git add -Aの使用を防止。
worktree-manager
Git worktreeの作成・管理を行うスキル。複雑なタスクや複数ファイル変更時にworktree作成を提案、タスク完了時にマージ・クリーンアップを案内。checkpoint-managerと連携。
auto-build
Skill for auto-detecting project type and executing builds. Suggests builds after code changes, proposes fixes for build errors. Supports Node.js, Rust, Python, Go, and Makefile projects.
checkpoint-manager
Skill for tracking and managing task progress. Checks pending tasks at conversation start, proposes task creation for new requests, suggests completion reports when work is done. Integrates with checkpoint system.
commit-safe
Skill for safe commits. Reviews changes before selective commits. Proposes file-specific commits for large changes, prevents use of git add -A.
Didn't find tool you were looking for?