Os Scripting
Operating system and shell scripting troubleshooting workflow for Linux, macOS, and Windows. Covers bash scripting, system administration, debugging, and automation.
mkdir -p ./skills/os-scripting && curl -sfL https://raw.githubusercontent.com/mayurrathi/awesome-agent-skills/main/skills/os-scripting/SKILL.md -o ./skills/os-scripting/SKILL.md Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).
Skill Content
# 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
1. Identify operating system and version
2. Check available tools and commands
3. Verify permissions and access
4. Assess system resources
5. Review logs and error messages
#### Diagnostic Commands
```bash
# System information
uname -a
cat /etc/os-release
hostnamectl
# Resource usage
top
htop
df -h
free -m
# Process information
ps aux
pgrep -f pattern
lsof -i :port
# Network status
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
1. Run ShellCheck for linting
2. Analyze script structure
3. Identify potential issues
4. Check error handling
5. Verify variable usage
#### ShellCheck Usage
```bash
# Install ShellCheck
sudo apt install shellcheck # Debian/Ubuntu
brew install shellcheck # macOS
# Run ShellCheck
shellcheck script.sh
shellcheck -f gcc script.sh
# Fix common issues
# - Use quotes around variables
# - Check exit codes
# - Handle errors properly
```
#### 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
1. Enable debug mode
2. Add logging statements
3. Trace execution flow
4. Isolate failing sections
5. Test components individually
#### Debug Techniques
```bash
# Enable debug mode
set -x # Print commands
set -e # Exit on error
set -u # Exit on undefined variable
set -o pipefail # Pipeline failure detection
# Add logging
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" >> /var/log/script.log
}
# Trap errors
trap 'echo "Error on line $LINENO"' ERR
# Test sections
bash -n script.sh # Syntax check
bash -x script.sh # Trace execution
```
#### 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
1. Design script structure
2. Implement functions
3. Add error handling
4. Include input validation
5. Add help documentation
#### Script Template
```bash
#!/usr/bin/env bash
set -euo pipefail
# Constants
readonly SCRIPT_NAME=$(basename "$0")
readonly SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
# Logging
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
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 function
main() {
local verbose=false
local debug=false
while [[ $# -gt 0 ]]; do
case "$1
🎯 Best For
- Debugging engineers
- QA teams
- UX researchers
- Product managers
- Claude users
💡 Use Cases
- Tracing runtime errors in production logs
- Identifying memory leaks
- Mapping user journeys
- Identifying friction points
📖 How to Use This Skill
- 1
Install the Skill
Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.
- 2
Load into Your AI Assistant
Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.
- 3
Apply Os Scripting to Your Work
Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.
- 4
Review and Refine
Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.
❓ Frequently Asked Questions
Can this debug production issues?
Yes, but always ensure you have proper logging and monitoring in place first.
Can this analyze user behavior data?
UX research skills work best when you provide session recordings, heatmaps, and analytics data.
How do I install Os Scripting?
Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/os-scripting/SKILL.md, ready to use.
Can I customize this skill for my team?
Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.
⚠️ Common Mistakes to Avoid
Debugging without context
Always provide the full error stack and surrounding code context for accurate debugging.
Over-relying on AI insights
UX decisions should combine AI analysis with direct user feedback and research.
Not reading the full skill
Skills contain important context and edge cases beyond the quick start.