luciole-studio/misaka-agent/code-wiki
- community
Checking that the SKILL.md file is still in the repository.
Generate wiki docs + Mermaid diagrams for any codebase.
Install
npx vskill@latest install luciole-studio/misaka-agent/code-wikiSKILL.md
Code Wiki Skill
Generate a full wiki for any codebase — overview, architecture, per-module deep-dives, Mermaid class and sequence diagrams. Inspired by Google CodeWiki, but works on local repos, private repos, and any language. Uses only existing Hermes tools (terminal, read_file, search_files, write_file); no Docker, no external services, no extra dependencies.
This skill produces reference documentation (what/how). It does not produce strategic narrative (why — that's a different skill).
When to Use
- User says "document this codebase", "generate a wiki", "make architecture diagrams"
- Onboarding to an unfamiliar repo and wants a structured reference
- User points at a GitHub URL and asks for documentation
- Need a stable artifact (markdown + Mermaid) that renders on GitHub
Do NOT use this for:
- Single-file or single-function documentation — just answer directly
- API reference for one specific endpoint — use
read_fileand answer inline - Strategic "why does this exist" narrative — different skill, different purpose
- Codebases the user is actively developing in this session — just answer questions as they come
Prerequisites
- No env vars required.
giton PATH for repo SHA tracking and remote clones.- Optional:
pygountfor language-breakdown stats (see thecodebase-inspectionskill).
How to Run
Invoke through the terminal tool from the target repo's root, then use read_file / search_files / write_file to produce the wiki. Default output location is ~/.hermes/wikis/<repo-name>/. Only write into the repo (docs/wiki/) when the user explicitly requests it.
Quick Reference
| Step | Action | |
|---|---|---|
| 1 | Resolve target — local cwd, given path, or git clone --depth 50 <url> to a temp dir | |
| 2 | Scan structure — ls, find -maxdepth 3, manifest files, README | |
| 3 | Pick 8–10 modules to document | |
| 4 | Write README.md (overview + module map) | |
| 5 | Write architecture.md with Mermaid flowchart | |
| 6 | Write per-module docs in modules/ | |
| 7 | Write diagrams/class-diagram.md (Mermaid classDiagram) | |
| 8 | Write diagrams/sequences.md (Mermaid sequenceDiagram, 2–4 workflows) | |
| 9 | Write getting-started.md | |
| 10 | Write api.md if applicable, else skip | |
| 11 | Write .codewiki-state.json | |
| 12 | Report paths to user |
Procedure
1. Resolve the target
For a GitHub URL:
For a local path (or cwd if none given):
Then set the output dir:
2. Scan repo structure
Use the terminal tool for the shell work, read_file for manifests:
Then read_file the relevant manifests (package.json, pyproject.toml, setup.py, Cargo.toml, go.mod, pom.xml, build.gradle) and the project README. Use search_files target='files' to find them rather than guessing names.
3. Pick modules to document
Cap initial pass at 8–10 modules. Heuristics by language:
- Python: top-level packages (dirs with
__init__.py), plus subsystem dirs - JS/TS:
src/<subdir>, top-level workspace dirs - Rust: each crate in a workspace, or top-level
src/<module>dirs - Go: each top-level package directory
- Mixed/unfamiliar: top-level directories that contain source code (not config, not tests)
For very large repos, prioritize by:
- Imported-from count (a module imported by many is core)
- LOC (bigger modules usually warrant their own doc)
- Mentions in README / top-level docs
State the module list to the user before generating per-module docs on big repos — gives them a chance to redirect.
4. Write README.md
read_file the actual project README plus the top 2–3 entry-point files. Then write_file:
For link targets in local mode use relative paths. For cloned repos use https://github.com/<owner>/<repo>/blob/<sha>/<path> so links survive future commits.
5. Write architecture.md
flowchart TD User([User]) --> Entry[Entry Point] Entry --> Core[Core Engine] Core --> StorageA[(Database)] Core --> ExternalAPI{{External API}}
Mermaid shape semantics:
[]= component[()]= database / storage{{}}= external service(())= entry point or terminal-->= sync call,-.->= async/event
Cap at ~20 nodes per diagram. Split into sub-diagrams if larger.
6. Write per-module docs in modules/
For each selected module, inspect its layout with ls, identify 3–5 most important files (by size, by being named core.py / main.py / __init__.py, by being imported a lot), then read_file those files (use offset / limit to read only what you need; prefer search_files for specific symbols).
7. Write diagrams/class-diagram.md
Pick the 5–10 most important classes/types. read_file them, then write:
classDiagram class Agent { +string name +list~Tool~ tools +chat(message) string } class Tool { <<interface>> +name string +execute(args) any } Agent --> Tool : uses Tool <|-- TerminalTool Tool <|-- WebTool
For languages without classes (Go, C, Rust): use the diagram for struct relationships, or skip class-diagram.md and explain it in prose in architecture.md. Don't force-fit.
8. Write diagrams/sequences.md
Pick 2–4 of the most important workflows. Trace each call path through the code (read entry point, follow function calls), then:
sequenceDiagram participant User participant CLI participant Agent participant LLM User->>CLI: types message CLI->>Agent: chat(message) Agent->>LLM: API call LLM-->>Agent: response + tool_calls Agent->>Agent: execute tools Agent-->>CLI: final response
Don't invent participants. Every box must correspond to a real component the reader can find in the code.
9. Write getting-started.md
<exact commands>
<minimum command to see the system do something useful>
10. Write api.md (skip if not applicable)
Only write this if the project is a library or API server. If it is:
- Find the public API surface (
__init__.pyexports, OpenAPI specs, route handlers, exported types) - Document each public entry with signature, parameters, return type, one-line description
- Group by category
11. Write the state file
12. Report to user
State exactly what was generated and where:
If you cloned to a temp dir, remind the user it can be removed (rm -rf "$WIKI_TMP") after they've reviewed the wiki.
Scope Control
Generating a full wiki for a 500K-LOC monorepo is wildly token-expensive. Default to bounded scope:
- Initial scan: max depth 3 directories
- Per-module docs: cap at 10 modules unless user expands scope
- Per-file reads: prefer
search_filesfor symbols +read_filewithoffset/limitover full reads - Skip vendored code (
vendor/,third_party/, generated code,_pb2.py,.min.js)
If the user says "do the whole thing exhaustively", believe them — but ballpark the cost first: "this repo has ~340 source files, comprehensive coverage will be expensive — confirm?"
Re-Run / Update
If .codewiki-state.json already exists at the target path:
- Read it for previous SHA and module list
- If source SHA matches: ask user if they want to regenerate or skip
- If SHA differs: offer to regenerate only modules with changed files (
git diff --name-only <old-sha> HEAD)
Full incremental-regeneration is a future enhancement — for now, regenerating the whole thing is acceptable.
Pitfalls
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmisaka/core/skills/assets/optional/software-development/code-wiki/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/luciole-studio/misaka-agent/code-wiki)