一键导入
sh
Bash/shell scripting. NOT for Python utilities (use py) or persistent CLI tools (use cli).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Bash/shell scripting. NOT for Python utilities (use py) or persistent CLI tools (use cli).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Development wisdom and workflow rules. NOT for project-specific conventions (those live in CLAUDE.md, edit via wisdom).
The `BUGS.md` open-issues queue — entry format, lifecycle, pruning to diary. NOT for the record-don't-fix policy (that's CLAUDE.md Bug Triage Protocol), NOT for resolved-bug history (use /diary), NOT for feature backlog (use TODO.md/specs).
Terminal demo GIF + MP4 recordings for READMEs and social (asciinema + agg + ffmpeg). NOT for general Makefile targets (use software) or GUI screenshots (use visual).
Go development. NOT for non-Go code (use rs, py, ts, tsx, or sh).
Humanize text: strip AI-isms and add real voice. NOT for drafting new copy (use writing).
Python development. NOT for shell scripting (use sh) or non-Python code.
| name | sh |
| description | Bash/shell scripting. NOT for Python utilities (use py) or persistent CLI tools (use cli). |
| when_to_use | editing .sh files or writing shell scripts |
Requires the software skill's code.md for shared naming, style, and design
rules. Below are shell-specific additions.
set -Eeuo pipefail at top, NEVER rely on set -e alone for pipelinestmp=$(mktemp -d) + trap 'rm -rf -- "$tmp"' EXIT for transient files; NEVER hand-roll /tmp/script-$$find output with while IFS= read -r -d '' < <(find ... -print0) or mapfile -t arr < <(cmd); NEVER for f in $(find ...) or for f in $(ls)do/then/else on own line, NEVER after ; or &&"${VAR:-default}" for optional, "${VAR:?msg}" for required"$VAR" not $VAR[[ ]] not [ ] (bash scripts)flag=false then if $flag; then (not string comparison)] when then is on next lineshopt -s globstar + **/*.ext over find for simple recursionwhile when loop body sets variables (subshell loses state)trap 'cleanup' INT TERM for graceful shutdownwait after backgroundingSEED="/preferred/path"
[ -d "$SEED" ] || SEED="fallback/path"
cat <<EOF for multi-line output<<'EOF' for no expansion; then or ; dosudo (ask user for privileged ops)