Follow
for format conventions, frontmatter, naming, and language.
Write the artifact in the user's language. Apply correct grammar and any required diacritics or script-specific characters. If the user's language is unclear, ask before generating output.
When matching a source against existing wiki pages, search in the wiki language, not necessarily in the user's or source's language. Determine the wiki language from
(
or
), then from wiki frontmatter/index if guardrails are absent. Keep product names, filenames, APIs, schema names, and code identifiers unchanged.
When searching for
existing pages that should absorb the new source, use
QMD (local hybrid search) if it is set up for this wiki. Setup is one-time per repo — see
.
After the ingest finishes,
remind the owner to run
(or
if a new collection was added) so the index reflects the new pages — never run those commands automatically.
-
Identify the source the user asked to process (comes from the conversation context or the provided path).
-
Check if it has already been ingested by consulting
:
- If already ingested (has a summary in ) → follow the Re-ingest flow (section below).
- If not → proceed with normal ingest.
-
Read the source in
completely (in parts if needed due to context limits).
- or transcripts → read directly.
- If MCP is available → transcribe video/audio directly.
- If MCP is available → convert PDF to markdown.
-
Extract and present in parallel:
- Identify the 3-5 most important points in the source.
- For each point, run a QMD query (or grep fallback) to find related existing pages — use the point itself as and a short paraphrase as .
- Present the points to the human alongside the matched pages.
- Ask if the user wants to emphasize or skip anything.
- Wait for confirmation before proceeding.
-
Decide where each rule lands. Respect the audience separation:
- — all business/product rules (audience: business). Pricing, journeys, policies, monetization, privacy/compliance rules, anything customer-facing or contractual.
- — app-level technical docs (audience: dev). Stack, gotchas, deploy specifics. No business rules here — link out to if relevant.
- — operational procedures (audience: ops).
- — data models and schemas (audience: dev).
- If the source mixes business and technical content, split it across the right folders rather than mashing everything into one page.
-
Create/update wiki pages based on confirmation:
- If the page already exists → update (add source in , revise content, flag contradictions).
- If it does not exist → create a new page following .
- Use standard markdown links: (not wikilinks).
- Do NOT duplicate content across pages — use cross-refs.
- Sibling repos are referenced as (relative to the wiki), not absolute paths. Add the GitHub remote link
[github.com/<org>/<repo>](https://github.com/<org>/<repo>)
when first introducing the repo.
-
Create the source summary in
:
yaml
---
title: "Summary — <Source Title>"
audience: mixed
sources:
- raw/<subdir>/<filename>
updated: YYYY-MM-DD
tags: [source, <relevant-tags>]
status: stable
---
Summary content:
- Metadata (date, participants, duration if applicable)
- Key points summary
- Wiki pages created/updated with links
- Insights not captured in other pages (if any)
- Decisions left pending — surface explicitly if the source raises questions the owner needs to answer rather than silently picking a side.
-
Update indexes in parallel:
- — mark the source as ✅ Ingested with a link to the summary.
- — add new pages to the corresponding table, update descriptions of modified pages.
- — log the operation at the top (after the header, before existing entries):
## [YYYY-MM-DD] ingest | <Source Title>
- Pages created: ...
- Pages updated: ...
- Summary: wiki/sources/<slug>.md
-
Focused post-ingest lint:
- Verify cross-refs of created/updated pages (do links point to real targets?).
- Compare with referenced pages — flag contradictions with an explicit section.
- Do NOT run a full lint (orphans, global frontmatter, etc.) — that is for .
-
Tell the owner to refresh the QMD index (only if QMD is configured for this wiki):
qmd update # picks up changed/new pages
qmd embed # only needed if you added/removed a collection
Do not run these for the owner — surface them in the final report.
When the source already has
: