Add 03-skills presentation: Skills for AI agents
This commit is contained in:
377
03-skills/presentation.md
Normal file
377
03-skills/presentation.md
Normal file
@@ -0,0 +1,377 @@
|
||||
<!-- 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 -->
|
||||
Reference in New Issue
Block a user