From claude-code-bash-patterns
Provides Claude Code bash patterns for PreToolUse hooks, command chaining, CLI orchestration, git workflows, custom commands, and handling bash permissions, failures, security guards.
npx claudepluginhub secondsky/claude-skills --plugin claude-code-bash-patternsThis skill uses the workspace's default tool permissions.
**Status**: Production Ready ✅ | **Last Verified**: 2025-11-18
references/cli-tool-integration.mdreferences/git-workflows.mdreferences/hooks-examples.mdreferences/security-best-practices.mdreferences/troubleshooting-guide.mdscripts/bash-audit-logger.shscripts/dangerous-command-guard.pyscripts/package-manager-enforcer.shtemplates/custom-command-template.mdtemplates/dangerous-commands.jsontemplates/github-workflow.ymltemplates/settings.jsonCreates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Status: Production Ready ✅ | Last Verified: 2025-11-18
ls -la
bun install && bun run build && bun test
Create .claude-hook-pretooluse.sh:
#!/usr/bin/env bash
# PreToolUse hook - runs before every Bash command
echo "Running: $1"
Load references/hooks-examples.md for complete hook patterns.
Use when: Each command depends on previous success
git add . && git commit -m "message" && git push
Why: Stops chain if any command fails
Use when: Commands are independent
Message with multiple Bash tool calls in parallel
Load references/cli-tool-integration.md for parallel patterns.
Use when: Need to maintain state across commands
# Set environment variable
export API_KEY="sk-..."
# Use in later commands (same session)
curl -H "Authorization: Bearer $API_KEY" api.example.com
Use when: Long-running tasks
npm run dev &
# Get PID with $!
Use when: Need pre/post command logic
Load references/hooks-examples.md for all hook types.
cd "path with spaces")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
Load references/git-workflows.md for complete workflows including:
.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
Load references/hooks-examples.md for all hook types and examples.
bun install && bun run build
bunx wrangler deploy
gh pr create --title "Fix bug" --body "Description"
Load references/cli-tool-integration.md for complete tool patterns.
Create .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`
User can invoke with: /deploy
Load templates/custom-command-template.md for template.
settings.json:
{
"dangerousCommandsAllowList": [
"git push --force"
]
}
# ✅ Good: Use environment variables
export API_KEY="$SECURE_VALUE"
# ❌ Bad: Hardcode secrets
curl -H "Authorization: Bearer sk-abc123..."
Load references/security-best-practices.md for complete security guide.
npm test && git add . && git commit -m "message"
npm run lint && npm test && npm run build && bunx wrangler deploy
cd repo1 && git pull && cd ../repo2 && git pull
npm run dev &
Load references/cli-tool-integration.md for more patterns.
Solution: Increase timeout or use background mode
# Background mode
npm run dev &
Solution: Quote the path
cd "path with spaces/file.txt"
Solution: Check hook logic in .claude-hook-pretooluse.sh
Load references/troubleshooting-guide.md for all issues.
references/git-workflows.md when:references/hooks-examples.md when:references/cli-tool-integration.md when:references/security-best-practices.md when:references/troubleshooting-guide.md when:git checkout -b feature/oauth && \
npm test && \
git add . && \
git commit -m "feat(auth): add OAuth support" && \
git push -u origin feature/oauth
npm run lint && \
npm test && \
npm run build && \
bunx wrangler deploy
cd project1 && bun install && cd ../project2 && bun install
Questions? Issues?
references/troubleshooting-guide.md for common issuesreferences/git-workflows.md for git patternsreferences/hooks-examples.md for automationreferences/security-best-practices.md for security