THE SKILLS LEDGERpm-ai-skills-framework

A crash course, in eleven pages

Teaching an AI agent
a new job — and proving
it actually learned it.

This repository is a hands-on experiment in evaluating and governing AI agent "skills" — using NVIDIA's SkillEvaluator as the engine, and a real portfolio-management skill library as the test bed. Everything in this deck is grounded in real runs, real numbers, and real bugs found along the way.

Press or Enter to begin.

01 · First principles

What is an "agent skill," really?

Think of onboarding a new hire. You don't re-explain your whole business every time — you hand them a one-page SOP: "when a client asks X, do Y, cite Z, never do W." They read it once, keep it handy, and follow it when the situation matches.

A skill is that SOP, written for an AI agent instead of a person. Concretely, it's a folder with a SKILL.md file — a short description of when to use it, plus step-by-step instructions the agent loads only when a task actually matches. This "load only when relevant" trick is called progressive disclosure, and it's now an open standard (agentskills.io) that Anthropic, OpenAI, GitHub, and others have all adopted.

The problem this repo tackles isn't "how do I write one skill" — it's "how do I know if the fifty skills my org has accumulated are any good, still needed, and not quietly wrong."

02 · Why this exists

Skill libraries grow faster than anyone can review them.

Two teams independently build "explain portfolio performance" under different names. A skill reads well but never actually changes what the agent does. A finance skill gives an answer that sounds right but reconciles to the wrong number. Nobody notices until it's in front of a client.

Generic testing doesn't catch most of this. A skill can pass every code review and still be a duplicate, still add zero real value, still be confidently wrong about a number a domain expert would catch instantly. You need three different kinds of checking — structural, behavioral, and domain-correctness — and a way to run all three without it costing a fortune every time.

03 · Scope

A governance layer, not a skills platform.

This project does not try to be a generic, build-your-own-skill platform. It leans entirely on NVIDIA SkillEvaluator to do the hard evaluation engineering, and adds exactly four things a real organization needs on top:

  • Ownership enforcement — no named business owner and domain reviewer, no certification.
  • Duplicate detection — every new skill checked against a central catalog before merge.
  • Deterministic domain grading — finance-specific correctness checks generic evaluation can't see.
  • Risk-tiered certification — an informational skill and a decision-support skill aren't held to the same bar.

And — reaffirmed partway through this project — the deeper goal isn't even "ship a certified 12-skill catalog." It's building real, hands-on fluency with how this class of evaluation tooling actually behaves, so that fluency transfers to whatever skill library you touch next.

04 · The mechanism

Four tiers, each answering a different question.

T1ValidationIs it well-formed and safe? Schema, security, PII, quality scoring — offline, free, seconds.
T2DeduplicationIs it a near-duplicate of something that already exists? Embedding similarity across the catalog.
T3Live evaluationDoes having the skill actually change agent behavior — and by how much? Runs the same tasks with and without it. The gap is "Skill Lift."
T4Domain gradingIs the agent's answer actually correct? Deterministic, domain-specific checks you write — SkillEvaluator supplies the harness, not the judgment.

05 · Where it fits

It's CI/CD and code review — for instructions, not code.

Map it onto a development lifecycle you already know:

WriteAuthor SKILL.md + eval cases
Every PRTier 1 structural gatefree · seconds
Before mergeTier 2 duplicate check
Before releaseTier 3 live measurement
CertificationTier 4 + policy → BENCHMARK.md

This project's own CI (Milestone 9) does exactly the cheap end of this today — a real GitHub Actions job blocks a PR when a changed skill fails Tier 1. First live run, against a real PR: 54 seconds, no API keys.

06 · What it's actually for

The goals this helps you hit in the agent dev lifecycle.

  • Replace vibes with numbers. "Skill Lift" is a measured with-vs-without delta, not a demo.
  • Catch domain-wrong answers generic eval can't see. Reconciliation errors, stale dates, missing coverage.
  • Stop duplicate skill sprawl before it compounds. One catalog, checked automatically.
  • Right-size rigor to risk, instead of one flat bar that's too strict for some skills and too loose for others.
  • Keep "certified" meaningful even as the underlying vendor tool changes underneath you.
  • Leave an audit trail — a benchmark tied to an exact skill version, dataset, agent, and model, not a verbal assurance.

07 · What we actually tested

Two skills, taken all the way through — for real.

Not demoed. Live agent, live judge model, real Docker sandbox, real certification policy. Both came back an honest fail, for precisely diagnosed reasons — which is the point: a governance layer that always says pass isn't doing anything.

Performance Attribution — 150/150 trials scoredSkill Lift +0.1253
Certification verdictFAIL — 1 diagnosed reason
Portfolio Overview — 150/150 trials scoredSkill Lift +0.1316
Certification verdictFAIL — 2 diagnosed reasons

Both fails trace to the same discoverability metric-scoping artifact — independently corroborated by SkillEvaluator's own report on the second run. The second run also surfaced a genuine certification-policy gap (one metric silently penalizes every skill except the first one it was written for) — found only by actually running the real pipeline twice.

08 · What "using it for real" surfaced

Four real bugs — mostly not ours.

Agent gap
Execution heuristic
Codex's shell tool self-reports as exec — a string the evaluator's recognizer didn't know. Switched agents; confirmed fixed.
Judge bug
Token truncation
Two of three judge functions used a 1024-token cap with no retry. Found by reading the evaluator's own source — a sibling function had already fixed it.
Our mistake
Missing CLI flag
Forgot --copy-repo — the sandbox couldn't see its own tool bridge, so the agent correctly refused to fabricate numbers.
Operating cost
Credit exhaustion
A full 150-trial live matrix ran out a prepaid API balance mid-run, twice, in one day of debugging.

09 · The honest maturity read

What's actually feasible, based on the numbers above.

ADOPT NOW
Tier 1 — structural & security
Entirely offline, no API key, seconds per run. Safe to gate every PR on today, at zero marginal cost. This project's own CI does exactly this.
ONE DECISION
Tier 2 — deduplication
Needs a working embeddings provider — and Anthropic doesn't offer one, so budget an OPENAI_API_KEY (or equivalent) even in an otherwise all-Claude stack.
BUDGET FOR IT
Tier 3 — live evaluation
Real time and real money: a full 150-trial matrix on a capable model ran 30–55 minutes and ~$15–45. A cheap "quick pass" (~$1–3, ~12 min) validates wiring only — it is not certification-grade evidence, because a weaker model compresses Skill Lift toward zero on both arms.
READ THE SOURCE
The evaluator itself
Experimental support tier. Both real bugs here were root-caused by reading SkillEvaluator's own vendored code, not by guessing — budget time for that when a result looks wrong.

10 · Closing

Key takeaways.

An honest FAIL is the feature.
Zero of two certification attempts have passed outright — reported plainly, not smoothed over.
Skill Lift is the real metric.
Not "does it read well" — does the agent's measured behavior actually change, with vs. without.
Tier your rigor to your budget.
Tier 1 in CI today, free. Tier 3 reserved for skills that actually need certification-grade proof.
Vendor tools have real edges.
"Experimental" support means real bugs. Reading the source beats guessing every time it mattered here.
A policy can have gaps only real runs reveal.
The reconciliation metric gap was found by running the pipeline twice, not by auditing the policy file.
Weak-model shortcuts aren't a substitute.
A cheap quick-pass proves your wiring works. It cannot stand in for certification evidence.

"A governance layer that always says pass isn't doing anything."

or Enter to navigate