wiki-init
Skill4 starsChanged 21 days agoMITView on GitHub
Initialize a new project wiki vault with WIKI.md, index, conventions, sync config, and starter structure.
10 other projects use a version of this.
Adopted by
Most recently taken up by
- barakgut/llm-wikitheir own version, first seen Nov 1, 2026
- ProduktEntdecker/enterprise-memory-startertheir own version, first seen Nov 1, 2026
- rumi-chan/llm-wikitheir own version, first seen Oct 25, 2026
- foryouself83/harness-tiertheir own version, first seen Oct 13, 2026
- VastFuture/llm-wiki-skillstheir own version, first seen Oct 13, 2026
- chris-santiago/ml-wikitheir own version, first seen Jul 16, 2026
Used with
Projects with it also use wiki-lint.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillwiki-lint
Use when an operation issue is a lint or health-check (`operationType: "lint"`) — typically the nightly lint routine or a manual "Run lint" from the UI. Audit the wiki for contradictions, orphans, weak provenance, broken links, and missing concept pages, and return a triage list — do not auto-fix.
Also in 7 projects that use this
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- kfchou/wiki-skills★ 189same name
- bozhouDev/bozhou-skills★ 78same name
- foryouself83/harness-tier★ 10same name
- crabin/llm-wiki★ 8same name
- ProduktEntdecker/enterprise-memory-starter★ 2same name
- barakgut/llm-wiki★ 1same name
- rumi-chan/llm-wiki★ 1same name
- chris-santiago/ml-wiki★ 0same name
- graypirate/Alexandria★ 0same name
- VastFuture/llm-wiki-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository45 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- a11y-auditorSkill
- api-contract-reviewSkill
- backend-releaseSkill
- bug-diagnosisSkill
- client-copy-reviewSkill
- codebase-designSkill
- code-reviewSkill
- create-issueSkill
- create-prSkill
- create-taskSkill
- dependency-upgradeSkill
- deploy-evidenceSkill
- design-expertSkill
- design-system-docsSkill
- design-system-setupSkill
- domain-modelingSkill
- e2e-verifySkill
- evidence-auditSkill
- feature-discoverySkill
- frontend-releaseSkill
- generate-readmeSkill
- handoffSkill
- implement-taskSkill
- incident-responseSkill
- init-projectSkill
- live-docsSkill
- mcp-debuggingSkill
- memory-curatorSkill
- plan-expertSkill
- planning-featuresSkill
- project-memory-initSkill
- project-memory-refreshSkill
- project-profileSkill
- project-releaseSkill
- proof-runnerSkill
- release-checklistSkill
- researchSkill
- security-hardeningSkill
- security-reviewSkill
- tddSkill
- wiki-forgeSkill
- wiki-querySkill
- wiki-syncSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 5 are distinctive, and 14 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
14
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
When this skill finishes, the vault has:
- Very specific: line 30
If CLAUDE.md or wiki/ already exist (beyond what the framework ships), warn the user:
- Very specific: line 37
Use AskUserQuestion with these 4 questions in a single call:
- Very specific: line 62
If there are repos: use AskUserQuestion with 2 questions:
- Distinctive: line 122
If adjustment needed, ask a free-text follow-up and apply the changes.
- Distinctive: line 150
If CLAUDE.md already exists with project content (not the framework's default), skip this step.
- Very specific: line 152
Read templates/wiki/wiki-md-template.md and replace:
- Very specific: line 170
If no repos: a sentence in LANGUAGE describing the vault's content source.
- Very specific: line 178
If .claude/wiki-conventions.md already exists, skip this step.
- Very specific: line 180
Read the canonical template at ../../templates/wiki/conventions-template.md (relative to this skill's directory) and replace:
- Very specific: line 223
Write the result to .claude/wiki-conventions.md.
- Very specific: line 229
Create wiki/sync-config.md.
- Very specific: line 383
Create WIKI.md at the project root.
- Distinctive: line 409
Ensure the project's CLAUDE.md instructs agents to always consult the wiki before reading source code.
- Very specific: line 412
If
CLAUDE.mddoes not exist: create it with the following content (in LANGUAGE): - Very specific: line 428
If
CLAUDE.mdalready exists: check whether it contains a ## Wiki section. - Very specific: line 429
If not present: append the following block at the end of the file (in LANGUAGE):
- Distinctive: line 443
If already present: skip — do not duplicate.
- Very specific: line 481
If they choose to ingest: run the INGEST (batch) operation of the wiki-forge skill pointing at raw/.
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
wiki-init
Sets up a complete LLM wiki vault for any project.
When this skill finishes, the vault has:
- Folder structure adapted to the domain
CLAUDE.mdwith the project architecture.claude/wiki-conventions.mdwith the chosen language and domain-specific tagswiki/sync-config.mdso/wiki-syncknows which repos to watchwiki/index.mdandwiki/log.mdready to receive pages- First documentation generated by wiki-forge (optional)
Step 1 — Check initial state
Scan the current directory:
ls -laIf CLAUDE.md or wiki/ already exist (beyond what the framework ships), warn the user:
"This directory already has wiki files. The skill will create what's missing but won't overwrite existing content."
Step 2 — Project basics
Use AskUserQuestion with these 4 questions in a single call:
- "What is the name of this project / vault?" Header: "Vault name" — user types in "Other"
- "What language should all wiki pages be written in?" Header: "Wiki language" Options: English, Español, Português, Other
- "What type of project is this?" Header: "Project type" Options: SaaS / web app, API / backend, Mobile app, Notes / knowledge base
- "How many source code repositories does the project have?" Header: "Source repos" Options: None (documents only), 1, 2, Three or more
Store answers as VAULT_NAME, LANGUAGE, PROJECT_TYPE, REPO_COUNT.
Step 3 — Repository details
If REPO_COUNT is "None": skip to Step 4 with REPOS = [].
If there are repos: use AskUserQuestion with 2 questions:
- "List each repository, one per line. Format:
name | relative-path | stack. Example:api | ../my-api | Laravel 11" Header: "Repositories" User types in "Other" with as many lines as needed. - "Do you have documents, transcripts, or notes to ingest right now?"
Header: "Initial sources"
Options:
- "Yes — they're in a folder I'll specify"
- "Yes — I already put them in raw/"
- "No — start with an empty vault"
Parse the repo answer line by line. For each line name | path | stack,
create an object { name, path, stack }. Store as REPOS.
Store the sources answer as HAS_SOURCES.
Step 4 — Derive categories and domain tags
Based on PROJECT_TYPE and VAULT_NAME, generate:
Wiki categories (subdirectories of wiki/)
| Project type | Suggested categories |
| SaaS / web app | architecture/, modules/, entities/, flows/, integrations/, configuration/ |
| API / backend | architecture/, endpoints/, models/, integrations/, configuration/ |
| Mobile app | architecture/, screens/, entities/, flows/, integrations/ |
| Notes / knowledge | Infer from vault name (courses → concepts/, techniques/, resources/; company → processes/, team/, projects/) |
Domain area tags
Derive 8-12 business tags based on VAULT_NAME and PROJECT_TYPE.
Think about the core entities and processes of the project. Examples:
- E-commerce →
products,orders,payments,users,inventory,shipping - EdTech →
courses,students,instructors,payments,certificates,content - Fintech →
transactions,accounts,users,compliance,notifications,reports - Generic SaaS → infer from the project name
Present the derived categories and tags to the user:
Based on your project, I'll create these wiki sections:
[list of categories]
And these domain area tags:
[list of tags]
Do these look right, or would you like to adjust anything?Use AskUserQuestion:
- Question: "Do the categories and domain tags look right?"
- Header: "Structure"
- Options: "Yes, looks good", "Adjust categories", "Adjust tags", "Adjust both"
If adjustment needed, ask a free-text follow-up and apply the changes.
Store the final result as CATEGORIES (list of strings) and DOMAIN_TAGS (list of strings).
Step 5 — Create the vault structure
5.1 — Folders
mkdir -p wiki/sources wiki/logs raw localFor each category in CATEGORIES:
mkdir -p wiki/[category]For each repo in REPOS:
mkdir -p raw/[repo.name]5.2 — CLAUDE.md
If CLAUDE.md already exists with project content (not the framework's default), skip this step.
Read templates/wiki/wiki-md-template.md and replace:
{{VAULT_NAME}}→VAULT_NAME{{PROJECT_DESCRIPTION}}→ 1-2 sentence description inferred from project type and name, written inLANGUAGE{{LANGUAGE}}→LANGUAGE{{WIKI_CATEGORIES}}→ list of categories with a one-line description each, inLANGUAGE:architecture/ → Technical patterns and design decisions modules/ → Per-module documentation ...{{RAW_STRUCTURE}}→ for each repo:raw/[name]/ → Source: [path] ([stack]){{SOURCES_DESCRIPTION}}→ markdown table with repos:
If no repos: a sentence in| Repo | Relative path | Technology | | ---- | ------------- | ---------- | | [name] | [path] | [stack] |LANGUAGEdescribing the vault's content source.
Compose all prose in LANGUAGE. Save the result as CLAUDE.md.
5.3 — wiki-conventions.md
If .claude/wiki-conventions.md already exists, skip this step.
Read the canonical template at ../../templates/wiki/conventions-template.md (relative to this skill's directory) and replace:
{{VAULT_NAME}}→VAULT_NAME{{LANGUAGE}}→LANGUAGE
Then append the tags section at the end of the file, writing all labels and descriptions in LANGUAGE:
## Tag vocabulary
Tags are the most direct retrieval signal. **Only use tags from this list.**
Never invent tags without updating this section first.
Each page carries exactly **1 category tag** + **0-3 area tags** + **0-1 role tag**.
### Category tags (required, exactly 1)
| Tag | When to use |
|-----|-------------|
[One row per category in CATEGORIES — descriptions in LANGUAGE]
| `[category]` | [one-line description] |
### Domain area tags (0-3, only those that apply)
| Tag | Covers |
|-----|--------|
[One row per tag in DOMAIN_TAGS — descriptions in LANGUAGE]
| `[tag]` | [one-line description] |
### Technical role tags (0-1, only if applicable)
| Tag | When to use |
|-----|-------------|
| `core` | Central to the business; high expected query frequency |
| `pattern` | Documents a reusable design pattern |
| `contract` | Defines an interface or agreement between layers |
| `setup` | Configuration or initialization instructions |
### Prohibitions
- **Never** use synonyms of existing tags.
- If a tag seems necessary but isn't in the list: add it here first, then use it.Write the result to .claude/wiki-conventions.md.
5.4 — wiki/sync-config.md
Create wiki/sync-config.md. Write all labels in LANGUAGE.
If REPOS has repos:
# Wiki Sync — Repository Configuration
Read automatically by `/wiki-sync` at the start of each sync.
Edit this file to add, remove, or modify source repos.
---
## Repositories
| Name | Relative path | Stack |
|------|---------------|-------|
[One row per repo in REPOS]
| [name] | [path] | [stack] |
---
## Patterns with wiki impact
[For each repo, generate patterns based on its stack:]
### [repo-name] ([stack])
[Laravel / PHP]
- `app/Models/*.php`
- `app/Services/*.php`
- `app/Http/Controllers/*.php`
- `routes/api.php`
- `database/migrations/*.php`
- `composer.json`
[Angular / TypeScript]
- `src/app/**/*.ts`
- `package.json`
[Node / Express / NestJS]
- `src/**/*.ts`
- `routes/**/*.ts`
- `models/**/*.ts`
- `package.json`
[Django / Python]
- `**/models.py`
- `**/views.py`
- `**/serializers.py`
- `**/urls.py`
- `requirements.txt`
[Rails / Ruby]
- `app/models/**/*.rb`
- `app/controllers/**/*.rb`
- `config/routes.rb`
- `Gemfile`
[Go]
- `**/*.go` (exclude `*_test.go`)
- `go.mod`
[Unknown stack — use generic patterns]
- `src/**/*.{ts,js,py,php,rb,go,java}`
- `README.md`
---
## Patterns without wiki impact
- Tests: `tests/`, `*.spec.ts`, `*.test.ts`, `*_test.go`, `*Test.php`
- Assets: `*.svg`, `*.png`, `*.jpg`, `*.gif`, `*.ico`
- Lock files: `*.lock`, `package-lock.json`, `composer.lock`
- Build output: `dist/`, `build/`, `.next/`, `vendor/`, `node_modules/`
- IDE: `.vscode/`, `.idea/`, `*.iml`
- Translations: `lang/`, `i18n/`, `locales/`If REPOS = []:
# Wiki Sync — Repository Configuration
This vault has no associated source repositories.
Content comes from documents placed in `raw/`.
To add repos in the future: add rows to the Repositories table
and define their wiki impact patterns.
---
## Repositories
(none)5.5 — wiki/index.md
Write in LANGUAGE:
# Index — [VAULT_NAME]
Master catalog of all wiki pages.
Mandatory entry point for any query with `/wiki-query`.
---
[One section per category in CATEGORIES:]
## [Category]
| Page | Summary | Answers |
| ---- | ------- | ------- |
| *(empty — filled by `/wiki-forge`)* | | |5.6 — wiki/log.md
Write in LANGUAGE:
# Operation Log — [VAULT_NAME]
History of ingest, lint, and sync operations.
Updated automatically by `/wiki-forge` and `/wiki-sync`.
---5.7 — README in raw/[repo]
For each repo in REPOS, create raw/[repo.name]/README.md:
# [repo.name]
Source repository: `[repo.path]`
Stack: `[repo.stack]`
Files in this directory are immutable sources.
Do not modify directly — use `/wiki-forge` to ingest them.5.8 — WIKI.md
Create WIKI.md at the project root. This file is the initialization marker read by the
orchestrator at startup and the entry point for any agent that needs wiki instructions.
Write in LANGUAGE:
# Wiki — [VAULT_NAME]
This project has a knowledge wiki in `wiki/`.
Consult it before investigating the codebase.
## How to use
- **Query**: use `/wiki-query` or ask about any component, module, or pattern.
- **Sync**: use `/wiki-sync` to bring the wiki up to date with recent commits.
- **Ingest**: use `/wiki-forge` to process new documents placed in `raw/`.
## Entry point
`wiki/index.md` — master catalog of all documented pages, organized by category.5.9 — CLAUDE.md wiki section
Ensure the project's CLAUDE.md instructs agents to always consult the wiki before
reading source code.
If CLAUDE.md does not exist: create it with the following content (in LANGUAGE):
# [VAULT_NAME]
## Wiki
This project has a documented knowledge wiki. Before investigating the codebase for
any architecture, module, pattern, or domain question, **always read `WIKI.md` first**
and use `/wiki-query` to find documented information.
Do not grep the codebase for facts that may already be in the wiki.
- Entry point: `WIKI.md`
- Full catalog: `wiki/index.md`If CLAUDE.md already exists: check whether it contains a ## Wiki section.
If not present: append the following block at the end of the file (in
LANGUAGE):## Wiki This project has a documented knowledge wiki. Before investigating the codebase for any architecture, module, pattern, or domain question, **always read `WIKI.md` first** and use `/wiki-query` to find documented information. Do not grep the codebase for facts that may already be in the wiki. - Entry point: `WIKI.md` - Full catalog: `wiki/index.md`- If already present: skip — do not duplicate.
Step 6 — Report and launch forge
Report to the user:
## Vault initialized: [VAULT_NAME]
Language: [LANGUAGE]
Type: [PROJECT_TYPE]
Repos configured: [list or "none"]
Files created:
WIKI.md
CLAUDE.md
.claude/wiki-conventions.md
wiki/sync-config.md
wiki/index.md
wiki/log.md
wiki/[categories]/
raw/[repos]/
Ready. The skills /wiki-forge, /wiki-sync and /wiki-query
are configured for this project.Then ask:
- Question: "Do you want to run the initial ingest now to generate the first documentation?"
- Header: "Initial ingest"
- Options:
- "Yes — ingest the source repos now"
- "Yes — I have documents in raw/ to ingest"
- "No — I'll run /wiki-forge manually later"
If they choose to ingest: run the INGEST (batch) operation of the wiki-forge skill pointing at raw/.
If they choose not to: finish with the message:
"Vault ready. When you want to create the initial documentation, run
/wiki-forge."
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

