378 lines
8.4 KiB
Markdown
378 lines
8.4 KiB
Markdown
<!-- column_layout: [1, 8, 1] -->
|
||
<!-- column: 0 -->
|
||
<!-- column: 1 -->
|
||
<!-- jump_to_middle -->
|
||
<!-- alignment: center -->
|
||
<!-- font_size: 5 -->
|
||
Skills: Teaching AI How to Think
|
||
<!-- font_size: 2 -->
|
||
Lazy-loaded expertise for efficient, reliable agents
|
||
<!-- no_footer -->
|
||
<!-- speaker_note: Title slide. Core message: skills make agents both smarter AND cheaper to run. -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- column_layout: [1, 3, 1] -->
|
||
<!-- column: 1 -->
|
||
<!-- alignment: center -->
|
||
<!-- font_size: 4 -->
|
||
The Problem
|
||
===
|
||
<!-- reset_layout -->
|
||
<!-- font_size: 2 -->
|
||
<!-- alignment: left -->
|
||
<!-- new_line -->
|
||
<!-- pause -->
|
||
|
||
You have two bad options:
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
**Option A: Stuff everything into the system prompt**
|
||
<!-- new_line -->
|
||
<!-- pause -->
|
||
|
||
- 🪣 20,000+ tokens of instructions, always loaded
|
||
- 🔇 Context pollution degrades *all* tasks
|
||
- 💸 You pay for expertise you're not using
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
**Option B: Wing it**
|
||
<!-- new_line -->
|
||
<!-- pause -->
|
||
|
||
- 🎲 Agent improvises on critical tasks
|
||
- 🔀 Inconsistent results every time
|
||
- 😬 "Creative" solutions in production
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
<!-- alignment: center -->
|
||
<!-- font_size: 2 -->
|
||
Neither is acceptable.
|
||
===
|
||
|
||
<!-- speaker_note: Set up the tension. Everyone building agents hits this wall. -->
|
||
<!-- no_footer -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- font_size: 4 -->
|
||
What is a Skill?
|
||
===
|
||
<!-- font_size: 2 -->
|
||
<!-- pause -->
|
||
|
||
```mermaid +render +width:100%
|
||
graph TD
|
||
S["🎯 Skill"] --> MD["📋 SKILL.md<br/>Instructions, rules, edge cases"]
|
||
S --> SC["⚙️ scripts/<br/>Helper scripts"]
|
||
S --> TM["📄 templates/<br/>Output templates"]
|
||
S --> AS["📦 assets/<br/>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
|
||
```
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
<!-- alignment: center -->
|
||
|
||
**SKILL.md is the brain. Everything else is optional.**
|
||
|
||
<!-- speaker_note: The SKILL.md IS the SOP. Scripts and templates are scaffolding. -->
|
||
<!-- no_footer -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- font_size: 4 -->
|
||
Lazy Loading
|
||
===
|
||
<!-- font_size: 2 -->
|
||
<!-- alignment: center -->
|
||
<!-- pause -->
|
||
|
||
How it works: scan descriptions → load on demand → unload when done
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
```mermaid +render +width:100%
|
||
graph LR
|
||
subgraph BEFORE["❌ Without Skills"]
|
||
direction TB
|
||
BP["System Prompt<br/>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<br/>~500 tokens<br/>(descriptions only)"]
|
||
AP -->|"task matches"| L1["Load: Weather<br/>+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
|
||
```
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
**10 skills × 2,000 tokens = 20,000 always loaded → ~500 base + 2,000 on demand**
|
||
|
||
<!-- speaker_note: This is the efficiency win. 10x reduction in baseline context. Analogy: a pro doesn't carry every manual — they know which shelf to reach for. -->
|
||
<!-- no_footer -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- font_size: 4 -->
|
||
SOPs = Reliability
|
||
===
|
||
<!-- font_size: 2 -->
|
||
<!-- pause -->
|
||
|
||
The SKILL.md **is** the standard operating procedure.
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
<!-- column_layout: [1, 1] -->
|
||
<!-- column: 0 -->
|
||
<!-- font_size: 2 -->
|
||
|
||
**Without Skill** 🎲
|
||
<!-- new_line -->
|
||
|
||
> "Check if my server is secure"
|
||
<!-- new_line -->
|
||
|
||
- Runs random checks from training data
|
||
- Misses half the important ones
|
||
- Suggests changes that conflict with your infra
|
||
|
||
<!-- pause -->
|
||
<!-- column: 1 -->
|
||
<!-- font_size: 2 -->
|
||
|
||
**With Skill** 📋
|
||
<!-- new_line -->
|
||
|
||
> "Check if my server is secure"
|
||
<!-- new_line -->
|
||
|
||
- Loads healthcheck SKILL.md
|
||
- Follows structured audit checklist
|
||
- Firewall → SSH → Updates → Services
|
||
- Prioritised report with specific fixes
|
||
|
||
<!-- reset_layout -->
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
<!-- alignment: center -->
|
||
<!-- font_size: 2 -->
|
||
|
||
**Runbook vs. "figure it out"**
|
||
|
||
<!-- speaker_note: This is the reliability win. Same request, wildly different outcomes. Like giving a junior engineer a runbook vs saying figure it out. -->
|
||
<!-- no_footer -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- font_size: 4 -->
|
||
Skills vs. Tools vs. System Prompts
|
||
===
|
||
<!-- font_size: 2 -->
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
| 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 |
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
```mermaid +render +width:100%
|
||
graph LR
|
||
T["🔧 Tools<br/>Capability"] --> A["🤖 Agent"]
|
||
SP["🧠 System Prompt<br/>Identity"] --> A
|
||
SK["🎯 Skills<br/>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
|
||
```
|
||
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
<!-- alignment: center -->
|
||
|
||
Tools without skills = workshop full of power tools, no training
|
||
|
||
<!-- speaker_note: All three layers are needed. Tools are hands, prompts are personality, skills are expertise. -->
|
||
<!-- no_footer -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- font_size: 4 -->
|
||
Real-World Examples
|
||
===
|
||
<!-- font_size: 2 -->
|
||
<!-- incremental_lists: true -->
|
||
<!-- new_line -->
|
||
|
||
* **Weather Skill** ☀️ — Simple. ~50 lines. Query APIs, format forecasts, handle locations. Loaded when someone asks "what's the weather?"
|
||
<!-- new_line -->
|
||
|
||
* **Healthcheck Skill** 🔒 — Structured security audit playbook. Firewall, SSH, updates, service exposure. Prioritised findings with specific remediations.
|
||
<!-- new_line -->
|
||
|
||
* **SecureTransport Flow Engineering** 🔐 — Deep domain expertise. File transfer flows, PGP encryption, SFTP patterns, error log locations, testing harnesses. Months of tribal knowledge, instantly available.
|
||
<!-- new_line -->
|
||
|
||
* **Skill Creator** 🏗️ — A meta-skill: a skill for *building skills*. Encodes the structure, best practices, and packaging conventions.
|
||
|
||
<!-- speaker_note: Range from trivial to deeply complex. The ST skill is a great example of tribal knowledge capture. -->
|
||
<!-- no_footer -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- font_size: 4 -->
|
||
The Bigger Picture
|
||
===
|
||
<!-- font_size: 2 -->
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
<!-- column_layout: [1, 1] -->
|
||
<!-- column: 0 -->
|
||
|
||
**Expertise Preservation** 🧠
|
||
<!-- new_line -->
|
||
|
||
<!-- incremental_lists: true -->
|
||
|
||
- Skills capture tribal knowledge
|
||
- Your best engineer writes it once
|
||
- Every agent benefits, forever
|
||
- People leave. Skills persist.
|
||
|
||
<!-- pause -->
|
||
<!-- column: 1 -->
|
||
|
||
**Composability** 🧩
|
||
<!-- new_line -->
|
||
|
||
<!-- incremental_lists: true -->
|
||
|
||
- Modular: share, version, stack
|
||
- Discoverable skill catalogues
|
||
- ClawHub: a marketplace of expertise
|
||
- Community flywheel: solve → share → improve
|
||
|
||
<!-- reset_layout -->
|
||
<!-- pause -->
|
||
<!-- new_line -->
|
||
|
||
```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
|
||
```
|
||
|
||
<!-- speaker_note: This is the strategic argument. Skills aren't just operational convenience — they're knowledge management that actually works. -->
|
||
<!-- no_footer -->
|
||
<!-- end_slide -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- column_layout: [1, 8, 1] -->
|
||
<!-- column: 0 -->
|
||
<!-- column: 1 -->
|
||
<!-- jump_to_middle -->
|
||
<!-- alignment: center -->
|
||
<!-- font_size: 3 -->
|
||
Skills = Efficiency + Reliability
|
||
<!-- new_line -->
|
||
<!-- font_size: 2 -->
|
||
|
||
Load expertise on demand. Follow SOPs, not guesswork.
|
||
|
||
Capture knowledge. Scale it. Share it.
|
||
|
||
<!-- new_line -->
|
||
<!-- font_size: 2 -->
|
||
🎯
|
||
<!-- no_footer -->
|
||
<!-- speaker_note: Closing. The question isn't whether your agents need skills — it's what expertise you'd encode first. -->
|
||
<!-- end_slide -->
|