Portable
Every ACO is a valid Markdown file. Works in Obsidian, any text editor, any static site generator — no proprietary tooling required.
An Atomic Content Object is a Markdown file with structured YAML frontmatter. Six required fields. Everything else optional. Readable in any text editor. Parseable by any LLM.
---id: "550e8400-e29b-41d4-a716-446655440000"acp_version: "0.2"object_type: "aco"source_type: "manual"created: "2026-04-10T12:00:00Z"author: { id: "user-1", name: "Your Name" }title: "My First ACO"tags: ["example"]---
Your knowledge content here.Portable
Every ACO is a valid Markdown file. Works in Obsidian, any text editor, any static site generator — no proprietary tooling required.
AI-Ready
Token counts, summaries, typed entities, and agent permissions — everything AI needs to make smart decisions without reading the full content.
Provenance Built-In
Every auto-generated field carries provenance: which model created it, when, at what confidence. You always know what is human and what is machine.
Open Standard
ACP is a protocol, not a product. Apache 2.0 licensed. Anyone can implement it.
Create any .md file with the 6 required frontmatter fields. That is a valid ACO.
npx @acp/cli init ./my-vaultnpx @acp/cli create --title "My First ACO"npx @acp/cli enrich ./my-vault/my-first-aco.mdCall enrich_content or enrich_url — pass in content, get back a fully enriched ACO with tags, summary, entities, and provenance.