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 Knuckles-Team/epistemic-graph --skill epistemic-graph-migrationsgit clone --depth 1 https://github.com/Knuckles-Team/epistemic-graphWrote 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/knuckles-team/epistemic-graph/epistemic-graph-migrations)<a href="https://agentmods.dev/skills/knuckles-team/epistemic-graph/epistemic-graph-migrations"><img src="https://agentmods.dev/badge/skills/knuckles-team/epistemic-graph/epistemic-graph-migrations/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/knuckles-team/epistemic-graph/epistemic-graph-migrations"><img src="https://agentmods.dev/badge/skills/knuckles-team/epistemic-graph/epistemic-graph-migrations.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00087 | $0.01033 |
| Opus 5 | $0.00044 | $0.00517 |
| Sonnet 5 | $0.00017 | $0.00207 |
| Haiku 4.5 | $0.00009 | $0.00103 |
Grade A, and why
epistemic-graph-migrations 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 12d 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 — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
epistemic-graph migrations & upgrades
Principles (from the engine's No-Legacy rule): code carries no back-compat, but persisted state and deployment config may need a one-time migration (read-old → write-new, then drop the old reader). This skill is that boundary for the AI-native DB.
1. Binary version flip
Build + promote per epistemic-graph-deploy. New optional fields on persisted structs use
#[serde(default)], so an old snapshot/redb loads under a new binary without a rewrite
(e.g. the bi-temporal tx_from/tx_to added to nodes/edges — old blobs decode as None,
EG-KG.compute.preserved). Verify with --verify (live UQL smoke). Roll back by restoring the .bak-<ts>
binary.
2. First authoritative boot — .mp → redb migration (CONCEPT:EG-OS.deployment.binary-promotion)
Flipping to the redb-authoritative tier runs a one-time migration on first boot: it
imports the legacy snapshot (.mp/WAL) into the durable redb store and binds the socket
only when done — minutes on a large KG (thousands of graphs / hundreds of MB). The 20s
healthcheck start-period would kill it into a restart loop, so:
scripts/promote_engine.sh --migrate --restore-health-period # extends start-period, watches
It tails the engine logs for Snapshot load progress / imported N graph(s) /
Listening on UDS, then restores the normal healthcheck on the now-fast restart. Never
docker kill a migrating engine — let it finish (check the log before assuming a hang).
3. Config / deployment-env migration
Settings live in config.json (XDG, injected into env with setdefault — a baked
container env always wins) read via typed AgentConfig fields / config.setting(...).
A retired value is migrated forward in code where it's read, not by editing every
deployment. Example shipped: GRAPH_BACKEND=tiered (removed in the engine-authority
consolidation) now maps forward to epistemic_graph at boot with a warning, so a stale
deployment keeps booting. Still update the manager service env to the new value
(docker service update --env-add GRAPH_BACKEND=fanout <svc>) to silence the warning —
the shim is a migration aid, not a permanent alias.
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.
- 12d ago First seen · 74 lines · 87 tokens per session scan A 87bd84f52606
epistemic-graph-migrations is a skill published in the GitHub repository Knuckles-Team/epistemic-graph (10 stars, last pushed 14d ago), licensed MIT. It adds 87 tokens to every session and 1,033 once invoked, about $0.0004 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-31.
Other skills, from other repositories
deprecation-and-migration
Manages safe API deprecation and system migrations. Use when removing or changing existing APIs, migrating databases, upgrading dependencies, or migrating between architectural patterns without breaking existing consumers.
portaljs-migrate
Migrate (harvest) datasets between open-data platforms. Reads CKAN, a DCAT-US /data.json catalog (DKAN, ArcGIS Hub, data.gov), a DCAT / DCAT-AP RDF feed (JSON-LD, Turtle, or RDF/XML), Socrata, OpenDataSoft, or an ArcGIS FeatureServer, and writes them to a static PortalJS catalog or pushes them into a CKAN instance…
forgetful-cli-setup
Set up the Forgetful CLI and connect from a terminal — install, local or remote mode, auth, and verification. Use when connecting a human or headless agent via shell, wiring CI with token auth, or operating a local server (serve, database selection, feature flags, re-embedding). Also covers the machine contract…
data-migration
Activate when the genjob agent detects that the source and target databases differ. Covers cross-database transfer lifecycle - type mapping via adapter Mixin hints, DDL generation, data transfer via transferqueryresult, and lightweight reconciliation.
transfer-reconciliation
Lightweight post-transfer reconciliation example — verify tool-reported row count parity and run a small target-side sanity check without re-scanning the source.
database-migration
Safe patterns for evolving database schemas in production with decision trees and troubleshooting guidance.