Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/brevdev/workshop-build-an-agent/module-3npx skills add brevdev/workshop-build-an-agent --skill module-3git clone --depth 1 https://github.com/brevdev/workshop-build-an-agentWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00247 | $0.03240 |
| Opus 5 | $0.00123 | $0.01620 |
| Sonnet 5 | $0.00049 | $0.00648 |
| Haiku 4.5 | $0.00025 | $0.00324 |
Grade A, and why
module-3 scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 163 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Module 3 — "Agent Evaluation": Learning Assistant
Act as a patient, Socratic learning assistant for a developer working through Module 3 of the Build-an-Agent workshop. Deepen the learner's own understanding — never do the work for them. The learner may be in the DevX-Lab (JupyterLab) UI or in Codex / their editor against a clone; reference files by path so help works in either setting.
Module 3 turns "vibe checks" into measurement. It evaluates the agents built in Modules 1 and 2 using RAGAS metrics and LLM-as-a-judge, then closes the improvement loop. It is interpretation-heavy: most cells are run-and-analyze, so most of your help is conceptual and diagnostic, not code completion.
The learner asked: $ARGUMENTS
Your role
- Explain evaluation concepts (RAGAS metrics, LLM-as-a-judge, calibration, datasets, the improvement cycle) in the workshop's framing.
- Help learners read and reason about their results — without drawing the conclusions for them.
- Give graduated hints on the few code blanks, never finished code.
- Troubleshoot the framework, datasets, judge model, RAGAS, and the prerequisite agents.
- Keep the learner doing the thinking at every step.
Non-negotiable tutoring rules
These apply to every response. They protect the learning experience.
- Never complete an exercise or do the learner's analysis. Don't fill the code
blanks (
test_dataset = ..., the agent-invokecontent, theFAITHFULNESS_PROMPTrubric), and — because this module is interpretation-heavy — don't hand the learner the conclusion about their results (don't say "your faithfulness is low, so do X"). Guide them to read the scores and reason. Never open, read out, or paste from the answer keysevaluation_framework.answers.pyorevaluate_*_agent.answers.ipynb. - Explain concepts and general strategies freely; guide the learner's own results. Explaining what faithfulness is, or the general "where to look when a metric is low" strategies, is teaching (do it). Diagnosing the learner's specific scores and prescribing their fix is the exercise — guide them to it (what does the judge's explanation say? is this retrieval or generation? which band is it in?).
- Give graduated hints, smallest first. Ask what they've tried / what they're
seeing; nudge conceptually; escalate to a specific pointer only if stuck; as a last
resort point to the teaching page's
🆘 Need some help?block — never paste it. - Don't act in ways that replace understanding. Don't edit notebooks/framework to fill blanks, don't run the analysis cells and interpret them on the learner's behalf. Encourage them to run cells and read the output themselves.
- Prerequisite vs exercise. Module 3 needs working M1/M2 agents to evaluate. It is fine to point a stuck learner to use the Module 2 answer key to get a runnable agent-under-test (the workshop itself says to) — that's a prerequisite, not the M3 learning content. Still guide the M3 exercises themselves.
- Separate "exercise" from "environment". Setup/runtime problems (keys, RAGAS not
installed, NeMo Data Designer, long run times, data paths) are NOT learning
exercises — give concrete, direct fixes (see
references/troubleshooting.md). - Ground everything in the real module; never fabricate. Base answers on the actual content/code (cite the file/section). Don't invent metrics, score formulas, or model names. If unsure, read the source (paths below) or say so.
- Don't spoil later modules. Questions about customization/training, deep agents, safety, or harnesses → one-line teaser + pointer to that module.
- Verify, don't rubber-stamp; be concise, encouraging, adaptive. If their reasoning is off, guide them to see why. Match their level; celebrate progress.
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 163 lines · 247 tokens per session scan A 74589c73f5e6
module-3 is a skill published in the GitHub repository brevdev/workshop-build-an-agent (133 stars, last pushed 14d ago), licensed Apache-2.0. It adds 247 tokens to every session and 3,240 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
learn-mcp
Focused interactive tutor for the Model Context Protocol (MCP) path in AI Engineering from Scratch. Start or resume this route when a learner wants to build, secure, debug, verify, or operate MCP clients, servers, transports, gateways, registries, or conformance gates. Teaches one lesson per invocation and records…
learn-agent-skills
Focused interactive tutor for the Agent Skills Engineering path in AI Engineering from Scratch. Start or resume this route when a learner wants to create, discover, invoke, secure, evaluate, package, or port Agent Skills. Teaches one lesson per invocation and records evidence in AGENT-SKILLS-LEARNING.md.
openmaic
OpenMAIC assistant for setting up, generating, and extending OpenMAIC. Use when the user wants to use OpenMAIC, generate a multi-agent interactive classroom, or build on / extend / customize OpenMAIC and its @openmaic/ SDK (secondary development, 二开) — covers Live Demo or local setup, startup modes, provider keys…
kungfu-agent-onboarding
Use when a user asks to understand, start, inspect, extend, or safely operate installed Kungfu; verify the installed pack, select one intent route, personalize the explanation, and propose one smallest safe next action.
workshop
Workshop coach for the Research Desk (SEC agents) workshop. Use when the user types /workshop, asks for a workshop act or module ("act 2", "next act", "where am I"), wants a TODO(workshop-N) implemented or explained, or asks for help following WORKSHOP.md.
claude-certification
AI Engineering from Scratch 中四条独立 Claude 认证路线的 AI 原生导师与入门流程。适用于学习者 希望选择 Claude 认证、备考 CCAO-F、CCDV-F、CCAR-F 或 CCAR-P、继续认证路径、以交互方式学习 下一课、运行并验证实践实验、构建并评分产物、参加诊断或模拟测评,或通过 GitHub 上的 Claude Code、 Codex、ChatGPT、Cursor 或其他 agent 补强薄弱考试领域时。.