bash-scripting
Bash Scripting Workflow
Overview
Specialized workflow for creating robust, production-ready bash scripts with defensive programming patterns, comprehensive error handling, and automated testing.
When to Use This Workflow
Use this workflow when:
- Creating automation scripts
- Writing system administration tools
- Building deployment scripts
- Developing backup solutions
- Creating CI/CD scripts
Workflow Phases
Phase 1: Script Design
#### Skills to Invoke
bash-pro- Professional scripting
bash-defensive-patterns- Defensive patterns
#### Actions
1. Define script purpose
2. Identify inputs/outputs
3. Plan error handling
4. Design logging strategy
5. Document requirements
#### Copy-Paste Prompts
Use @bash-pro to design production-ready bash scriptPhase 2: Script Structure
#### Skills to Invoke
bash-pro- Script structure
bash-defensive-patterns- Safety patterns
#### Actions
1. Add shebang and strict mode
2. Create usage function
3. Implement argument parsing
4. Set up logging
5. Add cleanup handlers
#### Copy-Paste Prompts
Use @bash-defensive-patterns to implement strict mode and error handlingPhase 3: Core Implementation
#### Skills to Invoke
bash-linux- Linux commands
linux-shell-scripting- Shell scripting
#### Actions
1. Implement main functions
2. Add input validation
3. Create helper functions
4. Handle edge cases
5. Add progress indicators
#### Copy-Paste Prompts
Use @bash-linux to implement system commandsPhase 4: Error Handling
#### Skills to Invoke
bash-defensive-patterns- Error handling
error-handling-patterns- Error patterns
#### Actions
1. Add trap handlers
2. Implement retry logic
3. Create error messages
4. Set up exit codes
5. Add rollback capability
#### Copy-Paste Prompts
Use @bash-defensive-patterns to add comprehensive error handlingPhase 5: Logging
#### Skills to Invoke
bash-pro- Logging patterns
#### Actions
1. Create logging function
2. Add log levels
3. Implement timestamps
4. Configure log rotation
5. Add debug mode
#### Copy-Paste Prompts
Use @bash-pro to implement structured loggingPhase 6: Testing
#### Skills to Invoke
bats-testing-patterns- Bats testing
shellcheck-configuration- ShellCheck
#### Actions
1. Write Bats tests
2. Run ShellCheck
3. Test edge cases
4. Verify error handling
5. Test with different inputs
#### Copy-Paste Prompts
Use @bats-testing-patterns to write script testsUse @shellcheck-configuration to lint bash scriptPhase 7: Documentation
#### Skills to Invoke
documentation-templates- Documentation
#### Actions
1. Add script header
2. Document functions
3. Create usage examples
4. List dependencies
5. Add troubleshooting section
#### Copy-Paste Prompts
Use @documentation-templates to document bash scriptScript Template
#!/usr/bin/env bash
set -euo pipefail
readonly SCRIPT_NAME=$(basename "$0")
readonly SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"; }
error() { log "ERROR: $*" >&2; exit 1; }
usage() { cat <<EOF
Usage: $SCRIPT_NAME [OPTIONS]
Options:
-h, --help Show help
-v, --verbose Verbose output
EOF
}
main() {
log "Script started"
# Implementation
log "Script completed"
}
main "$@"
Quality Gates
- [ ] ShellCheck passes
- [ ] Bats tests pass
- [ ] Error handling works
- [ ] Logging functional
- [ ] Documentation complete
Related Workflow Bundles
os-scripting- OS scripting
linux-troubleshooting- Linux troubleshooting
cloud-devops- DevOps automation
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.