diff --git a/presentation/2026-04-25-gdg-kolachi-cli-claude-code-gemini/index.html b/presentation/2026-04-25-gdg-kolachi-cli-claude-code-gemini/index.html index d70eee2..6a89a68 100644 --- a/presentation/2026-04-25-gdg-kolachi-cli-claude-code-gemini/index.html +++ b/presentation/2026-04-25-gdg-kolachi-cli-claude-code-gemini/index.html @@ -105,9 +105,12 @@ .field-row { display: flex; align-items: baseline; padding: 10px 0; border-bottom: 1px solid #eee; } .field-row:last-child { border-bottom: none; } .field-name { font-family: 'SF Mono', Monaco, 'Courier New', monospace; font-size: 0.9rem; color: #9cdcfe; min-width: 180px; font-weight: 600; } - .field-desc { font-size: 0.95rem; color: #555; } + .field-desc { font-size: 0.95rem; color: #555; flex: 1; } .field-required { font-size: 0.7rem; background: #ffcdd2; color: #c62828; padding: 1px 6px; border-radius: 3px; margin-left: 8px; font-weight: 600; text-transform: uppercase; } .field-recommended { font-size: 0.7rem; background: #fff9c4; color: #f57f17; padding: 1px 6px; border-radius: 3px; margin-left: 8px; font-weight: 600; text-transform: uppercase; } + .field-enforced { min-width: 110px; text-align: right; } + .field-enforced .pill-harness { display: inline-block; background: #2e7d32; color: #fff; padding: 2px 10px; border-radius: 999px; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.3px; } + .field-enforced .pill-prompt { display: inline-block; background: #e0e0e0; color: #555; padding: 2px 10px; border-radius: 999px; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.3px; } /* TOC vertical list for Meet the Person */ .toc-vertical { display: flex; flex-direction: column; gap: 14px; margin-top: 32px; max-width: 700px; } .toc-vertical .toc-item { display: flex; align-items: flex-start; padding: 18px 24px; background: #f8f9fa; border-radius: 8px; cursor: pointer; transition: all 0.2s; } @@ -1036,157 +1039,58 @@ todoapp/
-

Prompting vs. Agent — Side by Side

-

The difference in one picture: prompting is asking a stranger on the street; using an agent is asking your dedicated specialist.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Prompting (stranger)Agent (specialist)
Who answersWhoever happens to be thereThe person you hired for this exact job
Source of truthCould be anywhereAlways the official Open-Meteo weather service
FormatWhatever comes outClean, consistent temperature + unit
Twice in a row?Different each timeSame method, same shape
-
-

Takeaway

-

Agents don't make Claude smarter — they make it predictable. Same question → same approach → same quality. That's what you need for anything you'll do more than once.

-
-
- - -
-

Agents Get Their Own Brain

-
-

Tip from Thariq (Anthropic) — Apr 16, 2026

-

"When Claude spawns an agent, that agent gets its own fresh brain. It can do as much work as it needs, then synthesize its results — only the final report comes back to you."

-
-

This connects directly to the weather reporter: the weather-agent works in its own brain — all that web fetching, JSON parsing, and failed attempts stay out of yours. You just get the temperature back.

-
-
- 🧹 -
- Messy work stays in the agent's brain - API calls, retries, JSON wrangling — all of it in the weather-agent's brain, not yours. -
-
-
- 📦 -
- Only the result comes back - The agent hands you "32°C". Your brain stays clear for the next task. -
-
-
- 💡 -
- Mental test: "Do I need the working, or just the answer?" - If just the answer → send an agent. If you need every step → do it yourself. -
-
-
-
- - -
-

How to Create Your Own Agent

-

You don't write an agent from scratch — Claude helps you build one. Type /agents inside Claude Code and a guided menu opens.

-
-

The Command

-

Type /agents in Claude Code. A menu appears with your existing agents and an option to create a new one.

-
-
-
- 1 -
- Type /agents - A menu opens listing your existing agents (including weather-agent) plus "Create new agent". -
-
-
- 2 -
- Tell Claude what the agent should do, in one sentence - e.g., "A weather reporter that fetches Dubai temperature from Open-Meteo." -
-
-
- 3 -
- Claude writes the agent file for you - Creates .claude/agents/weather-agent.md — job description, allowed tools, model. Edit it like any document. -
-
-
-
-

Think of it like this

-

Creating an agent is like writing a job description for a new hire. You say what the role is, what tools they get, and how they should behave. Claude drafts the JD; you review and adjust.

-
-
# Where the weather reporter lives -.claude/agents/weather-agent.md # A plain markdown file
-
-

Takeaway

-

Agents are just text files. Anyone on your team can create, share, or edit one. No coding required.

-
+

Demo

-
-

Agent Config Fields

-

The config block at the top of an agent file controls its identity and capabilities. Here's what the real weather-agent.md uses:

+
+

Agent config fields with frontmatter

+

The config block at the top of an agent file controls its identity and capabilities. Most fields are harness-enforced — the CLI gates them before the model sees the call. Only description lives in prompt-land.

+
+ Field + Description + Enforced by +
name Recommended Unique identifier — e.g. weather-agent + harness
description Required When to invoke. Use "PROACTIVELY" for auto-invocation + prompt
model haiku, sonnet, opus, or inherit (default). weather-agent uses sonnet + harness
tools Allowlist of tools. weather-agent allows WebFetch, Read, Write, etc. + harness
skills Skills preloaded into agent context at startup — weather-agent preloads weather-fetcher + harness
maxTurns Maximum agentic turns before the agent stops. weather-agent uses 5 + harness
memory Persistent memory: user, project, or local. weather-agent uses project + harness
color Visual color in task list. weather-agent uses green + harness
@@ -1200,14 +1104,14 @@ todoapp/ -
+
Topic 2

🎓 Skills — What the Weather Reporter Knows

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.

-
+

The Training Manual

Think of it like this

@@ -1234,7 +1138,7 @@ todoapp/
-
+

When to Turn Something Into a Skill

Tip from Boris Cherny (creator of Claude Code) — Feb 1, 2026

@@ -1271,7 +1175,7 @@ todoapp/
-
+

Why Separate Agents and Skills?

@@ -1297,7 +1201,7 @@ todoapp/
-
+

How to Create Your Own Skill

Skills are plain markdown files. If you can write a recipe, you can write a skill.

@@ -1350,7 +1254,7 @@ Fetch the current temperature for Dubai, UAE.
-
+

Skill Config Fields

The small config block at the top of a SKILL.md (the "frontmatter") controls how the skill behaves:

@@ -1390,14 +1294,14 @@ Fetch the current temperature for Dubai, UAE. -
+
Topic 3

🧠 Context — The Reporter's Brain

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.

-
+

Claude's Brain

Think of it like this

@@ -1435,7 +1339,7 @@ Fetch the current temperature for Dubai, UAE.
-
+

What Loads at Session Start

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.

Diagram showing what loads into Claude's context window at session start @@ -1469,7 +1373,7 @@ Fetch the current temperature for Dubai, UAE.
-
+

Keep the Brain Clear

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.

@@ -1513,7 +1417,7 @@ Fetch the current temperature for Dubai, UAE.
-
+

How to Manage Your Context

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.

@@ -1558,14 +1462,14 @@ Fetch the current temperature for Dubai, UAE. -
+
Topic 4

📋 CLAUDE.md — The Reporter's Pocket Rulebook

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.

-
+

The Employee Handbook

Think of it like this

@@ -1593,7 +1497,7 @@ This is the Q2 marketing campaign brief — targeting small business owners.
-
+

How to Create Your CLAUDE.md

You don't need to write CLAUDE.md by hand. Claude can look at your project and draft one for you.

@@ -1638,7 +1542,7 @@ open, edit, save # Tweak it like any doc<
-
+

Grow CLAUDE.md With Every Mistake

Tip from Boris Cherny (creator of Claude Code) — Feb 1, 2026

@@ -1675,7 +1579,7 @@ open, edit, save # Tweak it like any doc<
-
+

What Goes in CLAUDE.md

# CLAUDE.md @@ -1703,7 +1607,7 @@ This is a TodoApp with a FastAPI backend and React frontend.
-
+

How CLAUDE.md Loads

Claude Code uses two mechanisms to find CLAUDE.md files:

@@ -1736,14 +1640,14 @@ This is a TodoApp with a FastAPI backend and React frontend. -
+
Topic 5

⚡ Commands — The Trigger

One word kicks off the whole chain. /weather-orchestrator → agent → skill → SVG card. Commands are the entry point into any workflow.

-
+

Commands — The Entry Point

Think of it like this

@@ -1787,7 +1691,7 @@ This is a TodoApp with a FastAPI backend and React frontend.
-
+

How to Create Your Own Command

Commands are markdown files too. If you can write a recipe, you can write a command.

@@ -1842,14 +1746,14 @@ This is a TodoApp with a FastAPI backend and React frontend. -
+
Putting It All Together

🎼 Workflow — All Five Pieces Together

Watch the weather reporter example run from one keystroke to SVG card output. Five concepts, one orchestrated flow.

-
+

Command → Agent → Skill

This is the core architecture pattern of Claude Code workflows — demonstrated in this very repo by the weather example:

The Orchestration Flow @@ -1876,7 +1780,7 @@ This is a TodoApp with a FastAPI backend and React frontend.
-
+

Two Ways Skills Are Used

The weather workflow demonstrates both skill patterns in a single flow:

@@ -1899,7 +1803,7 @@ This is a TodoApp with a FastAPI backend and React frontend.
-
+

How to Wire Your Own Workflow

A workflow isn't a separate file type. It emerges when one command calls agents and skills in sequence.

@@ -1950,7 +1854,7 @@ This is a TodoApp with a FastAPI backend and React frontend. -
+

Journey So Far

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.