
Wiki Rebuild
- 2.9k installs
- 3.1k repo stars
- Updated August 4, 2026
- ar9av/obsidian-wiki
wiki-rebuild is an agent skill that archives, clears, rebuilds, or restores an Obsidian wiki vault with timestamped _archives snapshots and optional QMD refresh.
About
wiki-rebuild performs destructive Obsidian wiki operations with mandatory archiving first and explicit user confirmation before clearing live content. It resolves vault config via the llm-wiki protocol, reads .manifest.json for current state, and supports three modes: archive-only snapshot, archive plus full rebuild, or restore from a prior archive under _archives/. Archive directories copy category folders, index.md, log.md, projects, and manifest snapshots with archive-meta.json metadata. Rebuild mode archives with reason rebuild, clears live category directories while preserving _archives, .obsidian, and .env, resets index and log templates, and directs the user to run ingest skills rather than auto-ingesting. Restore lists available archives, archives current state as pre-restore, copies chosen archive content back, and suggests wiki-lint afterward. QMD refresh rules differ per mode, with rebuild and restore requiring update and embed when QMD_WIKI_COLLECTION is configured.
- Three modes: archive-only snapshot, archive plus rebuild, or restore from _archives/.
- Always archives before destructive clears and requires user confirmation.
- Never deletes archives or touches the sacred .obsidian configuration directory.
- Rebuild clears live wiki then hands re-ingest choice to the user.
- Documents per-mode QMD update and embed refresh when QMD_WIKI_COLLECTION is set.
Wiki Rebuild by the numbers
- 2,879 all-time installs (skills.sh)
- +33 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #141 of 1,879 Documentation skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
wiki-rebuild capabilities & compatibility
- Capabilities
- timestamped full vault archive snapshots · destructive live wiki clear with safety confirma · restore from listed _archives directories · per mode qmd update and embed refresh guidance
- Works with
- obsidian
- Use cases
- documentation · planning
What wiki-rebuild says it does
You are performing a destructive operation on the wiki. Always archive first, always confirm with the user before proceeding.
Don't run the ingest yourself automatically. The user should choose what to re-ingest and in what order.
npx skills add https://github.com/ar9av/obsidian-wiki --skill wiki-rebuildAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2.9k |
|---|---|
| repo stars | ★ 3.1k |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 4, 2026 |
| Repository | ar9av/obsidian-wiki ↗ |
How do I snapshot my wiki, start fresh from sources, or roll back to a previous archive without losing Obsidian settings?
Archive, fully rebuild, or restore an Obsidian wiki vault with timestamped snapshots and optional QMD index refresh.
Who is it for?
Developers maintaining an llm-wiki Obsidian vault who need a clean rebuild or rollback after drift or major changes.
Skip if: Skip for incremental page edits; use ingest or lint skills when a full vault reset is not required.
When should I use this skill?
User says rebuild the wiki, start over, archive and rebuild, restore from archive, or nuke and repave the vault.
What you get
A timestamped archive on disk, a cleared vault ready for selective re-ingest, or a restored prior wiki state with logged operations.
- Timestamped archive directory
- Cleared or restored vault state
By the numbers
- Supports two primary paths: rebuild from sources or restore from archive
Files
Wiki Rebuild — Archive, Rebuild, Restore
You are performing a destructive operation on the wiki. Always archive first, always confirm with the user before proceeding.
Before You Start
1. Resolve config — follow the Config Resolution Protocol in llm-wiki/SKILL.md (walk up CWD for .env → ~/.obsidian-wiki/config → prompt setup). This gives OBSIDIAN_VAULT_PATH and optional QMD settings such as QMD_WIKI_COLLECTION 2. Read .manifest.json to understand current state 3. Confirm the user's intent. This skill supports three modes:
- Archive only — snapshot current wiki, no rebuild
- Archive + Rebuild — snapshot, then reprocess all sources from scratch
- Restore — bring back a previous archive
The Archive System
Archives live at $OBSIDIAN_VAULT_PATH/_archives/. Each archive is a timestamped directory containing a full copy of the wiki state at that point.
$OBSIDIAN_VAULT_PATH/
├── _archives/
│ ├── 2026-04-01T10-30-00Z/
│ │ ├── archive-meta.json
│ │ ├── concepts/
│ │ ├── entities/
│ │ ├── skills/
│ │ ├── references/
│ │ ├── synthesis/
│ │ ├── journal/
│ │ ├── projects/
│ │ ├── index.md
│ │ ├── log.md
│ │ └── .manifest.json
│ └── 2026-03-15T08-00-00Z/
│ └── ...
├── concepts/ ← live wiki
├── entities/
└── ...archive-meta.json
{
"archived_at": "2026-04-06T10:30:00Z",
"reason": "rebuild",
"total_pages": 87,
"total_sources": 42,
"total_projects": 6,
"vault_path": "/Users/name/Knowledge",
"manifest_snapshot": ".manifest.json"
}Mode 1: Archive Only
When the user wants to snapshot the current state without rebuilding.
Steps:
1. Create archive directory: _archives/YYYY-MM-DDTHH-MM-SSZ/ 2. Copy all category directories, index.md, log.md, .manifest.json, and projects/ into the archive 3. Write archive-meta.json with reason "snapshot" 4. Append to log.md:
- [TIMESTAMP] ARCHIVE reason="snapshot" pages=87 destination="_archives/2026-04-06T10-30-00Z"5. Optionally refresh QMD if log.md is indexed and QMD_WIKI_COLLECTION is configured (see "QMD Refresh After Live Wiki Changes"). 6. Report: "Archived 87 pages. Current wiki is untouched."
Mode 2: Archive + Rebuild
When the user wants to start fresh. This is the full sequence:
Step 1: Archive current state
Same as Mode 1 above, but with reason "rebuild".
Step 2: Clear live wiki
Remove all content from the category directories (concepts/, entities/, skills/, etc.) and the projects/ directory. Keep:
_archives/(obviously).obsidian/(Obsidian config).env(if present in vault)
Reset index.md to the empty template. Reset log.md with just the rebuild entry. Delete .manifest.json (it'll be recreated during ingest).
Step 3: Rebuild
Tell the user the vault is cleared and ready for a full re-ingest. They can now run:
1. wiki-status — to see all sources as "new" 2. claude-history-ingest — to reprocess Claude history 3. codex-history-ingest — to reprocess Codex session history 4. wiki-ingest — to reprocess documents and any other raw data
Each of these will rebuild the manifest as they go.
Important: Don't run the ingest yourself automatically. The user should choose what to re-ingest and in what order. Some sources may no longer be relevant.
Step 4: Log the rebuild
Append to log.md:
- [TIMESTAMP] REBUILD archived_to="_archives/2026-04-06T10-30-00Z" previous_pages=87Refresh QMD after clearing and logging the live wiki (see "QMD Refresh After Live Wiki Changes"), then report that the vault is ready for selected re-ingest skills.
Mode 3: Restore from Archive
When the user wants to go back to a previous state.
Step 1: List available archives
Read _archives/ directory. For each archive, read archive-meta.json and present:
## Available Archives
| Date | Reason | Pages | Sources |
|---|---|---|---|
| 2026-04-06 10:30 | rebuild | 87 | 42 |
| 2026-03-15 08:00 | snapshot | 65 | 31 |Step 2: Confirm which archive to restore
Ask the user which archive they want. Warn them that restoring will overwrite the current live wiki.
Step 3: Archive current state first
Before restoring, archive the current state (reason: "pre-restore") so nothing is lost.
Step 4: Restore
1. Clear the live wiki (same as Mode 2, Step 2) 2. Copy all content from the chosen archive back into the live wiki directories 3. Restore index.md, log.md, and .manifest.json from the archive 4. Append to log.md:
- [TIMESTAMP] RESTORE from="_archives/2026-03-15T08-00-00Z" pages_restored=65Step 5: Report
Refresh QMD after restore (see "QMD Refresh After Live Wiki Changes"), then tell the user what was restored and suggest running wiki-lint to check for any issues with the restored state.
QMD Refresh After Live Wiki Changes
QMD is a search index, not the source of truth. If QMD refresh fails, do not roll back archive, rebuild, or restore work; report the failure and leave the markdown vault intact.
GUARD: If `$QMD_WIKI_COLLECTION` is empty or unset, skip this step.
When to run:
| Mode | Refresh QMD? | Reason |
|---|---|---|
| Archive only | Optional | Live wiki content is unchanged except log.md; refresh if log.md is indexed and QMD is configured. |
| Archive + Rebuild | Required after clearing live wiki | QMD must forget deleted pages or it will return stale search results. Later ingest skills will refresh again as sources are reprocessed. |
| Restore | Required after restore | The live wiki was replaced with archive content, so QMD must match the restored state. |
This refresh currently requires the local QMD CLI. Use $QMD_CLI if set; otherwise use qmd. If the CLI is unavailable, report QMD skipped: qmd CLI unavailable.
For CLI refresh:
${QMD_CLI:-qmd} updateIf the output says new hashes need vectors, or if restore replaced live pages and embeddings may be stale, run:
${QMD_CLI:-qmd} embedVerify the wiki collection reflects the operation:
${QMD_CLI:-qmd} ls "$QMD_WIKI_COLLECTION"For restore, also verify one restored page if the archive has a known page path:
${QMD_CLI:-qmd} get "qmd://$QMD_WIKI_COLLECTION/<restored-page>.md" -l 5Record QMD refresh in the final report as one of:
QMD refreshed: update + embed + verifiedQMD refreshed: update only + verifiedQMD skipped: QMD_WIKI_COLLECTION unsetQMD skipped: archive-only live content unchangedQMD skipped: qmd CLI unavailableQMD failed: <short error summary>
Safety Rules
1. Always archive before destructive operations. No exceptions. 2. Always confirm with the user before clearing the live wiki. 3. Never delete archives unless the user explicitly asks. Archives are cheap insurance. 4. The `.obsidian/` directory is sacred. Never touch it during archive/rebuild/restore — it contains the user's Obsidian settings, plugins, and themes. 5. If something goes wrong mid-rebuild, the archive is there. Tell the user they can restore.
Related skills
How it compares
Full vault lifecycle reset skill, not incremental wiki-ingest or cross-link maintenance.
FAQ
Does rebuild automatically re-ingest all sources?
No. After clearing the vault it tells you to run wiki-status and chosen ingest skills in your preferred order.
What is never deleted during rebuild?
_archives, .obsidian settings, and .env in the vault are preserved.
Is Wiki Rebuild safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.