vault-org
Maintains and structures local Obsidian vaults for knowledge management.
Install
mkdir -p .claude/skills/vault-org && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11130" && unzip -o skill.zip -d .claude/skills/vault-org && rm skill.zipInstalls to .claude/skills/vault-org
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Organize and maintain the user's Obsidian vault for Hermes Agent. Apply when user asks to reorganize, clean up, classify notes, or when documenting system configs in the vault.Key capabilities
- →Organize vault folders
- →Update index files
- →Maintain system config logs
- →Cross-link notes
How it works
It manages folder structures, updates index files, and maintains configuration logs to keep the Obsidian vault clean and searchable.
Inputs & outputs
When to use vault-org
- →Cleaning up vault notes
- →Reorganizing project documentation
- →Updating vault indexes
About this skill
Vault Organization (Hermes Agent)
This user's Obsidian vault is at /mnt/c/Users/keila/Mateus/vault. It serves as both a personal knowledge base and a workspace for the Hermes Agent to store config docs, session logs, and project context.
The vault was previously organized for the Jarvis/OpenCode multi-agent system. Some folders and INDEX references may be stale.
Actual Vault Structure
```vault/
├── INDEX.md # Main entry point (keep updated)
├── README.md # Vault description
├── wiki-links.md # Wiki link syntax reference
├── Changelog-*.md # Reorganization records
│
├── Cursos/ # Active courses — light notes + materials
│ ├── INDEX.md # Master course index
│ ├── Cursos de AI.md # AI course portal
│ └── {course-slug}/ # One dir per course (kebab-case)
│ ├── INDEX.md # Course overview, progress bar
│ ├── NN-module-topic/ # Per-module/aula notes
│ │ ├── INDEX.md # Module study note
│ │ ├── solucionador-problemas.md # Standalone guide notes
│ │ └── materiais/ # PDFs, XLSX, DOCX, MP4, PPTX
│ ├── presentes/ # Bonus materials from the course
│ └── compartilhados/ # Cross-cutting resources
│
├── escola/ # Academic studies
│ ├── index.md
│ └── física/ # Physics study notes
│
├── knowledge/ # Consolidated knowledge (9 subdirs)
│ ├── agentes-ia/ # AI agent courses + YouTube (16 notes)
│ ├── ia-express/ # Deep notes — Curso IA Express (3 notes)
│ ├── design/ # Design, Figma, web design (4 notes)
│ ├── javascript-trilha/ # JS course materials (17 notes)
│ ├── mcp/ # MCP / Model Context Protocol (1)
│ ├── pkm/ # Personal Knowledge Mgmt / Obsidian (2)
│ ├── projetos/ # Internal project docs (1)
│ ├── youtube/ # Standalone YouTube videos (1)
│ ├── UI-UX-Design-MasterNote.md
│ ├── design-system-gerando-programadores.md
│ ├── javascript-course-ifc-structure.md
│ ├── lessons-learned-ifc-integration.md
│ └── project-overview-gerando-programadores.md
│
├── agents/ # Agent definitions — unified (15 notes)
│ ├── hermes-gateway-config.md
│ ├── agent-registry-jarvis.md
│ ├── coder-improved.md, debugger.md, ui-designer.md, vault-organizer.md
│ ├── frontend-architect.md, backend-pro.md, database-architect.md
│ ├── security-auditor.md, skill-crafter.md, test-automator.md
│ ├── azure-ml-ops.md, brand-designer.md, file-structure-specialist.md
│ └── ui-ux-design/
│
├── sessions/ # Session logs (was ai-actions/)
│ ├── log.md
│ └── YYYY-MM-DD-*.md
│
├── projects/ # Project notes and SPECs
│ ├── INDEX.md
│ ├── gerando-programadores/
│ ├── pesca/
│ └── frontend-gerando-programadores/
│
├── guides/ # How-to guides (git, agent creation)
├── journal/ # Daily entries
├── research/ # Raw ideas and experiments
├── skills/ # Skill definitions
├── Templates/ # Note templates
├── opencode/ # OpenCode CLI config reference
├── Jarvis/ # Historical archive (preserve, cross-link)
└── ...
Key Principles
Document System Config Changes
When configuring Hermes Agent (gateway, MCP servers, tools, env vars, etc.):
-
Create or update a note under
agents/(e.g.,agents/hermes-gateway-config.md) -
Record: exact env vars set, config file changes, reproduction steps, pitfalls encountered
-
Cross-link to related notes (MCP integrations, etc.)
-
Auto-commit to git after ANY vault modifications. Use descriptive commit messages in Portuguese describing what changed:
cd /mnt/c/Users/keila/Mateus/vault git add -A git commit -m "Reorganiza pasta Cursos — estrutura limpa, MDs bonitos e notas de estudo" # Better than generic "update vault" — be specific about the scopeIf
git commitfails with "Author identity unknown", set the repo-level user first (the repo may not have global git config):git config user.name "Mateus2411" git config user.email "[email protected]"
Cross-Link Everything for Graph Health
- Every note should have at least one incoming wiki-link
- Use descriptive display text:
[[note|Useful Description]] - Tag consistently: lowercase, hyphenated (
#hermes/gateway,#projects/pesca) - Hubs (INDEX.md, agent registry) should link to all their children; children should link back
Keep INDEX.md Grounded in Reality
- INDEX.md must reflect the actual folder structure, not an aspirational one
- Remove references to folders that don't exist (e.g.,
inbox/,ai-memory/) - Update whenever folders are added, removed, or renamed
Vault Migration (completed 2026-05-10)
The following migrations were done. Most old paths are now fully absorbed into the new locations below; exceptions are noted.
- ✅
YouTube/→ merged intoknowledge/(agentes-ia, mcp, pkm, youtube) - ✅
Jarvis/Agents/→ merged agent definitions intoagents/(unified: 15 total) - ✅
ai-actions/→ renamed tosessions/ Jarvis/MCP/→ reference inagents/hermes-gateway-config.mdor appropriate config noteJarvis/Skills/→ these are OpenCode skills, keep inopencode/Jarvis/Vault-Health-Reports/→ no longer needed (was for old Jarvis system)- Preserve
Jarvis/as an archive folder with cross-links from the new locations
Note on Cursos/: This folder remains a top-level directory for active course materials and light notes. It is NOT merged into knowledge/. The two work as a dual layer:
Cursos/{course}/— materials (PDFs, XLSX, MP4), presents, per-class INDEXknowledge/{course-slug}/— deep study notes, methodology breakdowns, insights
Both layers cross-link to each other for graph health.
When performing future migrations of remaining Jarvis content: use the same protocol (see below → When Reorganizing).
Vault Health Audit
Periodically (or when user says "revisa a vault") run a full health check:
-
Check for empty directories: List all dirs with
terminal find . -type d -emptyunder the vault path. Remove empty legacy folders (e.g., migratedai-actions/,YouTube/,Cursos/old structure after reorganization). -
Check for duplicate files: Look for same-named files across directories — particularly PDFs that may exist in both
knowledge/{course}/andCursos/{course}/materiais/orpresentes/. The canonical copy lives inCursos/; remove fromknowledge/. -
Verify INDEX.md counts match reality: The main INDEX.md lists file counts per knowledge subfolder. Compare against
mcp_obsidian_list_directoryoutput. Common discrepancies:- "Agentes de IA (11 notas)" → actually 16 → update
- "JavaScript (3 notas)" → actually 17 → update
- "Design (4 notas)" but only 3 listed → add missing
- "YouTube (2 notas)" but only 1 → correct
-
Verify structure tree matches reality: The ASCII tree in INDEX.md should list every top-level folder. Missing folders (e.g.,
Cursos/,escola/) break navigation. -
Update timestamps:
*Última atualização: 2026-05-10*→ update to today's date. Same forprojects/INDEX.mdandREADME.md. -
Check cross-links: Ensure new additions (Cursos, solucionador-problemas, etc.) appear in the Atalhos Rápidos table and have backlinks from their parent notes.
-
Commit after audit: Single
git add -A && git commit -m "Revisão geral da vault: ..."with a bullet list in the message body if many changes.
When Reorganizing
Protocol (verified 2026-05-10, 25 wikilinks fixed, 28 notes tagged):
-
Survey first: Read INDEX.md for intended structure, then list actual directories with
obsidian_list_directory— the gap between intended and actual is what to fix. -
Plan in phases: Create a todo list with discrete steps. Order: create destination dirs → move files → fix links → add tags → update INDEX/README.
-
Create destination dirs first using
mcp_filesystem_create_directory(the raw filesystem path under the vault, e.g./mnt/c/Users/keila/Mateus/vault/knowledge/agentes-ia). -
Move files in batches with
obsidian_move_note. Group related moves together. The tool auto-creates intermediate paths. Verify withobsidian_list_directoryon source dirs afterward — they should be empty. -
Fix broken wiki-links systematically — this is the most critical step and the most likely to be missed:
- After bulk moves, run
search_fileswith regex pattern for the old path prefix (e.g.,YouTube-Learnings/ordesign-basics) - Fix with
patchtool, one file at a time, using the exact old → new text - Re-run
search_filesto verify zero remaining broken links - A SECOND PASS is almost always needed — the first search reveals more broken links in notes you didn't expect
- After bulk moves, run
-
Delegate bulk link-fixing when there are 15+ broken links: use
delegate_taskwith explicit mapping of every old → new path. The sub-agent can handle the repetitive patching while you continue with other phases. -
Add tags with
obsidian_manage_tagsafter moves are complete. Use class-level tags (#agentes-ia,#design,#pkm,#mcp) that match the destination directory name — this makes graph views filterable by category. -
Update INDEX.md and README.md last, after all files are in their final locations. Include a
Content truncated.
When not to use it
- →When the user wants to perform manual organization
- →When the vault structure is already optimal
Prerequisites
Limitations
- →Broken wiki-links require multiple passes
- →Empty directories persist after moves
How it compares
It provides automated, agent-driven vault maintenance rather than manual organization.
Compared to similar skills
vault-org side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| vault-org (this skill) | 0 | 2mo | Review | Beginner |
| scratch-pad | 1 | 5mo | Review | Beginner |
| thought-recording | 0 | 4mo | No flags | Intermediate |
| article-add | 0 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
scratch-pad
krafton-ai
Markdown-based working memory for complex tasks. Use when: 5+ tool calls needed, researching multiple sources, analyzing/comparing items, multi-step workflows. Record process → Reference for response → Delete after use
thought-recording
arzzzae
>
article-add
petestewart
Add a topic to the article queue for later generation. Use when the user invokes "/article-add <topic>" or says "add to article queue", "queue up an article about", or "save this topic for an article later".
llm-wiki
rtl-buddy
Karpathy's LLM Wiki: build/query interlinked markdown KB.
braindump
huytieu
Quick capture of raw thoughts with intelligent domain classification and competitive intelligence extraction
hindsight-cloud
vectorize-io
Store team knowledge, project conventions, and learnings from tasks. Use to remember what works and recall context before new tasks. Connects to Hindsight Cloud. (user)