Example: Clean Skill
A minimal skill demonstrating safe defaults. It does one job — count words in a file — and asks for nothing more than what it strictly needs.
Step 0 — Validate input
FILE_PATH="$1"
test -f "$FILE_PATH" || { echo "FILE_NOT_FOUND: $FILE_PATH"; exit 1; }
test ! -L "$FILE_PATH" || { echo "REFUSING_SYMLINK: $FILE_PATH"; exit 1; }
Step 1 — Count words
wc -w "$FILE_PATH"
Step 2 — Report
Tell the user the count in plain prose.
Why this passes audit
disable-model-invocation: true— only invoked by usercontext: fork,agent: general-purpose— standard, isolatedallowed-toolsis narrow: only the specific commands actually used (wc -w,test,echo)- Input validation: existence + symlink rejection
- No network calls, no writes, no sensitive paths read
- Description matches behavior exactly