MCPInstall

knowledge-base

How to work in a Knowledge Base project (the knowledge-base starter pack). Read when the project has the three-layer source-grounded layout — external-sources/ → research/ → articles/ — or when asked how this project is organized. Carries the layer model, per-folder rules, status flows, and log discipline so this guidance does NOT live inside template bodies or log.md. The three procedures live elsewhere: ingest in the platform open-knowledge skill, research and consolidate as their own sibling skills in this pack. Complements the platform open-knowledge skill; does not replace it.

Installs
838
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/inkeep/open-knowledge-skills --skill knowledge-base
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads knowledge-base automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Knowledge Base pack — how to work here

This project uses the source-grounded knowledge-base layout. The whole point is a closed evidence loop: nothing canonical exists without a traceable chain back to a preserved source. This skill holds the workflow so the templates and log.md can stay clean — when you create a doc from a template you get structure, and the how lives here.

This skill is pack guidance. The platform /open-knowledge skill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers the KB workflow on top.

Link at creation

The user watches your build live — the editor follows the file you're writing, and the knowledge graph assembles on screen as pages get linked. No view management on your part; just author well: every page carries its links from the moment it's written (at minimum the hub/index page and its most related siblings — an unlinked page is invisible in the graph), and related pages share a cluster: frontmatter value (e.g. cluster: architecture) so the graph's cluster coloring makes the map read at a glance.

The three layers

external-sources/   raw sources, saved verbatim     (produced by `ingest`)
      ↓ cite
research/           provisional analysis            (produced by `research`)
      ↓ promote
articles/           canonical, decided knowledge     (produced by `consolidate`)

The loop is ingest → research → consolidate, mapped to Karpathy's three-layer knowledge-base pattern. Every downstream claim traces upstream to a preserved source. Cite local paths in external-sources/, never bare web URLs — the KB must survive link rot.

Karpathy's insight: "The tedious part of maintaining a knowledge base is not the reading or the thinking — it's the bookkeeping." Humans abandon wikis because maintenance costs exceed perceived value. These procedures exist so an agent can do the bookkeeping (fetching, summarizing, cross-linking, superseding) without fatigue. Skipping the cross-linking, supersedes chains, or raw-source preservation is what turns a useful wiki back into an abandoned one.

The three procedures

Each layer has a full, STOP-gated procedure, and each ships as its own skill so it loads only when the work calls for it. Execute the procedure yourself with the OK verbs — these are your default move over a bare write when the work fits a layer.

ProcedureWhere it livesWhen
ingestPlatform /open-knowledge skill (references/ingest-and-sources.md) — its Grounding rule depends on it everywhere, so it ships with every project, not just this pack.Preserve a shared URL / PDF / file verbatim, OR you fetched a URL to ground a KB claim (binary sources preserved, not scraped).
researchSibling skill /research-with-sourcesInvestigate / compare / synthesize multiple sources → provisional article with status: draft + sources:.
consolidateSibling skill /consolidate-notesA decision was actually made → commit canonical source-of-truth with status: stable + a supersedes: chain.

Typical day-2 flow: user shares a URL → ingest (preserve) → user asks "now research this" → research (provisional article, ingesting more sources as needed) → decision lands → consolidate (canonical article, supersedes the research).

Don't chain silently. After ingest, ask whether to proceed to research. After research, let the user decide whether the findings are ready to consolidate. Each procedure completes on its own terms — the user drives the transitions.

Autonomy gates vs session-level autonomy. A procedure's STOP gates (research's scoping gate, consolidate's decision-confirmation gate) are NOT overridden by session-level "work without stopping for clarifying questions" hints. Those hints cover trivial back-and-forth ("which file did you mean?"); the gates exist for one-way-door decisions. When in doubt, the gate is authoritative.

Per-folder rules

external-sources/ — Raw sources saved verbatim, not just cited: the actual fetched text of URLs, extracted text of PDFs, copies of referenced files. Each file's frontmatter carries the original URL, access date, and any author/publisher metadata. Produced by the ingest procedure (applies whether the user shared the URL or you fetched it yourself to ground a claim). Immutable after capture — update only to refresh a stale fetch. No analysis here; that belongs in research/.

research/ — Provisional analysis synthesizing external sources, stored as OKF status: draft. Produced by the /research-with-sources skill. Every factual claim cites a specific doc in external-sources/ (or an inline URL if ingest was skipped); no unsourced assertions. Keep the sources: frontmatter list aligned with the docs actually linked in the body. Promote to articles/ via the /consolidate-notes skill once the team decides the findings are stable.

articles/ — Canonical knowledge, committed after a team decision and stored as OKF status: stable. Produced by the /consolidate-notes skill. Carries a supersedes: chain tying back to the research/ docs it replaces (which in turn cite external-sources/) so the full evidence chain is traceable without leaving the repo. Source-of-truth for the domain; update only when a new decision supersedes it.

Status flow

LayerstatusSet when
research/draftcreated
articles/stablepromoted by consolidate after a decision

When a new article supersedes research, set that research to status: deprecated, add its path to the article's supersedes: list, and point it back with superseded_by:.

Legacy compatibility

Older projects may use status: provisional / canonical and string entries under sources:. Read those forms as draft / stable and source resources. Do not rewrite untouched documents; use the OKF forms above for new writes and files you are already updating.

Log discipline (MUST)

There is a log.md at the project root. Append one dated entry after any turn that creates, edits, or restructures content — one entry per turn, not per file. Silent edits break the audit trail.

Log: ingest runs (new sources), research / consolidate runs (provisional or canonical articles), direct write / edit / move / delete outside the three procedures, project-onboarding runs, folder restructures, and .ok/config.yml changes.

Reference docs as markdown links, not bare paths — [path/to/doc](./path/to/doc.md), so the entry shows up in links({ kind: "backlinks" }) for those docs. A bare path string does not register in the graph.

Because this append-only log.md is a reserved log, its broken links may be withheld from audit. When a clean result carries brokenLinkSuppression, it is filtered rather than proof that every raw link resolves; do not rewrite log history to clear those links.

Entry shape:

## YYYY-MM-DD: <short title>

- <what was done>
- Files touched: [doc-a](./path/doc-a.md), [doc-b](./path/doc-b.md)
- Sources ingested: [source-slug](./external-sources/source-slug.md)
- Open follow-ups: <topic-1>, <topic-2>

Templates

Each folder has a starter template (clip, research-log, article). Create with write({ document: { path, template: "<name>" } }). Templates carry only structure (headings + frontmatter scaffold) — the meaning of each field and section is described above, not repeated inside the document body.

FAQ

What does the knowledge-base skill do?

How to work in a Knowledge Base project (the knowledge-base starter pack). Read when the project has the three-layer source-grounded layout — external-sources/ → research/ → articles/ — or when asked how this project is organized. Carries the layer model, per-folder rules, status flows, and log discipline so this guidance does NOT live inside template bodies or log.md. The three procedures live elsewhere: ingest in the platform open-knowledge skill, research and consolidate as their own sibling skills in this pack. Complements the platform open-knowledge skill; does not replace it.

How do I install knowledge-base?

Run npx skills add https://github.com/inkeep/open-knowledge-skills --skill knowledge-base in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/knowledge-base/ (personal) or .claude/skills/knowledge-base/ (project).

Which AI agents can use knowledge-base?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is knowledge-base safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains knowledge-base?

It is published by inkeep in inkeep/open-knowledge-skills. It has 838 recorded installs.

More from inkeep/open-knowledge-skills

View all →

open-knowledge-discovery

inkeep/open-knowledge-skills

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.

Docs & Writing15.1K installs

okf-knowledge-base

inkeep/open-knowledge-skills

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.

9.3K installs

open-knowledge-write-skill

inkeep/open-knowledge-skills

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.

Frontend & Design6.9K installs

open-knowledge

inkeep/open-knowledge-skills

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, folder/template conventions, the live browser preview, and the rule that OK's MCP tools — never native file tools — handle in-scope markdown.

AI & Agents4.6K installs

research-with-sources

inkeep/open-knowledge-skills

Investigate a topic against preserved sources and write a draft-status research article under research/ in a Knowledge Base project (the knowledge-base starter pack). Read when asked to research a topic, compare options, synthesize sources, gather evidence, or extend an existing research doc. Carries the full procedure: scan existing coverage, agree a research rubric, capture every source verbatim before analyzing, write the article incrementally so a crash never loses work, cite every claim, and link it back into the graph. Does not promote findings to canonical knowledge — that is the sibling consolidate-notes skill, after a decision lands.

consolidate-notes

inkeep/open-knowledge-skills

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.

Docs & Writing825 installs

Popular productivity & automation skills

View category →

agent-browser

vercel-labs/agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

OfficialProductivity & Automation1.3M installs

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

lark-shared

open.feishu.cn

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

lark-im

open.feishu.cn

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。