mcpField
O
os-scripting

os-scripting

github.com/sickn33Development48.7k79 installsUpdated today
Repository

About os-scripting

os-scripting is a workflow skill bundle for system troubleshooting, shell scripting, and administration across Linux, macOS, and Windows. It guides users through selected phases from environment assessment and debugging to testing and automation, with validation and safety checks.

Key features

  1. 01Environment and resource assessment
  2. 02ShellCheck-based script analysis
  3. 03Script debugging and development
  4. 04Bats testing and quality gates
  5. 05System troubleshooting and task automation

Use cases

  1. 01Diagnosing system performance or service failures
  2. 02Linting, debugging, and testing shell scripts
  3. 03Creating scripts for system maintenance
  4. 04Scheduling recurring administrative tasks

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill os-scripting

After installing, type/os-scriptingin Claude Code to confirm it loaded.

Details

From the project README

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

Execution scope

Select only needed phases. Most diagnostics below target Linux; check command availability and syntax on macOS/Windows. Inspect scripts before execution, run syntax/lint checks first, and use a disposable environment for unknown code. bash -x/set -x execute commands and can disclose secrets: do not trace credential handling. Service restarts, privileged installs and scheduled jobs require the applicable target authorization. The timer requires a matching reviewed backup.service; a timer alone does not perform a backup.

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
# 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
# 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
# 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
#!/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" in
            -h|--help)
                usage
                exit 0
                ;;
            -v|--verbose)
                verbose=true
                shift
                ;;
            -d|--debug)
                debug=true
                set -x
                shift
                ;;
            *)
                error "Unknown option: $1"
                ;;
        esac
    done

    info "Script started"
    # Your code here
    info "Script completed"
}

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
  1. Write Bats tests
  2. Test edge cases
  3. Test error conditions
  4. Verify expected outputs
  5. Run test suite
Bats Test Example
#!/usr/bin/env bats

@test "script returns success" {
    run ./script.sh
    [ "$status" -eq 0 ]
}

@test "script handles unknown arguments" {
    run ./script.sh --unknown
    [ "$status" -ne 0 ]
    [ "$output" == *"Unknown option:"* ]
}

@test "script shows help" {
    run ./script.sh --help
    [ "$status" -eq 0 ]
    [ "$output" == *"Usage:"* ]
}
Copy-Paste Prompts
Use @bats-testing-patterns to write tests for shell scripts
Phase 6: System Troubleshooting
Skills to Invoke
  • devops-troubleshooter - DevOps troubleshooting
  • incident-responder - Incident response
  • server-management - Server management
Actions
  1. Identify symptoms
  2. Check system logs
  3. Analyze resource usage
  4. Test connectivity
  5. Verify configurations
  6. Implement fixes
Troubleshooting Commands
# Check logs
journalctl -xe
tail -f /var/log/syslog
dmesg | tail

# Network troubleshooting
ping host
traceroute host
curl -v http://host
dig domain
nslookup domain

# Process troubleshooting
strace -p PID
lsof -p PID
iotop

# Disk troubleshooting
du -sh /*
find / -type f -size +100M
lsof | grep deleted
Copy-Paste Prompts
Use @devops-troubleshooter to diagnose server connectivity issues
Use @incident-responder to investigate system outage
Phase 7: Automation
Skills to Invoke
  • workflow-automation - Workflow automation
  • cicd-automation-workflow-automate - CI/CD automation
  • linux-shell-scripting - Shell scripting
Actions
  1. Identify automation opportunities
  2. Design automation workflows
  3. Implement scripts
  4. Schedule with cron/systemd
  5. Monitor automation health
Cron Examples
# Edit crontab
crontab -e

# Backup every day at 2 AM
0 2 * * * /path/to/backup.sh

# Clean logs weekly
0 3 * * 0 /path/to/cleanup.sh

# Monitor disk space hourly
0 * * * * /path/to/monitor.sh
Systemd Timer Example
# /etc/systemd/system/backup.timer
[Unit]
Description=Daily backup timer

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target
Copy-Paste Prompts
Use @workflow-automation to create automated system maintenance workflow

Common Troubleshooting Scenarios

High CPU Usage
top -bn1 | head -20
ps aux --sort=-%cpu | head -10
pidstat 1 5
Memory Issues
free -h
vmstat 1 10
cat /proc/meminfo
Disk Space
df -h
du -sh /* 2>/dev/null | sort -h
find / -type f -size +500M 2>/dev/null
Network Issues
ip addr show
ip route show
ss -tulpn
curl -v http://target
Service Failures
systemctl status service-name
journalctl -u service-name -f
systemctl restart service-name

Quality Gates

Before completing workflow, verify:

  • All scripts pass ShellCheck
  • Tests pass with Bats
  • Error handling implemented
  • Logging configured
  • Documentation complete
  • Automation scheduled

Related Workflow Bundles

  • development - Software development
  • cloud-devops - Cloud and DevOps
  • security-audit - Security testing
  • database - Database operations

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.

Comments

Markdown supported