MetaClaw robust-error-handling-in-scripts

Use this skill when writing shell scripts, Python automation, or any unattended batch job. Ensure failures are detected, logged, and handled — never silently ignored.

install
source · Clone the upstream repo
git clone https://github.com/aiming-lab/MetaClaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiming-lab/MetaClaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/memory_data/skills/robust-error-handling-in-scripts" ~/.claude/skills/aiming-lab-metaclaw-robust-error-handling-in-scripts && rm -rf "$T"
manifest: memory_data/skills/robust-error-handling-in-scripts/SKILL.md
source content

Robust Error Handling in Scripts

Shell scripts:

set -euo pipefail  # Exit on error, undefined var, pipe failure
trap 'echo "Failed at line $LINENO"' ERR

Python scripts:

import logging, sys
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s')
try:
    main()
except Exception as e:
    logging.exception("Unhandled error: %s", e)
    sys.exit(1)

Retry with backoff for transient network/API failures:

from tenacity import retry, stop_after_attempt, wait_exponential
@retry(stop=stop_after_attempt(3), wait=wait_exponential(min=2, max=10))
def call_api(): ...