Skills: Teaching AI How to Think Lazy-loaded expertise for efficient, reliable agents The Problem === You have two bad options: **Option A: Stuff everything into the system prompt** - 🪣 20,000+ tokens of instructions, always loaded - 🔇 Context pollution degrades *all* tasks - 💸 You pay for expertise you're not using **Option B: Wing it** - 🎲 Agent improvises on critical tasks - 🔀 Inconsistent results every time - 😬 "Creative" solutions in production Neither is acceptable. === What is a Skill? === ```mermaid +render +width:100% graph TD S["🎯 Skill"] --> MD["📋 SKILL.md
Instructions, rules, edge cases"] S --> SC["⚙️ scripts/
Helper scripts"] S --> TM["📄 templates/
Output templates"] S --> AS["📦 assets/
Supporting files"] style MD fill:#4a9eff,stroke:#333,color:#fff style S fill:#ff6b6b,stroke:#333,color:#fff style SC fill:#51cf66,stroke:#333,color:#fff style TM fill:#51cf66,stroke:#333,color:#fff style AS fill:#51cf66,stroke:#333,color:#fff ``` **SKILL.md is the brain. Everything else is optional.** Lazy Loading === How it works: scan descriptions → load on demand → unload when done ```mermaid +render +width:100% graph LR subgraph BEFORE["❌ Without Skills"] direction TB BP["System Prompt
20,000+ tokens"] BP --> W1["Weather SOPs"] BP --> W2["Security SOPs"] BP --> W3["Deploy SOPs"] BP --> W4["Testing SOPs"] BP --> W5["... everything else"] end subgraph AFTER["✅ With Skills"] direction TB AP["System Prompt
~500 tokens
(descriptions only)"] AP -->|"task matches"| L1["Load: Weather
+2,000 tokens"] end style BEFORE fill:#ffcccc,stroke:#cc0000 style AFTER fill:#ccffcc,stroke:#00cc00 style BP fill:#ff6b6b,stroke:#333,color:#fff style AP fill:#51cf66,stroke:#333,color:#fff style L1 fill:#4a9eff,stroke:#333,color:#fff ``` **10 skills × 2,000 tokens = 20,000 always loaded → ~500 base + 2,000 on demand** SOPs = Reliability === The SKILL.md **is** the standard operating procedure. **Without Skill** 🎲 > "Check if my server is secure" - Runs random checks from training data - Misses half the important ones - Suggests changes that conflict with your infra **With Skill** 📋 > "Check if my server is secure" - Loads healthcheck SKILL.md - Follows structured audit checklist - Firewall → SSH → Updates → Services - Prioritised report with specific fixes **Runbook vs. "figure it out"** Skills vs. Tools vs. System Prompts === | Layer | Answers | Example | |---|---|---| | **Tools** | What *can* I do? | Read files, search web, send messages | | **System Prompt** | Who *am* I? | Helpful, concise, safety-conscious | | **Skills** | *How* do I do X well? | Step-by-step server security audit | ```mermaid +render +width:100% graph LR T["🔧 Tools
Capability"] --> A["🤖 Agent"] SP["🧠 System Prompt
Identity"] --> A SK["🎯 Skills
Expertise"] --> A style T fill:#ff6b6b,stroke:#333,color:#fff style SP fill:#ffd93d,stroke:#333,color:#000 style SK fill:#4a9eff,stroke:#333,color:#fff style A fill:#51cf66,stroke:#333,color:#fff ``` Tools without skills = workshop full of power tools, no training Real-World Examples === * **Weather Skill** ☀️ — Simple. ~50 lines. Query APIs, format forecasts, handle locations. Loaded when someone asks "what's the weather?" * **Healthcheck Skill** 🔒 — Structured security audit playbook. Firewall, SSH, updates, service exposure. Prioritised findings with specific remediations. * **SecureTransport Flow Engineering** 🔐 — Deep domain expertise. File transfer flows, PGP encryption, SFTP patterns, error log locations, testing harnesses. Months of tribal knowledge, instantly available. * **Skill Creator** 🏗️ — A meta-skill: a skill for *building skills*. Encodes the structure, best practices, and packaging conventions. The Bigger Picture === **Expertise Preservation** 🧠 - Skills capture tribal knowledge - Your best engineer writes it once - Every agent benefits, forever - People leave. Skills persist. **Composability** 🧩 - Modular: share, version, stack - Discoverable skill catalogues - ClawHub: a marketplace of expertise - Community flywheel: solve → share → improve ```mermaid +render +width:100% graph LR E["👩‍💻 Expert writes skill"] --> P["📦 Published to ClawHub"] P --> U["🤖 Agents everywhere use it"] U --> F["🔄 Community improves it"] F --> P style E fill:#ff6b6b,stroke:#333,color:#fff style P fill:#4a9eff,stroke:#333,color:#fff style U fill:#51cf66,stroke:#333,color:#fff style F fill:#ffd93d,stroke:#333,color:#000 ``` Skills = Efficiency + Reliability Load expertise on demand. Follow SOPs, not guesswork. Capture knowledge. Scale it. Share it. 🎯