Skip to content

Install the Claude Code plugin

Dossier ships as one Claude Code plugin — the loop runs with the same primitives it’s built on (subagents, skills, hooks, MCP). Installing it gives an agency operator everything needed to onboard, serve, and audit a client’s knowledge base without bespoke setup. This guide installs it and verifies it’s live.

  • Claude Code installed and authenticated.
  • A Dossier knowledge repo to serve. If you don’t have one yet, follow Run your first loop to provision one — or point the plugin at the DXA reference KB in the repository to try it.
  1. Add the Dossier marketplace.

    The marketplace is git-hosted, so this needs no registry:

    /plugin marketplace add twofoldtech-dakota/dossier
  2. Install the plugin.

    /plugin install dossier@dossier-marketplace

    On enable, Claude Code prompts you for this client’s tenant config — see Tenant configuration below.

  3. Verify it’s active.

    Open the agent and skill pickers to confirm the Dossier team loaded — everything is namespaced to dossier, so it never collides with your other tools:

    /agents # lists dossier:knowledge-architect, dossier:extraction-engineer, …
    /dossier: # the skill picker — author-okf, ingest-client, verify-kb, …

    Then check the MCP server connected:

    /mcp # dossier-okf should appear, scoped to your client's repo

One install delivers four things:

ComponentWhat it does
6 agentsThe expert team you run a client KB with: knowledge-architect, ingestion-engineer, extraction-engineer, mcp-engineer, qa-reviewer, log-auditor.
4 skillsThe repeatable client procedures: ingest-client, author-okf, scaffold-vertical, verify-kb.
MCP server (dossier-okf)A tenant-scoped GraphRAG server over one client’s OKF repo — search_concepts, get_concept, get_related, list_concepts, kb_health.
Audit hookA PostToolUse hook that captures every mutating tool call to journal/traces/ — the raw layer of the learning loop.

The agents and skills appear as dossier:extraction-engineer, /dossier:author-okf, and so on. The audit hook captures Edit, Write, MultiEdit, and Bash calls — the deterministic capture that later distills into curated decisions.

When you enable the plugin, Claude Code prompts for three values that scope the MCP server to one client. They are the isolation boundary — one server = one tenant = one OKF repo — and they map directly onto dossier-mcp’s CLI flags:

PromptMaps toMeaning
Client OKF repo--repoAbsolute path to this client’s OKF git repo. The only directory the server reads.
Client / tenant id--clientNamespaces the silo; surfaced on every served fact.
Known external concept ids--known-external-idsOptional, comma-separated ids that live outside the repo (e.g. knowledge-model) so cross-references aren’t flagged as dangling. Never a read backdoor — nothing outside the configured repo is ever served.

To serve a different client, install the plugin under a second scope or run a second server pointed at that client’s repo. Two clients are never served from one server — the file boundary, not a query filter, is the silo.

Once installed, the plugin orchestrates the loop end to end:

  1. Provision the tenant — dossier-runtime provision stands up the client’s siloed OKF repo. Optionally seed a vertical with /dossier:scaffold-vertical.
  2. Ingest their sources — /dossier:ingest-client (or dossier-runtime run over a --source-dir) pulls sites and files into clean, provenance-stamped markdown.
  3. Extract to OKF — /dossier:author-okf and the extraction-engineer turn that markdown into atomic concepts with typed edges.
  4. Verify/dossier:verify-kb and the qa-reviewer adversarially audit OKF compliance, atomicity, link integrity, and provenance before it ships.
  5. Serve & query — the dossier-okf MCP server, pointed at the client’s repo, answers agent queries with explainable GraphRAG.

The metric is Time-to-Live-Wiki per client. The loop compounds from there: every decision the log-auditor records makes the next run smarter.

Run /mcp to see its status. The most common cause is the unpublished-package gap above: if npx -y @dossier/mcp can’t resolve, point the server at a local build (see the caution above). Confirm the build exists with node ./packages/mcp/dist/cli.js --help.