Ariadne
In Greek myth, Ariadne gives Theseus the thread that lets him navigate the labyrinth. Ariadne gives AI agents a thread through a complex knowledge labyrinth.
An agent skill package for building Markdown knowledge vaults that AI agents can navigate, maintain, and operate reliably. Designed for ChatGPT/Codex, Claude Code, and other runtimes that support the skills protocol; accepted cross-runtime behavioral evidence is still being expanded.
The core pattern: humans choose what enters, agents compile raw material into a linked wiki, and plain Markdown remains the source of truth. Document renderers are replaceable; Obsidian is an optional, recommended frontend, and its Bases and other view features remain derived layers.
flowchart LR
Human(["Human\nSources · notes · requests"])
Agent(["AI agent"])
subgraph Vault["Markdown knowledge vault"]
Operating["Operating graph\nAGENTS · navigation · routing"]
Checkpoints["Canonical scope checkpoints\nstable ID · path · lifecycle"]
Topology["Topology synchronizer\npreview · authorize · recover"]
Knowledge["Knowledge graph\nresearch · concepts · decisions"]
Views["Derived optional views\nregistry · Markdown map · Canvas"]
Validator["Deterministic validator\nwhole vault · scoped profiles"]
end
Human --> Agent
Agent -->|"enters through"| Operating
Operating -->|"selects the smallest context"| Checkpoints
Checkpoints --> Knowledge
Topology -->|"maintains generated cores"| Checkpoints
Checkpoints -.->|"generates"| Views
Validator -.->|"checks"| Operating
Validator -.->|"checks"| Checkpoints
Validator -.->|"checks"| Knowledge
Validator -.->|"checks"| Views
Views -.->|"surfaces state and gaps"| Human
Requirements
- A filesystem-accessible folder for the Markdown knowledge vault.
- Node.js with
npm/npxavailable for installing skills and running the bundled validator and vault-registration scripts. - A skills-capable agent runtime, such as ChatGPT/Codex, Claude Code, or another runtime that supports the skills protocol.
Optional Document Renderers
No particular renderer is required for agent workflows. Obsidian is not required; use any Markdown-compatible editor or viewer that preserves the underlying files. Obsidian is the recommended and most-tested frontend when you want native backlinks, graph, Canvas, Bases, Kanban, or Dataview. Obsidian users may optionally install kepano/obsidian-skills for companion Markdown, Bases, Canvas, extraction, and CLI mechanics.
Ariadne has no project dependency installation or build step. Its scripts use only built-in Node.js modules; npx skills copies the skill package into supported agent runtimes.
Install
Install into all supported skill targets (ChatGPT/Codex, Claude Code, and others):
npx skills add https://github.com/pariyar07/ariadne \
--global \
--agent '*' \
--copy \
--yes
Install for a specific agent:
# Claude Code
npx skills add https://github.com/pariyar07/ariadne \
--global \
--agent claude-code \
--copy \
--yes
# ChatGPT/Codex
npx skills add https://github.com/pariyar07/ariadne \
--global \
--agent openai \
--copy \
--yes
List available skills:
npx skills add https://github.com/pariyar07/ariadne --list
Update
Update globally installed skills:
npx skills update -g -y
Reinstall Ariadne from GitHub when you want to force a fresh copy:
npx skills add https://github.com/pariyar07/ariadne \
--global \
--agent '*' \
--copy \
--yes
During local Ariadne development, reinstall from your checkout:
npx skills add /path/to/ariadne \
--global \
--agent '*' \
--copy \
--yes
List installed global skills:
npx skills list -g
Updating skills does not migrate existing vault content. After updating, run the validator against important vaults, and run global discovery doctor if you use machine-level vault discovery:
node skills/validator/scripts/validate_vault.js "/path/to/vault"
node skills/vault/scripts/register_vault.js --agents codex,claude,gemini --doctor
The research lifecycle skill names changed atomically. Existing copied skills, generated vault instructions, saved prompts, and external schedulers need an explicit migration pass; see Research Lifecycle Migration.
Latest release: Ariadne v0.3.4 — Obsidian Canvas Metadata Compatibility.
Skills
Start with ariadne:vault to bootstrap a new vault. Most other skills operate on an existing vault; ariadne:workspace-instructions operates on a workspace that may link back to registered Ariadne context.
| Skill | Purpose |
|---|---|
ariadne:vault |
Start here — Bootstrap a new agent-ready vault with folders, navigation, templates, and Bases |
ariadne:global-discovery |
Register existing Markdown knowledge vaults so cold agents can find them from any workspace |
ariadne:workspace-instructions |
Create or update workspace instruction files and connect workspaces to Ariadne context |
ariadne:scope |
Create, promote, import, and nest durable knowledge scopes |
ariadne:navigation |
Design hubs, routing, workstream graphs, templates, and view layers |
ariadne:knowledge-capture |
Turn links, documents, and brain dumps into durable wiki notes |
ariadne:research-ingest |
Route research inputs into an explicitly selected boundary and hand compilation to knowledge capture |
ariadne:research-synthesis |
Record synthesis disposition, update inquiries, and prepare supportable promotion candidates |
ariadne:research-stewardship |
Audit and safely repair provenance, compilation coverage, stale synthesis, and legacy research drift |
ariadne:research-pipeline |
Create a versioned research boundary descriptor and its declared topology inside an existing scope |
ariadne:workstream-tracking |
Create and improve Obsidian Kanban boards and Dataview dashboards for durable workstream tracking |
ariadne:closeout |
Checkpoint completed work, update durable vault memory, and decide whether a chat can safely close |
ariadne:maintenance |
Run health checks and repair navigability drift |
ariadne:validator |
Deterministic structural, scope, and schema-gated research validation with a zero-warnings target |
Weekly Maintenance Automation
Recurring maintenance is best handled as an automation prompt that invokes the existing skills, not as a separate skill. Start with ariadne:validator, follow with ariadne:maintenance, route research-semantic drift to ariadne:research-stewardship, and call ariadne:research-synthesis only when an authorized synthesis pass needs a disposition.
See docs/guides/weekly-maintenance-automation.md for a Codex-ready prompt, Claude Code adaptation notes, subagent boundaries, and the optional durable report variant.
Current Direction
Ariadne's implemented foundation now covers discovery, scoped navigation, knowledge capture, research governance, closeout, deterministic validation, and recoverable scope topology.
The current product question is whether that structure measurably improves outcomes over a plain Markdown folder, whether non-Codex runtimes follow the same contracts in practice, and whether external users sustain it. Validation and real-user evidence should precede more architecture.
Conditional value directions after that evidence include:
- cross-domain synthesis across scope-level research hubs
- explicit relationship notes for connections between domains
- recurring daily or weekly vault briefs
- stale question resurfacing
- contradiction review across old decisions, beliefs, and newer synthesis
The design constraint stays the same: agents should not need to read the whole vault to be useful. They should follow ordered explicit routes, preserve bounded write authority, return to canonical evidence, and keep Markdown as the source of truth.
How It Works
Three Layers
Every vault created with Ariadne has three layers:
- Knowledge Graph — research, concepts, entities, relationships, decisions, and domain workstreams
- Operating Graph — agent instructions (
AGENTS.md), routing matrices, workflows, intake queues, and templates - View Layer — Bases (
.basefiles), canvases, and dashboards as live queries over the Markdown source of truth
Recursive Scope Model
The vault is a tree of scopes, not a flat folder. Each adopted scope has an immutable scope_id, a canonical path and lifecycle in its exact 00 Index.md, plus four marker-managed checkpoint surfaces. The root owns global policy; each child inherits parent rules and adds only local deltas. Markdown descriptors and checkpoints are canonical, while registry, map, and Canvas views are derived.
Vault root (global policy)
├── Agent/ ← global routing and workflows
├── Bases/ ← global view layer
├── Domains/
│ ├── Alpha/ ← child scope (inherits root)
│ │ ├── AGENTS.md ← local deltas only
│ │ ├── Agent/ ← local routing
│ │ └── Bases/ ← scoped views
│ └── Beta/ ← another child scope
Navigation Layers
Agents navigate through a layered structure — no cold reading of raw notes:
00 Index.md → strategic map
Agent/00 Agent Navigation → routing map
Agent/Task Routing Matrix → task entry selector
Folder hubs → detailed local maps
Thread hubs → deep synthesis notes
Bases → dynamic inspection layer
Wikilink Resolution
Navigation files (AGENTS.md, 00 Index.md, Agent/) always use path-qualified wikilinks so agents arriving cold have zero ambiguity. Content notes may use bare links because agents always arrive via a qualified navigation file, never cold.
The validator resolves wikilinks to real vault files, including Markdown notes, Base files, Canvas files, and attachments. Orphan checks remain Markdown-only.
Validation
Run the validator from a vault root:
node /path/to/skills/validator/scripts/validate_vault.js "/path/to/vault"
Use --profile scope for the schema-v1 scope contract, optionally with --scope "Domains/Product" for an applicable subtree. Add --profile research for schema-v1 research and nearest-routing obligations. Scoped runs inventory the whole vault before filtering results; sibling-only defects do not affect scoped status.
Scope topology changes go through the installed synchronizer. Preview before authorizing its exact content write set:
node /path/to/skills/validator/scripts/sync_scope_topology.js "/path/to/vault" --check
node /path/to/skills/validator/scripts/sync_scope_topology.js "/path/to/vault" --check --scope "Domains/Product"
Bases/Scope Registry.base and Agent/Scope Map.canvas are fully derived artifacts; the generated block in Agent/Scope Map.md is derived too. Do not edit them manually. Regenerate them with the synchronizer, which preserves user content outside managed checkpoint blocks. See the scope topology migration guide before adopting an existing vault.
A healthy vault reports all zeros:
yaml-ok
broken-wikilinks: 0
true-orphans-md: 0
unlinked-base-files: 0
bloat-warnings: 0
local-base-scope-warnings: 0
local-agents-inheritance-warnings: 0
ambiguous-wikilink-warnings: 0
scope-navigation-warnings: 0
routing-matrix-warnings: 0
base-scope-formula-warnings: 0
scope-adoption-warnings: 0
scope-contract-warnings: 0
scope-map-warnings: 0
research-boundary-warnings: 0
research-provenance-warnings: 0
provenance-cycle-warnings: 0
uncompiled-raw-source-warnings: 0
research-hub-warnings: 0
See docs/guides/validator.md for the full counter reference.
Guides
| Guide | Contents |
|---|---|
docs/guides/quickstart.md |
Full usage guide — every skill, every scenario, cold-start phrases, skill chains, and common mistakes |
docs/guides/global-discovery.md |
Optional machine-level vault registration so cold agents can find local vaults from any folder |
docs/guides/weekly-maintenance-automation.md |
Weekly maintenance prompt, Codex setup notes, Claude Code adaptation, and subagent boundaries |
docs/guides/validator.md |
Validator counter reference |
docs/guides/scope-topology-migration.md |
Scope topology adoption, recovery, and rollback guidance |
docs/guides/research-lifecycle-migration.md |
Breaking v0.2.0 skill-name and generated-vault migration guidance |
docs/releases/v0.3.4.md |
Published v0.3.4 Obsidian Canvas metadata compatibility release notes and verification summary |
docs/releases/v0.3.0.md |
Published v0.3.0 deterministic scope topology release notes and verification summary |
docs/releases/v0.2.1.md |
Published v0.2.1 frontend-neutral positioning release notes |
docs/releases/v0.2.0.md |
Published v0.2.0 release notes and verification pointers |
Global Discovery
After bootstrapping a vault, Ariadne can optionally register the vault on the user's machine. For existing vaults, use ariadne:global-discovery.
node skills/vault/scripts/register_vault.js \
--vault "/path/to/vault" \
--name "My Knowledge Vault" \
--purpose "Long-term project and research knowledge." \
--agents codex,claude,gemini \
--primary
This creates ~/.ariadne/vaults.json and ~/.ariadne/vaults.md, then adds a small marker-managed discovery block to selected global agent instruction files. The block points agents to the registry; it does not copy the whole vault context.
Use this when you want future cold agent sessions, launched from any folder, to find the vault quickly for vague questions about prior projects, meetings, research, decisions, or "what was I working on?"
Use ariadne:workspace-instructions when a specific code repository or folder needs local AGENTS.md, CLAUDE.md, or GEMINI.md files that point back to registered Ariadne context. Hermes can use the canonical AGENTS.md directly; .hermes.md and HERMES.md are treated as explicit Hermes-specific overrides rather than default thin adapters. Workspace files should stay small; the vault remains the source of truth.
References
All reference docs live under skills/vault/references/:
| Reference | Contents |
|---|---|
vault-operating-model.md |
How the three layers interact |
vault-modes.md |
Single-scope vs multi-scope vault patterns |
vault-structure.md |
Folder conventions and filing rules |
maintenance.md |
Health check and repair procedures |
knowledge-processing-architecture.md |
Intake → compile → link → index pipeline |
recursive-scopes.md |
Scope inheritance, wikilink resolution, child scope patterns |
bases-scope-patterns.md |
Base filter patterns and scope formula conventions |
Contributing
See CONTRIBUTING.md. Issues and PRs welcome — please read the contributing guide before opening either.
See PUBLIC_BOUNDARY.md for the public repository boundary and SECURITY.md for vulnerability reporting.
License
MIT
No comments yet
Be the first to share your take.