# Multi-File Skill Structure **Purpose**: Example of a skill with supporting files and scripts --- ## Directory Structure ``` pdf-processing/ ├── SKILL.md # Overview and quick start ├── FORMS.md # Form field mappings ├── REFERENCE.md # API details └── scripts/ ├── fill_form.py # Utility to populate forms └── validate.py # Check PDFs for required fields ``` --- ## SKILL.md ```yaml --- name: pdf-processing description: Extract text, fill forms, merge PDFs. Use when working with PDF files. allowed-tools: Read, Bash(python:*) --- # PDF Processing ## Quick start Extract text: ```python import pdfplumber with pdfplumber.open("doc.pdf") as pdf: text = pdf.pages[0].extract_text() ``` For form filling, see FORMS.md (example file). For detailed API reference, see REFERENCE.md (example file). ## Requirements ```bash pip install pypdf pdfplumber ``` ``` --- ## Key Patterns 1. **Keep SKILL.md concise** (<500 lines) 2. **Reference supporting files** with markdown links 3. **One level deep** - link directly, avoid nested references 4. **Scripts are executed, not loaded** - saves context tokens --- ## Script Usage In SKILL.md, tell Claude to run (not read): ```markdown Run the validation script: python scripts/validate.py input.pdf ``` Output goes to Claude, script content stays out of context. --- ## Related - `../concepts/agent-skills.md` - Skills overview - `../../lookup/skill-metadata.md` - Metadata fields **Reference**: https://docs.anthropic.com/en/docs/claude-code/skills