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 cb143f9..e7ba514 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 @@ -516,9 +516,73 @@ - +
+

💪 Harness — e.g. tools, MCP, memory

+
+
+

🌍 Reach beyond training

+

WebSearch, WebFetch, MCP servers

+
+
+

✋ Act on your files

+

Read, Edit, Write, Bash

+
+
+
+

The body around the brain

+

Gives the model hands to do, and eyes to see beyond its training.

+
+
+ + + + +
+

💪 Limitation — Doesn’t always use its tools

+

Same question, different prompt — sometimes the harness asks first instead of acting.

+
+ Claude Code refusing to check live weather and asking permission to use WebFetch +
+
+ + + + +
+

💪 Limitation — Different sources, different answers

+

Same question across runs can route through different tools and sources.

+
+ Claude Code using Web Search across AccuWeather, Weather25, and TimeAndDate for weather in Karachi +
+
+ + + + +
+

💪 Limitation — Tools can fail

+

External tools can time out, return errors, or fetch stale data.

+
+ Claude Code showing a 403 error from timeanddate.com and falling back to wttr.in +
+
+ + + + +
+
+

💪 Same question. Different path each time.

+

A harness gives the brain hands — but not a fixed routine.

+
+
+ + + + +

Vibe Coding vs Agentic Engineering

@@ -587,7 +651,7 @@ todoapp/ -
+

What is Vibe Coding?

@@ -616,7 +680,7 @@ todoapp/ -
+

Good vs Bad Prompts

Even before you set up any structure, how you prompt matters. Specific beats vague. Context beats assumption.

@@ -652,7 +716,7 @@ todoapp/ -
+

Meet the Person

We're going to learn five concepts using one running example: a weather reporter agent that fetches Dubai's temperature and renders a weather card. Same person — five different angles.

@@ -699,14 +763,14 @@ todoapp/ -
+
Topic 1

👤 Agents — The Weather Reporter

An agent is Claude playing a specific role. Meet the weather reporter — a specialist hired to fetch and report weather data for Dubai. Same Claude, different hat.

-
+

The Restaurant Kitchen

Think of it like this

@@ -729,7 +793,7 @@ 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.

@@ -770,7 +834,7 @@ todoapp/ -
+

Agents Get Their Own Brain

Tip from Thariq (Anthropic) — Apr 16, 2026

@@ -803,7 +867,7 @@ todoapp/
-
+

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.

@@ -846,7 +910,7 @@ todoapp/
-
+

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:

@@ -894,14 +958,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

@@ -928,7 +992,7 @@ todoapp/
-
+

When to Turn Something Into a Skill

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

@@ -965,7 +1029,7 @@ todoapp/
-
+

Why Separate Agents and Skills?

@@ -991,7 +1055,7 @@ todoapp/
-
+

How to Create Your Own Skill

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

@@ -1044,7 +1108,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:

@@ -1084,14 +1148,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

@@ -1129,7 +1193,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 @@ -1163,7 +1227,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.

@@ -1207,7 +1271,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.

@@ -1252,14 +1316,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

@@ -1287,7 +1351,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.

@@ -1332,7 +1396,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

@@ -1369,7 +1433,7 @@ open, edit, save # Tweak it like any doc<
-
+

What Goes in CLAUDE.md

# CLAUDE.md @@ -1397,7 +1461,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:

@@ -1430,14 +1494,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

@@ -1481,7 +1545,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.

@@ -1536,14 +1600,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 @@ -1570,7 +1634,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:

@@ -1593,7 +1657,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.

@@ -1644,7 +1708,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.

diff --git a/presentation/assets/harness/harness-limitation-1.jpg b/presentation/assets/harness/harness-limitation-1.jpg new file mode 100644 index 0000000..4fe8c22 Binary files /dev/null and b/presentation/assets/harness/harness-limitation-1.jpg differ diff --git a/presentation/assets/harness/harness-limitation-2.jpg b/presentation/assets/harness/harness-limitation-2.jpg new file mode 100644 index 0000000..c52e8bb Binary files /dev/null and b/presentation/assets/harness/harness-limitation-2.jpg differ diff --git a/presentation/assets/harness/harness-limitation-3.jpg b/presentation/assets/harness/harness-limitation-3.jpg new file mode 100644 index 0000000..9576eb5 Binary files /dev/null and b/presentation/assets/harness/harness-limitation-3.jpg differ