From grimoire
Use this skill when the user wants to create a new Grimoire knowledge base, start a new wiki, initialize a grimoire, or says "grimoire init", "new grimoire", "create a knowledge base", "start a wiki", or "/grimoire:init". Detects existing projects, auto-discovers context from README/CLAUDE.md/package.json/docs, offers workspace placement options, and scaffolds a complete grimoire workspace.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Initialize a new Grimoire knowledge base. If run inside an existing project,
Initialize a new Grimoire knowledge base. If run inside an existing project, intelligently discover context and pre-fill the questionnaire. Otherwise, run the full interactive flow.
Before asking anything, look at the current working directory to understand what kind of environment Grimoire is being initialized in.
Check for project markers in the current directory:
| Marker | What it indicates |
|---|---|
.git/ | A git repository |
package.json | Node.js project |
pyproject.toml, setup.py, requirements.txt | Python project |
Cargo.toml | Rust project |
go.mod | Go project |
Gemfile | Ruby project |
pom.xml, build.gradle | Java project |
README.md, README.rst | Documented project |
CLAUDE.md | Claude Code project with existing instructions |
docs/ directory | Existing documentation |
Determine the context:
Based on what was detected, present the user with a choice using AskUserQuestion.
I see this is a {language} project ({project-name}). How would you like to start?
Options (use AskUserQuestion with these 4 options):
If the user picks option 4, briefly explain Grimoire's pipeline (scout → ingest → compile → present → serve) and re-ask.
Skip auto-discovery. Ask the user directly:
What subject do you want to build a knowledge base about?
And proceed to Step 4 (Questionnaire) with all answers from scratch.
Only run this step if the user chose Auto-discover or Hybrid in Step 2.
Read these files in order (skip any that don't exist):
README.md / README.rst — project purpose, description, major featuresCLAUDE.md — existing project instructions for Claude Codepackage.json / pyproject.toml / Cargo.toml / go.mod — name, description, dependencies, keywordsdocs/ directory listing — existing documentation structure.gitignore — hints at what's generated vs. committedExtract these signals:
| Signal | From | Use for |
|---|---|---|
| Project name | package.json name, repo dir name | Default topic prefix |
| One-line description | package.json description, README first paragraph | Default topic phrasing |
| Tech stack | package.json deps, imports in src/ | Scope definition |
| Keywords/tags | package.json keywords, README headings | Taxonomy hints |
| Docs structure | docs/ subdirectories | Category suggestions |
| Audience hints | README sections like "For developers", "Getting started" | Audience level |
Then pre-fill the 7 questions:
"Deep knowledge of {project-name}: {short description}" or "{primary-domain} patterns for {project-name}"advanced for developer projects, expert if deeply technicalemergent by default, unless docs/ has obvious category subdirectoriesmidnight-teal unless you can detect aesthetic signals (unlikely)yes if CLAUDE.md exists in the projectThis step behavior depends on the onboarding mode:
Ask all 7 questions interactively using AskUserQuestion. Ask them ONE AT A TIME, not all at once. Use the full question text from the reference file for context, but keep the actual prompt conversational.
Load the full questionnaire from:
${CLAUDE_PLUGIN_ROOT}/skills/init/references/questionnaire.md
Present ALL 7 pre-filled answers at once in a single summary block. Ask:
Here's what I gathered from your project:
Q1 Topic: {pre-filled}
Q2 Scope IN: {pre-filled}
Q2 Scope OUT: {pre-filled}
Q3 Audience: {pre-filled}
Q4 Sources: {pre-filled or "none"}
Q5 Taxonomy: {pre-filled}
Q6 Palette: {pre-filled}
Q7 CLAUDE.md: {pre-filled}
Workspace: {suggested path}
Does this look right? (approve / edit / redo)
Go through each pre-filled answer one at a time. For each:
Q{N}: {question}
Suggested: {pre-filled answer}
(press enter to accept, or type a new answer)
Let the user edit or accept each. Proceed to Step 5 when done.
Q1: Topic — Must be specific, not too broad. If vague, suggest narrowing.
Q2: Scope — Must have both IN and OUT. These define what gets researched and what doesn't.
Q3: Audience — Accept: beginner, intermediate, advanced, expert.
Q4: Initial Sources — URLs or file paths, optional.
Q5: Taxonomy — emergent (default) or defined with categories.
Q6: Design — Pick a palette: midnight-teal (default), noir-cinematic, cold-steel, warm-concrete, electric-dusk, smoke-light, obsidian-chalk.
Q7: CLAUDE.md — yes/no + target path if yes.
Ask the user where the grimoire workspace should live using AskUserQuestion.
Offer these options (the defaults should be realistic paths based on the project):
./grimoire/ at the project root
./docs/grimoire/ (only if ./docs/ exists)
../{project-name}-grimoire/
Default to ./grimoire-{topic-slug}/ but still offer the custom option.
If the chosen directory already exists and contains SCHEMA.md, warn and ask
to confirm overwrite.
After collecting all answers and the workspace path, create the structure:
{target}/
├── SCHEMA.md # Populated from answers (Q1-Q5)
├── _config/
│ └── design.md # Populated from Q6
├── wiki/
│ ├── index.md # Empty index from template
│ ├── overview.md # Stub overview
│ └── log.md # Empty changelog
├── raw/ # Empty, for ingested sources
├── scout-queue.md # Only if Q4 provided seed URLs
└── (target project's CLAUDE.md updated) # Only if Q7 = yes
Use the schema template from:
${CLAUDE_PLUGIN_ROOT}/skills/init/assets/templates/schema-template.md
Replace placeholders in the YAML domain block. Keep the nested scope.in /
scope.out structure — all downstream skills parse that exact shape:
"[YOUR TOPIC HERE]" → Q1 answer, quoted string"[WHAT IS IN SCOPE]" → Q2 IN answer, quoted string"[WHAT IS OUT OF SCOPE]" → Q2 OUT answer, quoted string"[WHO READS THIS AND AT WHAT LEVEL]" → Q3 answer, quoted stringSet taxonomy: "emergent" (Q5 default) or taxonomy: "defined" if the user
specified categories.
If Q5 = defined, populate the taxonomy table with the user's categories. If Q5 = emergent, leave the table empty with the explanatory note.
Use the design config template from:
${CLAUDE_PLUGIN_ROOT}/skills/init/assets/templates/design-config.md
Replace palette: midnight-teal with the user's Q6 choice.
Use the index template from:
${CLAUDE_PLUGIN_ROOT}/skills/init/assets/templates/index-template.md
If Q5 = defined, create section headers for each category.
If Q4 provided URLs, create scout-queue.md in the target directory:
# Scout Queue
Sources provided during init. Run scout to evaluate and ingest.
| URL | Status |
|-----|--------|
| {url} | pending |
If yes, append this snippet to the TARGET project's CLAUDE.md (not the grimoire's). The target path was resolved in Step 2 (auto-discovered) or Step 4 (user-provided).
## Grimoire Wiki — {topic}
This project has a curated knowledge base at `{relative-path-to-grimoire}/`.
Rules:
- Consult `{path}/wiki/index.md` before answering domain questions
- Prefer wiki articles over guessing
- If the wiki doesn't cover a topic, say so — don't fabricate
After scaffolding, print a summary:
Grimoire created at {path}/
Topic: {topic}
Scope: {in_scope}
Audience: {audience}
Taxonomy: {emergent|defined with N categories}
Palette: {palette}
Sources: {N seed URLs | none}
CLAUDE.md: {integrated at {path} | not integrated}
Next steps:
1. Run /grimoire:scout to research and curate sources
2. Review scout results and approve sources
3. Run /grimoire:ingest to fetch and compile articles
4. Run /grimoire:compile for graph audit and gap analysis
5. Run /grimoire:present to generate the frontend
6. Run /grimoire:serve to expose via MCP
npx 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.