Signed, versioned agent skills for model-driven orchestration
A dossier is an agent skill with a version and a signature. Copying skill files
between machines, teammates and customers works, until nobody knows which version they are
running or who changed it. Dossier gives every skill a version and your Ed25519 signature, so
everyone installs the same thing and can verify it came from you.
curl -fsSL https://raw.githubusercontent.com/imboard-ai/ai-dossier/main/install.sh | sh
Or add the MCP server to Claude Code
claude mcp add dossier --scope user -- npx @ai-dossier/mcp-server
~/hello
$ ai-dossier verify hello.ds.md✓ Parsed: Hello World Dossier v1.1.0✓ Checksum VALID content has not been tampered with✓ Signature VERIFIED from trusted author Risk Level: LOW Recommendation: ALLOW$ ai-dossier run hello.ds.md --dry-run✓ Checksum and signature valid● DRY RUN MODE no executionStatic preview, not a safety guarantee.
Every dossier carries a SHA-256 checksum and an Ed25519 signature in its header. ai-dossier verify checks both before an agent acts, and pins the version you reviewed.
checksum
sha256:2caae4c1…
signature
ed25519:tleSPJ4T…
key_id
imboard-ai
Dry-run risk preview
See what a dossier declares and what its code blocks would do before anything executes. A preview, not a safety guarantee.
risk: lowrisk: mediumrisk: high
A registry for agent skills
78 published dossiers
Search by category and risk level, and see signature details for each. Browse the registry
CLI, MCP and VS Code
Use it from the terminal, from Claude Code through the MCP server, or in the editor with diagnostics, completion and a dry-run preview for *.ds.md files.
Standalone binaries
No Node.js required. A checksum-verified download from GitHub releases for Linux and macOS.
How it runs
Model-driven orchestration, with a deterministic shell
In model-driven orchestration the model decides the steps, the tool calls, the retries and when
the work is done. A hand-coded DAG doesn't. Dossier makes that safe to share and repeat. Every skill is
signed and version-pinned. Multi-step runs sit inside a deterministic scheduler that never calls an LLM.
Code-driven
You write the control flow and the model fills in a step. Predictable and cheap, but brittle when reality leaves the script.
Model-driven agents
You hand the model a goal and tools, and it plans. Flexible, but the path can differ run to run, and whoever controls the instructions controls the agent.
Dossier (hybrid)
Model-driven inside each skill, deterministic around it: signed, version-pinned skills, ai-dossier run verification before the model reads them, and @ai-dossier/sched to queue and reconcile batch runs.
Verification proves integrity and origin. It does not make a skill safe to run. The model-driven approach was popularised by AWS Strands Agents; Dossier adds signing, versioning and the scheduler.
Push a new version to the registry (after ai-dossier login), or host the file anywhere.
ai-dossier publish my-skill.ds.md
03
Install anywhere
On any server or laptop, install it as a skill, or run it and refresh from the registry. The signature and checksum are checked first.
ai-dossier install-skill org/skills/my-skill
ai-dossier run org/my-skill --pull
Copying files
No versions: copies drift apart
No author: nobody can tell who wrote it
Silent edits: changes go unnoticed
With dossier
Pinned versions everyone can install
Signed by your key
Tamper-evident checksum
Format
What a dossier looks like
---name: 'hello'description: 'Say hello and show what a signed skill looks like'metadata: dossier.title: 'Hello World Dossier' dossier.version: '1.1.0' dossier.risk_level: 'low' dossier.requires_approval: 'false' dossier.checksum: '{"algorithm":"sha256","hash":"…"}' dossier.signature: '{"algorithm":"ed25519","covers":"spec-frontmatter+body","public_key":"…","signature":"…"}'---# Hello World DossierThe skill an AI agent follows, written in plain markdown.The header above is a standard Agent Skills header,and the signature in it is what makes them verifiable.
Trimmed. This is the layout ai-dossier sign writes: a valid Agent Skill as is, with the Dossier fields under metadata and a signature that covers the whole header and body. Dossiers signed before CLI 0.92.0 use the older JSON layout and verify the same way. The published getting-started/hello is a good first one to open. The format in detail.
How trust works
Trust is a local decision. A valid signature from a key you have not added is reported as untrusted, never auto-trusted.
Trusted keys live in ~/.dossier/trusted-keys.txt, managed with ai-dossier keys add, list, export and revoke. Revoking is local to that machine.
To let others verify your skills, sign with your own Ed25519 key (keys generate), send them the public key (keys export), and they run keys add. Extra registries, including self-hosted ones over HTTPS, are added with config --add-registry.
Verification proves integrity and origin. It does not prevent prompt injection or make a dossier safe to run. Read the security model.
Get started
Install
npm
npm install -g @ai-dossier/cli
ai-dossier --help
Needs Node 20+. Or try without installing: npx @ai-dossier/cli verify <file>.
Standalone binary
curl -fsSL https://raw.githubusercontent.com/imboard-ai/ai-dossier/main/install.sh | sh
No Node.js required. Checksum-verified download from GitHub releases (Linux, macOS; Windows via Git Bash).
VS Code extension
Diagnostics, completion and a dry-run preview for *.ds.md files.
Marketplace listing is pending. Until then install the .vsix from a vscode-v* release.
Claude Code (MCP)
claude mcp add dossier --scope user -- \
npx @ai-dossier/mcp-server
Agent Skills / SKILL.mdA layer on top, not a rival format: signing and versioning for agent skills. Move skills in and out with install-skill and skill-export.
Claude CodeInstall dossiers as skills with ai-dossier install-skill, or use the MCP server.
Claude Desktop and other MCP clientsAny client that can launch a stdio MCP server (Claude Desktop config is documented): npx @ai-dossier/mcp-server.
opencodeinstall-skill and sync-skills write opencode skill wrappers; run can target it.
VS CodeDiagnostics, completion and dry-run preview for *.ds.md (.vsix from GitHub releases).
GitHub ActionsVerify changed dossiers on every pull request with the workflow template.