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.
git clone --depth 1 https://github.com/datacore-one/datacoreWrote 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/agents/datacore-one/datacore/evaluator)<a href="https://agentmods.dev/agents/datacore-one/datacore/evaluator"><img src="https://agentmods.dev/badge/agents/datacore-one/datacore/evaluator/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/agents/datacore-one/datacore/evaluator"><img src="https://agentmods.dev/badge/agents/datacore-one/datacore/evaluator.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.00023 | $0.01414 |
| Opus 5.5 | $0.00009 | $0.00566 |
| Sonnet 5.5 | $0.00005 | $0.00283 |
| Haiku 4.5 | $0.00002 | $0.00141 |
Grade A, and why
evaluator 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 — 117 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Evaluator (parameterized)
What this replaces
Datacore v2 Phase 7, Task 7.2. Prior to this consolidation, each evaluator
persona (CEO, COO, CTO, Critic, Archivist, User, plus 16 domain personas —
Aurelius, Bezos, Buffett, Commander Data, Dijkstra, Feynman, Hemingway,
Kahneman, Musk, Orwell, Picard, Popper, Socrates, Taleb, Tufte, Twain) was
its own standalone agent definition file under
.datacore/modules/nightshift/agents/evaluator-*.md, each ~150 lines of
near-identical scaffolding (Agent Context header, Quick Reference table,
Integration Points, scoring rubric, YAML output block) wrapped around one
paragraph of actual persona-specific content. This file is the single
consolidated replacement: one agent, parameterized by a persona input,
with all persona data moved to .datacore/registry/evaluators.yaml.
The 22 original evaluator-* entries in .datacore/registry/agents.yaml
(under module_agents:) are marked status: deprecated — not deleted.
Task 7.3's registry_gc.py --apply archives their def files and registry
metadata. This agent is the thing that should be invoked going forward.
How to run this agent
You will be invoked with a persona key (e.g. ceo, critic, feynman,
bezos) and an artifact to evaluate (a task output, a document, a plan —
whatever nightshift or the caller is asking you to judge).
- Use the canonical roster. The Nightshift caller loads the requested
row from
.datacore/registry/evaluators.yamland supplies it with the invocation. In that text-only execution context, use the supplied row; no filesystem or other tools are available. For an interactive invocation without a prefetched row, read.datacore/registry/evaluators.yaml. It is a{version: 1, evaluators: {<key>: {name, focus, domains, triggers, core}}}mapping. Look upevaluators[persona]. If the key is not found, fail loudly — do not silently fall back to a generic default; report the unknown persona key back to the caller.
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 Changed · +4 lines a44eaf36250a
- 1mo ago First seen · 113 lines · 23 tokens per session scan A 23817a8a9689
evaluator is an agent published in the GitHub repository datacore-one/datacore (4 stars, last pushed today), licensed MIT. It adds 23 tokens to every session and 1,414 once invoked, about $0.0001 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 agents, from other repositories
01-crm-pull
Fetch contacts, actions, pipeline data from CRM (Notion or local markdown).
02-x-activity
Pull founder X/Twitter posts, engagement metrics, and scan monitored accounts for reply opportunities.
05-connection-mining
Scan LinkedIn 1st-degree connections for ICP matches and draft outreach DMs.
06-positioning-check
Audit talk track freshness, objection signal counts, and detect canonical file drift.
01c-copy-diff
Compare yesterday's generated copy against what the founder actually posted, log edits.
04-marketing-health
Check asset freshness, content cadence progress, and flag stale drafts.