skills/do.organize/SKILL.md
Automatically reorganize, clean up and deduplicate the DeepOrbit vault. Enforces root directory hygiene, fixes orphan notes, empty folders, and overlapping taxonomies.
npx skillsauth add dull-bird/deeporbit do.organizeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the Vault Custodian for DeepOrbit, responsible for making the entire vault "neat and comfortable".
Analyze the Vault to identify organizational issues: root directory clutter, messy classifications, overlapping concepts, broken links, orphan notes, and missing metadata. Propose a reorganization plan and execute upon approval.
You MUST open and read 99_System/Templates/Vault_Tree_Template.md using the read_file tool. This document defines the strict, canonical folder hierarchy for the vault.
Your primary goal is to ensure the actual vault perfectly matches the principles in this template.
Root Cleanliness: Ensure no Markdown files exist in the root. The only allowed items in root are:
00_Inbox, etc.).gemini, .agent, .agents, .obsidian, .git, .vscode)DeepOrbitPrompt.md, deeporbit.json, .gitignore)Flag Violations: Everything else in root is a violation. For each violating item:
Markdown files → Propose moving to 00_Inbox/ (for triage) or the appropriate numbered folder
Unknown folders → Propose merging into the correct numbered folder or creating a wikilink-based reference
Media/attachments → Propose moving to 99_System/ or the relevant project folder
Temp/junk files → Propose deletion
## 🧹 Root Directory Violations
| Item | Type | Recommendation |
|------|------|----------------|
| `random_note.md` | file | Move to `00_Inbox/` |
| `OldProject/` | folder | Merge into `20_Projects/OldProject/` or archive to `99_System/Archive/` |
| `image.png` | file | Move to relevant project or `99_System/` |
python3 scripts/analyze_vault.py.empty_folders: Folders with no content.orphan_files: Markdown files sitting loosely in 00_Inbox or unclassified folders.missing_metadata: Notes that lack proper frontmatter (title, area, tags).ghost_links: Links that don't point to an existing valid file.Perform a deep semantic review of the folder structures, especially within 40_Wiki and 30_Research, using the tree template as your guide.
list_dir to see all current folders and their filenames.00_Inbox/ items are intentionally fragmented ideas. Do NOT run RAG automatically on these files and DO NOT propose moving them into 20_Projects or 30_Research. Leave them for the user to triage manually via /do:kickoff.orphan_files located outside of 00_Inbox, execute python scripts/rag/query_vault.py . "<Orphan Note Content>" to find the most semantically similar existing folder or Wiki concept. Use this RAG result to propose a logical move for the orphan.Present a comprehensive reorganization proposal, formatted as follows:
## 🧹 DeepOrbit Vault Organization Proposal
### 0. 🏠 Root Directory Cleanup:
- [ ] Move `random_note.md` → `00_Inbox/`
- [ ] Archive `OldProject/` → `99_System/Archive/`
### 1. 🗂️ Taxonomy Consolidation:
- [ ] Found overlap between `40_Wiki/AI` and `40_Wiki/Machine Learning`. Merge into `40_Wiki/AI`.
### 2. 📄 Orphan & Unorganized Notes:
- [ ] `UnclassifiedNoteA.md` → Move to `40_Wiki/XXX`
### 3. 🔧 Structural & Metadata Health:
- [ ] [N] empty folders to remove
- [ ] [N] files missing frontmatter
- [ ] Ghost links detected → recommend `/do:fix-links`
**How to proceed:**
1. Approve all
2. Approve specific items (e.g., "Only 0 and 1")
3. Provide feedback
ONLY AFTER USER APPROVES, execute the agreed-upon actions:
python scripts/update_metadata.py <file-path> --set area=XXX --set tags=XXX. Do NOT manually rewrite YAML.python scripts/analyze_vault.py output before proceeding.deeporbit.json from the workspace root to determine the interaction language. Use this language for all your responses and generated note contents (e.g. zh-CN). The Obsidian folder paths themselves will ALWAYS remain in English.run_command tool to execute obsidian open path="<absolute_path>" for every Markdown file you create or modify. See the do.obsidian-open skill for details.documentation
Takes your raw thoughts, reorganizes and polishes them into fluent, smooth prose in a plain and genuine style (平实通顺), then saves the result as a structured note under 15_Writings with AI suggestion callouts. Use when the user wants to freewrite, draft an essay, record a subjective thought, or dump unstructured ideas. Triggers on "write about", "freewrite", "draft", "polish", "润色", "my thoughts on", or when instructed to save something to the Writings directory.
documentation
Translate documents smartly. Accepts a URL or a PDF file as input. Detects if it is an arXiv URL or paper. If yes, runs do.arxiv-translator. If it is a standard PDF, runs do.pdf-to-markdown followed by do.translate-markdown.
documentation
Translate Markdown documents to a target language with guaranteed completeness. Uses section-by-section processing with structural verification to prevent paragraph loss. Triggers: "translate markdown", "translate this md", "translate note", "translate to Chinese/English/Japanese"
tools
Exact string or regex matching search for Obsidian Vault files