Overview of Claude Structure

Before anything useful happens, Claude needs to understand where it is and what it’s allowed to do. The whole setup starts with a single file: CLAUDE.md.

CLAUDE.md β€” The Control Center

CLAUDE.md sits at the vault root and Claude Code reads it on every session start. Think of it as the constitution β€” it defines style rules, vault structure, and which pipelines exist.

## Style rules
 
- Writing inside `00 Blogs/`: blog writing style
- Writing notes (01 Atlas/, 02 Calendar/, etc.): notes style
- Conversational replies in terminal: caveman mode
 
## Vault layout
 
- `04 Inbox/` β€” staging area for new notes
- `01 Atlas/` β€” evergreen concepts
- `02 Calendar/` β€” daily notes and weekly reports
- `03 Efforts/` β€” active projects and ideas
 
## Pipeline
 
/obsidian-cleanup β†’ /organize β†’ /backup

The key design principle: context-aware behaviour. Claude doesn’t apply the same rules everywhere β€” it checks the file path and adapts. Writing a blog post, jotting a quick note, and replying in the terminal all get completely different treatment.

Vault Layout

The vault follows the ACE framework (Atlas, Calendar, Efforts) with an additional Inbox as the capture layer:

00 Blogs/        ← public-facing, published to Quartz
01 Atlas/        ← evergreen knowledge (concepts, references)
02 Calendar/     ← daily notes, weekly reviews
03 Efforts/      ← active projects and ideas
04 Inbox/        ← staging: everything lands here first
05 Attachments/  ← images, PDFs, non-markdown files
06 Tasks/        ← task lists and job tracking

04 Inbox/ is the capture point for everything. Notes come in from quick mobile captures, Telegram messages, half-finished thoughts β€” all unstructured. The pipeline processes them out into the right section.

00 Blogs/ is the only public layer. It syncs to a Quartz static site at garden.iujinwee.cc, so the format rules there are stricter β€” Quartz-compatible links, consistent index files, no internal vault structure leaking through.

The Skill System

Claude Code supports custom skills β€” markdown files that define workflows Claude can execute on demand. They live in .claude/skills/ at the vault root.

.claude/
β”œβ”€β”€ CLAUDE.md              ← not here, this is at vault root
β”œβ”€β”€ skills/
β”‚   β”œβ”€β”€ organize/          ← vault organizer router
β”‚   β”œβ”€β”€ organize-blogs/    ← blog index generation
β”‚   β”œβ”€β”€ organize-knowledge/← Atlas + Efforts sort and index
β”‚   β”œβ”€β”€ organize-calendar/ ← Calendar fix + weekly report
β”‚   β”œβ”€β”€ organize-tasks/    ← task consolidation
β”‚   β”œβ”€β”€ organize-inbox/    ← delegates to obsidian-cleanup
β”‚   β”œβ”€β”€ state-of-brain/    ← weekly synthesis report
β”‚   β”œβ”€β”€ fix-links/         ← broken link resolution
β”‚   β”œβ”€β”€ backup/            ← git commit and push
β”‚   └── obsidian-cleanup/  ← inbox filing
└── styles/
    β”œβ”€β”€ blog.md
    β”œβ”€β”€ notes.md
    └── caveman.md

Each skill is a SKILL.md file with a description (used for auto-triggering) and the actual instructions. When you run /organize, Claude reads the organize/SKILL.md and follows it β€” it’s essentially a structured prompt with domain knowledge baked in.

Skills compose. /organize is a router that reads the target directory and delegates to the right sub-skill. /organize-calendar runs link fixing, rebuilds indexes, then calls the same logic as /state-of-brain. The whole system is modular by design.

How Claude Navigates the Vault

The key insight for keeping sessions fast: sparse retrieval via _index.md files.

Every directory has an _index.md that acts as a map β€” a Table of Contents listing what’s inside with one-line descriptions. When Claude needs to understand the vault structure, it reads the indexes rather than scanning individual files.

01 Atlas/
  _index.md         ← "Coding/, Career/, DevOps/ β€” see descriptions"
  Coding/
    _index.md       ← "Algorithms/, Backend/, System Design/"
    Algorithms/
      _index.md     ← lists specific algorithm notes

This means a full vault overview costs maybe 10 index files instead of loading hundreds of individual notes. Sessions stay focused and the context window doesn’t get eaten by content Claude doesn’t need.

The /organize skill keeps these indexes current. Run it after a batch of new notes and every _index.md rebuilds from the actual file contents.

The whole structure is designed around one idea: Claude should be able to navigate intelligently without loading everything into context. CLAUDE.md sets the rules, skills define the workflows, indexes provide the map.


Next up: Organizing my Vault β€” how the organize sub-skills actually work.