tessl install https://github.com/secondsky/claude-skills --skill claude-code-bash-patternsgithub.com/secondsky/claude-skills
Claude Code Bash tool patterns with hooks, automation, git workflows. Use for PreToolUse hooks, command chaining, CLI orchestration, custom commands, or encountering bash permissions, command failures, security guards, hook configurations.
Review Score
18%
Validation Score
13/16
Implementation Score
0%
Activation Score
0%
Status: Production Ready ✅ | Last Verified: 2025-11-18
ls -labun install && bun run build && bun testCreate .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 pushWhy: Stops chain if any command fails
Use when: Commands are independent
Message with multiple Bash tool calls in parallelLoad 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.comUse 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 pushgit checkout -b feature/new && git add . && git commit -m "feat: new feature" && git push -u origin feature/newLoad 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
fiLoad references/hooks-examples.md for all hook types and examples.
bun install && bun run buildbunx wrangler deploygh 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 deploycd repo1 && git pull && cd ../repo2 && git pullnpm 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/oauthnpm run lint && \
npm test && \
npm run build && \
bunx wrangler deploycd project1 && bun install && cd ../project2 && bun installQuestions? 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