From grimoire
Use this skill when the user wants to fetch and process approved sources, create raw archives, compile wiki articles, or says "grimoire ingest", "process sources", "fetch and compile", or "/grimoire:ingest". Fetches approved URLs, preserves raw text, and compiles structured wiki articles with frontmatter.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:ingestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fetch approved sources, preserve raw text, and compile structured wiki articles
Fetch approved sources, preserve raw text, and compile structured wiki articles with frontmatter and cross-references.
SCHEMA.md in the workspace root.
If it is missing, tell the user to run /grimoire:init first.approved-sources.md exists in the workspace (produced by scout),
OR the user provides a direct source (URL, local file path, or pasted text).SCHEMA.md before doing anything else — it defines the taxonomy, naming
conventions, and confidence tiers that govern every output.Check for approved-sources.md in the workspace root.
status: pending. Pick the highest
priority first (P0 before P1 before P2). Announce which source you are about
to process and its tier.approved-sources.md exists, accept a direct source from the user:
a URL, a local file path, or pasted text. Ask if none has been provided./grimoire:run or
when the user explicitly requests batch processing ("ingest all sources without
asking", "batch ingest", "process everything"), process all pending sources in
priority order without per-source confirmation. For each source: fetch raw
(Step 2), extract takeaways (Step 3), write articles using best judgment
(Step 5), and update source status (Step 7) — skipping Step 4's human
checkpoint. After ALL sources are processed, print a single summary:
Batch ingest complete: {N} sources processed.
Created: {slugs}
Updated: {slugs}
Failed: {slugs with reasons}
Backlinks added: {N}
Then run Step 6 (update navigators) once for the full batch. If any source
fails to fetch, mark it as failed and continue with remaining sources.Normalize whatever you have to four fields before continuing:
| Field | Description |
|---|---|
url | Source URL or file path (or pasted for pasted text) |
title | Human-readable title of the source |
type | article, documentation, tutorial, video-transcript, thread, repository, paper |
tier | P0, P1, P2, or direct if user-supplied without a tier |
Retrieve the full source content.
failed in approved-sources.md, explain the failure to the
user, and move on to the next pending source.Save the raw file using the template at:
${CLAUDE_PLUGIN_ROOT}/skills/init/assets/templates/raw-template.md
File location in the workspace:
raw/{topic-slug}/{YYYY-MM-DD}-{source-slug}.md
topic-slug — best-fit taxonomy category slug from SCHEMA.md, or uncategorized
if no taxonomy has been defined yet.source-slug — slugified source title (lowercase, hyphens, no spaces).Populate all frontmatter fields:
source_url — original URL or file pathcollected — today's date (ISO 8601)published — extract from source metadata if detectable; otherwise omit the fieldtype — normalized type from Step 1author — extract from source if present; otherwise omittitle — full original titleRaw files are immutable once written. Never edit a raw file after this step. All interpretation happens in the wiki articles that reference it.
Read the full raw file you just saved. Do not summarize from memory — read the file.
Surface 3-5 concrete takeaways. For each one identify:
wiki/index.md
and the relevant articles before decidingRelationships matter. If a takeaway overlaps with a topic already in the wiki, note the overlap explicitly — that is context for the merge decision in Step 4.
Display the proposed actions in this format:
Source: {source-title}
Tier: {P0|P1|P2|direct}
Proposed actions:
NEW: {article-title} — {reason this warrants its own article}
UPDATE: [[{existing-article-slug}]] — {what new information to add}
SKIP: {takeaway} — {reason, e.g. already covered in [[slug]]}
Then ask: "Do these takeaways look right? Approve, edit, or reject before I write anything."
Hard checkpoint: do not write or update any wiki article without explicit user confirmation. If the user edits the proposed actions, apply their changes exactly before proceeding.
Execute only the confirmed actions from Step 4.
Use the article template at:
${CLAUDE_PLUGIN_ROOT}/skills/init/assets/templates/article-template.md
Populate frontmatter:
title — clear, specific article titlesummary — required. One sentence under 180 characters describing what the
article covers. This is load-bearing: LLMs querying the wiki use it to decide
which articles to fetch in full, so token-efficient retrieval depends on every
article having a crisp, specific summary. Write it like the first line of a
dictionary entry, not like marketing copy. No article ships without one.tags — relevant taxonomy tags from SCHEMA.mdsources — list with url, title, and accessed (today's date)updated — today's dateconfidence — use the tier value directly: P0, P1, or P2 (matches the article template exactly; direct sources default to P1)Write the full body: Overview, Key Capabilities, How It Works, Usage Examples, Limitations, See Also. Each section must have real content — no placeholder text.
Good summary: "How Svelte's compile-time transformation eliminates the virtual DOM and ships minimal runtime code."
Bad summary (vague): "An article about Svelte."
Bad summary (marketing): "The revolutionary new framework changing how we build apps."
Bad summary (too long): anything over 180 characters.
Derive the summary after you have written the article body, not before — the summary should accurately reflect what ended up in the article.
File location:
wiki/{taxonomy-dir}/{slug}.md
If no taxonomy has been defined yet, use wiki/{slug}.md and note the category
as a candidate for the next SCHEMA.md update.
Read the existing article first. Merge new information into the appropriate
sections — do not overwrite, extend. Add the new source to the frontmatter
sources list. Set updated to today's date. If the article's scope has
meaningfully shifted, rewrite the summary field to reflect the new coverage.
[[category/slug]][[slug]]Update three files in the workspace. Do not skip any of them.
wiki/index.md — If the file is missing (user deleted it, or this workspace
was not scaffolded by init), create it first using the index template at
${CLAUDE_PLUGIN_ROOT}/skills/init/assets/templates/index-template.md, then
populate. Otherwise, add new articles to the correct category table, update
the summary line and date for any modified articles, and increment the total
article count if you created new articles.
wiki/overview.md — If this is the first ingest run (overview.md is still a stub), write an initial 2-4 paragraph synthesis of what the wiki now covers. If articles already exist, update the overview to incorporate the new knowledge — revise the relevant paragraph rather than appending a new one.
wiki/log.md — Append an entry in this format:
## {YYYY-MM-DD} — Ingested: {source-title}
- Source: {url or file path}
- Tier: {P0|P1|P2|direct}
- Actions: Created {slug}, Updated {slug}
- Raw: raw/{topic-slug}/{date}-{source-slug}.md
If working from approved-sources.md, mark the source's status from pending
to ingested. Do not touch the status of any other source.
Print a summary:
Ingested: {source-title}
Raw saved: raw/{topic-slug}/{date}-{source-slug}.md
Articles created: {comma-separated slugs, or "none"}
Articles updated: {comma-separated slugs, or "none"}
Backlinks fixed: {N}
Next steps:
- Run /grimoire:ingest to process the next source ({N} remaining)
- Run /grimoire:compile to rebuild cross-references and gap analysis
If the approved-sources list is exhausted, say so clearly and recommend
/grimoire:compile as the next step.
raw/ after initial creation — raw sources are immutablesummary field is required, one sentence, under 180 characters — this is a hard rule, not a nice-to-have${CLAUDE_PLUGIN_ROOT} for all internal template and reference pathswiki/, raw/), not inside the plugin directorystages/ paths or ingest-report.md — the log lives in wiki/log.mdnpx claudepluginhub vedantggwp/athanor --plugin grimoireFetches 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.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.