skills/skill-creator/SKILL.md
Skills are compact triggerable workflows. Metadata is always visible; body loads only after trigger; references/scripts/assets load only as needed.
SKILL.md lean; Codex is already capable.description.description.name + description; local OpenClaw skills may also use metadata, homepage, allowed-tools, user-invocable, license.references/; scripts to scripts/; templates/media to assets/.skill-name/
SKILL.md
scripts/ optional deterministic helpers
references/ optional docs loaded only when needed
assets/ optional output resources/templates
agents/ optional UI metadata
---
name: pdf-tools
description: "Inspect, split, merge, OCR, redact, or convert PDFs with local CLI tools."
---
# PDF tools
Use for PDF manipulation. Prefer deterministic scripts for page edits.
## Workflow
1. Inspect file/page count.
2. Choose exact operation.
3. Write output beside input unless user asked otherwise.
4. Render/verify changed pages.
python skills/skill-creator/scripts/quick_validate.py skills/<name>
python - <<'PY'
from pathlib import Path
import yaml
for p in Path("skills").glob("*/SKILL.md"):
text=p.read_text()
if not text.startswith("---\n"):
raise SystemExit(f"missing frontmatter: {p}")
fm=text.split("---",2)[1]
yaml.safe_load(fm)
print("ok")
PY
quick_validate.py is conservative; repo-local frontmatter may allow keys beyond public skill bundles.