# Research With Sources

Investigate a topic against preserved sources and write a draft-status research article...

- Repository: https://github.com/inkeep/open-knowledge (4756 stars)
- Category: Writing
- License: GPL-3.0
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add inkeep/open-knowledge --skill research-with-sources -g -a claude-code -y`
Codex: `npx skills add inkeep/open-knowledge --skill research-with-sources -g -a codex -y`
Cursor: `npx skills add inkeep/open-knowledge --skill research-with-sources -g -a cursor -y`
Gemini CLI: `npx skills add inkeep/open-knowledge --skill research-with-sources -g -a gemini-cli -y`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Research, gather sources and write provisional findings

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

Conduct **evidence-driven research** on a topic and produce a provisional research article under `research/`. Provisional, not canonical: research articles capture findings, trade-offs, and open questions at a point in time. They are promoted to canonical articles via the `/consolidate-notes` skill only when decisions solidify.

The content directory is the resolved `content.dir`, read it with `config({ key: 'content.dir' })` if you don't already know it. Paths below are relative to it.

## Three paths

- **Path A, Research article (DEFAULT):** A persistent provisional article with `status: draft` and an inline `sources:` frontmatter list pointing at raw sources captured via the ingest procedure. This is the default unless the user explicitly opts out.
- **Path B, Direct answer:** Findings delivered in conversation only. **Requires explicit user request** (e.g., "just tell me", "no doc needed", "quick answer").
- **Path C, Update existing research:** Surgical additions/corrections to an existing research article. Triggered when the user references an existing research doc or says "update/refresh/extend."

Path A is the default because provisional articles compound over time; spoken answers do not.

**Legacy reads:** Existing articles may use `status: provisional` and string paths under `sources:`. Treat those as draft research and source resources. Do not mass-rewrite them; new writes use the OKF shapes below.

## Autonomy mode

The rest: https://github.com/inkeep/open-knowledge/blob/HEAD/packages/server/assets/skills/packs/knowledge-base/research/SKILL.md
