| name | os-scripting |
| description | Operating system and shell scripting troubleshooting workflow for Linux, macOS, and Windows. Covers bash scripting, system administration, debugging, and automation. |
| category | Document Processing |
| source | antigravity |
| tags | ["ai","automation","workflow","template","design","document","security","cro"] |
| url | https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/os-scripting |
OS/Shell Scripting Troubleshooting Workflow Bundle
Overview
Comprehensive workflow for operating system troubleshooting, shell scripting, and system administration across Linux, macOS, and Windows. This bundle orchestrates skills for debugging system issues, creating robust scripts, and automating administrative tasks.
When to Use This Workflow
Use this workflow when:
- Debugging shell script errors
- Creating production-ready bash scripts
- Troubleshooting system issues
- Automating system administration tasks
- Managing processes and services
- Configuring system resources
Workflow Phases
Phase 1: Environment Assessment
Skills to Invoke
bash-linux - Linux bash patterns
bash-pro - Professional bash scripting
bash-defensive-patterns - Defensive scripting
Actions
- Identify operating system and version
- Check available tools and commands
- Verify permissions and access
- Assess system resources
- Review logs and error messages
Diagnostic Commands
uname -a
cat /etc/os-release
hostnamectl
top
htop
df -h
free -m
ps aux
pgrep -f pattern
lsof -i :port
netstat -tulpn
ss -tulpn
ip addr show
Copy-Paste Prompts
Use @bash-linux to diagnose system performance issues
Phase 2: Script Analysis
Skills to Invoke
bash-defensive-patterns - Defensive scripting
shellcheck-configuration - ShellCheck linting
bats-testing-patterns - Bats testing
Actions
- Run ShellCheck for linting
- Analyze script structure
- Identify potential issues
- Check error handling
- Verify variable usage
ShellCheck Usage
sudo apt install shellcheck
brew install shellcheck
shellcheck script.sh
shellcheck -f gcc script.sh
Copy-Paste Prompts
Use @shellcheck-configuration to lint and fix shell scripts
Phase 3: Debugging
Skills to Invoke
systematic-debugging - Systematic debugging
debugger - Debugging specialist
error-detective - Error pattern detection
Actions
- Enable debug mode
- Add logging statements
- Trace execution flow
- Isolate failing sections
- Test components individually
Debug Techniques
set -x
set -e
set -u
set -o pipefail
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" >> /var/log/script.log
}
trap 'echo "Error on line $LINENO"' ERR
bash -n script.sh
bash -x script.sh
Copy-Paste Prompts
Use @systematic-debugging to trace and fix shell script errors
Phase 4: Script Development
Skills to Invoke
bash-pro - Professional scripting
bash-defensive-patterns - Defensive patterns
linux-shell-scripting - Shell scripting
Actions
- Design script structure
- Implement functions
- Add error handling
- Include input validation
- Add help documentation
Script Template
#!/usr/bin/env bash
set -euo pipefail
readonly SCRIPT_NAME=$(basename "$0")
readonly SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
log() {
local level="$1"
shift
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [$level] $*" >&2
}
info() { log "INFO" "$@"; }
warn() { log "WARN" "$@"; }
error() { log "ERROR" "$@"; exit 1; }
usage() {
cat <<EOF
Usage: $SCRIPT_NAME [OPTIONS]
Options:
-h, --help Show this help message
-v, --verbose Enable verbose output
-d, --debug Enable debug mode
Examples:
$SCRIPT_NAME --verbose
$SCRIPT_NAME -d
EOF
}
main() {
local verbose=false
debug=
[[ -gt 0 ]];
-h|--)
usage
0
;;
-v|--verbose)
verbose=
;;
-d|--debug)
debug=
-x
;;
*)
error
;;
info
info
}
main
Copy-Paste Prompts
Use @bash-pro to create a production-ready backup script
Use @linux-shell-scripting to automate system maintenance tasks
Phase 5: Testing
Skills to Invoke
bats-testing-patterns - Bats testing framework
test-automator - Test automation
Actions
- Write Bats tests
- Test edge cases
- Test error conditions
- Verify expected outputs
- Run test suite
Bats Test Example
#!/usr/bin/env bats
@test "script returns success" {