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 skills add ayeshakhalid192007-dev/graph-engineering-crash-course --skill counter-metric-checkgit clone --depth 1 https://github.com/ayeshakhalid192007-dev/graph-engineering-crash-courseWrote 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/ayeshakhalid192007-dev/graph-engineering-crash-course/counter-metric-check)<a href="https://agentmods.dev/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/counter-metric-check"><img src="https://agentmods.dev/badge/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/counter-metric-check/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/ayeshakhalid192007-dev/graph-engineering-crash-course/counter-metric-check"><img src="https://agentmods.dev/badge/skills/ayeshakhalid192007-dev/graph-engineering-crash-course/counter-metric-check.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00046 | $0.01203 |
| Opus 5.5 | $0.00018 | $0.00481 |
| Sonnet 5.5 | $0.00009 | $0.00241 |
| Haiku 4.5 | $0.00005 | $0.00120 |
Grade A, and why
counter-metric-check 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 1mo 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
counter-metric-check
Whatever the watched loop's own headline number did in a given period plays no part in this skill's decision for that period. The only input that matters is the second, independently owned reading and where it sits relative to its ceiling.
Instructions
You are a Claude Code skill implementing the counter-metric-loop
pattern. Work through these steps in order:
- Load the governance graph before anything else. Open
governance-graph.example.json(or the file the user names) and parsenodesandedges. - Locate the two loop nodes. One carries
role: "primary"(the loop under watch); the other carriesrole: "counter"(the independent signal). In this kit's shipped graph those arepr-approval-loopandrelease-pipeline. - Check isolation before doing anything that depends on it holding.
Walk every edge whose
subjectis the primary loop and confirm none of them reaches the counter loop, the threshold node, or a period under a predicate that would let the primary loop read the counter reading (reads,consumes,receives, or anything with that meaning). If one turns up, stop here and report it: a counter-metric the watched loop can see has stopped being a counter-metric, and nothing downstream of that fact is worth computing. - Read the ceiling. Follow the counter loop's
bound-byedge to its threshold node and note theceilingandmetricfields there. - Pick the periods to evaluate. Absent a specific period from the
user, use every
type: "period"node in the graph — four in this kit's shipped scenario,week-14throughweek-17. - Take both readings straight off the graph's
reportededges — the primary loop's edge into a period, and the counter loop's separate edge into that same period. Neither reading is something to estimate or infer; a period lacking either edge is UNVERIFIABLE, full stop. - Let the counter reading alone decide the verdict. Above the ceiling means FLAGGED. At or below it means CLEAN. Keep the primary reading in the record for context, but it never tips a verdict either way — a loud week on the headline number is not itself proof of anything, in either direction.
- Produce a governance edge for each FLAGGED period. Fields:
subject(counter loop),predicate: "flags-divergence",object(primary loop),period,primary_reading,counter_reading,metric,ceiling. CLEAN and UNVERIFIABLE periods get no edge. - Write
divergence-report.json(or wherever the user asked) at this kit's root, holding:isolation_check(the step-3 result and its detail), aperiodsarray (one entry per period —period_id,primary_reading,counter_reading,ceiling,verdict, andcitation, which is the counter loop's exactreportededge on a FLAGGED period andnulleverywhere else), andnew_governance_edgesholding step 8's output. - Summarize on the way out. State the CLEAN/FLAGGED/UNVERIFIABLE counts and, for every FLAGGED period, the reading pair that triggered it.
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.
- 1mo ago First seen · 100 lines · 46 tokens per session scan A b7c7968a9722
counter-metric-check is a skill published in the GitHub repository ayeshakhalid192007-dev/graph-engineering-crash-course (5 stars, last pushed 2mo ago), licensed MIT. It adds 46 tokens to every session and 1,203 once invoked, about $0.0002 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-31.
Other skills, from other repositories
animate
Build a web animation: whether it should animate at all, the purpose, the tool, the properties, the easing curve, the duration, interruption and exit. Writes the CSS or Motion code for dropdowns, modals, toasts, tooltips, accordions, press feedback, stagger and scroll reveals. Use to animate something or make a…
implement
Use when an approved plan and task list exist and it is time to turn them into working, tested code — the SDD phase after analyze and before verify. Enforces TDD: a failing test comes before the code that makes it pass, one task at a time, appended to a progress ledger that survives compaction. Delegates test tooling…
building-agents
Use when building or restructuring an LLM agent — provider adapter, tool calling, structured output, RAG, agent loop, eval gate, cost routing, tracing, MCP server — model-agnostic across OpenAI/Anthropic/Gemini/OSS so a model swap is a config change. NOT vector-store SQL alone (that is postgresdb) or service…
fastapi
Use when building, reviewing, testing, securing or shipping a FastAPI / async Python service — routers, Pydantic v2 schemas, dependency injection, async SQLAlchemy 2.0, OAuth2/JWT, ASGITransport tests, production wiring. NOT language-level Python or packaging (that is python), NOT engine-level SQL (that is…
flutter
Use when building, structuring, testing or optimizing a Flutter app — feature-first layering, Riverpod 3 or Bloc, typed gorouter, freezed models, a dio data layer, Material 3, jank hunting, widget/golden tests. Targets Flutter 3.44 / Dart 3.12. NOT React Native (that is react-native), NOT Compose Multiplatform (that…
java
Use when writing, reviewing or refactoring modern Java (21+, 25 LTS) — records and sealed interfaces as algebraic data types, exhaustive pattern-matching switch over instanceof ladders, virtual-thread concurrency, structured concurrency and ScopedValue replacing ThreadLocal, Stream and Optional pipelines…