Borrowing it
Nothing to install: this file belongs to brevdev/workshop-build-an-agent. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/brevdev/workshop-build-an-agent/main/.agents/skills/module-3/SKILL.mdgit clone --depth 1 https://github.com/brevdev/workshop-build-an-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/brevdev/workshop-build-an-agent/module-3)<a href="https://agentmods.dev/skills/brevdev/workshop-build-an-agent/module-3"><img src="https://agentmods.dev/badge/skills/brevdev/workshop-build-an-agent/module-3/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/brevdev/workshop-build-an-agent/module-3"><img src="https://agentmods.dev/badge/skills/brevdev/workshop-build-an-agent/module-3.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 71 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
What 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.1 | $0.00247 | $0.03235 |
| Opus 5.5 | $0.00099 | $0.01294 |
| Sonnet 5.5 | $0.00049 | $0.00647 |
| 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 17d 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 — 156 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 (the dataset loads, the result-row fields, the agent call, the judge and RAGAS
calls, the custom chain, the
FAITHFULNESS_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 in-page help block (the teaching page's
🆘 Need some help?, or the notebook's💡 NEED SOME HELP?) — 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;
running_evaluations.mdlinks it) — that's a prerequisite, not the M3 learning content. The learner opens it; you still don't open or paste it. 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.
- 17d ago Changed · +2 lines 4067d357ec07
- 21d ago Changed · -9 lines 98f8f8f86f8c
- 1mo 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 (151 stars, last pushed 16d ago), licensed Apache-2.0. It adds 247 tokens to every session and 3,235 once invoked, about $0.0010 per session on Opus 5.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
hr-onboarding
A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when…" outcomes. Use when the brief mentions "onboarding", "new hire", "first week plan", or "入职".
book-mirror
Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's…
exam-forecast
Analyze past exams from the same professor to surface patterns — subject weighting, recurring issue-spot traps, favored hypo types, policy-vs-doctrine mix — and forecast likely emphases for the upcoming exam. Use when the user says "what's on the exam", "analyze past exams", "predict the exam", or shares past exams.
lean-formalize
Develop and verify a mathematical proof in Lean, continue an incomplete Lean project, or audit whether it proves the original statement. Connect actual inputs to intermediate lemmas, assemble the target theorem, check its transitive axioms, and provide a reproducible handoff. Use when Lean is requested or a specific…
eli5
Explain research, papers, or technical ideas in plain English with minimal jargon, concrete analogies, and clear takeaways. Use when the user says "ELI5 this", asks for a simple explanation of a paper or research result, wants jargon removed, or asks what something technically dense actually means.
deck-course-module
A course or workshop slide template with persistent learning goals, teaching pages, multiple-choice self-tests, and a wrap-up.