| name | llm-wiki-maintainer |
| description | Use when the task involves a filesystem-based LLM Wiki or Obsidian vault, especially Ar9av/obsidian-wiki projects using .skills, .env, ~/.obsidian-wiki/config, AGENTS.md, .manifest.json, index.md/log.md/hot.md, ingest/query/lint workflows, or Russian prompts like "добавь в вики", "сделай ingest", "lint wiki", "обнови index/log", or "разложи по obsidian-wiki". |
LLM Wiki Maintainer
Overview
Use this skill for persistent markdown knowledge bases maintained as compiled
Obsidian-compatible wiki artifacts.
Priority order:
- For new setup/deploy/init requests, deploy
Ar9av/obsidian-wiki by default.
- Prefer the
Ar9av/obsidian-wiki framework when it is present.
- If a legacy
raw/ + wiki/ LLM Wiki is already present, work with it
without breaking it, but propose migrating to obsidian-wiki.
- Create or extend a legacy layout only when the user explicitly requests the
old standard LLM Wiki format.
Treat the wiki as a maintained system, not as a pile of notes.
Default Deployment Behavior
When the user invokes this skill for setup, deployment, initialization, or a new
wiki, and no existing wiki contract has to be preserved, deploy
Ar9av/obsidian-wiki as the default implementation.
Default deployment means:
- Create or populate the target directory as an
obsidian-wiki repo from
https://github.com/Ar9av/obsidian-wiki.
- Preserve any existing user files in the target directory.
- Create
.env with OBSIDIAN_VAULT_PATH set to the target vault.
- Initialize the vault files and directories:
index.md
log.md
hot.md
.manifest.json
.obsidian/
_meta/
_raw/
_archives/
concepts/, entities/, skills/, references/, synthesis/,
journal/, projects/
- Ensure
~/.obsidian-wiki/config points to the selected vault/repo when doing
so is safe.
- Install only the needed Codex skill symlinks into
~/.codex/skills unless
the user asks to run the full upstream setup.sh.
- Keep upstream framework git state clean by excluding local vault artifacts
from accidental upstream commits when the repo uses
Ar9av/obsidian-wiki as origin.
Do not ask whether the user wants the legacy layout when the request is simply
"set up my wiki", "разверни wiki", "создай Obsidian wiki", or similar. Use
obsidian-wiki unless the user explicitly names the old layout.
Legacy LLM Wiki Compatibility
Legacy mode is for already-existing standard LLM Wiki layouts such as:
WIKI-SCHEMA.md
raw/
wiki/index.md
wiki/log.md
wiki/sources/
wiki/concepts/, wiki/entities/, wiki/analyses/
When legacy mode is detected:
- Work with the existing layout safely.
- Do not move, rename, or rewrite the legacy wiki without explicit approval.
- Tell the user that the current wiki is legacy/standard LLM Wiki.
- Recommend migrating to
Ar9av/obsidian-wiki for future work unless there is
a clear reason to keep the old structure.
- Offer a migration path:
- preserve
raw/ as source material or map it to _raw/
- map
wiki/sources/ to references/
- map
wiki/concepts/ to concepts/
- map
wiki/entities/ to entities/
- map
wiki/analyses/ to synthesis/
- convert
wiki/index.md and wiki/log.md into root index.md and
log.md
- create
.manifest.json, hot.md, _meta/, and .obsidian/
Only perform the migration after the user asks for it or clearly authorizes it.
Obsidian-Wiki Priority
Assume obsidian-wiki mode when any of these are present:
.skills/llm-wiki/SKILL.md
.skills/wiki-ingest/SKILL.md, .skills/wiki-query/SKILL.md, or related
wiki skills
AGENTS.md beginning with Obsidian Wiki agent context
.env containing OBSIDIAN_VAULT_PATH
~/.obsidian-wiki/config
- vault files such as
.manifest.json, hot.md, _meta/taxonomy.md, _raw/
In this mode, follow the framework contract before local habits:
- Resolve config.
- Walk up from CWD looking for
.env with OBSIDIAN_VAULT_PATH.
- If not found, read
~/.obsidian-wiki/config.
- The resolved
OBSIDIAN_VAULT_PATH is the vault root.
- The resolved
OBSIDIAN_WIKI_REPO, when present, is the framework repo.
- Read control files.
- Read repo
AGENTS.md when present.
- Then read
$OBSIDIAN_VAULT_PATH/AGENTS.md when present; it overrides
framework defaults for owner-specific conventions.
- For operation-specific work, read the matching
.skills/<skill-name>/SKILL.md from the repo before acting.
- Use the
obsidian-wiki vault shape.
- Root special files:
index.md, log.md, hot.md, .manifest.json.
- Metadata:
_meta/, _raw/, _archives/, .obsidian/.
- Categories:
concepts/, entities/, skills/, references/,
synthesis/, journal/, and projects/.
- Keep the compiled layer in the vault root categories, not in
wiki/, unless
the detected contract explicitly uses legacy paths.
Local default in this environment:
$HOME/TG-NEWS-151 is an obsidian-wiki repo and vault.
$HOME/.obsidian-wiki/config points to that vault.
Quick Start
- Find the contract.
- First detect
obsidian-wiki mode using the rules above.
- In
obsidian-wiki mode, resolve .env or ~/.obsidian-wiki/config,
read AGENTS.md, then read vault index.md, log.md, and hot.md.
- In legacy mode, if the vault has
WIKI-SCHEMA.md, read it first.
- Then read local
AGENTS.md if present.
- Then read legacy
wiki/index.md and wiki/log.md.
- If no contract exists and the task is setup/init/deploy, create an
obsidian-wiki setup by default.
- For whole-workspace vaults, read the corpus-policy page before ingesting
when one exists.
- Respect source boundaries.
- Treat
_raw/, raw/, and external corpus files as read-only unless
explicitly told to edit them.
- In
obsidian-wiki mode, write compiled knowledge only into vault category
directories such as references/, concepts/, entities/, synthesis/,
journal/, and projects/.
- In legacy mode, write compiled knowledge only into
wiki/.
- Pick the operation.
When To Use
- The user mentions
LLM Wiki, Obsidian, vault, raw/, wiki/,
wiki/index.md, wiki/log.md, WIKI-SCHEMA.md, or AGENTS.md.
- The user mentions
obsidian-wiki, Ar9av/obsidian-wiki, .manifest.json,
.skills/wiki-*, _raw/, hot.md, wiki-status, wiki-ingest, or
wiki-query.
- The task involves converting source files into Markdown before ingest, or the
user mentions
MarkItDown, markitdown, document-to-markdown conversion,
PDF/DOCX/PPTX/HTML import, or asks to prepare raw source material for a wiki.
- The user wants to ingest sources, answer from the wiki, reconcile
contradictions, or maintain a persistent knowledge base.
- The user uses Russian prompts such as:
добавь в вики
сделай ingest
обнови index/log
lint wiki
разложи по вики
Workflow
Obsidian-Wiki Operation Routing
When in obsidian-wiki mode, prefer the matching framework skill instructions:
- Setup or repair: read
.skills/wiki-setup/SKILL.md.
- Ingest: read
.skills/wiki-ingest/SKILL.md or
.skills/data-ingest/SKILL.md for raw text/export data.
- Query: read
.skills/wiki-query/SKILL.md.
- Status/delta: read
.skills/wiki-status/SKILL.md.
- Lint: read
.skills/wiki-lint/SKILL.md.
- Rebuild/archive: read
.skills/wiki-rebuild/SKILL.md.
- Cross-linking: read
.skills/cross-linker/SKILL.md.
- Tags: read
.skills/tag-taxonomy/SKILL.md.
- Project sync: read
.skills/wiki-update/SKILL.md.
If a requested workflow is already covered by an installed obsidian-wiki
skill, follow that skill's contract rather than reinterpreting the task from
this generic skill.
Ingest
Use when a new source, folder, note, or workspace slice should become durable
knowledge.
In obsidian-wiki mode:
- Resolve config and read control files.
- Read the source carefully without mutating it.
- Create or update a source/reference page in
references/ unless the
operation-specific skill says a different category is correct.
- Update durable pages in
concepts/, entities/, skills/, synthesis/,
journal/, or projects/ as appropriate.
- Update
index.md, log.md, hot.md, and .manifest.json.
- Preserve provenance in frontmatter fields such as
sources, summary,
provenance, base_confidence, lifecycle, created, and updated when
following the framework templates.
Legacy mode:
Steps:
- Read the source carefully.
- Create or update one source page in
wiki/sources/.
- Update the affected durable pages in
wiki/entities/,
wiki/concepts/, or wiki/analyses/.
- Update
wiki/index.md.
- Append an entry to
wiki/log.md.
Rules:
- Prefer one source page per source item when practical.
- For tightly related documents, use one bundle source page and list every
member in
sources.
- Preserve provenance. Do not rewrite source material in place.
MarkItDown-Assisted Ingest
Use when source material exists in non-markdown formats and should be prepared
for wiki ingest without inventing content.
Typical cases:
- PDF
- DOCX
- PPTX
- HTML
- copied exports or downloaded source bundles that are easier to ingest after
markdown conversion
Rules:
- Treat original files as read-only unless explicitly told otherwise.
- In
obsidian-wiki mode, prefer writing converted artifacts into _raw/ or
another explicitly chosen staging area, not into compiled category folders.
- In legacy mode, prefer writing converted artifacts into
raw/ or another
explicitly chosen ingest staging area, not into wiki/.
- Do not overwrite the original source file with converted markdown.
- After conversion, ingest from the converted artifact as a source, preserving
provenance back to the original path.
- If conversion quality is poor, say so explicitly instead of pretending the
markdown is trustworthy.
Local tool note:
- A local
MarkItDown environment exists at:
$HOME/LLM Wiki MarkItDown/MarkItDown/venv/bin/markitdown
- Installed version observed locally:
markitdown 0.1.5
Practical workflow:
- Identify the original source file.
- Convert it with local
markitdown into a staging markdown file.
- Keep the original file untouched.
- Read the converted markdown critically.
- In
obsidian-wiki mode, create/update one references/ page from that
converted source, then update durable pages, index.md, log.md, hot.md,
and .manifest.json.
- In legacy mode, create/update one
wiki/sources/ page from that converted
source, then update durable pages, wiki/index.md, and wiki/log.md.
Query
Use when the user asks a question that the wiki should answer.
In obsidian-wiki mode:
- Resolve config and read
index.md, hot.md, and relevant frontmatter
summaries first.
- Read relevant durable pages only when needed.
- Answer from the wiki first with
[[wikilink]] citations.
- If the wiki is insufficient, state the missing source or page explicitly.
Legacy mode:
Steps:
- Read
wiki/index.md first to orient.
- Read the relevant durable pages.
- Answer from the wiki first.
- Cite relevant pages with
[[wikilinks]].
- If the answer is durable, save or propose a new analysis page.
Rules:
- Do not silently mix source facts and inference.
- If the wiki is insufficient, say what is missing.
Lint
Use when the user wants quality control on the wiki.
Check for:
- broken links
- orphan pages
- weakly connected pages
- duplicate or overlapping pages
- contradictions
- concepts or entities repeatedly mentioned without their own page
- stale claims or superseded pages
Fix directly when safe:
- broken links
- index drift
- missing backlinks that are clearly warranted
- obvious page placement or title cleanup
- stale
hot.md or .manifest.json metadata in obsidian-wiki mode when the
correction is mechanical and source-backed
Report instead of guessing when judgment is needed.
Page Discipline
- Prefer updating durable pages over creating fragments.
- Keep source pages factual and durable pages synthetic.
- Keep YAML frontmatter valid.
- Maintain meaningful wikilinks.
- In
obsidian-wiki mode, keep index.md, log.md, hot.md, and
.manifest.json current.
- In legacy mode, keep
wiki/index.md and wiki/log.md current.
- If a claim lacks trustworthy support, say so explicitly.
Truthfulness Rules
- Do not invent facts.
- Distinguish source-backed facts from synthesis.
- Preserve uncertainty explicitly.
- Never fabricate provenance, citations, source counts, or page links.
Architecture Notes
- If the wiki describes software, keep architecture pages separate from
implementation pages.
- If comparing systems or products, ingest both sides first, then write a
synthesis page.
- If the user supplies text directly in chat, treat it as a source note and
record its provenance in the source page body.
- If imported source material first passes through
MarkItDown, preserve both:
the original file path and the converted markdown path in the resulting source
page or provenance note when useful.
Local Example
For a concrete working vault in this environment, read
references/artigram-example.md.
For a local conversion-oriented setup in this environment, note:
- wiki skeleton:
$HOME/LLM Wiki MarkItDown/LLM Wiki
- MarkItDown venv:
$HOME/LLM Wiki MarkItDown/MarkItDown/venv