diff --git a/.claude/agents/presentation-learning-journey.md b/.claude/agents/presentation-learning-journey.md index 21df218..f88b5bb 100644 --- a/.claude/agents/presentation-learning-journey.md +++ b/.claude/agents/presentation-learning-journey.md @@ -181,3 +181,4 @@ After completing changes, report to the user: - **2026-04-24 Skills emoji updated + 2 new slides inserted at 38-39 (63 → 65 slides)**: Edit 1 — slide 37's h1 emoji changed from `🎓` (graduation cap) to `🎯` (target) to match the Skills pillar-footer card emoji established on slide 14 and used across all 12 pillar footers. Edit 2 — new slide 38 ("Create your first skill", `data-level="skills"`) inserted with a `.two-col` layout: two `.col-card` divs (both green `#4caf50` border-left) for Method 1 (write by prompting) and Method 2 (use Anthropic's `skill-creator`), followed by an inline amber warning box (`background: #fff3e0; border-left: 4px solid #ff9800`) flagging the wrong-structure gotcha of Method 1. Edit 3 — new slide 39 ("Skill config fields with frontmatter", `data-level="skills"`) mirrors slide 29's agent field-table pattern exactly: 8 field rows using `.field-row` / `.field-name` / `.field-desc` / `.field-enforced` / `.pill-harness` / `.pill-prompt` CSS classes, italic intro sentence, and a centered `.fafafa` footnote callout for `description`. Old slides 38-63 renumbered to 40-65 via Python sentinel replacement (descending-order sentinel phase + resolve phase). **Redundancy flag**: old Skills section opener (was slide 39, now slide 41 — `data-level="skills"`, `section-slide` class, "Topic 2 — What the Weather Reporter Knows") is now downstream of the new teaching slides 38-39 which already fire `→ skills` earlier. Same pattern as the CLAUDE.md dual-fire situation at slides 33 and 52. Recommended: keep slide 41 as a breathing-space divider into the weather-reporter narrative arc; the journey bar will not re-fire (same level). Final section-divider positions: **Agents=23, Skills=38 (first skills data-level), Context=47, CLAUDE.md=52, Commands=58, Workflow=61**. Total slides: **65**. - **2026-04-24 context-section concept-intro enrichment (65 → 68 slides)**: (1) Green pill `✅ Fresh every chat` (bg `#2e7d32`) added to slide 41 as the first pill before the 2 existing red pills — visual order green/property first, red/pitfalls after. (2) New slide 42 ("Claude's Brain", `data-level="context"`) and slide 43 ("What Loads at Session Start", `data-level="context"`) inserted between slide 41 and the old Skills section opener (old 42 → 44). Both new slides pull content forward from the old deep-dive slides 49/50 (which become slides 51/52 after the +2 renumber). Both carry full pillar-footers with Context active. Renumber technique: Python sentinel with per-occurrence targeting — `data-slide="42" data-level="skills"` and `data-slide="43">` were each targeted individually before the bulk 44-66→46-68 sweep, because slides 42/43 now have two occurrences each (new context + old skills). The CSS rule `.slide[data-slide="1"]` creates a false-positive when counting `data-slide` occurrences via regex — use `Counter` + ignore the CSS line, or grep for `
Imagine Claude has a brain that holds everything it's aware of right now — your question, every file it's opened, every tool result, every word it's said back to you. If a thought isn't in the brain, Claude can't use it. Simple as that.
+
The moment you open Claude Code, certain things land in Claude's brain before you've typed a word. The rest waits in the wings — only loaded when you actually need it. This is called progressive disclosure.
-
+
+
Skills are the specific things the reporter has been trained to do. Our reporter has two: fetch the data, and render it as a card.
-When someone joins your team, they have a role (agent), but they also go through specific training modules — how to use the CRM, how to write a proposal, how to run a standup. Each training module is a skill.
-orchestration-workflow/weather.svg. This skill is invoked directly by the command.
- Repeatable step-by-step recipes — the instruction manual that makes Claude run the same playbook every time.
+Each skill has its own knowledge and methods. The reporter uses the right skill for the right step. Claude works the same way.
-"If you do something more than once a day, turn it into a skill."
-The rule is simple: anything you're explaining to Claude over and over is a skill waiting to be written down. The weather reporter's skills are a perfect example:
-weather-fetcher.
- weather-svg-creator.
- Skills are how repetition becomes reliability. Write it down once, and Claude does it the same way forever — or until you update the skill.
-The weather-agent is the person with the job title "Weather Reporter".
It defines the role and behavior: use Open-Meteo, return temperature, track history in memory.
-The weather-fetcher skill is the specific training on how to fetch weather data.
It contains exact instructions:
-current.temperature_2m from the responseOne agent can have multiple skills, and one skill can be used by multiple agents. Skills are reusable building blocks. Agents are the people who use them.
-Skills are plain markdown files. If you can write a recipe, you can write a skill.
-Create .claude/skills/<your-skill-name>/SKILL.md in your project. That's it.
.claude/skills/weather-fetcher/SKILL.md. Or ask Claude: "Turn this into a skill."
- The skill contains instructions, not code. It tells Claude how to do something using its existing tools.
-The small config block at the top of a SKILL.md (the "frontmatter") controls how the skill behaves:
-/slash-command. Defaults to directory name
- false to hide from / menu — weather-fetcher uses this because it's agent-only
- haiku, sonnet, or opus
- fork to run in isolated subagent context
- User-invocable: appears in / menu, user runs it directly (like weather-svg-creator). Agent-preloaded: set user-invocable: false, then list it in an agent's skills: field — it becomes domain knowledge injected into that agent (like weather-fetcher).
Now that you've met the reporter and know their skills, let's understand what they can actually hold in mind at once. Every agent — including the weather reporter — gets its own fresh brain.
-Imagine Claude has a brain that holds everything it's aware of right now — your question, every file it's opened, every tool result, every word it's said back to you. If a thought isn't in the brain, Claude can't use it. Simple as that.
-
- When the weather-agent is dispatched, it gets its own fresh brain — and weather-fetcher is pinned into it at startup via the skills: field. Everything you give Claude in a conversation lands in its brain:
1. The brain is finite. It can hold about 1 million tokens — roughly 750,000 words, or a short novel. Big, but not infinite. 2. The brain empties at the end of every chat. When you start a new conversation, Claude remembers nothing from the last one unless you tell it again.
-The moment you open Claude Code, certain things land in Claude's brain before you've typed a word. The rest waits in the wings — only loaded when you actually need it. This is called progressive disclosure.
-
- weather-fetcher; the full content loads when the agent runs.
- Only descriptions of skills and agents are loaded at startup — the rest is fetched on-demand. That's progressive disclosure. It keeps the brain light.
-The more stuff crammed into Claude's brain, the harder it is to focus on what matters. This is called context rot — performance drops as the brain gets crowded.
-"Every turn is a branching point." After Claude finishes a response, you don't have to just keep typing. You have five options — and four of them exist to keep the brain clear.
-| Option | -When to use it | -
|---|---|
| Continue | -Same task, everything in the brain still matters | -
| Rewind (tap Esc twice) | -Claude went down a wrong path — jump back and try again | -
| /compact | -The brain is bloated — summarize and keep going | -
| /clear (fresh chat) | -Starting a truly new task — wipe the brain clean | -
| Subagent | -Next step will make a mess — send a helper to do it in their own brain | -
When you start a new task, start a new chat. Don't let yesterday's thinking clutter today's brain.
-You can't create the context — it's just there, the moment you open a chat. But you can see how full it is, trim it down, or wipe it clean. Three commands give you full control.
-/context shows you how full the brain is. /compact summarizes it. /clear wipes it.
/context
- Shows a breakdown of how many tokens are used and what's taking up space (system prompt, tools, files, conversation).
- /compact or /clear
- /compact keeps a short summary so you can continue. /clear wipes everything for a truly fresh start.
- Check first with /context. Trim with /compact. Reset with /clear when starting a new task.
The weather reporter consults this at the start of every shift — even though their brain resets overnight. It's the standing instructions pinned in that brain before you've said a word.
-Imagine hiring a brilliant new assistant every single morning — someone who forgets everything at 5pm. You'd get tired of re-explaining "we say clients, not customers" and "always CC my manager" over and over. So you pin those rules into their brain before the day starts. That's CLAUDE.md: a short list of standing instructions Claude reads first, every time.
For the weather reporter, CLAUDE.md might contain: "Always report in Celsius unless asked. Always cite Open-Meteo as the source." Here's a non-technical example:
-Claude can draft your first CLAUDE.md for you. The next slide shows how.
-You don't need to write CLAUDE.md by hand. Claude can look at your project and draft one for you.
-Type /init inside Claude Code, in your project folder. Claude does the rest.
/init in Claude Code
- Make sure you're in your project folder. No other setup needed.
- Running /init is like asking the new hire to read everything on the shared drive before you meet them — they walk in already knowing the project's shape, and they write up what they learned as a handbook for future Claude.
You'll keep improving it over time. But /init gets you to a working draft in under a minute.
"After every correction, end with: Update your CLAUDE.md so you don't make that mistake again. Claude is eerily good at writing rules for itself."
-The CLAUDE.md isn't something you write once and forget. It's a living memory of every lesson you've ever had to teach Claude. The workflow:
-Keep it short. Under 200 lines. Long CLAUDE.md files get ignored — same as a 50-page employee handbook nobody reads.
-Aim for under 200 lines. Files over 200 lines consume more context and may reduce adherence. Put detailed instructions in .claude/rules/ instead.
Claude Code uses two mechanisms to find CLAUDE.md files:
-At startup, Claude walks upward from your current directory and loads every CLAUDE.md it finds.
-Always loaded immediately.
-CLAUDE.md files in subdirectories below you are loaded lazily — only when Claude reads files in those folders.
-Loaded on demand.
-For topic-specific instructions, use .claude/rules/*.md. Each rule file can target specific file patterns using # Glob: pattern at the top — they only load when Claude works with matching files.
One word kicks off the whole chain. /weather-orchestrator → agent → skill → SVG card. Commands are the entry point into any workflow.
If agents are employees and skills are their training, a command is the manager's playbook — "when someone asks for a weather report, first ask them Celsius or Fahrenheit, then dispatch the weather team, then create the visual."
-You've already seen built-in commands in this presentation:
-/init
- Drafts a CLAUDE.md for your project (Topic 4)
- /agents
- Opens the agent creator menu (Topic 1)
- /context
- Shows how full Claude's brain is right now (Topic 3)
- /clear & /compact
- Reset or summarize the brain (Topic 3)
- You can write your own commands the same way. The next slide shows how.
-Commands are markdown files too. If you can write a recipe, you can write a command.
-Create .claude/commands/<your-command-name>.md. As soon as it's saved, /<your-command-name> appears in Claude Code's slash menu.
.claude/commands/weather-orchestrator.md. The filename becomes the command name.
- A command is like a button on a coffee machine. One press, the machine grinds, brews, foams, pours. You don't think about the steps — you just want espresso. Slash commands are buttons you've labelled yourself.
-Commands are how you turn a multi-step prompt into a single keystroke that anyone on your team can run.
-Watch the weather reporter example run from one keystroke to SVG card output. Five concepts, one orchestrated flow.
-This is the core architecture pattern of Claude Code workflows — demonstrated in this very repo by the weather example:
-The weather workflow demonstrates both skill patterns in a single flow:
-weather-fetcher is listed in the agent's skills: field.
Its full content is injected into the agent's context at startup. The agent reads it like a reference manual.
-weather-svg-creator is called directly by the command via the Skill tool.
It runs independently in the command's context, not inside any agent.
-A workflow isn't a separate file type. It emerges when one command calls agents and skills in sequence.
-One command at the top. One agent with a skill preloaded for fetching. One skill at the end for output. Wire them in the command file.
-.claude/commands/weather-orchestrator.md — the playbook the user types.
- .claude/agents/weather-agent.md with skills: [weather-fetcher] in its config — the specialist + their training.
- .claude/skills/weather-svg-creator/SKILL.md — invoked directly by the command after the agent returns.
- The workflow is the relay race. The command is the starter pistol. The agent is runner one (fetches the data, hands the baton back). The skill is runner two (turns the data into a visual). You don't run the race — you just point and say "go."
-Every workflow you'll ever build follows this same shape: Command at the top, Agent + Skill in the middle, Skill at the end. Once you've wired one, the rest are variations on the theme.
-Five concepts, one running example
-From meeting the weather reporter to wiring the full Command → Agent → Skill chain. The same five pieces compose every workflow you'll ever build.
-👤 Agents — the specialist with a job title
-🎓 Skills — the training they carry
-🧠 Context — the brain that resets each session
-📋 CLAUDE.md — the pocket rulebook that survives resets
-⚡ Commands & 🎼 Workflow — the trigger that wires it all
-github.com/shanraisshan/claude-code-best-practice