Help us improve
Share bugs, ideas, or general feedback.
From ak-wiki
Ingest a source into the wiki: save raw content and referenced images, prompt the user for any custom frontmatter dimensions declared in SCHEMA.md, extract key information, create or update wiki pages per SCHEMA.md conventions, and update index.md and log.md.
npx claudepluginhub surebeli/ak-llm-wikiHow this skill is triggered — by the user, by Claude, or both
Slash command
/ak-wiki:wiki-ingestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Integrate a new source into the wiki. A single ingest can touch **10–15 pages** —
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Designs test strategies and plans with testing pyramid. Covers APIs, frontend, data pipelines, infrastructure; outputs plans including coverage targets, examples, and gaps.
Share bugs, ideas, or general feedback.
Integrate a new source into the wiki. A single ingest can touch 10–15 pages — this compounding effect is the whole point. Knowledge is compiled once, not re-derived on every query.
Before ingesting, read orientation files if not done this session:
read_file {wiki_path}/SCHEMA.md # ← conventions, tag taxonomy, policies
read_file {wiki_path}/index.md
read_file {wiki_path}/log.md # last 20 lines
SCHEMA.md is authoritative. Read its page creation policy, required frontmatter fields, tag taxonomy, and cross-reference policy — enforce those, not plugin defaults.
Save the source text:
raw/articles/{descriptive-name}.mdraw/papers/{descriptive-name}.mdraw/ subdirectoryraw/articles/karpathy-llm-wiki-2026.mdExtract and save referenced images (unless --no-images):
, HTML <img>, etc.)raw/assets/{source-stem}-{image-name}Processing order for multimodal sources (important):
LLMs can't natively read markdown with inline images in one pass. Read the source text first (chunking if long), identify which images actually carry information (diagrams, charts, screenshots — not decorative), then view those specific images separately using the image-reading tool to gain additional context. Skip decorative images.
Read SCHEMA.md's custom_dimensions: block. For each dimension where
refresh_on includes ingest:
--set name=value on the command line, use that value
directly without prompting (automation-friendly)description as the question:
"{description} (type: {type}, {required|optional}, default: {default})"
type: enum, list the allowed values and accept only onetype: date, accept ISO 8601 or common shorthands (today, yesterday)required dimension without supplying a default, warn
and ask again — do not silently omit required fieldsStore the collected values in a session map {dim_name: value}. These get
written to every page's frontmatter in step ④, subject to each dimension's
applies_to filter.
Also capture the source dates needed by the memory-tier system:
published_at — if the source carries a publication date (from OpenGraph
metadata, paper bibliography, article byline, etc.), extract it automatically.
If not, prompt: "When was this source published? (ISO date or 'unknown')"ingested_at — always set to today's date automaticallyThese two dates are written to every new or updated page's frontmatter. The
tier system (SCHEMA.md memory_tiers:) uses driving_field to decide which
one drives the tier computation.
Unless --no-discuss or running in an automated context: surface 3–5 key insights
and ask the user what to emphasize before writing pages. This is Karpathy's
"stay involved" mode — the user guides the direction, you do the writing.
Before creating anything new, find what already exists for every entity and concept mentioned in the source:
run wiki-search internally for each key term
read index.md sections relevant to the source topic
Build a map: existing (update) vs. new (create). The difference between a growing wiki and a pile of duplicates.
Read SCHEMA.md's policies and apply them:
title, created, updated, type, tags, sources, published_at, ingested_at)applies_to (if set). Dimensions
the user explicitly skipped are omitted; dimensions with required: true
that have no value block the write.New pages — file name: lowercase-hyphens.md in the correct category directory.
Existing pages — add new information, update facts, bump updated date. When
new info conflicts with existing content: note both claims with dates, add a
contradictions: frontmatter field referencing the other page, and flag for user
review.
For every page created or updated, check that at least one existing page links back when there's a genuine connection. Cross-reference is bidirectional — a page that exists but is never linked to is invisible. (SCHEMA.md's cross-reference policy is the final word here.)
index.md under the correct section, alphabeticallylog.md:
## [YYYY-MM-DD] ingest | {Source Title}
- Source: raw/{path}
- Images: {count downloaded to raw/assets/}
- Created: {list of new pages}
- Updated: {list of updated pages}
List every file created and updated, note any schema-evolution proposals (new tags, new page types) that need user approval.
--batch)For multiple sources in one pass:
For bulk-importing an existing document system, use wiki-import instead —
it handles directory traversal, schema mapping, and checkpoint/resume.
[Operation] wiki-ingest | {Source Title}
[Changes]
- Raw: raw/articles/{filename}.md
- Images: raw/assets/{N files downloaded}
- Created: {list of new wiki pages}
- Updated: {list of updated wiki pages}
- Schema: {"no change" | "proposed: add tag X / add page type Y"}
[Summary]
Ingested "{title}". Created {N} new pages, updated {M} existing pages.
{Key insight or notable connection discovered.}
{Schema evolution proposal if any — needs user approval}
[Suggested next]
→ ak-wiki:wiki-digest (to see the updated state of the wiki)