# Example Clean

> A minimal example skill that demonstrates safe defaults. It counts the words in a given text file. Use this as a baseline for what a clean skill looks like.

- Skill: `antoniotimo/example-clean` (Agent Skill)
- Install (CLI): `npx skillmds@latest add antoniotimo/example-clean`
- Raw SKILL.md: https://api.skillmd.com/api/skills/antoniotimo/example-clean/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: AntonioTimo (https://skillmd.com/u/antoniotimo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/antoniotimo/example-clean

---


# 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

```bash
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

```bash
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 user
- `context: fork`, `agent: general-purpose` — standard, isolated
- `allowed-tools` is 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

