What problem does it solve? Shell scripts written with GNU coreutils flags (sed -i, date -d, stat -c, timeout, grep -P) abort or silently degrade on macOS, where the BSD userland behaves differently. This Skill provides portable helper functions, a pitfall-to-portable-form mapping table, and a mechanical lint guard so scripts run identically on both platforms. ## Core Features & Use Cases - Portable helper library: guard-lib.sh provides bubbles_sed_inplace, bubbles_iso_to_epoch, bubbles_now_ms, bubbles_file_mtime_epoch, and bubbles_run_with_timeout to replace GNU-only commands. - Pitfall reference table: maps 15+ GNU-only constructs (mktemp --suffix, readlink -f, paste -sd without stdin operand, awk 3-arg match) to forms that work on both userlands. - Mechanical enforcement: macos-portability-guard.sh lints caller-supplied script surfaces for 13 non-portable construct classes, with a # portable-ok pragma for intentional exceptions. - Use Case: A selftest fails on macOS with "sed: -i requires an argument" — use this Skill to route the edit through bubbles_sed_inplace and verify with the portability guard before pushing. ## Quick Start Review my shell script for GNU-only constructs and rewrite them using the portable guard-lib.sh helpers so it runs on both Linux and macOS.