# Example: LLM Wiki Organize material from different sources into a Karpathy-style LLM Wiki of interlinked Markdown pages. Each page covers an entity, concept, or question, leading with a conclusion and citing its sources. An `index.md` page provides navigation. The Skill picks the smallest page type that matches each page's retrieval purpose: | Page type | Use for | |-----------|---------| | `entity` | A named thing with a stable identity (person, organization, product, project, system, dataset, standard, event…) | | `concept` | A reusable idea, mechanism, pattern, protocol, or mental model | | `method` | A reusable procedure with prerequisites, ordered steps, and a verifiable outcome | | `comparison` | Two or more subjects evaluated side by side on explicit dimensions | | `analysis` | A cross-source conclusion tied to a clear question | | `summary` | A faithful digest of one source (only when `--instruction` explicitly asks for it) | The default page types are `entity` and `concept`; other types follow the conditions in the Skill. Related material from multiple sources is grouped under the same topic. Skill source: [openviking/system_assets/compile/example-skills/llm-wiki](https://github.com/volcengine/OpenViking/tree/main/openviking/system_assets/compile/example-skills/llm-wiki) · Visualization script: [examples/compile/graph-show/llm-wiki](https://github.com/volcengine/OpenViking/tree/main/examples/compile/graph-show/llm-wiki) Check the [prerequisites](01-overview.md#prerequisites) and run these commands from the OpenViking repository root. Replace the source directory with your own material. ## Step 1: Prepare the sources If the material is not in OpenViking yet, import it. Use `ov add-resource` for directories, `ov write` for a single file: ```bash # Import a directory as a source ov add-resource ./my-research --to viking://resources/research --wait # Or write a single file ov mkdir viking://resources/research ov write viking://resources/research/notes.md \ --from-file ./notes.md --mode create ``` Confirm the source is in place: ```bash ov ls -r viking://resources/research ``` ## Step 2: Add the Skill This example installs the Skill under `viking://agent/skills`, matching the compile command below. Omit `-p` for a private installation, then use the returned URI in `--skill`: ```bash ov add-skill openviking/system_assets/compile/example-skills/llm-wiki -p viking://agent/skills --wait ``` Find the installed Skill URI: ```bash ov skills list # → viking://agent/skills/llm-wiki ``` ## Step 3: Run compile ```bash ov compile \ --from viking://resources/research \ --to viking://resources/research-wiki \ --skill viking://agent/skills/llm-wiki \ --instruction "Organize into a team-searchable Wiki, keeping the source of every claim" ``` - `--from` can be repeated or comma-separated to pass multiple sources at once. - The `--to` directory is created automatically if it does not exist. - Add `-o json` for machine-readable output. The command returns a `task_id` immediately; use it to inspect or cancel the task: ```bash ov task status cmp_01abc # progress and final result ov task cancel cmp_01abc # cooperative cancel ``` ## Step 4: Inspect the output When compile finishes, the target directory holds a Markdown knowledge base. Read the navigation page first, then drill in: ```bash ov tree viking://resources/research-wiki ov read viking://resources/research-wiki/index.md ``` Typical layout (page type maps to directory): ```text research-wiki/ ├── index.md # navigation entry, type index ├── entity/ │ └──