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 instructions/aliasunder/vault-cortex/agents-mdgit clone --depth 1 https://github.com/aliasunder/vault-cortexWhat 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.18812 | $0.18812 |
| Opus 5 | $0.09406 | $0.09406 |
| Sonnet 5 | $0.03762 | $0.03762 |
| Haiku 4.5 | $0.01881 | $0.01881 |
Grade A, and why
vault-cortex AGENTS.md 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 yesterday.
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 — 1,310 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Project conventions for AI-assisted development on vault-cortex — for Claude Code and other AI agents.
What this project is
Remote MCP server exposing an Obsidian vault over HTTPS. One two-target
Dockerfile builds the ghcr.io/aliasunder/vault-cortex image: the local
target (:latest, the default stage) is tini + the MCP server alone; the
remote target (:remote) adds s6-overlay supervising both obsidian-sync
(bidirectional Obsidian Sync via the obsidian-headless npm CLI) and the MCP
server in a single container — s6 service definitions live in rootfs/, and
the init chain registers the initial Sync device under DEVICE_NAME. Both
processes run as UID 1000 (PUID/PGID-adjustable). Production runs the
:remote image on Lightsail as a single Compose service, fronted by API
Gateway with a smart Lambda authorizer (path-aware: OAuth endpoints pass
through, /mcp validates static token or JWT). IaC via SST v4.
The server provides vault CRUD, hybrid search (FTS5 keyword + sqlite-vec
vector + cross-encoder reranking via RRF fusion and position-aware score
blending), and the About Me/ memory layer. The Docker image uses Debian
slim (node:24-trixie-slim) because onnxruntime-node requires glibc,
and specifically trixie because better-sqlite3 v13's bundled linux-arm64
prebuild needs glibc >= 2.38 (bookworm's 2.36 crash-loops arm64 images).
All solutions must be portable — they can't rely on one-off manual fixes, hardcoded paths, or user-specific configuration. If it works only on the author's machine, it's not done.
Design for the Obsidian user. The end user is always an Obsidian user, so
anything that mirrors an Obsidian concept — backlinks, outgoing links, orphans,
the graph, tags, properties, daily notes — must match what Obsidian itself does.
At minimum, recognize every form Obsidian recognizes; behavior that is a strict
subset of Obsidian's is a bug, not a limitation. For link resolution
specifically, that means all of Obsidian's link styles ([[wikilink]],
[[wikilink|alias]], [[wikilink#heading]], ![[embed]], [md](path.md),
),
links in frontmatter properties (e.g. related:), and all three "New link
format" modes — shortest path, path from vault folder, and path from current
file (including relative ../ paths).
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.
- yesterday First seen · 1,310 lines · 18,812 tokens per session scan A 675dfe50e77f
vault-cortex AGENTS.md is an instructions file published in the GitHub repository aliasunder/vault-cortex (16 stars, last pushed yesterday), licensed MIT. It adds 18,812 tokens to every session, about $0.0941 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 instructions, from other repositories
obsidian-multivault-mcp AGENTS.md
Instructions for bepitulaz/obsidian-multivault-mcp, covering agents.md — deploying this mcp server on the vps, vps facts (example — change to match yours), gather before you start, do (high level — exact commands in deploy.md) and definition of done (verify — do not assume).
obsidian-multivault-mcp CLAUDE.md
Instructions for bepitulaz/obsidian-multivault-mcp: See AGENTS.md for the deployment brief, and DEPLOY.md for the full step-by-step VPS runbook.
geode AGENTS.md
AGENTS.md instructions for 8thpark/geode, covering agents.md, vision, documentation, remember and code style & implementation.
geode CLAUDE.md
Claude Code instructions for 8thpark/geode, a project described as: Geode provides agents remote access to your Obsidian vault.
niamos CLAUDE.md
Claude Code instructions for pricklywiggles/niamos, covering niamos vault — operating guide, system reference, content type schemas, folder layout and tag vocabulary.
obsidian-personal-scrum-vault CLAUDE.md
Instructions for Awzy11/obsidian-personal-scrum-vault, covering claude.md, vault access, vault structure, the two workflows and 1. zettelkasten (second brain).