inkeep/open-knowledge-skills

open-knowledge-discovery

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 OpenKn…

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

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:

bash
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.dir defaults 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, and ok init says 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:

  1. Commit the .ok/ directory and whichever project-local

<agent-dir>/skills/open-knowledge/ directories ok init created, along with your .md content.

  1. Collaborators clone the repo and run ok init once — that registers the

MCP server on their machine and refreshes the project skill.

  1. 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_url` MCP tool with file set to the absolute path (it finds, or boots on demand, the session and returns a full url), then immediately open that `url` in 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 open prefers the Desktop app). Get the URL from preview_url only — never hunt for it via ok ps / ok status / ok start or 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 open is the right default here. If ok isn't on PATH, npx @inkeep/open-knowledge open /abs/path/to/file.md does 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:

  • Docs — <https://openknowledge.ai/docs>
  • Source — <https://github.com/inkeep/open-knowledge>

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 --help for the full command list.
来自同一仓库

更多 Skills

全部 Skills
inkeep
社区

okf-knowledge-base

Open Knowledge Format (OKF) v0.2 guidance. Use when creating, reading, reviewing, or maintaining an OKF bundle; responding to OpenKnowledge okf plugin warnings; or choosing types, provenance, links, indexes, or logs.

安装量
18
GitHub Stars
8
最近更新
9月8日
inkeep
社区

open-knowledge-write-skill

Use when the user wants to create, author, write, or design a new Agent Skill (a SKILL.md) — for OpenKnowledge or for their editors — including requests like 'help me write a skill', 'make a skill that…', 'turn this workflow into a skill', or improving an existing skill's triggering and discipline. Also use when capturing reusable agent guidance that should live as an installable skill rather than a one-off prompt. Covers choosing scope (project vs global), authoring inside a plugin or skills-distribution repo (write in the repo's own layout, never install), the SKILL.md frontmatter contract, progressive-disclosure structure, evaluating the skill, and installing it into the user's editors.

安装量
6
GitHub Stars
8
最近更新
9月8日
inkeep
社区

frame-a-proposal

Frame a new design proposal (RFC-shape) under proposals/ — problem before solution, named beneficiary and observable change, real alternatives, honest drawbacks, and a live open-questions backlog. Read when asked to frame a proposal, write an RFC, propose a design, pitch a change, draft a PRD-style design doc, or open a design proposal for review. Do NOT read to record a decision after it is accepted (use record-a-decision), to write an implementation spec (use write-a-spec), to write a postmortem (use write-a-postmortem), or to review or critique an existing design (use review-a-design).

安装量
1
GitHub Stars
8
最近更新
9月2日
inkeep
社区

consolidate-notes

Promote existing research into a stable-status canonical article under articles/ in a Knowledge Base project (the knowledge-base starter pack). Read when a decision has actually been made and the team wants the source-of-truth written down, or when asked to consolidate, canonicalize, promote research, or supersede an older article. Carries the decision-confirmation gate, the supersedes: chain that keeps the evidence trail intact, and the canonical voice. Does not conduct new research — that is the sibling research-with-sources skill.

安装量
2
GitHub Stars
8
最近更新
9月2日