diff --git a/.claude/agents/presentation-learning-journey.md b/.claude/agents/presentation-learning-journey.md index 2b14bc2..d87ba09 100644 --- a/.claude/agents/presentation-learning-journey.md +++ b/.claude/agents/presentation-learning-journey.md @@ -171,3 +171,4 @@ After completing changes, report to the user: - **2026-04-22 deck relocated + GDG Kolachi re-topic of slide 1**: deck moved from `presentation/learning-journey/` to `presentation/2026-04-25-gdg-kolachi-cli-claude-code-gemini/`. This agent's `description` frontmatter already reflects the new path. Slide 1 was replaced with a conference title slide for GDG Kolachi (Apr 25, 2026). New elements: (1) pill-shaped event badge using `linear-gradient(90deg, #1a73e8 0%, #4285f4 55%, #ea4335 100%)` — GDG blue-to-red — with `border-radius: 999px` and a blue drop-shadow; (2) h1 "Agentic Engineering in the CLI" at 3.2rem with tight letter-spacing; (3) `.subtitle` with inline `Claude Code` and `Gemini CLI` brand tints; (4) two 140px round avatar cards side-by-side (gap: 72px) for Shayan Rais and Syed Umaid Ahmed — avatar hover uses blue glow for Shayan and red glow for Umaid to mirror the GDG gradient. Umaid's photo resolves at `../assets/introduction/Umaid/umaid.png` (verified). The `../../!/claude-jumping.svg` mascot path resolves correctly from the new deck folder (the `!/` dir is at repo root, two levels up from `presentation//`) — but the mascot was deliberately dropped because the GDG title slide doesn't need it. Slide count: 40. `data-slide="1"` wrapper unchanged. Slides 2-40 untouched. TOC goToSlide targets: Agents=9, Skills=15, Context=21, CLAUDE.md=26, Commands=32. **Color convention for GDG-brand elements**: use `#1a73e8` (Google blue) and `#ea4335` (Google red) consistently — these are the two poles of the event-badge gradient and the subtitle tints. Do not substitute `#4285f4` (the midpoint blue) for either named role. - **2026-04-23 slide deletion + renumber (51 → 49)**: deleted old slides 3 ("Umaid on Shark Tank Pakistan") and 5 ("#1 Repository Of The Day"), then renumbered to fill gaps. The correct tool for renumbering after a deletion of non-consecutive slides is a Python sentinel-replacement script, NOT a descending-order sed chain. Sed applies all expressions in a single pass per line, so a value can be transformed by multiple expressions (e.g. `data-slide="9"` → `"7"` → `"5"` → `"3"`) — the result is catastrophic collision. The safe pattern: (1) replace each `data-slide="N"` with `data-slide="##N##"` for all N to be changed (in any order), (2) replace each sentinel `data-slide="##N##"` with the final value. Because sentinel strings are unique and never match final-value strings, there are zero collisions. After sentinel replacement, check `grep '##'` but be aware that legitimate `## Section` headings in code blocks will trigger false-positive matches — use `grep 'data-slide="##'` instead. The `goToSlide` function is defined but never called with hardcoded slide numbers in this deck — no TOC updates were needed. `totalSlides` is auto-computed from DOM, also no update needed. Section-divider positions after deletion: Agents=19, Skills=25, Context=31, CLAUDE.md=36, Commands=42, Workflow=45. - **2026-04-22 global dual-mascot pattern (Claude top-left, Gemini top-right)**: the deck now renders two persistent corner mascots on every slide via a pair of fixed-position ` - +
-

🧠 Models — e.g. Opus, GPT

+ + +
+
🦜
+

“Stochastic Parrots”

+

Stochastic means random/probabilistic — models don’t know the answer, they sample from a probability distribution.

+
+ + +
+

Prompt:  “The sky is ___”

+ + +
+
blue
+
+
+
+
62%
+
+ + +
+
clear
+
+
+
+
14%
+
+ + +
+
dark
+
+
+
+
8%
+
+ + +
+
falling
+
+
+
+
0.3%
+
+ +

Each run the model samples — temperature controls how widely it samples.

+
+ + +

Bender, Gebru, McMillan-Major, Mitchell — On the Dangers of Stochastic Parrots (2021)

+
+ + + + +
+

🧠 Models — e.g. Opus, GPT, Gemini

✅ Can answer

-

“What is the capital of Japan?”

+

“What is the capital of Japan?”

+

“When did Pakistan gain independence?”

+

“Who wrote Romeo and Juliet?”

❌ Can’t answer

-

“Who won yesterday’s match?”

+

“Who won yesterday’s match?”

+

“What’s today’s USD → PKR rate?”

+

“What did Anthropic release yesterday?”

-
-

Example: Opus 4.7

-

Knowledge cut-off: January 2026.

-

Probabilistic by nature.

+

Every model — no matter how new — has a knowledge cut-off. Events after that date simply do not exist inside the model.

+
+
+

Opus 4.7 — Anthropic

+

Knowledge cut-off: January 2026

+

Released 2026-04-17

+
+
+

GPT-5.5 — OpenAI

+

Knowledge cut-off: August 2025*

+

Released 2026-04-23 — brand-new, but still has a cut-off.

+
+
+

Gemini 3.1 Pro — Google

+

Knowledge cut-off: January 2025

+

Released 2026-02-19

+
+

*OpenAI has not officially published GPT-5.5’s cutoff; shown value is the published cutoff of GPT-5.4 (released 6 weeks earlier), used as best-available proxy.

-
+

🧠 Limitations

The raw model has no real-time access — no internet, no files, no clock.

@@ -519,7 +596,7 @@ -
+

💪 Harness — the body around the brain

@@ -571,7 +648,7 @@ -
+

💪 Harness — the body around the brain

@@ -601,7 +678,7 @@ -
+

🎉 Yayyyyy! Problem solved with harness

The harness reaches out via WebSearch and fetches a real answer from live sources.

@@ -612,7 +689,7 @@ -
+
?

Really?

@@ -622,7 +699,7 @@ -
+

💪 Non-determinism — Doesn’t always use its tools

Similar prompt — but this time the model decided not to use the tool.

@@ -633,7 +710,7 @@ -
+

💪 Non-determinism — Tools can fail

The model first tried one source — it failed (403) — so it fell back to another.

@@ -644,7 +721,7 @@ -
+

The Two Problems

These are the two problems we’re trying to solve.

@@ -662,7 +739,7 @@ -
+

Vibe Coding

Andrej Karpathy — OpenAI founding team · former Director of AI at Tesla · founder of Eureka Labs.

@@ -673,7 +750,7 @@ -
+

Vibe Coding vs Agentic Engineering

@@ -744,14 +821,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

@@ -774,7 +851,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.

@@ -815,7 +892,7 @@ todoapp/ -
+

Agents Get Their Own Brain

Tip from Thariq (Anthropic) — Apr 16, 2026

@@ -848,7 +925,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.

@@ -891,7 +968,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:

@@ -939,14 +1016,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

@@ -973,7 +1050,7 @@ todoapp/
-
+

When to Turn Something Into a Skill

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

@@ -1010,7 +1087,7 @@ todoapp/
-
+

Why Separate Agents and Skills?

@@ -1036,7 +1113,7 @@ todoapp/
-
+

How to Create Your Own Skill

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

@@ -1089,7 +1166,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:

@@ -1129,14 +1206,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

@@ -1174,7 +1251,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 @@ -1208,7 +1285,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.

@@ -1252,7 +1329,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.

@@ -1297,14 +1374,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

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

@@ -1377,7 +1454,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

@@ -1414,7 +1491,7 @@ open, edit, save # Tweak it like any doc<
-
+

What Goes in CLAUDE.md

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

@@ -1475,14 +1552,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

@@ -1526,7 +1603,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.

@@ -1581,14 +1658,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 @@ -1615,7 +1692,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:

@@ -1638,7 +1715,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.

@@ -1689,7 +1766,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/introduction/Shayan/shayan.png b/presentation/assets/introduction/Shayan/shayan.png index 29fb5e2..7c992aa 100644 Binary files a/presentation/assets/introduction/Shayan/shayan.png and b/presentation/assets/introduction/Shayan/shayan.png differ