claude-code-bash-patterns について
Claude Codeで安全かつ再現可能なBash操作を行うためのスキルです。コマンド連結、セッション状態、バックグラウンド処理、フック、Gitワークフローとセキュリティを扱います。
主な機能
- 01逐次・並列コマンドのパターン
- 02セッション維持とバックグラウンド処理
- 03コマンド前後のフック
- 04Git・CLIワークフローの例
- 05シェル安全対策とシークレット管理
活用シーン
- 01コミット前のテスト実行
- 02プロジェクトの検証とデプロイ
- 03コマンド記録やチェックの自動化
- 04複数リポジトリの更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ secondsky/ claude-skills --skill claude-code-bash-patternsインストール後、Claude Code で/claude-code-bash-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/cli-tool-integration.mdgit-workflows.mdhooks-examples.mdsecurity-best-practices.mdtroubleshooting-guide.mdscripts/bash-audit-logger.shdangerous-command-guard.pypackage-manager-enforcer.shtemplates/.envrc.examplecustom-command-template.mddangerous-commands.jsongithub-workflow.ymlsettings.json詳細
Claude Code Bash パターン
ステータス: 本番環境対応済み ✅ | 最終確認日: 2025-11-18
クイックスタート
基本コマンド
ls -la
コマンドの連結
bun install && bun run build && bun test
フック
.claude-hook-pretooluse.sh を作成します。
#!/usr/bin/env bash
# PreToolUse hook - runs before every Bash command
echo "Running: $1"
フックパターンの全容は references/hooks-examples.md を読み込んでください。
5 つのコアパターン
1. 順次操作(&&)
使用する場面: 各コマンドが前のコマンドの成功に依存する場合
git add . && git commit -m "message" && git push
理由: いずれかのコマンドが失敗すると、連結した処理を停止します。
2. 並列操作(複数のツール呼び出し)
使用する場面: コマンドが互いに独立している場合
Message with multiple Bash tool calls in parallel
並列パターンについては references/cli-tool-integration.md を読み込んでください。
3. セッションの永続化
使用する場面: コマンド間で状態を維持する必要がある場合
# Set environment variable
export API_KEY="sk-..."
# Use in later commands (same session)
curl -H "Authorization: Bearer $API_KEY" api.example.com
4. バックグラウンドプロセス
使用する場面: 長時間実行されるタスク
npm run dev &
# Get PID with $!
5. 自動化のためのフック
使用する場面: コマンドの実行前後に処理が必要な場合
すべてのフックの種類については references/hooks-examples.md を読み込んでください。
重要なルール
必ず行うこと ✅
- 順次実行の依存関係には && を使います(セミコロンは使いません)
- スペースを含むパスは引用符で囲みます(
cd "path with spaces") - 破壊的な操作の前に環境を確認します(rm、git push --force)
- まず専用ツールを使います(Bash より先に Read、Grep、Glob)
- 長時間の操作にはタイムアウトを設定します(最大 10 分)
- シェルコマンドに渡す前に入力を検証します
- 繰り返し使うパターンにはフックを使います(ログ記録、検証)
- セッションの状態を維持します(変数は一度だけエクスポート)
- エラーを明示的に処理します(終了コードを確認)
- カスタムコマンドを .claude/commands/ に記録します
絶対に行わないこと ❌
- 依存関係のあるコマンドに ; を使わないでください(&& を使います)
- スペースを含むパスを引用符で囲むことを省略しないでください
- 確認なしに rm -rf を実行しないでください
- コマンド出力にシークレットを含めないでください
- タイムアウト制限を無視しないでください(最大 10 分)
- 専用ツールがある場合、ファイル操作に Bash を使わないでください
- 改行でコマンドを連結しないでください(&& または ; を明示的に使います)
- ユーザーから明示的な依頼がない限り、main に強制プッシュしないでください
- ユーザーから依頼がない限り、フックをスキップしないでください(--no-verify)
- 対話型コマンドを使わないでください(git rebase -i、git add -i)
Git ワークフロー
基本的なコミット
git add . && git commit -m "feat: add feature"
テストを伴うコミット
npm test && git add . && git commit -m "fix: bug fix" && git push
プルリクエスト
git checkout -b feature/new && git add . && git commit -m "feat: new feature" && git push -u origin feature/new
次の項目を含むワークフローの全容は references/git-workflows.md を読み込んでください。
- フィーチャーブランチのワークフロー
- PR 作成の自動化
- コミットメッセージの規約
- コミット前の検証
フック:高度な自動化
PreToolUse フック
.claude-hook-pretooluse.sh:
#!/usr/bin/env bash
COMMAND="$1"
# Log all commands
echo "[$(date)] Running: $COMMAND" >> ~/claude-commands.log
# Block dangerous patterns
if [[ "$COMMAND" =~ rm\ -rf\ / ]]; then
echo "❌ Blocked dangerous command"
exit 1
fi
フックの種類
- pretooluse - すべての Bash コマンドの実行前
- stop - 会話の終了前
- user-prompt-submit - ユーザーによるメッセージ送信後
すべてのフックの種類と例については references/hooks-examples.md を読み込んでください。
CLI ツールの統合
npm/bun
bun install && bun run build
wrangler(Cloudflare)
bunx wrangler deploy
gh(GitHub CLI)
gh pr create --title "Fix bug" --body "Description"
ツールパターンの全容は references/cli-tool-integration.md を読み込んでください。
カスタムコマンド
.claude/commands/deploy.md を作成します。
---
description: Deploy to production
---
Run these steps:
1. Run tests: `npm test`
2. Build: `npm run build`
3. Deploy: `wrangler deploy`
ユーザーは /deploy で呼び出せます。
テンプレートについては templates/custom-command-template.md を読み込んでください。
セキュリティ
ツールの許可リスト
settings.json:
{
"dangerousCommandsAllowList": [
"git push --force"
]
}
シークレットの管理
# ✅ Good: Use environment variables
export API_KEY="$SECURE_VALUE"
# ❌ Bad: Hardcode secrets
curl -H "Authorization: Bearer sk-abc123..."
セキュリティガイドの全容は references/security-best-practices.md を読み込んでください。
よくある使用例
使用例 1:コミット前のテスト
npm test && git add . && git commit -m "message"
使用例 2:検証を伴うデプロイ
npm run lint && npm test && npm run build && bunx wrangler deploy
使用例 3:複数リポジトリの操作
cd repo1 && git pull && cd ../repo2 && git pull
使用例 4:バックグラウンドプロセス
npm run dev &
その他のパターンについては references/cli-tool-integration.md を読み込んでください。
トラブルシューティング
問題:コマンドがタイムアウトする
解決策: タイムアウトを延長するか、バックグラウンドモードを使います。
# Background mode
npm run dev &
問題:スペースを含むパスで失敗する
解決策: パスを引用符で囲みます。
cd "path with spaces/file.txt"
問題:フックがコマンドをブロックする
解決策: .claude-hook-pretooluse.sh のフックロジックを確認します。
すべての問題については references/troubleshooting-guide.md を読み込んでください。
リファレンスを読み込むタイミング
次の場合は references/git-workflows.md を読み込みます:
- Git の自動化を設定するとき
- プログラムで PR を作成するとき
- コミットメッセージの規約が必要なとき
- コミット前の検証パターンを確認するとき
次の場合は references/hooks-examples.md を読み込みます:
- カスタムフックを作成するとき
- フックのテンプレートが必要なとき
- 検証パターンを確認するとき
- ロギングやセキュリティを実装するとき
次の場合は references/cli-tool-integration.md を読み込みます:
- 複数の CLI ツールをオーケストレーションするとき
- ツール固有のパターンが必要なとき
- 並列実行の例を確認するとき
- ツール連携の問題をトラブルシューティングするとき
次の場合は references/security-best-practices.md を読み込みます:
- セキュリティガードを設定するとき
- 許可リストを設定するとき
- シークレットを管理するとき
- 危険な操作を防ぐとき
次の場合は references/troubleshooting-guide.md を読み込みます:
- コマンドの失敗をデバッグするとき
- タイムアウトが発生したとき
- フックが予期せず動作するとき
- セッションの状態に問題があるとき
同梱リソースの使用
リファレンス(references/)
- git-workflows.md - Git 自動化の完全なパターン
- hooks-examples.md - すべてのフックタイプと例
- cli-tool-integration.md - ツールのオーケストレーションパターン
- security-best-practices.md - セキュリティ設定ガイド
- troubleshooting-guide.md - よくある問題と解決策
テンプレート(templates/)
- custom-command-template.md - カスタムコマンドのテンプレート
- settings.json - セキュリティ設定の例
- .envrc.example - 環境変数の例
- github-workflow.yml - GitHub Actions 連携
- dangerous-commands.json - 危険なパターンのリスト
例
機能開発ワークフロー
git checkout -b feature/oauth && \
npm test && \
git add . && \
git commit -m "feat(auth): add OAuth support" && \
git push -u origin feature/oauth
CI/CD パイプライン
npm run lint && \
npm test && \
npm run build && \
bunx wrangler deploy
複数プロジェクトの更新
cd project1 && bun install && cd ../project2 && bun install
公式ドキュメント
- Claude Code Bash Tool:https://docs.claude.com/en/docs/claude-code/tools
- Hooks:https://docs.claude.com/en/docs/claude-code/hooks
- Custom Commands:https://docs.claude.com/en/docs/claude-code/custom-commands
質問や問題がありますか?
- よくある問題については
references/troubleshooting-guide.mdを確認してください - Git のパターンについては
references/git-workflows.mdを確認してください - 自動化については
references/hooks-examples.mdを参照してください - セキュリティについては
references/security-best-practices.mdを読み込んでください