Outline
Vortiago/mcp-outline
Conventions and efficient workflows for Outline knowledge bases via mcp-outline tools.
Authoritative agent-runtime contract for working inside an OpenKnowledge project — a markdown-CRDT knowledge base exposed over MCP.
$ npx skills add inkeep/open-knowledge --skill open-knowledge -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install inkeep/open-knowledge open-knowledge --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/inkeep/open-knowledge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/server/assets/skills/project .claude/skills/open-knowledge && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "open-knowledge" agent skill from https://github.com/inkeep/open-knowledge/tree/main/packages/server/assets/skills/project into .claude/skills/open-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-knowledge", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/inkeep/open-knowledge/tree/main/packages/server/assets/skills/projectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add inkeep/open-knowledge --skill open-knowledge -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install inkeep/open-knowledge open-knowledge --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/inkeep/open-knowledge.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/server/assets/skills/project .agents/skills/open-knowledge && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "open-knowledge" agent skill from https://github.com/inkeep/open-knowledge/tree/main/packages/server/assets/skills/project into .agents/skills/open-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-knowledge", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add inkeep/open-knowledge --skill open-knowledge -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install inkeep/open-knowledge open-knowledge --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/inkeep/open-knowledge.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/server/assets/skills/project .cursor/skills/open-knowledge && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "open-knowledge" agent skill from https://github.com/inkeep/open-knowledge/tree/main/packages/server/assets/skills/project into .cursor/skills/open-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-knowledge", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/inkeep/open-knowledge.git --path packages/server/assets/skills/project--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add inkeep/open-knowledge --skill open-knowledge -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install inkeep/open-knowledge open-knowledge --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/inkeep/open-knowledge.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/server/assets/skills/project .gemini/skills/open-knowledge && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "open-knowledge" agent skill from https://github.com/inkeep/open-knowledge/tree/main/packages/server/assets/skills/project into .gemini/skills/open-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-knowledge", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install inkeep/open-knowledge open-knowledgeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add inkeep/open-knowledge --skill open-knowledge -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/inkeep/open-knowledge.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/server/assets/skills/project .github/skills/open-knowledge && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "open-knowledge" agent skill from https://github.com/inkeep/open-knowledge/tree/main/packages/server/assets/skills/project into .github/skills/open-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-knowledge", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add inkeep/open-knowledge --skill open-knowledge -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install inkeep/open-knowledge open-knowledge --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/inkeep/open-knowledge.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/server/assets/skills/project .opencode/skills/open-knowledge && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "open-knowledge" agent skill from https://github.com/inkeep/open-knowledge/tree/main/packages/server/assets/skills/project into .opencode/skills/open-knowledge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "open-knowledge", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
open-knowledgeAuthoritative agent-runtime contract for working inside an OpenKnowledge project — a markdown-CRDT knowledge base exposed over MCP.
Open Knowledge is an agent skill from inkeep/open-knowledge. Authoritative agent-runtime contract for working inside an OpenKnowledge project — a markdown-CRDT knowledge base exposed over MCP. Use whenever reading, listing, searching, editing, or linting any .md or .mdx file in the project, and before any mcpopen-knowledge tool call (exec, search, write, edit, lint, and the rest). Installed by ok init, so its presence means this is an OpenKnowledge project and it governs every markdown file here. Covers the read/write tool surface, grounding and linking rules…
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including reference files (for example `references/anti-patterns.md`, `references/cadence-and-logs.md` and `references/components-and-visuals.md`). Compatibility notes: Any agent host with the OpenKnowledge MCP server configured; ok init wires the agents it detects on your machine. Some steps shell out to the ok CLI. Hosts…
It sits in Knowledge Management, covering Markdown, Linting and formatting and MCP servers. It works with Model Context Protocol. The repository describes itself as: Beautiful, AI-native markdown IDE and LLM wiki. The licence is GPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cf9b84c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
openknowledge.aiFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Any agent host with the OpenKnowledge MCP server configured; `ok init` wires the agents it detects on your machine. Some steps shell out to the `ok` CLI. Hosts that take an uploaded skill bundle instead of reading a project directory (Claude Desktop, Cowork, claude.ai) are covered by `ok cowork`.
From compatibility in the SKILL.md frontmatter.
Open Knowledge loads about 4.7k tokens when it runs, and up to ~31k if it reads all its reference files. Until then it costs about 171 tokens; SKILL.md has 2,365 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from inkeep/open-knowledge at commit cf9b84c, republished under its GPL-3.0 licence (© inkeep). 2,365 words, ~4,728 tokens.
.claude/skills/open-knowledge/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.OpenKnowledge (OK) is a markdown-CRDT collaboration platform exposed via MCP. This skill is the single source of OK agent guidance. Every rule below is a MUST unless marked otherwise. Depth lives in references/*.md — one level deep; load a reference when its task comes up.
Skill version tracks
@inkeep/open-knowledge-server.cat ~/.ok/skill-state.ymlshows what's installed.ok seedneeds@inkeep/open-knowledge>= 0.4.0; if it errorsunknown command,npm install -g @inkeep/open-knowledge.
Setup (not connected yet?). If the
mcp__open-knowledge*tools aren't available in your client, this project isn't wired up on this machine — seereferences/setup.mdfor the rung ladder (approve.mcp.json→ok startCLI → optional desktop app) and the canonical quickstart.
exec("cat …") for one doc, exec("ls -A …") for a directory (folder defaults + template menu), exec("grep …") for literal, search for ranked retrieval. Native Read / Grep only on source code (.ts / .py / …), never on in-scope .md / .mdx.write({ document: { path, content } }) for a new or full-replace doc; edit({ document: { path, find, replace } }) for a body find/replace; edit({ document: { path, frontmatter } }) for a frontmatter merge-patch (null deletes a key). delete({ document }) removes, move({ from, to }) moves/renames. Body find/replace is body-only. Pass a one-line summary (≤80 chars, user-facing outcome) on every content write.OK_DESKTOP_TERMINAL or OK_HOSTED_AGENT set → you're inside OpenKnowledge (desktop terminal / in-app agent panel) → ok open <name> (switches the window the user is already looking at); never paste a localhost URL into your reply here · in-app browser (Claude Code Desktop's Browser pane, Cursor, Codex) → preview_url, then open/navigate it to the doc · else plain CLI → ok open <name>. ok open <name> opens a doc or folder (auto-detected); --skill <name> for a skill. The previewUrl field is a route id, not your open mechanism. Don't preview_screenshot to confirm edits. Full Step-0 procedure + per-surface how-to: references/preview.md.search / exec + a cited chat answer — no "research" keyword needed. Persist only when durable + multi-doc + not already covered, and offer first. See references/corpus-qa.md./open-knowledge-write-skill for scope (project/global), contract, evaluation, and install. Author through write({ skill }), never a document path. Skills are real folders under editor skills/ dirs (.claude · .cursor · .codex · .github · .opencode · .pi · .agents): one source plus managed copies/symlinks. Read/edit via skills and edit({ skill }) — they route to the source. Never hand-edit a non-source copy: recorded, unedited copies refresh from the source when the skill watcher runs or the server starts, so a source edit can precede the refresh. Editing a copy directly forks it and stops refresh.exec — read files and directories with document context.search — retrieve ranked workspace matches.links — inspect link relationships and suggestions.lint — check content rules and apply automatic fixes.audit — validate content rules and internal links.write — create or replace content.edit — change content or metadata in place.delete — remove content.move — rename or relocate content through managed operations.install — manage skill source and editor locations.import — acquire a skill folder without running scripts.history — inspect document, folder or skill versions.skills — discover, list or read skills by name and scope.checkpoint — save a named version.restore_version — restore a document or skill version.palette — discover components and authoring forms.config — read resolved configuration.preview_url — get the browser preview URL.share_link — get a GitHub-backed sharing link.Read ran on successful lint/audit results: a family absent from ran was not checked, and [] means no checks were selected. For link VALIDATION use audit; links reports relationships and raw dead-link state. Caveats: references/linking.md.
Skill placement is separate from skill content: the source folder IS the skill, and removing an installed copy does not delete the skill. For a Project↔Global move, history resets; only what the destination level can host re-projects; the rest is removed at source, returned as droppedLocations (success: re-add with install). Read the returned outcome before recovery. A folder's frontmatter is open-shape and self-only (does NOT cascade); templates are what new docs start with.
Self-correcting on misuse: constraints JSON Schema can't express ("exactly one target", "find needs a replace", body-XOR-frontmatter) return isError: true with a one-line corrective shape. Read it and retry with that shape; don't guess.
Tools NOT in OK MCP (your host's): preview_start, preview_screenshot, WebFetch, WebSearch, native Read / Grep / Glob / Edit. The STOP rule governs which you may use on in-scope markdown.
.md / .mdxRoute every in-scope markdown read and write through OK's MCP tools — never your host's native file tools. Native Edit / sed / direct Write on in-scope markdown bypasses the CRDT and loses agent attribution in the shadow repo; native reads skip frontmatter, backlinks, shadow-repo activity, and project git history that OK returns for every matched file. When this workspace has OpenKnowledge MCP configured, do not use native file tools on markdown paths inside the content directory. The ban covers every common rationalization:
Read / Grep / Glob on in-scope .md / .mdx — the original case.Bash ls / Bash find / Bash cat on dirs containing in-scope markdown — use exec("ls -A …") / exec("find … -name '*.md'") / exec("cat …"). Native returns bare names; exec adds frontmatter, backlinks, and recent activity. -A shows hidden entries without ./...exec expands file operands (cat specs/*.md); quoted patterns and a command's own pattern (find -name) stay literal.exec / search. Subagents remain appropriate for source-code exploration.Read / Grep on in-scope markdown inside .ok/ — .ok/ is in-scope; treat its .md / .mdx like any other KB file.ls / cat / find on skill folders to discover or read a skill — skills are addressed by name+scope, not by path (a skill can live in any editor dir, the .agents/skills/ hub, or a custom root, with copies elsewhere). Use the skills tool.Not seeing exec is NOT the escape hatch. Wiring, labels, and tool visibility vary by client; some (notably Codex) defer MCP tools behind lazy discovery. Registration is the test, not top-level-symbol visibility — run tool discovery for open-knowledge first. Detail: references/setup.md.
Escape hatch. Native Read / Grep / Glob on .md / .mdx is allowed only when, after running tool discovery (above), no OpenKnowledge MCP server is registered for this project, or immediately after you actually invoked an MCP call and it failed — then begin a user-visible sentence with OpenKnowledge MCP unavailable:. "Not registered" is a conclusion you may only reach after tool discovery turned it up empty — never from the initial tool list alone. Never use the hatch because you skipped your client's MCP path, didn't see exec as a top-level tool, didn't run tool discovery, or rationalized the skill wasn't necessary.
Source code and non-markdown files (.ts, .py, package.json, …): native Read / Grep / Glob always.
Call write / edit as soon as you have content (route through MCP per the STOP rule).
Persist incrementally — the knowledge base IS your checkpoint (MUST). On any multi-step or long-running task — a research sweep, a multi-source synthesis, a batch of docs — write completed work to the KB as you finish each unit: per section, per source, per doc. Never hold finished findings only in your context waiting for one final write at the end. A rate limit, crash, or context compaction mid-task discards everything still unwritten; work already persisted survives, and you resume by reading the doc back. Create the target doc early (skeleton + frontmatter), then edit each section in as it firms up.
Pass a summary on every content write (SHOULD) — a one-line (≤80 char) user-facing note; it becomes the timeline entry. Reach for visual structure (Callout, mermaid, table, html preview) where it carries the point better than prose; call palette as you draft. Advisory write-warnings, MDX authoring, delete/move mechanics, and visual authoring: references/writing.md + references/components-and-visuals.md + references/media-and-assets.md.
KB docs are factual artifacts: every claim traceable, and the source lives inside the knowledge base, not on the public web.
Ingest is a procedure, not a tool — binary-vs-text classification, SSRF-safe fetch flags, size + executable gates, wrapper frontmatter — in references/ingest-and-sources.md. Read it before your first capture; a naive fetch-and-paste skips every gate.
[source](https://...) inside a KB doc is not a citation — it is a TODO meaning "still needs ingesting". The chain only works if every leaf is a local doc.WebFetch / WebSearch), ingest it, then cite the path: [source name](./path/to/source.md) (the local doc carries source_url:). Inline [source](URL) is a chat affordance, not a KB one.(TODO: needs source), OR don't write the claim. Do NOT fabricate — unsourced speculation rots into untraceable tribal lore.Link every noun-phrase that names another document — [text](./relative/path.md) — and link liberally. To point at one section of a long doc, in chat replies too, link ./path.md#heading-slug. Every link must resolve to a doc that exists by the time you're done (a same-pass forward-reference you create later in the pass is fine; for one that genuinely won't exist, leave the mention as plain prose + a tracked task). Never backtick a link (`[text](./foo.md)` is a bug) and never use HTML <a>. After every write/edit, read brokenLinks: fix reported hrefs; [] means all links resolve unless brokenLinkSuppression withheld reserved-log findings (not yours to repair) or a link-check-deferred warning says nothing was checked yet (that doc is re-checked only by a later write/edit of it or an audit, which may time out until startup finishes). audit is authoritative; its same marker carries the same meaning. External web sources are NOT inline body links (see Grounding). Full rule set, slug rule + the [[Page]] legacy note: references/linking.md.
Every .md / .mdx needs YAML frontmatter — title + description required, tags recommended. OKF projects (okf pack) are the exception: pack rules win — a non-root index.md carries NO frontmatter (the frontmatter-reserved-index lint warns on any key), log.md needs none, and concept docs need only a non-empty type; title/description are optional there. Two opt-in, nested folder mechanisms: folder frontmatter (<folder>/.ok/frontmatter.yml — the folder's own open-shape properties; self-only, does NOT cascade into child docs) and templates (<folder>/.ok/templates/ — what new docs start with). Most folders have NO .ok/. A doc's frontmatter is exactly its own on-disk YAML. Structural model + the full pre-write checklist: references/folder-model.md. Template authoring + folder editing: references/template-authoring.md. Frontmatter-vs-body edit rules: references/doc-editing.md.
exec("ls -A <folder>") once per folder per session — it returns the folder's title/description/tags + templates_available. Skipping it lands docs that violate folder discipline. (If a folder has no frontmatter AND no templates AND the repo has substantial content elsewhere, it isn't onboarded — run references/onboard-existing-repo.md first.)write({ document: { path, template } }); inherited templates count. Skip only when none match or the user asked for free-form (note why in chat). Create templates proactively when a shape recurs.write({ template })). Folder frontmatter does not cascade values into docs.For a conflict refusal, follow the tool's recovery instructions and references/conflict-resolution.md; ask the user to resolve tracked conflicts in the app.
| Task | Don't | Do |
|---|---|---|
| List / find / read markdown | Bash: ls/Glob: **/*.md/Read: foo.md | exec("ls -A …") / exec("find …") / exec("cat …") |
| Explore a markdown-heavy dir | Agent(Explore) (bypasses OK) | exec/search yourself |
| Reference another doc | `[text](./p.md)` (backticked) or HTML <a> | [text](./p.md) |
| Embed an image | <img>, a localhost/preview_url URL, hot-link | save locally +  |
| Factual claim in a KB doc | prose with no citation, OR inline [src](https://…) | ingest the source (references/ingest-and-sources.md), cite the local path |
| Confirm an edit landed | preview_screenshot / verification loop | trust the CRDT tool response |
| Delete a markdown doc | Bash: rm / native deletion | delete({ document }) (checkpoint() first if risky) |
| Write in an unfamiliar folder | straight to write | exec("ls -A <folder>") first |
Full table: references/anti-patterns.md.
Three recurring practices, not tool calls — each a full procedure that ships as skill guidance.
| Layer | When | Procedure |
|---|---|---|
| ingest | Preserve a shared URL/PDF/file verbatim, or you fetched a URL to ground a claim (binary sources preserved, not scraped). | references/ingest-and-sources.md — ships here, §Grounding depends on it |
| research | Investigate / compare / synthesize sources → status: provisional article + sources:. | /research-with-sources skill |
| consolidate | A decision was made → canonical source-of-truth with a supersedes: chain. | /consolidate-notes skill |
Research and consolidate arrive with ok seed --pack knowledge-base. Without that pack you do not have those procedures — don't improvise one; do the work as an ordinary grounded write, or offer to seed it (ok seed --pack knowledge-base --dry-run shows what it would add).
Don't chain silently: let the user drive ingest → research → consolidate, and a procedure's STOP gates override session-level "don't stop to ask" hints. After any turn that changes KB content, check for a log.md and follow its contract (references/cadence-and-logs.md). Interleave a multi-doc batch so the preview shows narrative progress.
Onboarding a repo that already has content: references/onboard-existing-repo.md. Layer model + packs: references/starter-packs.md.
OK does more than this skill describes, and it changes between releases. Not covered here? Read rather than guess:
OK looks for documents under the resolved content.dir (runtime: config({ key: 'content.dir' })); .gitignore and .okignore (at root or any folder depth) define exclusions. Every .md / .mdx under content.dir not excluded is an OpenKnowledge document — including under specs/, reports/, docs/. Folder metadata + templates live in nested <folder>/.ok/, not in .ok/config.yml. Working in a git worktree? Pass the worktree's absolute path as cwd on your OK tool calls once — it sticks for the session, so reads, writes, and the preview all target that worktree.
© inkeep, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 16 other files (references) in packages/server/assets/skills/project of inkeep/open-knowledge.
Open the folder on GitHubat commit cf9b84c
Open Knowledge next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Open Knowledge this skillinkeep/open-knowledge | 4.4k | — | ~4.7k | Automated safety check: Pass | GPL-3.0 | |
| OutlineVortiago/mcp-outline | 156 | — | ~818 | Automated safety check: Pass | MIT | |
| Open Knowledgeojowwalker77/BonsAI | 145 | — | ~5.1k | Automated safety check: Pass | Custom licence | |
| Confluence To Markdowniurykrieger/claude-bedrock | 105 | 1 repos | ~2.8k | Automated safety check: Notes | MIT | |
| Context Mode Indexermksglu/context-mode | 26k | — | ~328 | Automated safety check: Pass | Custom licence | |
| Qmd MCP Skillholon-run/uxc | 115 | — | ~1.3k | Automated safety check: Pass | MIT |
Vortiago/mcp-outline
Conventions and efficient workflows for Outline knowledge bases via mcp-outline tools.
ojowwalker77/BonsAI
Authoritative agent-runtime contract for working inside an OpenKnowledge project — a markdown-CRDT knowledge base exposed over MCP.
iurykrieger/claude-bedrock
Internal fetcher module for Confluence pages. An agent skill from iurykrieger/claude-bedrock.
mksglu/context-mode
Indexes a local file or project directory into context-mode's FTS5 knowledge base so later searches return focused snippets instead of rereading whole files.
holon-run/uxc
Use a local QMD knowledge base through UXC over MCP stdio, with daemon-backed session reuse and typed retrieval flows that avoid repeated model warmup and unnecessary query-expansion latency.
nduckmink/arkon
Propose or directly apply edits to Arkon wiki pages, including proposing brand new pages.
inkeep/open-knowledge
A skill your agent uses 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…
inkeep/open-knowledge
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…
inkeep/open-knowledge
Write a blameless incident postmortem under postmortems/ following the Google SRE shape — evidence-based timeline, trigger vs root cause vs symptom, contributing factors, what went well, and…
inkeep/open-knowledge
How to work in a Codebase Wiki project (the codebase-wiki starter pack): an agent-authored, source-grounded wiki of the surrounding codebase.
inkeep/open-knowledge
Promote existing research into a stable-status canonical article under articles/ in a Knowledge Base project (the knowledge-base starter pack).
inkeep/open-knowledge
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.
Works with
Authoritative agent-runtime contract for working inside an OpenKnowledge project — a markdown-CRDT knowledge base exposed over MCP. Open Knowledge is an agent skill from inkeep/open-knowledge. Authoritative agent-runtime contract for working inside an OpenKnowledge project — a markdown-CRDT knowledge base exposed over MCP.
Open Knowledge fits situations like: linting any .md; .mdx file in the project; before any mcpopen-knowledge tool call (exec.
Run `npx skills add inkeep/open-knowledge --skill open-knowledge -a claude-code`. Or copy the skill folder (packages/server/assets/skills/project in inkeep/open-knowledge) into .claude/skills/open-knowledge in your project. Claude Code loads it when a task matches its description.
Run `npx skills add inkeep/open-knowledge --skill open-knowledge -a codex`. Or copy the skill folder (packages/server/assets/skills/project in inkeep/open-knowledge) into .agents/skills/open-knowledge in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add inkeep/open-knowledge --skill open-knowledge -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/open-knowledge, .gemini/skills/open-knowledge, .github/skills/open-knowledge and .opencode/skills/open-knowledge in your project.
Going by SKILL.md and its folder, Open Knowledge needs the command-line tools its instructions call (bash and npm). Our summary lists: Node.js. Compatibility (from SKILL.md): Any agent host with the OpenKnowledge MCP server configured; `ok init` wires the agents it detects on your machine. Some steps shell out to the `ok` CLI. Hosts that take an uploaded skill bundle instead of reading a project directory (Claude Desktop, Cowork, claude.ai) are covered by `ok cowork`..
SKILL.md names 1 domain. As links in the text: openknowledge.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Open Knowledge is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 27k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Open Knowledge: Outline (Vortiago/mcp-outline, 156 stars), Open Knowledge (ojowwalker77/BonsAI, 145 stars), Confluence To Markdown (iurykrieger/claude-bedrock, 105 stars) and Context Mode Indexer (mksglu/context-mode, 26k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
inkeep (a GitHub organization) maintains it in inkeep/open-knowledge, which has 4,407 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 7, 2026.
Source: inkeep/open-knowledge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.