بنقرة واحدة
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 المهني
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.
| 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?