Designing LLM-optimized folder structures: audits and restructures directories for context efficiency, progressive disclosure, and prompt cache performance. Not for general repo structure (Grove).
55
61%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.archive/nest/SKILL.mdDesign and apply folder structures optimized for LLM agent navigation. Nest bridges the gap between human-readable project organization and LLM-efficient context loading.
Use Nest when:
Route elsewhere when:
GroveHoneSigilAtlasreference/naming-guide.md.@import splitting. For CLAUDE.md density management, hand off to Hone..claudeignore (Claude Code) and .gitignore patterns Claude Code respects. Unfiltered repositories cause Claude to spend context on irrelevant files and time out on subdirectory greps. Treat .claudeignore as a first-class structural artifact, not an afterthought — it sits next to root CLAUDE.md and is audited alongside it. [Source: claude.com — How Claude Code works in large codebases (2026)]<1% because the information was present but unmapped. Favor a small set of canonical, well-described entry files plus progressive disclosure over wide-open breadth; the navigation bottleneck is mapping (clear names, scoped responsibilities, routing docs), not reach. [Source: claude.com — How Anthropic Enables Self-Service Data Analytics with Claude]git mv for all file moves during APPLY phase. Verify build passes after each batch of moves before proceeding._common/OPUS_5_AUTHORING.md (P3, P5 critical for Nest; P2, P1 recommended).AUDIT → DIAGNOSE → DESIGN → APPLY → VERIFY
| Phase | Purpose | Key Activities | Read |
|---|---|---|---|
AUDIT | Measure current state | Tree analysis, token estimation, discovery test, cache topology scan | reference/audit-checklist.md |
DIAGNOSE | Identify inefficiencies | Navigation bottlenecks, bloated context files, naming blind spots | — |
DESIGN | Plan optimized structure | Progressive disclosure layout, CLAUDE.md hierarchy, naming scheme | reference/layout-patterns.md |
APPLY | Execute restructuring | git mv file moves, CLAUDE.md creation, naming fixes | — |
VERIFY | Validate improvement | Before/after token cost, discovery test, build path verification | reference/audit-checklist.md |
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| Structure Audit | audit | ✓ | LLM navigation efficiency audit of existing folder structure | reference/audit-checklist.md |
| Restructure | restructure | Restructuring for LLM optimization (includes git mv execution) | reference/layout-patterns.md | |
| Progressive Disclosure | progressive | L1/L2/L3 progressive disclosure hierarchy design | reference/layout-patterns.md | |
| Prompt Cache | cache | Prompt cache topology optimization and static-file-first ordering | reference/audit-checklist.md | |
| Naming | naming | File and folder naming audit for LLM grep/glob discoverability — bias-correction for generic names (utils, helpers), domain-vs-type grouping, suffix conventions (.config, .test, .spec), case strategy (kebab/camel/Pascal), rename-impact analysis | reference/naming-guide.md | |
| Sharding | sharding | Large file sharding strategy — split CLAUDE.md / reference docs via @import, choose split axis (by domain / by phase / by frequency), preserve cache prefixes, design include manifest, validate cycle-free imports | reference/sharding-strategy.md | |
| Monorepo | monorepo | Monorepo workspace topology for LLM efficiency — package boundaries (apps/, packages/, libs/), per-workspace CLAUDE.md cascade, turborepo / nx / pnpm-workspace path optimization, shared rule deduplication | reference/monorepo-topology.md |
Parse the first token of user input.
audit = Structure Audit). Apply normal AUDIT → DIAGNOSE → DESIGN → APPLY → VERIFY workflow.Behavior notes per Recipe:
audit: AUDIT + DIAGNOSE phases only. Report scores (discovery/token_budget/cache_topology/naming). No changes.restructure: Full AUDIT → DESIGN → APPLY → VERIFY. Execute git mv in batches. Build-path preservation check required.progressive: Three-tier design L1 (always-loaded) / L2 (on-demand) / L3 (deep reference) and CLAUDE.md hierarchy plan.cache: Group files by change frequency → static content first → stabilize cache prefixes.naming: AUDIT naming only. Measure glob/grep hit rates and present a rename plan replacing generic names (utils.ts / helpers.ts / common.ts) with domain-derived names (string-helpers.ts / date-formatters.ts). Apply kebab-case directories + domain grouping + suffix conventions (.config / .test / .spec). Execute as a git mv batch and enumerate import-path impact in advance.sharding: When a single CLAUDE.md / reference exceeds 300 lines / 1200 tokens, split via @import. Choose the split axis from 3 (by domain / by lifecycle phase / by change frequency). Reorder in a sequence that does not break cache prefixes, generate an include manifest, and run a mandatory circular-reference check. Coordinate with Hone (Hone = density audit, Nest = split topology).monorepo: Detect turborepo / nx / pnpm-workspace and design a CLAUDE.md cascade at the apps/ packages/ libs/ boundaries. Put shared rules at the root and only overrides in each workspace. Hoist duplicate rules up to the root. Also verify consistency between tsconfig path aliases and CLAUDE.md.| Signal | Approach | Primary Output | Read next |
|---|---|---|---|
audit, evaluate folder structure | AUDIT only | Structure report with scores and recommendations | reference/audit-checklist.md |
optimize, restructure for LLM | Full workflow | Restructured directories + migration script | reference/layout-patterns.md |
CLAUDE.md hierarchy, rules placement | CLAUDE.md focus | Hierarchical rules design with placement plan | reference/layout-patterns.md |
naming, discoverability | Naming focus | Rename plan with glob/grep validation | reference/naming-guide.md |
new project, scaffold for LLM | Greenfield design | Complete LLM-optimized directory template | reference/layout-patterns.md |
A complete deliverable carries the following — a ceiling, not a floor. Emit only what the task exercised; never pad with N/A:
Simulate 5 common LLM navigation queries against the project and score hit rate:
| Query Type | Test Pattern | Pass Criteria |
|---|---|---|
| Find config files | glob: **/*.config.*, **/config/** | All configs found in ≤2 glob patterns |
| Find test files | glob: **/*.test.*, **/*.spec.* | All tests found in ≤2 glob patterns |
| Find API routes | grep: "router|endpoint|handler" | 80%+ route files in results |
| Find documentation | glob: **/*.md, **/docs/** | All docs found in ≤2 glob patterns |
| Find CLAUDE.md rules | glob: **/CLAUDE.md, **/.claude/** | Hierarchical chain discoverable |
.claudeignore present and effective | cat .claudeignore + spot-check excluded paths | Generated files, build artifacts, and third-party / vendored code excluded; no source code accidentally hidden |
| File Type | Max Lines | Max Tokens (est.) | Action if Exceeded |
|---|---|---|---|
| CLAUDE.md | 200 (ideal), 300 (max) | ~1,200 | Hand off to Hone for @import split design |
| Reference file | 500 | ~2,000 | Split by domain or move detail to sub-references |
| Context file (any) | 300 | ~1,200 | Extract sections to dedicated files |
Evaluate how well the file structure supports prompt caching:
| Factor | Weight | Score Criteria |
|---|---|---|
| Static-first ordering | 30% | System prompts, configs before dynamic content |
| Change frequency grouping | 30% | Rarely-changed files co-located, frequently-changed separate |
| CLAUDE.md stability | 20% | Root CLAUDE.md changes <1x/week |
| Tool definition locality | 20% | MCP configs and tool schemas in stable, predictable paths |
project/
├── CLAUDE.md # L1: Project-wide rules (always loaded)
├── .claude/
│ ├── rules/ # L1.5: @imported rule modules
│ │ ├── coding-standards.md
│ │ ├── testing-policy.md
│ │ └── security-rules.md
│ ├── settings.json # Tool configs (stable, cached)
│ └── skills/ # L2: On-demand skills
├── docs/
│ ├── architecture.md # L2: Read when relevant
│ ├── api/ # L3: Deep reference
│ └── decisions/ # L3: ADRs, read on demand
├── src/ # Application code
│ ├── {module}/
│ │ ├── CLAUDE.md # L1: Module-specific overrides
│ │ └── ...
└── scripts/ # Utilities| Convention | Example | Rationale |
|---|---|---|
| Kebab-case directories | user-auth/, data-pipeline/ | Consistent glob matching |
| Descriptive file names | api-routes.ts, auth-middleware.ts | grep hits on domain terms |
| Avoid generic names | utils.ts → string-helpers.ts | LLM can infer file content from name |
| Group by domain, not type | user/{model,routes,tests} vs models/user | Co-located context reduces navigation |
| Suffix conventions | .config., .test., .spec. | Reliable glob filtering |
For detailed naming rules, anti-patterns, and validation tests → reference/naming-guide.md
| Level | File | Content | Token Budget |
|---|---|---|---|
| Global | ~/.claude/CLAUDE.md | Personal preferences, universal rules | 100-200 |
| Project | project/CLAUDE.md | Project conventions, stack-specific rules | 150-300 |
| Package | packages/api/CLAUDE.md | Package-specific overrides | 50-150 |
| Module | src/auth/CLAUDE.md | Module-specific context (rare) | 30-80 |
When CLAUDE.md exceeds 200 lines or density issues are detected, hand off to Hone for @import split design and density optimization.
Receives: Grove (base structure for LLM optimization), Hone (config audit findings needing structural fixes), Sigil (skill placement requirements), User (direct structure audit requests) Sends: Grove (structural conventions needed before LLM layer), Hone (CLAUDE.md density issues found during audit), Sigil (folder hierarchy ready for skill placement)
Overlap boundaries:
| Direction | Handoff | Purpose |
|---|---|---|
| Grove → Nest | GROVE_TO_NEST_HANDOFF | Base structure ready, apply LLM optimization |
| Hone → Nest | HONE_TO_NEST_HANDOFF | Config audit findings need structural fixes |
| Nest → Grove | NEST_TO_GROVE_HANDOFF | Structural conventions needed before LLM layer |
| Nest → Hone | NEST_TO_HONE_HANDOFF | CLAUDE.md density issues found during audit (>200 lines) |
| Nest → Sigil | NEST_TO_SIGIL_HANDOFF | Folder hierarchy ready for skill placement |
See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Nest-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
| Reference | Read this when |
|---|---|
reference/audit-checklist.md | Running AUDIT or VERIFY phase, need scoring criteria and test patterns |
reference/layout-patterns.md | Designing new structure, need standard LLM-optimized templates |
reference/naming-guide.md | Evaluating or fixing file/folder naming for LLM discoverability |
reference/sharding-strategy.md | Splitting large CLAUDE.md/reference docs via @import while preserving cache prefixes |
reference/monorepo-topology.md | Designing per-workspace CLAUDE.md cascade for turborepo / nx / pnpm-workspace |
_common/OPUS_5_AUTHORING.md | Sizing the structure proposal, deciding adaptive thinking depth at DESIGN, or front-loading LLM target/token budget at AUDIT. Critical for Nest: P3, P5 |
reference/autorun-schema.md | You are emitting the AUTORUN _STEP_COMPLETE block — Nest-specific Output/Next schema. |
.agents/nest.md..agents/PROJECT.md after task completion._common/OPERATIONAL.md and _common/GIT_GUIDELINES.md.f425adc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.