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.zip

Installs 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.
176 chars · catalog description✓ has a “when” trigger
Beginner

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

You give it
Organization request
You get back
Organized vault structure

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.):

  1. Create or update a note under agents/ (e.g., agents/hermes-gateway-config.md)

  2. Record: exact env vars set, config file changes, reproduction steps, pitfalls encountered

  3. Cross-link to related notes (MCP integrations, etc.)

  4. 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 scope
    

    If git commit fails 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 into knowledge/ (agentes-ia, mcp, pkm, youtube)
  • Jarvis/Agents/ → merged agent definitions into agents/ (unified: 15 total)
  • ai-actions/ → renamed to sessions/
  • Jarvis/MCP/ → reference in agents/hermes-gateway-config.md or appropriate config note
  • Jarvis/Skills/ → these are OpenCode skills, keep in opencode/
  • 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 INDEX
  • knowledge/{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:

  1. Check for empty directories: List all dirs with terminal find . -type d -empty under the vault path. Remove empty legacy folders (e.g., migrated ai-actions/, YouTube/, Cursos/ old structure after reorganization).

  2. Check for duplicate files: Look for same-named files across directories — particularly PDFs that may exist in both knowledge/{course}/ and Cursos/{course}/materiais/ or presentes/. The canonical copy lives in Cursos/; remove from knowledge/.

  3. Verify INDEX.md counts match reality: The main INDEX.md lists file counts per knowledge subfolder. Compare against mcp_obsidian_list_directory output. 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
  4. 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.

  5. Update timestamps: *Última atualização: 2026-05-10* → update to today's date. Same for projects/INDEX.md and README.md.

  6. Check cross-links: Ensure new additions (Cursos, solucionador-problemas, etc.) appear in the Atalhos Rápidos table and have backlinks from their parent notes.

  7. 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):

  1. 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.

  2. Plan in phases: Create a todo list with discrete steps. Order: create destination dirs → move files → fix links → add tags → update INDEX/README.

  3. 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).

  4. Move files in batches with obsidian_move_note. Group related moves together. The tool auto-creates intermediate paths. Verify with obsidian_list_directory on source dirs afterward — they should be empty.

  5. Fix broken wiki-links systematically — this is the most critical step and the most likely to be missed:

    • After bulk moves, run search_files with regex pattern for the old path prefix (e.g., YouTube-Learnings/ or design-basics)
    • Fix with patch tool, one file at a time, using the exact old → new text
    • Re-run search_files to 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
  6. Delegate bulk link-fixing when there are 15+ broken links: use delegate_task with explicit mapping of every old → new path. The sub-agent can handle the repetitive patching while you continue with other phases.

  7. Add tags with obsidian_manage_tags after 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.

  8. 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

Obsidian vault

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.

SkillInstallsUpdatedSafetyDifficulty
vault-org (this skill)02moReviewBeginner
scratch-pad15moReviewBeginner
thought-recording04moNo flagsIntermediate
article-add06moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry