- Have a **recent Claude chat open** you can run a prompt against — ideally your capstone work - Bring **one real Betterworks data source** your capstone would need — Aha!, Jira, a sheet, an export - Optional — try to name, in one sentence each, what a "skill," a "connector," and an "agent" are. Note where you get fuzzy. That fuzziness is today.
No slides to read. Show up with a real chat to point a prompt at, and one real data source in mind.
Session goal
By end-of-session each participant can:
1. **Draw the stack** — Prompt → Skill → Tool → Connector → Agent — and place their own work on it 2. **Run "where am I really"** on any chat — and tell a Skill from a prompt from an Agent by evidence, not vibes 3. **Call a real API** — hit a live public API from Claude and ground an answer in what comes back 4. **Explain a Connector (MCP) and RAG** — why plugging a model into live data beats copy-paste, and what "AI database" means 5. **See a real agent run** — where agents actually run, and turn one thing they do by hand into one
The arc: see where the capstone stands → name the *stack* and the skills you built → run it on your own work → reach *real data* (API → MCP → RAG) → run a real *agent* → keep it *safe*.
B100–08
Capstone status quo · and today's map
8 items
We start with where the work actually is — then name the pieces that take it further.
▤ Slide · s9-B1-1pb-coverB1L25
Wiring the Backend
Real data, tools & agents — the system behind the screen.
▤ Slide · s9-B1-2pb-sectionB1L32
Capstone — Status Quo
▤ Slide · s9-B1-3listB1L42
Where we left off · from S08
Two things from yesterday that carry straight into wiring.
AI made generating cheap — so a clear question or hypothesis is what gives a prototype its purpose. Fidelity matches the question, not your ambition.
Structured prompting (S01) matters more, not less — the lever for scoping, critique, and prioritisation, and the guardrail against hallucination and drifting off-brief.
▤ Slide · s9-B1-4listB1L54
Where today goes
We name the pieces, then run them on your own work.
The stack, named — and the skills you've already built
Where am I really — run the stack on one of your own chats
Reaching real data — call a live API, then MCP & RAG
Agents — where they run, and a real one fetching the weather to your phone
… 1 more
B208–24
The stack, named · and the skills you've already built
13 items
The words have been flying around without a map. We lay the vocabulary down first — and point at the skills you already shipped.
▤ Slide · s9-B2-1statementB2L73
A prompt asks. A system acts.
▤ Slide · s9-B2-2customB2L82
The stack — how the pieces fit
▤ Slide · s9-B2-3listB2L121
What a Skill actually is
You built one in S03. Here's the pattern under it.
A packaged, reusable capability — instructions the model loads on demand
It carries its own when-to-use, its steps, and the tools it may call
Write it once; invoke it across projects, teammates, and data
Your M1 cleanup chain is a skill — you just didn't call it that
▤ Slide · s9-B2-4splitB2L135
You already built one · S03
The ticket-dedup skill — forked from M1, made yours.
col 1 · What it was
In S03 you took the M1 cleanup chain and forked it into your own dedup skill — s
col 2 · Why it counts
That's the pattern under everything today: encode a judgment once, invoke it for
▤ Slide · s9-B2-5splitB2L151
And a second · S05
Your design-system extraction — pulling tokens into a reusable skill.
col 1 · What it was
In the S05 Design AI Clinic you extracted your own DS — colour, type, spacing to
col 2 · Why it counts
PM and design both left with a skill. Coverage isn't theory — it's two working s
▤ Slide · s9-B2-6listB2L167
Tools & function calling — the model acts
A tool turns "tell me" into "do it."
A tool is an action the model can invoke — search, calculate, write a file, call an API
The model returns a structured call (name + arguments); your code runs it and hands back the result
This is how a chat becomes a doer — the model decides what, your tools do the how
Skills bundle the tools they need — that's what makes them act, not just answer
B324–33
Where am I really · run it on your own chat
10 items
The stack becomes a diagnostic you point at any conversation — not a Pace example, *your* chat.
▤ Slide · s9-B3-1splitB3L185
Where Am I Really?
A prompt you paste into any chat to see what's actually happening under the hood.
col 1 · What it does
Reads the conversation you're in and tells you the highest layer it actually rea
col 2 · What it surfaces
What you keep asking for that could become a skill.
Whether an agent would help
▤ Slide · s9-B3-2activationB3L203
Run it on your own chat
Open a recent Claude conversation, paste "Where Am I Really?", and let it diagnose what's happening there.
▤ Slide · s9-B3-3codeB3L221
Where Am I Really?
▤ Slide · s9-B3-4codeB3L242
…the honest verdict
B433–63
Reaching real data · API → MCP → RAG
47 items
One escalating story: call a real API (that's a tool) → MCP standardizes the plug (that's a connector) → RAG is the database flavor. This is the block the sponsor asked for — how the backend actually connects.
▤ Slide · s9-B4-1pb-sectionB4L270
Reaching real data
▤ Slide · s9-B4-2reframeB4L276
(no title)
Copy-paste is the bottleneck you've been living with.
▤ Slide · s9-B4-3listB4L286
What's an API — really?
How software asks other software for things. Two verbs cover most of it.
An API is a defined way to ask a system for data or to change it — a request in, a structured response out
GET — read something. Safe, repeatable. “list the goals for owner 42.”
POST — create/change something. Has consequences. “create a new goal.”
Every request carries auth (a token that says who you are) and gets back JSON
▤ Slide · s9-B4-4activationB4L301
Call a real API as a tool
Let's have Claude reach a live, public API — no key, no setup — and ground its answer in what comes back.
▤ Slide · s9-B4-5listB4L311
An API you can call right now
Open-Meteo — real weather, no key, no signup.
The endpoint:api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t=temperature_2m,wind_speed_10m
It's a GET — you're just reading. Swap the lat/long for your city.
No token, no auth — which is exactly why we can all hit it live
▤ Slide · s9-B4-6customB4L330
…the raw JSON that comes back
▤ Slide · s9-B4-7splitB4L357
Your own backend needs auth
Public APIs you just call. Yours, you introduce — with a token, and care.
col 1 · The move
Hand Claude your API docs as context (a backend-context.md), and it configures t
col 2 · The rule
Reads are safe; writes need confirmation. Never put a token on a shared screen.
▤ Slide · s9-B4-8listB4L373
What a Connector is — and MCP
A standard plug between a model and a real system.
A connector gives the model live access to a system — Aha!, Jira, a sheet, a database
MCP (Model Context Protocol) is the standard for those plugs — one shape, many sources
The API you just called by hand? MCP is that, made a reusable socket — build the plug once, every skill and agent uses it
Think client ↔ server: your model is the client; each data source runs a small MCP server
▤ Slide · s9-B4-9listB4L388
RAG — an "AI database"
How a model answers from *your* documents instead of its training.
You have a pile of docs — specs, tickets, past decisions — too big to paste into one prompt
Store them in a special database that indexes by meaning, not keywords (embeddings)
Retrieve only the few chunks relevant to the question — and feed those to the model
So answers cite your source, stay current, and don't rely on the model's memory
▤ Slide · s9-B4-10codeB4L403
Add an MCP — no admin needed
▤ Slide · s9-B4-11codeB4L421
…deepwiki connected
▤ Slide · s9-B4-12galleryB4L439
No terminal? Add it in Claude Desktop · 1 of 3
Settings → Connectors → "Add custom connector" → name it "DeepWiki" and paste the URL `https://mcp.deepwiki.com/mcp`. No OAuth needed → Add.
▤ Slide · s9-B4-13galleryB4L449
Add it in Claude Desktop · 2 of 3
The connector appears as "not connected yet" — one click on **Connect** and Claude reaches out to the server.
▤ Slide · s9-B4-14galleryB4L459
Add it in Claude Desktop · 3 of 3
Connected. You can see the three tools it exposes — **Ask question · Read wiki contents · Read wiki structure** — and choose when Claude may
▤ Slide · s9-B4-15activationB4L469
Run a prompt against a real MCP
Ask DeepWiki about a real repo — and watch the logs show it connect and call tools.
▤ Slide · s9-B4-16codeB4L483
Ask DeepWiki
▤ Slide · s9-B4-17codeB4L495
…it connects and calls the MCP's tools
▤ Slide · s9-B4-18pb-sectionB4L515
You reference — Claude wires
▤ Slide · s9-B4-19reframeB4L521
(no title)
You've spent today naming the pieces. The payoff — you point, Claude wires.
▤ Slide · s9-B4-20splitB4L531
1 · Invoke it in a prompt
Name the API and what you want — Claude makes the call.
col 1 · The prompt
"Call the Open-Meteo forecast API for ⟨city⟩ and tell me if I'll need a jacket t
col 2 · What you're referencing
The tool (the API) by name, plus your intent. You don't write the HTTP request —
▤ Slide · s9-B4-21splitB4L547
2 · Wire it into a screen
Map the response fields to the UI you're building.
col 1 · The prompt
"Build a weather card. From the Open-Meteo response, map current.temperature_2m
col 2 · What you're referencing
The exact response fields → the components they feed. This is how a real API bec
▤ Slide · s9-B4-22splitB4L563
3 · Feed the request from real data
Where do the API's inputs come from? Point at the source.
col 1 · The prompt
"For the lat/long in the API call, use the user's saved city from their profile.
col 2 · What you're referencing
The parameters flowing IN — from a user profile, a screen, or another data sourc
▤ Slide · s9-B4-23splitB4L579
4 · Chain a skill and a connector
Reference more than one connection in a single ask.
col 1 · The prompt
"Using my ticket-dedup skill and the Jira MCP, pull this week's new tickets and
col 2 · What you're referencing
A skill (the how) + a connector (the live data) in one prompt. Same move as the
B563–92
Agents · the harness, the judgment, and a real one running
27 items
The top of the stack — and the most over-used word in AI. Define it honestly, name where it actually runs, then run a real one.
▤ Slide · s9-B5-1listB5L599
What an agent actually is
A model running a loop toward a goal, with tools and some autonomy.
Gather context → act → verify → repeat — the agent loop, until the goal is met
It chooses which tools to call and when — you don't script every step
It uses connectors to sense the world and tools to change it
Autonomy is a dial, not a switch — more freedom, more that can go wrong
▤ Slide · s9-B5-2splitB5L614
Workflow vs. agent
The most important design call — and the default is "workflow."
col 1 · Workflow
You fix the steps; the model fills each in.
Predictable, cheap, testable. Use it
col 2 · Agent
The model decides the steps.
Use it only when the path can't be known in advance
▤ Slide · s9-B5-3listB5L632
Where an agent actually runs
Not the chat box. A harness that can loop, use tools, and be scheduled.
Claude Code — the primary harness: runs the loop, bash, MCP, files; schedule it with cron. This is where we'll run today's agent.
Cowork (Claude Desktop tab) — no-code: multi-step and scheduled tasks, from Pro up
Agent SDK (Python / TS) — the same harness, in your own code, to ship into a product
claude.ai chat is NOT an agent harness — it uses tools inside one conversation, but doesn't run standing, scheduled work
▤ Slide · s9-B5-4activationB5L646
A real agent, running now
PG builds it live — check the weather, message it to Telegram, on demand.
▤ Slide · s9-B5-5listB5L660
Run it yourself
Four steps — and it works even with nothing set up.
Downloadweather-agent.zip from today's session-material folder, and unzip it
Open a terminal and cd in — type cd then drag the folder into the terminal and press Enter (Windows: drag into Windows Terminal, or Shift-right-click → Open in Terminal)
Run it:claude -p "$(cat AGENT.md)" — or just start claude and type /weather
No Telegram? Still works — it prints the message to your terminal instead of failing
▤ Slide · s9-B5-6customB5L674
(no title)
▤ Slide · s9-B5-7customB5L685
How the pieces talk
▤ Slide · s9-B5-8codeB5L706
Set it and forget it
▤ Slide · s9-B5-9customB5L722
The same agent in Cowork — and its limits
▤ Slide · s9-B5-10activationB5L740
Turn one thing you do into an agent
You just saw mine — now take a task YOU do by hand and make it a runnable agent.
▤ Slide · s9-B5-11customB5L758
Worked example — your dedup skill as an agent
▤ Slide · s9-B5-12listB5L778
Make it trustworthy — grounding & evals
Autonomy without a check is just confident guessing.
Grounding — feed real data (retrieval / RAG) so answers cite the source, not vibes
Evals — a repeatable test set: does it still do the job after you change the prompt?
Guardrails — constrain what it can touch; keep a human on the risky moves
Taste is the part the rubric can't score — that's your layer
B692–100
Data safety · close
13 items
The layer that decides whether any of this can touch production — and the reason your real wiring doesn't happen in a Zoom.
▤ Slide · s9-B6-1listB6L796
Real data, real rules
The moment you connect live data, safety stops being optional.
Know what you're sending — customer PII, secrets, and internal data don't belong in every prompt
Prefer least access — connect to the narrowest slice the job needs, read-only where you can
A live demo in a shared Zoom is not where you wire production data — that's why real wiring is yours to do safely
When unsure, ask — the cost of a leaked field dwarfs the cost of a question
▤ Slide · s9-B6-2splitB6L810
Data-Safety Check
Prompt move · evaluative — the go/no-go template, your connector dropped in.
col 1 · The template
Connector I'm about to wire: ⟨source, fields I plan to read, where the model run
col 2 · Filled for Pace
SOURCE — Google Calendar (event titles, attendees, start/end) + Apple Health sle
▤ Slide · s9-B6-3codeB6L827
…the fields that must never leave
▤ Slide · s9-B6-4pb-sectionB6L843
Questions?
▤ Slide · s9-B6-5statementB6L853
A prompt asks. A skill repeats. A tool acts. A connector reaches live. An agent
A prompt asks. A skill repeats. A tool acts. A connector reaches live. An agent decides. You judge.
▤ Slide · s9-B6-6pb-thankyouB6L866
(no title)
After this session
- **Add one layer** — take your capstone up exactly one rung of the stack this week (skill → connector, or connector → workflow/agent) - **S10 (Wed) · Capstone Review & Final Q&A** — bring what you wired; leadership joins for the final showcase - **Safety first** — if you connect live BW data (Pluto included), do it on your own machine with least-access; ask before wiring anything with PII
## Open items (for polish pass / PG review)
0. **Round-2 delivery-prep revisions (2026-07-22)** — "tonight" → "today" throughout; added an S08 recap slide and two *cohort-built* skill recaps (S03 dedup, S05 DS-extraction — S05 has no repo file, grounded on session + PG Google Doc, `[?CONFIRM]`); made the API segment a **real public-API hands-on** (Open-Meteo) with a pre-tested Berlin response slide; consolidated "reaching real data" so API comes before MCP; added an **agent-harness** slide (Claude Code primary; claude.ai chat is not a harness); added **Add-an-MCP** (`claude mcp add`) + a DeepWiki run slide that highlights the connection/tool-call logs; added the **weather→Telegram live climax** (PG-demo, Claude Code). New prompts: `call-a-real-api`, `weather-telegram-agent` (rehearsal recipe). Runs ~100 min with live-trim markers. 1. **Cohort tool for the live API call** — Claude Code curls it; claude.ai fetches via web tool. `[?CONFIRM]` which the cohort uses so the run doesn't stall. 2. **S05 skill specifics** — confirm exact name/output of the design-tokens skill (no packaged file in `prompts/`; content in PG's Google Doc). 3. **Weather→Telegram rehearsal** — dry-run end-to-end (real message arrives) before delivery; keep the bot token off-screen. 4. **Status** — left at `draft`; not cohort-visible until you release S09.
Add ?token=… to the URL.
This site uses cookies to measure how content performs and to improve your experience.
No cookies are set until you choose.
Privacy policy
Cookie preferences
Choose which cookies you allow. Your choices are saved for one year.
You can change them anytime via the "Cookie settings" link in the footer.
Necessary
Always on
Required for the site to function. Includes your consent choice and security features like Cloudflare Turnstile. Cannot be disabled.
Analytics
Helps us understand how visitors use the site — which pages are popular, how you arrived, and where you drop off. Data is aggregated and anonymous.
Used by services like Google Analytics and Microsoft Clarity.
Marketing
Used to measure ad campaign effectiveness and show relevant content across platforms.
Used by services like Google Ads and Microsoft Advertising (UET).