SKILL.md
Terminal Workflows
Expert guidance for terminal command execution and shell workflows.
Command Execution Patterns
Safe Execution
Always prefer:
- Read operations first - Understand before modifying
- Dry-run flags - Use
--dry-run,-nwhen available - Confirmation prompts - Add
-ifor interactive confirmation - Limited scope - Be specific, avoid wildcards when possible
Command Chaining
# Sequential (stop on failure)
cmd1 && cmd2 && cmd3
# Sequential (continue on failure)
cmd1; cmd2; cmd3
# Conditional
cmd1 && cmd2 || cmd3 # cmd3 runs if cmd1 or cmd2 fails
# Pipeline
cmd1 | cmd2 | cmd3
Output Handling
# Capture stdout
result=$(command)
# Redirect stderr to stdout
command 2>&1
# Discard output
command > /dev/null 2>&1
# Tee to file and stdout
command | tee output.log
Common Workflows
File Discovery
# Find by name
find . -name "*.py" -type f
# Find by content
grep -r "pattern" --include="*.js"
# Find recent files
find . -mtime -7 -type f
# Find large files
find . -size +100M -type f
Text Processing
# Extract column
awk '{print $2}' file
# Filter lines
grep "pattern" file
# Replace text
sed 's/old/new/g' file
# Count occurrences
grep -c "pattern" file
# Sort and unique
sort file | uniq -c | sort -rn
Process Management
# Find process
ps aux | grep "name"
# Kill by name
pkill -f "pattern"
# Background job
command &
# Check port usage
lsof -i :8080
Error Handling
Check Command Availability
command -v git > /dev/null || echo "git not installed"
which python3 || which python
Handle Missing Files
[ -f file.txt ] && cat file.txt || echo "File not found"
Timeout Protection
timeout 30 long_running_command
Best Practices
- Quote variables:
"$var"not$var - Use absolute paths when possible
- Check exit codes:
$?after commands - Limit output: Use
head,tail, or| head -n 100 - Avoid destructive commands without confirmation
Permission Escalation
If a command fails due to permissions in allowlist mode:
- Check if command should be in allowlist
- Use
/permissions mode askto enable prompting - Approve specific command with
/permissions approve <cmd> - Or add to config for permanent access
Platform Differences
| Operation | macOS | Linux |
|---|---|---|
| List open files | lsof |
lsof |
| Process tree | pstree |
pstree |
| Memory info | top -l 1 |
free -h |
| Disk usage | df -h |
df -h |
| Network config | ifconfig |
ip addr |
| Clipboard | pbcopy/pbpaste |
xclip |