From paper-wiki
Ingests a new source paper into the wiki by regenerating affected concept articles. Use when /paperwiki:wiki-ingest is invoked, when a fresh source lands in Wiki/sources/ via analyze or digest, or when the user says "fold this paper into the wiki" or "update the wiki with X".
npx claudepluginhub kaneyxx/paper-wiki --plugin paper-wikiThis skill uses the workspace's default tool permissions.
Ingest folds a single source into the wiki. The runner enumerates which
Creates new Angular apps using Angular CLI with flags for routing, SSR, SCSS, prefixes, and AI config. Follows best practices for modern TypeScript/Angular development. Use when starting Angular projects.
Generates Angular code and provides architectural guidance for projects, components, services, reactivity with signals, forms, dependency injection, routing, SSR, ARIA accessibility, animations, Tailwind styling, testing, and CLI tooling.
Executes ctx7 CLI to fetch up-to-date library documentation, manage AI coding skills (install/search/generate/remove/suggest), and configure Context7 MCP. Useful for current API refs, skill handling, or agent setup.
Ingest folds a single source into the wiki. The runner enumerates which
concept articles already reference the source — those need
re-synthesis — and which concepts the source's own
related_concepts frontmatter hints at but don't yet exist in the
wiki. Claude then synthesizes the new prose for each affected concept
and writes it back via the markdown wiki backend.
This is the heart of the Karpathy / kytmanov LLM-Wiki loop. Run it whenever a new source lands so concepts stay current and contradictions do not pile up.
/paperwiki:wiki-ingest <canonical-id>.analyze SKILL has just written a new file under Sources/ and
passes control here.digest reporter ran with wiki_backend: true and dropped new
source files into Wiki/sources/ — ingest each one in turn.Do not use when the user is asking a research question (route to
wiki-query) or to refresh the index (route to wiki-compile).
arxiv:1234.5678, s2:<paperId>,
or a fuzzy title; normalize to a canonical id via the
paperwiki._internal.normalize helpers if the user gave a URL.${CLAUDE_PLUGIN_ROOT}/.venv/bin/python -m paperwiki.runners.wiki_ingest_plan <vault> <canonical-id>. Read the JSON.source_exists. If source_exists is false, stop and
ask the user to run /paperwiki:analyze <id> first; ingest cannot
work without a source file under Wiki/sources/.affected_concepts:
read the existing concept body, fetch the new source's content,
and synthesize an updated body that incorporates the new evidence
without dropping prior synthesis. Respect status: reviewed —
merge into a draft section rather than overwriting reviewed prose.
Persist via
MarkdownWikiBackend.upsert_concept(name=..., body=..., sources=[...], confidence=..., status="draft").suggested_concepts. For each, ask the user whether to create the
concept (yes/no/skip-all). If yes, generate a first draft body
and call upsert_concept with status="draft"._log.md. Add a single line:
- <iso8601-utc> wiki-ingest <canonical-id> -> <n> concepts updated.| Excuse | Why it's wrong |
|---|---|
| "The user just gave me an arxiv URL; I can synthesize from memory." | Wrong abstracts and made-up methods sneak in. Always read the actual source file written by analyze. |
"Overwriting a reviewed concept is fine; I'm just refreshing." | Reviewed status is the user's signal that the prose is correct. Merge or branch into a draft section; never silently overwrite. |
"If source_exists is false I'll just synthesize from the URL." | The dedup filter relies on the source file's frontmatter. No file means future digests recommend the same paper again. Run analyze first. |
"I'll skip _log.md; the user doesn't read it." | The compile and lint runners use the log to spot stale concepts. Without it, the wiki's audit trail breaks. |
affected_concepts and no suggested_concepts:
the source has zero topical hooks. Either the analyze step lost the
metadata (re-run analyze) or the wiki has no relevant concepts yet
(offer to seed one).${CLAUDE_PLUGIN_ROOT}/.venv/bin/python -m paperwiki.runners.wiki_ingest_plan
exits 0.last_synthesized field is today's date.sources list contains the ingested
canonical id at most once._log.md gains exactly one new line./paperwiki:wiki-lint shows no BROKEN_LINK findings introduced
by the new prose.