open-knowledge-discovery
inkeep/open-knowledge-skills
Markdown-CRDT collaboration platform for real-time multi-writer knowledge bases.
What is open-knowledge-discovery?
OpenKnowledge (OK) turns a directory of markdown files into a live, multi-writer knowledge base where agents and humans edit documents in real time with full attribution and browser preview. Use this skill to discover OK, install it on a repository, open individual markdown files, share projects with collaborators, and understand setup commands like `ok init`, `ok cowork`, and OK Desktop.
- Install OpenKnowledge on a repository with `ok init`, which scaffolds project config, wires the MCP server into detected coding agents, and installs the project-local runtime skill
- Open and preview single markdown files outside a project in a throwaway session without modifying the repository
- Share OK projects with collaborators by committing the `.ok/` directory and running `ok init` on their machine
- Understand how `ok init`, `ok cowork`, and OK Desktop set up and manage projects
- Access real-time multi-writer collaboration with full change attribution and live browser preview
How to install open-knowledge-discovery
npx skills add https://github.com/inkeep/open-knowledge-skills --skill open-knowledge-discovery- Node.js and npm to run `npx @inkeep/open-knowledge` commands
- Git repository (`.git/` directory) for project initialization
- For OK Desktop: macOS system
How to use open-knowledge-discovery
- 1.Run `npx @inkeep/open-knowledge init` from your repository root to set up an OK project
- 2.Commit the generated `.ok/` directory and project-local skills to share with collaborators
- 3.Run `ok init` on collaborators' machines after they clone the repository
- 4.Use `ok start` to launch the editor and preview, or open the project in OK Desktop
- 5.For viewing a single file outside a project: call `preview_url` MCP tool with the absolute file path, then open the returned URL in your in-app browser, or run `ok open /abs/path/to/file.md`
Use cases
- Initialize a repository as a shared OpenKnowledge project so multiple agents and humans can edit markdown files simultaneously
- Preview a standalone markdown file in a browser without creating a project or modifying the repository
- Share an OK project with team members by committing configuration and having them run `ok init`
- Upload an OpenKnowledge skill to Claude Desktop via `ok cowork` for use in Claude Chat
- Open a project in OK Desktop (macOS) for a standalone editor and preview experience
- Teams collaborating on markdown-based knowledge bases
- Coding agents (Claude Code, Cursor, Codex) working with markdown content
- Developers who want real-time multi-writer editing with version attribution
- Users of Claude Desktop, Claude Chat, and other agent hosts
open-knowledge-discovery FAQ
No. `ok init` creates a shared project; viewing a single file needs no project setup. Use `preview_url` with an in-app browser or `ok open` from the CLI instead.
Commit the `.ok/` directory and project-local skill directories to git, then have collaborators clone the repo and run `ok init` once to register the MCP server and refresh the project skill.
This discovery skill covers installation, opening files, and understanding setup. The project-local skill (installed by `ok init` into each agent's skills directory) handles the full read/write contract, STOP rules, and MCP routing inside an initialized project.
Run `ok cowork` to build `openknowledge.skill` and open Claude Desktop, then upload the skill via Customize → Skills → + → Create skill → Upload skill.
Yes. OpenKnowledge opens single `.md` / `.mdx` files in a throwaway session without modifying your repository. Use `preview_url` with an in-app browser or `ok open` from the CLI.
Full instructions (SKILL.md)
Source of truth, from inkeep/open-knowledge-skills.
name: open-knowledge-discovery
description: "Read when the user asks what OpenKnowledge is, wants to install it on a repository, wants to open or preview a single markdown file that is not part of an OpenKnowledge project, wants to share an OpenKnowledge project with collaborators, asks whether OpenKnowledge supports a particular capability, or asks how ok init / ok cowork / OK Desktop set up a project. Do NOT load to perform OpenKnowledge reads/writes — the runtime guidance for editing markdown inside an initialized OK project ships as a separate project-local skill installed into each detected agent's skills dir (for example .claude/skills/open-knowledge/) whenever ok init runs."
compatibility: "Any agent host — no MCP server required. Pure discovery + install guidance."
metadata:
author: "Inkeep"
repository: "https://github.com/inkeep/open-knowledge-skills"
OpenKnowledge — what it is and how to install it
OpenKnowledge (OK) is a markdown-CRDT collaboration platform. It turns a
directory of .md / .mdx files into a live, multi-writer knowledge base:
agents and humans edit the same documents in real time, every change is
attributed, and a browser preview renders edits as they land.
This skill covers discovery, install, and opening OpenKnowledge files —
including single files that are not part of a project (see Opening a file
outside a project below). It does not carry the in-project read/write
runtime contract (the STOP rules for native file tools, the grounding and
linking rules, the MCP routing table) — that ships separately as the
project-local skill installed by ok init (see Working inside a project
below).
Install OpenKnowledge on a repository
Run ok init from the repository root:
npx @inkeep/open-knowledge init
# or, after a global install:
npm install -g @inkeep/open-knowledge
ok init
ok init is the one setup verb. It:
- scaffolds a
.ok/directory (project config —content.dirdefaults to.); - wires the OpenKnowledge MCP server into the coding agents it detects on this
machine — skip with
--no-mcp; - installs the project-local runtime skill into each detected agent's
skills dir (
<agent-dir>/skills/open-knowledge/) so agents working in this repo get the full read/write contract. OK only writes into agent directories that already exist — it never creates one, so nothing appears for agents you don't use, andok initsays so when it finds none; - ensures the project has a
.git/.
Re-run ok init any time to refresh wiring and skills to the installed CLI
version.
Share an OpenKnowledge project with collaborators
An OK project travels with its repository. To share one:
- Commit the
.ok/directory and whichever project-local<agent-dir>/skills/open-knowledge/directoriesok initcreated, along with your.mdcontent. - Collaborators clone the repo and run
ok initonce — that registers the MCP server on their machine and refreshes the project skill. - Start the editor + preview with
ok start(or open the project in OK Desktop).
Collaboration is real-time once two writers have the project open against the same content directory.
ok cowork — Claude Chat & Cowork
ok init's editor wiring does not reach Claude Chat or Cowork — those read a
separate Skills list inside the Claude Desktop App. Run ok cowork to
build openknowledge.skill and open Claude Desktop so the user can upload it
(Customize → Skills → + → Create skill → Upload skill).
OK Desktop
OK Desktop is the standalone macOS app (@inkeep/open-knowledge-desktop). It
bundles its own CLI, opens a project as an editor + preview window, and keeps
the project's MCP wiring and skills current on every launch. Download DMGs
from the releases page.
Opening a file outside a project
OpenKnowledge can open a single markdown file that is not part of an OK
project — a loose .md / .mdx, or a file that lives inside a regular
repo/folder which was never ok init'd. It opens in a throwaway session (a
temp project in the OS temp dir — your repo is never touched, no .ok/ is
written into it) with the same live preview you get inside a project.
Never run ok init just to view or open a file. ok init turns a repo
into a shared OpenKnowledge project; it is not a prerequisite for opening one
file. Opening a file needs no project, no .ok/, and no server already
running — each path below boots the session itself.
When asked to open or preview such a file, decide by the viewing surface you actually have — check the tool, not the host name. Only open a browser when you genuinely have one; never pop a browser tab on a host that has none.
- You have an in-app / built-in browser (Claude Code Desktop's Browser pane, Cursor, Codex, and similar) — this
is the default: call the
preview_urlMCP tool withfileset to the absolute path (it finds, or boots on demand, the session and returns a fullurl), then immediately open thaturlin your in-app browser. "Open it" means navigate your browser — don't just print the URL and stop. This is also the only way to view it in a browser when the OK Desktop app is installed (ok openprefers the Desktop app). Get the URL frompreview_urlonly — never hunt for it viaok ps/ok status/ok startor a guessed port. - No in-app browser (a pure-stdio CLI) — run
ok open /abs/path/to/file.md: it opens the Desktop app when installed, else a browser, and boots the session itself. Don't force a browser tab the user didn't ask for;ok openis the right default here. Ifokisn't on PATH,npx @inkeep/open-knowledge open /abs/path/to/file.mddoes the same.
If the OK MCP server isn't wired into this host there is no preview_url to
call — use the ok open path above. Don't reconstruct what preview_url does
by hand (spawning ok mcp yourself, scraping ports from ok ps).
Give an absolute path. ok open prints the absolute project root it resolved
for that path, and names the enclosing project too when the resolved root sits
inside another one. Read that line rather than assuming which project you got.
To name the project yourself, pass --project <dir>. It is honored wherever it
appears: --project <dir> or --project=<dir>, before or after the path, with
or without the .md extension. If it cannot be honored the command exits
non-zero and says why, so you never need a second command to find out where it
landed, and never need to stop a server to correct it.
Re-opening the same file lands on the same session. Never construct or guess the
URL — use the one preview_url returns.
What else OK does
This skill does not enumerate OK's capabilities, and they change between releases. When asked whether OK supports something, read rather than guess:
Working inside a project — use the project-local skill, not this one
Do not use this skill to perform OpenKnowledge reads or writes. The
runtime contract — STOP rules for native file tools on in-scope markdown, the
preview-attach handshake, grounding and linking rules, the MCP tool routing
table — lives in a separate project-local skill installed into each detected
agent's skills dir (<agent-dir>/skills/open-knowledge/SKILL.md) whenever
ok init runs.
If the user is editing markdown inside a project that has a .ok/ directory
and this discovery skill is the only OpenKnowledge skill loaded, the
project-local skill is missing (the repo was never ok init'd, or the skill
directory was not committed). Advise the user to run ok init to install it.
Learn more
- Run
ok --helpfor the full command list.
Related skills
More from inkeep/open-knowledge-skills and the wider catalog.

open-knowledge-write-skill
Author and install reusable Agent Skills (SKILL.md files) for OpenKnowledge and your editors.

okf-knowledge-base
Master Open Knowledge Format v0.2 for creating and maintaining portable, agent-readable knowledge bundles.

open-knowledge
Authoritative contract for reading, editing, and managing markdown files in OpenKnowledge projects via MCP.

inngest-durable-functions
Build fault-tolerant, long-running workflows with automatic retries, event triggers, and durable execution across infrastructure failures.

inngest-events
Design event-driven workflows with Inngest: idempotent event handling, fan-out patterns, and system event monitoring.

inngest-flow-control
Manage API rate limits, concurrency, debouncing, and event batching in Inngest workflows.