CCW · Lesson 3 · Internal review · not participant-facing
L3 Live Session Plan
Skills, Rules & MCPs
Full build plan for the July 16 live session: teaching map, timing, demo scripts, 28-slide deck, sources. Status: awaiting Giuseppe's approval.
Live: Wed Jul 16
Content: 75 min + Q&A 12 min
Slides: 28
Demo blocks: 6 (~44 min)
Cohort: Essedi · 8 seats · IT/EN
1 · What L3 teaches
A Rules
Constraints Claude loads automatically: project rules, global rules, scoped rules (paths:). Why rules live outside CLAUDE.md (keep it lean, each rule at home). The self-audit habit: a fresh session reviews your CLAUDE.md because the author cannot self-audit. The silent-failure warning: a misconfigured rule fails with zero warnings, so verify, don't trust.
B The global layer (~/.claude)
Taught from zero live (cut from the prework preview). Global CLAUDE.md, settings.json, global skills. The placement decision: applies to every project → global; applies to this work → project. Anchor: they have used it unknowingly since Week 2, grill-me lives there.
C Skills that grow into workflows + scripts + early hook
The 3 tiers from the prework: plain instructions → instructions plus a script (fixed code, exact every run, zero AI tokens) → scripts plus supporting files and templates. Build a tier-2 skill live from a real repeated workflow. Tier-3 composition: skills calling skills. Then the early hook as the natural next rung: a script is code your skill calls, a hook is code that fires itself. "The rule that keeps failing becomes a hook."
D MCPs + the mother project
Files are read, tools are used: MCP is the connector. One live connection (calendar, to confirm). The friction-twice decision gate so nobody over-installs. The agentic map: a central project whose docs other projects reference, the thing that makes the two-layer architecture personal.
E Operational literacy (rapid-fire)
Models and effort (which brain for which task, default in settings.json). Context window, /compact, usage monitoring. Git as part of the build loop. Live Server. Testing teaser: "prove it works", full method in L4.
· Close: the compounding loop
Error → rule → skill → hook. Every correction made once. The system improves every week.
2 · Session timing
| Block | Time | Cumulative |
| Show & tell + map of today | 10 min | 0:10 |
| Rules (Demo 1) | 10 min | 0:20 |
| Global layer (Demo 2) | 8 min | 0:28 |
| Skills + scripts (Demo 3) | 15 min | 0:43 |
| Early hook (Demo 4) | 4 min | 0:47 |
| MCP (Demo 5) | 8 min | 0:55 |
| Mother project / agentic map | 4 min | 0:59 |
| Operational rapid-fire (Demo 6) | 12 min | 1:11 |
| Testing teaser + loop + close | 4 min | 1:15 |
| Q&A | 12 min | 1:27 |
Buffer strategy (L3 is the highest cognitive-load week): Live Server and the usage minute are the first cuts; the hook demo degrades to concept-only if 5+ min behind at 0:43. Testing stays a teaser because L4 owns testing depth.
3 · The six demo blocks
DEMO 1 · 10' Self-audit → first real rule → silent failure
Setup: L1 demo-folder + pre-baked bloated CLAUDE.md (1 stale instruction, 1 repeated-mistake candidate) + pre-baked broken rule file using globs: instead of paths:.
- 0–2': fresh session: "Read this project's CLAUDE.md. What's stale, what's missing, what should become a rule?"
- 2–5': take one finding, Claude writes a rule file with
paths: scoping, show it loading in a new session
- 5–8': the silent failure: the
globs: rule gets ignored across many files with zero warnings; fix one line to paths:, same request now respects it
- 8–10': "which rule is true for everything you do?" → "never commit to main" becomes a global rule → bridge to Demo 2
ProofThe fresh session flags what the author missed (implementer cannot self-audit); one config line flips behavior with no error (misconfiguration is silent).
DEMO 2 · 5' The global layer tour
Setup: the two-root VS Code workspace from pre-L2 (~/.claude already in their sidebar).
- Open global CLAUDE.md → settings.json (point at the model default, pays off in the rapid-fire block) → ~/.claude/skills/ where grill-me already lives
- Run /grill-me in two different projects
ProofThe same skill fires in two projects: "you have used the global layer since Week 2 without knowing."
DEMO 3 · 10' Build a tier-2 skill with a script (centerpiece)
Setup: demo-folder weekly-status workflow (read open-tasks.md + clients.md → draft status → save as weekly-status-YYYY-MM-DD.md → archive the old one). The archive/filename step is the fragile part.
- 0–2': do it manually once, narrate the pain ("third Friday in a row")
- 2–5': "Turn this into a skill. Drafting can be flexible; the filename and archive step must be exact every time, use a script for that part"
- 5–7': read the generated SKILL.md + scripts/archive.sh aloud. Key line: you didn't write code, you described which step had to be exact
- 7–9': run /weekly-status: Claude drafts (judgment), the script archives (identical, no tokens)
- 9–10': tier-3 pointer: template + reference notes + skills calling other skills
ProofParticipants see the two natures in one run: narrated model steps vs. an instant deterministic script step. Fallback: pre-built skill on a branch.
DEMO 4 · 4' Early hook: rule vs enforcement
Framing: a script is exact code your skill calls; a hook is exact code that calls itself. Setup: the global "never commit to main" rule from Demo 1 + a prepared branch-guard hook.
- Ask Claude to commit to main: the written rule might stop it, show it can slip
- Install the hook, same request: blocked, visibly, every time
ProofRule text is advisory, the hook makes the action physically impossible. Slide line: "la regola che continua a fallire diventa un hook."
DEMO 5 · 8' MCP connected live + decision gate
Recommended MCP: Google Calendar (to confirm; universal for operators, visually obvious payoff).
- 0–1': collect 2–3 answers to the prework priming questions
- 1–5': connect the calendar MCP → "What's on my calendar this week? Build my Monday briefing from open-tasks.md + the calendar"
- 5–8': decision-gate round: each participant names their friction-twice tool, apply the gate together
ProofThe answer contains real events that exist in no project file: Claude reached a tool, not a file. Most participants get "not yet" from the gate, proving it is a filter, not a pitch.
DEMO 6 · 12' Operational literacy rapid-fire (4 micro-demos)
- Models & effort (3'): switch model mid-session; Haiku vs Sonnet vs Opus; default in settings.json (callback to Demo 2)
- Context + compact + usage (4'): watch the context indicator fill → /compact → early detail gone, todo.md survives (closes the loop with L1's memory-loss demo); 1' on the usage page
- Git (2'): "commit phase 1 with a clear message" → Claude runs git → show the commit on GitHub
- Live Server (2'): install extension, edit the HTML mockup, browser updates live
ProofCompact: files are the real memory, the window is not. Git: version control happens inside the loop, no commands memorized.
4 · The deck, slide by slide (28)
Apertura · 3 slides
01
Title
Skills, Rules & MCPs · "Smetti di ripeterti." · CCW L3 · 16 luglio
02
Show & tell
Question pill: "Cosa si è rotto? Cosa hai rifatto due volte?" 3 participants share.
03
Mappa di oggi
5 blocks: Regole → Livello globale → Skills che crescono → Collegare i tool → Operare da professionisti
Sezione A · Regole · 4 slides
04demo 1a
Self-audit
Chi scrive non può auto-verificarsi. Fresh session reads YOUR CLAUDE.md; what it finds becomes the first rule.
05
Rule files
Vincoli che si caricano da soli: project / global / scoped (paths:). CLAUDE.md stays lean.
06demo 1b
Silent failure
La config sbagliata non urla: wrong key → ignored, 0 warnings; 1 line fixed → rule fires. Verify, don't trust.
07
La regola di tutti i progetti
Bridge: "mai lavorare direttamente su main" applies everywhere. So where does it live? There is a layer above the project.
Sezione B · Il livello globale · 2 slides
08demo 2
Tour di ~/.claude
You have used it for two weeks: global CLAUDE.md · settings.json · grill-me lives HERE, runs in every project.
09
Cosa va dove
Every project? → global. This work only? → project. Who you are / default permissions / universal vs project skills.
Sezione C · Skills che crescono · 7 slides
10
I 3 gradini (dal pre-work)
T1 istruzioni · T2 + script · T3 + script e file di supporto. Power only when the task earns it.
11
Script: cervello e mani
Claude decides, the script executes. Flexible → Claude (judgment). Exact every time → script, zero tokens. You don't write code: you say which step must be exact.
12demo 3
Costruiamo la skill
Il report del venerdì, per sempre: once by hand, then never again. The fragile step goes to the script. /weekly-status live.
13
Anatomia di una tier-2
SKILL.md (instructions) + scripts/archive.sh (the exact step). L2's three habits can become gates inside the skill.
14
Tier 3: composizione
+ templates + reference notes + skills calling other skills. The composition seen in L2, now formalized.
15
Hook: un passo oltre
Script: code your skill calls. Hook: code that fires by itself, every time, with nobody remembering to call it.
16demo 4
Regola vs hook
The written rule can slip. Commit to main → the hook blocks it. "La regola che continua a fallire diventa un hook."
Sezione D · Collegare i tool · 4 slides
17
MCP
Un file si legge. Un tool si usa. MCP = the plug that connects Claude to calendar, email, database.
18demo 5
Calendario collegato
Il briefing del lunedì, dal vivo: connect the calendar, "prepara il mio lunedì" → tasks + real events.
19
Il gate: attrito ×2
Exercise pill: "quale tool ti ha fatto perdere tempo DUE volte?" Verdict together: yes / not yet. Most: not yet. Correct.
20
Il progetto madre
A central project the others consult: status, decisions, todos. How the global layer becomes YOUR way of working.
Sezione E · Operare da professionisti · 5 slides
21demo 6
Modelli e sforzo
Which brain for which task: Haiku fast · Sonnet daily · Opus deep reasoning. Default in settings.json (you saw it).
22demo 6
Contesto e compact
Context fills up → /compact summarizes and frees space. Details fade, FILES remain. Plus: where to see your usage.
23demo 6
Git nel loop
"Committa la fase 1" → Claude runs git. Every closed phase = a restore point. No commands memorized.
24demo 6
Live Server
VS Code extension: the browser updates by itself while Claude edits the files.
25
Provalo, non guardarlo
"Sembra giusto" is not enough: ask Claude to prove it. Taste today, full method in L4.
Chiusura · 3 slides
26
Il cerchio si chiude
errore → regola → skill → hook. Every correction made once. The system improves every week.
27
Cosa vi portate a casa
✓ 1 real rule ✓ 1 tier-2 skill ✓ ~/.claude configured ✓ the MCP gate ✓ models, context, git, testing
28
L4: capstone + Q&A
Bring what you shipped. Trusting output · testing · the project map. Q&A 10–15 min.
5 · Sources per block
| Content | Guide / source |
| Canonical L3 scope | curriculum/outline.md v1.6 · curriculum/inventory.md T2-01…T2-11 · curriculum-canonical.md Week 3 |
| 13 confirmed live concepts | sessions/lesson-3-skills-rules-mcps/planning-notes.md (Raffa-Giuse brainstorm Jul 8/9) |
| Skill tiers + scripts vocabulary | 3-l3-preview.md (participant prework, binding wording) + docs/raw/2026-06-30-skill-taxonomy-screenshots.md |
| Rules→hooks loop, scripts framing, global-vs-project tiers | Agentic map: map/lessons.md Lessons 28, 33/34, 38, 55 · full-map.md tier model |
| Silent-failure rules demo | curriculum/inventory.md T2-07 |
| Self-audit | inventory T2-08 |
| MCP friction-twice gate | Decision D3a, docs/raffaello-call-decisions.md · inventory T2-04 |
| Demo design standard (Setup/Action/Proof) | /curriculum-demo-audit skill (purpose-built for this workshop) |
| What NOT to teach (no swarms; one hand-made hook) | agentic-map evaluations: kieran-folder-as-agent.md · builder-checker-loop.md |
| Deck format | slides-l2.html design system + 3 patterns from the ai-literacy-bootcamp deck fork |
| What L1/L2 already taught | lesson-1-essentials/live-agenda.md · lesson-2-build-a-feature/outline.md + slides |
6 · Open decisions
1. Hooks placement. This plan teaches the hook concept mid-lesson (slides 15–16, 4-min demo) as the natural next rung after scripts: de-facto "option B+". Raffaello's position was bonus-only. Needs a 1-line alignment before the deck is built.
2. Demo MCP. Google Calendar recommended (universal, visual payoff). Planning-notes left this open: confirm for Essedi's context.
3. Pre-L3 send. Content is ready and wired into the academy manifest. Whether the announcement actually went out to participants: verify with Raffaello.