Created
May 6, 2026 03:47
-
-
Save zdk/674e778289b0eb7ebacce1852a56479d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # One-Shot Vault Cleanup | |
| You are helping me organize my Obsidian vault. This is a collaborative process — you will work through it in phases and stop at every checkpoint to wait for my input. To move forward at any checkpoint, I will type **"go [number]"**. Never delete any note. Never change the content of any note. | |
| --- | |
| ## Phase 1 — Backup | |
| Before touching anything, create a ZIP archive of my entire vault preserving its current folder structure. Save it as a new folder alongside the vault (not inside it), named `vault-backup-YYYY-MM-DD.zip`. Report the exact file location and size. | |
| ✋ **Checkpoint 1** — Once you see the backup location and size, type "go 2" to confirm you're happy with it and proceed. | |
| --- | |
| ## Phase 2 — Scan & Diagnose | |
| List all markdown files in the vault using a file listing command. Do not read their contents yet. Report the total note count. | |
| Then check for duplicate filenames. This matters because Obsidian's wikilinks reference notes by filename, not by file path — so `[[My Note]]` works regardless of which folder a note lives in. The problem is when two notes share the same filename: Obsidian won't know which one a link points to, causing links to silently break or resolve to the wrong note. If you find any duplicates, list them clearly and suggest specific renames that fix the conflict while keeping each name meaningful. | |
| If the vault has more than 80 notes, flag this: wikilink discovery in Phase 5 may be incomplete because you can only hold so many notes in context at once. | |
| ✋ **Checkpoint 2** — Resolve any duplicate filenames first if needed, then type "go 3." | |
| --- | |
| ## Phase 3 — Folder Structure | |
| Now read all the notes. Identify the core themes, topics, and patterns across the vault. Then propose a folder structure using PARA as the top-level framework: | |
| - **Projects** — active work with a clear end goal | |
| - **Areas** — ongoing responsibilities with no end date | |
| - **Resources** — reference material and topics of interest | |
| - **Archives** — inactive items from the above three | |
| Map the themes you discovered as subfolders within the relevant PARA categories. Briefly explain PARA in case I'm not familiar with it. Present the full proposed structure as a visual tree diagram. | |
| ✋ **Checkpoint 3** — Adjust the structure until I'm happy with it, then type "go 4." | |
| --- | |
| ## Phase 4 — Move Notes & Catalog Tags | |
| Move all notes into the approved folder structure. Then catalog every existing tag in the vault and propose a master tag taxonomy. Apply a maximum of 3 tags per note. Recommend whether to keep the existing tags as-is, replace them entirely, or merge old and new — and explain your reasoning. Present the full proposed taxonomy. | |
| ✋ **Checkpoint 4** — Review and adjust the tag taxonomy until I'm happy with it, then type "go 5." | |
| --- | |
| ## Phase 5 — Apply Tags & Discover New Connections | |
| Apply the approved tags across all notes. Then scan for wikilink connections between notes that do not currently exist in the vault. Do not add any links yet — just present what you've found: | |
| - If fewer than 15 new connections: a numbered list in this format — `1. [[Note A]] → [[Note B]] — reason` | |
| - If 15 or more: a visual map grouped by theme, with every connection clearly numbered | |
| ✋ **Checkpoint 5** — Type the numbers you want added, e.g., "add 1, 3, 7 — skip the rest." | |
| --- | |
| ## Phase 6 — Finalize | |
| Add the approved wikilinks. Then create `000 Index.md` in the vault root containing two things only: the final folder structure as a tree, and the complete tag taxonomy for reference. Nothing else in this file. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment