From codepresso
Maintain a personal, compounding LLM Wiki (Obsidian + git) — ingest sources, query knowledge, lint. Each teammate keeps their OWN vault. Invoke on "/codepresso:llm-wiki ...", "ingest <x> into my wiki", "what does my wiki say about <x>", "lint my wiki", or when a durable, cross-repo learning should outlive the conversation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/codepresso:llm-wikiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Helps the user maintain a personal **LLM Wiki**: a persistent markdown knowledge base that
Helps the user maintain a personal LLM Wiki: a persistent markdown knowledge base that an LLM curates and that compounds over time (pattern: Andrej Karpathy's "LLM Wiki", https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f). It is the canonical store for durable, repo-independent knowledge.
Each user keeps their own vault (an Obsidian vault + git repo). This skill ships no content — it scaffolds an empty vault and then operates on it.
/codepresso:llm-wiki <subcommand> [args] where subcommand is
init | ingest | query | lint (default to a short status if none given).Run from the project root:
node scripts/wiki-cli.mjs path
Parse the JSON:
enabled — whether the wiki is configured.vaultPath — absolute, ~-expanded path.exists / hasSchema — whether the vault dir and its CLAUDE.md are present.Routing:
init, OR hasSchema is false → go to Init.Only scaffolds; never overwrites an existing CLAUDE.md.
node scripts/wiki-cli.mjs init # uses configured/default path
# or, to choose a location:
node scripts/wiki-cli.mjs init "<absolute-or-~-path>"
This creates CLAUDE.md (schema), README.md, index.md, log.md, sources/,
pages/, a minimal .obsidian/, runs git init + an initial commit, and writes
wiki.vaultPath (with enabled: true) into ~/.codepresso/config.json.
After init, tell the user:
git remote add +
git push -u origin main lines). Do NOT create a remote for them unless they ask.Then continue to Operate if they gave an ingest/query target.
The vault's own CLAUDE.md is the authoritative schema. Read it first, then follow it:
cat "<vaultPath>/CLAUDE.md"
Work inside <vaultPath> (read/write files there), following that schema:
<url|path|pasted text> — capture the raw source into
sources/YYYY-MM-DD-<slug>.md (faithful capture + canonical URL), integrate it into one
or more pages/, add cross-links, update index.md, append a `## [YYYY-MM-DD] ingest |
` line to `log.md`.
<question> — search index.md + pages/, answer with citations to the
pages used; if the answer is valuable and not already captured, file it back as a new page.After meaningful changes:
git -C "<vaultPath>" add -A && git -C "<vaultPath>" commit -m "<ingest|query|lint>: <summary>"
If wiki.remote is set (from path output), offer to git -C "<vaultPath>" push.
This is the user's personal knowledge base. Treat its contents as private to them; never copy vault content into shared repos, issues, or messages without explicit instruction.
| Failure | Behavior |
|---|---|
wiki-cli.mjs path shows hasSchema: false | Route to Init before any ingest/query. |
init reports alreadyInitialized | Vault already exists; skip scaffolding, proceed to Operate. |
git commit skipped (no git identity) | Report it; files are written and staged. Suggest setting git config. |
| Source URL can't be fetched in full | Store a faithful structured capture + the canonical URL; never drop the source silently. |
| User asks to push but no remote configured | Explain how to add a private remote; don't create one unprompted. |
npx claudepluginhub codepresso-dev/codepresso-ai-plugin --plugin codepressoCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.