ワンクリックで
bash-linux
Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Senior agent organizer with expertise in assembling and coordinating multi-agent teams. Your focus spans task analysis, agent capability mapping, workflow design, and team optimization.
AI agent design principles. Agent loops, tool calling, memory architectures, multi-agent coordination, human-in-the-loop gates, and guardrails. Use when building AI agents, autonomous workflows, or any system where an LLM plans and executes multi-step tasks.
API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.
Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.
AI operational modes (brainstorm, implement, debug, review, teach, ship, orchestrate). Use to adapt behavior based on task type.
| name | bash-linux |
| description | Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems. |
| allowed-tools | Read, Write, Edit, Glob, Grep |
| version | 1.0.0 |
| last-updated | "2026-03-12T00:00:00.000Z" |
| applies-to-model | gemini-2.5-pro, claude-3-7-sonnet |
The terminal is a tool, not a magic box. Understand what a command does before you run it with elevated privileges.
sudo without explaining why it's necessary--dry-run or echo firstrm -rf on a variable that might be empty = disaster — guard itset -euo pipefailEvery shell script should start with:
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
set -e — exit on any errorset -u — exit on undefined variableset -o pipefail — fail if any command in a pipe failsIFS — safer word splitting# ❌ Unsafe — if DIR is empty, this deletes /
rm -rf "$DIR/"
# ✅ Safe — guard before destructive operation
if [[ -z "$DIR" ]]; then
echo "Error: DIR is not set" >&2
exit 1
fi
rm -rf "$DIR/"
# File/directory checks
[[ -f "$file" ]] # exists and is a regular file
[[ -d "$dir" ]] # exists and is a directory
[[ -z "$var" ]] # string is empty
[[ -n "$var" ]] # string is not empty
# Numeric comparison (use (( )) for integers)
(( count > 0 ))
(( $? == 0 ))
# Trap errors and print context
trap 'echo "Error on line $LINENO" >&2' ERR
# Run a command and handle failure explicitly
if ! command_that_might_fail; then
echo "Command failed — aborting" >&2
exit 1
fi
# Or with ||
do_something || { echo "Failed"; exit 1; }
# Files modified in last 24h
find . -mtime -1 -type f
# Files matching pattern, excluding directories
find . -name "*.log" -not -path "*/node_modules/*"
# Search contents
grep -r "pattern" . --include="*.ts" -l # list files
grep -r "pattern" . --include="*.ts" -n # with line numbers
# Find process using a port
lsof -i :3000
ss -tlnp | grep :3000 # on Linux
# Kill by port
kill -9 $(lsof -ti :3000)
# Background + disown
long_running_command &
disown $!
# Count occurrences
cat file.log | grep "ERROR" | wc -l
# Extract column from CSV
cut -d',' -f2 data.csv
# Unique sorted values
sort file.txt | uniq -c | sort -rn
#!/usr/bin/env bash
set -euo pipefail
# ── Config ──────────────────────────────
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TARGET="${1:-}"
# ── Validate ────────────────────────────
if [[ -z "$TARGET" ]]; then
echo "Usage: $(basename "$0") <target>" >&2
exit 1
fi
# ── Main ────────────────────────────────
main() {
echo "Processing: $TARGET"
# ... logic here
}
main "$@"
date syntax differs between macOS BSD and Linux GNU — use python3 -c "..." for portable date mathsed -i needs an empty string argument on macOS: sed -i '' 's/old/new/' file#!/usr/bin/env bash over #!/bin/bash for portabilityWhen this skill produces or reviews code, structure your output as follows:
━━━ Bash Linux Report ━━━━━━━━━━━━━━━━━━━━━━━━
Skill: Bash Linux
Language: [detected language / framework]
Scope: [N files · N functions]
─────────────────────────────────────────────────
✅ Passed: [checks that passed, or "All clean"]
⚠️ Warnings: [non-blocking issues, or "None"]
❌ Blocked: [blocking issues requiring fix, or "None"]
─────────────────────────────────────────────────
VBC status: PENDING → VERIFIED
Evidence: [test output / lint pass / compile success]
VBC (Verification-Before-Completion) is mandatory. Do not mark status as VERIFIED until concrete terminal evidence is provided.
Slash command: /audit or /review
Active reviewers: logic · security · devops
sudo — hallucinating sudo for scripts or directories owned by the local user.$CMD instead of "$CMD", leading to word splitting and globbing disasters.rm -rf — deleting variables without checking if they are empty first ([[ -z "$DIR" ]]).pipefail — writing cat file | grep X | cut -d without set -o pipefail, hiding failures.ls — scraping ls output instead of using find or globbing.Review these questions before generating Bash scripts or commands:
✅ Does the script start with `set -euo pipefail`?
✅ Are all variable expansions wrapped in double quotes to prevent splitting?
✅ Did I verify that `sudo` is absolutely required for this operation?
✅ Are destructive operations (`rm`, `mv`) properly guarded with condition checks?
✅ Did I use the most robust tool (e.g., `find` instead of `ls`) for the job?