Kw init
Scaffold a new knowledge engine workspace OR link to an existing shared knowledge base. Use when starting a new knowledge base or connecting a project to an existing one.From its SKILL.md
npx -y skills add chenpg2/kw-engine --skill kw-initAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.1 KB, as published. Nobody here has run it
/kw-init — scaffold or link a knowledge engine workspace
Two modes:
Mode 1: Link to an existing knowledge base (most common)
If a shared knowledge base already exists (e.g. ~/Downloads/soft/knowledge_wiki/memory/),
link this project to it instead of creating a new one:
kw link ~/Downloads/soft/knowledge_wiki/memory/
This creates .kw/config.yaml with paths.memory pointing to the shared library.
All kw commands (search, verify, status, etc.) now use the shared knowledge.
Mode 2: Create a new knowledge base from scratch
Run this once in any repo to set up a fresh, empty knowledge engine.
What it creates
<project-root>/
├── .kw/
│ └── config.yaml # Engine config (model routing, fetch policy)
├── memory/
│ ├── SCHEMA.md # Data structure contract
│ ├── index.json # Central index (starts empty)
│ ├── papers/ # L1 faithful readings
│ ├── principles/ # L2 abstract principles
│ ├── synthesis/ # L3 design-space, contradictions, gaps
│ └── golden/ # Exemplar records for quality reference
├── paper/ # Raw PDFs (gitignored)
├── process/
│ ├── extract-template.md # L1 extraction rubric
│ └── distill-rubric.md # L2 distillation rubric
└── problems/ # Use-case pointers
Procedure
- Check if
memory/SCHEMA.mdalready exists. If yes, report "Already initialized" and STOP. - Create the directory structure above.
- Write
.kw/config.yamlfrom the template below. - Write
memory/SCHEMA.mdfrom the kw-engine package's canonical schema. - Write
memory/index.jsonwith the empty initial state. - Write
process/extract-template.mdandprocess/distill-rubric.md. - Add
paper/*.pdfand.kw/index.dbto.gitignoreif not already present. - Report: "Knowledge engine initialized. Run
/kwto start ingesting papers."
Config template (.kw/config.yaml)
version: 1
paths:
papers_src: paper/
memory: memory/
index: memory/index.json
process: process/
problems: problems/
logs: .kw/logs/
loop1:
synthesize_after_n_papers: 5
process_versions:
extract_template: extract-template@v1
distill_rubric: distill-rubric@v1
model_routing:
kw-fetcher: sonnet
kw-reader: sonnet
kw-distiller: opus
kw-synthesizer: opus
kw-verifier: sonnet
fetch:
fallback_order: [with_fallback, arxiv, biorxiv, medrxiv, pubmed, crossref, openalex, semantic, curl_oa]
validate:
magic_bytes: "%PDF-"
min_bytes: 10240
max_bytes: 52428800
scihub: false
paywalled_via_browse: true
idempotent: true
active_expansion:
enabled: false
Initial index.json
{
"version": 1,
"counters": { "principle": 0 },
"papers": [],
"principles": [],
"synthesis": { "last_run": null, "n_principles_at_last_run": 0 }
}