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/dosco/graphjin/graphjin-evalnpx skills add dosco/graphjin --skill graphjin-evalgit clone --depth 1 https://github.com/dosco/graphjinWhat 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.00027 | $0.02240 |
| Opus 5 | $0.00014 | $0.01120 |
| Sonnet 5 | $0.00005 | $0.00448 |
| Haiku 4.5 | $0.00003 | $0.00224 |
Grade A, and why
graphjin-eval 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 today.
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 — 232 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GraphJin Eval
Use this skill when a user wants to create or run a GraphJin agent benchmark, add a real business question to the suite, establish a baseline, compare a candidate, or understand an evaluation failure.
Rules
- Always use
graphjin evalcommands with--jsonfor machine-readable state. - Never edit
eval/suite.yml, hidden oracle definitions, tolerances, reward weights, reports, or baseline files by hand. - Never hand-edit
website/data/benchmarks/<benchmark>.yamlorwebsite/content/benchmarks/<benchmark>/runs/.graphjin eval publishis the only supported writer; it writes one row and one run page and never runs Git. - Treat
eval publish --labelas presentation only. Supersession uses the normalized provider and model identity, not the display label. - Use
graphjin eval rm <task-id>as the supported task-removal path; never delete a task from the suite file manually. - Never invent an oracle, field, threshold, or business interpretation.
- Treat exit code 2 as a broken suite, not a model regression.
- Treat the suite generator version as part of the scoring contract. Bump
eval.GeneratorVersionwhenever generated task semantics change, including method-rule dialect support, then regenerate every committed/frozen suite. A binary must refuse suites from any other generator version. - Treat exit code 3 as an environment problem, not a model regression.
- Treat exit code 130 as an interrupted checkpoint. Resume it; do not score it.
- Provider-backed commands can incur cost. Explain the expected call count and
use
--yesonly after the user approves provider traffic. - Read both usage views in the report: finalized tokens measure agent efficiency, while provider tokens include failed attempts and retries. On a compatible baseline, report the total-token and tokens-per-episode direction and percentage; treat cross-model or differently shaped comparisons as advisory.
- Check
provider_usage.complete. If false,unknown_attemptscounts provider calls that returned no usage and all recorded token totals are lower bounds. Never compare token percentages across accounting versions, providers, models, configuredmax_steps, or incomplete provider usage. - Before calling two runs a same-build comparison, require matching
provenance.binary_fingerprint. It is the SHA-256 of the exact CLI executable and catches runtime changes that do not alter prompt hashes. - Full prompts, answers, rows, and executed queries stay in local episode files. Share reports, not episode files, unless the user explicitly asks for the private trajectory.
- Failed/interrupted provider attempts stay under
.graphjin-evals/attempts/. They are private, and no persisted file may contain a credential. - Use
GOOGLE_API_KEYas the canonical Google credential name. - Publishing does not refuse a low score. Never rerun a completed benchmark to
make the public board look better; publish the observed result with its
acceptedstate. - Do not publish a report marked
scoring_suspectuntil the scorer/runtime mismatch is understood.--allow-suspect-scoringis an explicit audited override, not a routine publishing flag. - Publish with the exact binary that ran the benchmark. A missing
graphjin_commitor mismatchedbinary_fingerprintis a broken provenance chain and must be rerun, not waived. - Never publish an off-suite run unless the user explicitly asks for it. When
asked, use
--allow-off-suiteand verify it appears as unranked with the mismatch reason.
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.
- today Changed · +39 lines 6b55ea6a7deb
- 2d ago First seen · 193 lines · 27 tokens per session scan A 9fa853dcbe87
graphjin-eval is a skill published in the GitHub repository dosco/graphjin (3,157 stars, last pushed yesterday), licensed Apache-2.0. It adds 27 tokens to every session and 2,240 once invoked, about $0.0001 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
Database Schema Reviewer
Reviews database schemas for normalization issues, missing indexes, naming inconsistencies, and scalability risks.
sql-expert
Expert-level SQL database design, querying, optimization, and administration across PostgreSQL, MySQL, and SQL Server.
database-sql
Design database schemas, write efficient SQL queries, create migrations, and optimize database performance. Use when working with databases, writing queries, or designing data models.
database-query
Generate, optimize, and explain SQL queries - supports SQLite, PostgreSQL, MySQL with schema introspection, migration generation, and query performance analysis.
sql
SQL patterns for database querying and design.
database-query
Natural language database queries with multi-database support, query optimization, and visual results.