원클릭으로
shell
Run shell commands safely — correct quoting, exit-code handling, output capture, and timeouts.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run shell commands safely — correct quoting, exit-code handling, output capture, and timeouts.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | shell |
| description | Run shell commands safely — correct quoting, exit-code handling, output capture, and timeouts. |
| version | 0.1.0 |
The runtime gives you a real shell. Use it well: most command failures and data-loss accidents come from sloppy quoting, ignored exit codes, or unbounded commands — not from the tool itself. This skill is the discipline, not a wrapper.
0 means success; anything else is a failure. Never
assume a command worked because it printed something. In a script, fail fast:
set -euo pipefail
-e exits on the first error, -u errors on unset variables, -o pipefail
makes a pipeline fail if any stage fails (not just the last)."$var", not $var. Unquoted expansions split
on whitespace and glob — the classic source of "it worked until a path had a
space." For lists, use arrays: args=(--flag "value"); cmd "${args[@]}".out=$(cmd) captures stdout into a variable (trailing newlines stripped).cmd > out.txt 2> err.txt splits streams to files.cmd > all.txt 2>&1 merges stderr into stdout.cmd 2>/dev/null discards stderr only when you genuinely don't need it.timeout 30s some-slow-command
timeout exits 124 when it kills the command — check for it.rm, mv, glob deletes, and anything
with --force: print what will be affected first (ls, echo, --dry-run),
confirm it's what you expect, then run. Never rm -rf a path built from an
unvalidated variable.a | b stream a's stdout into b's stdin. With pipefail set,
the pipeline's exit code reflects any failed stage.&& / || chain on success / failure: build && test runs test only if
build succeeded.xargs turns a list into arguments; prefer -0 with find … -print0 to be
safe with odd filenames: find . -name '*.tmp' -print0 | xargs -0 rm.( … ) isolate cd and environment changes so they don't leak
into the rest of your script.set -e script)?timeout?Read, filter, select, aggregate, and join CSV / tabular data without spinning up a full data stack.
jq-style select, filter, and reshape over JSON and YAML — extract paths, map arrays, and filter records without writing throwaway code.
Write a dataset (array of records) to CSV, JSON, XLSX, or PDF through one interface — format chosen by the output extension.
Read, write, search, and edit files in the workspace safely — atomic writes, exact-match edits, and recursive content search.
Everyday git — clone, branch, stage, diff, commit, and push, with a safe, predictable workflow.
Make HTTP/REST requests with auth, custom headers, query/body, pagination, retries with backoff, and structured error handling.