mcpbeat

Agent Init Deep

majiayu000/agent-init-deep

> Initialize or migrate to nested CLAUDE.md structure for progressive disclosure. Claude auto-loads CLAUDE.md from any directory it enters, so nested files get discovered automatically. Use when setting up a new project's agent config, refactoring a bloated CLAUDE.md, or adding progressive disclosure to an existing repo. 'split claude.md', 'claude.md is too big'.

2k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
532
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/majiayu000/claude-skill-registry --skill agent-init-deep

What comes with it

729 bytes besides the instruction
metadata.json

The instruction itself

11 sections, as written by the author

Init Deep — Progressive Disclosure CLAUDE.md

Set up or migrate to a progressive disclosure CLAUDE.md structure using docs/agents/ for topic-specific guidance.

Context Model

Static (root CLAUDE.md)      — loaded every conversation, minimal, high-value
Semi-dynamic (docs/agents/)  — linked from root, loaded on-demand when relevant
Fully dynamic (skills)       — triggered by metadata match, loaded only when invoked

Root CLAUDE.md should be ~40-50 lines. Everything else belongs in docs/agents/ or skills.

Target Structure

CLAUDE.md                        # Root: identity, tech stack, key rules, workflow, links
docs/agents/
├── tooling.md                   # e.g. package manager, linting, formatting, hooks
├── commands.md                  # e.g. script execution, build filters, passing args
├── guardrails.md                # e.g. data isolation, secrets, library docs
├── definition-of-done.md       # e.g. coverage, lint, type-check, format requirements
└── [topic].md                   # Additional topic-specific files as needed

Workflow

Step 1: Detect State

Check for:
- CLAUDE.md exists?
- docs/agents/ exists?
- How many lines is CLAUDE.md?

If no CLAUDE.md → Greenfield path

If CLAUDE.md exists → Migration path

Step 2a: Greenfield Path

Ask the user:

  • Project name and one-line description
  • Tech stack (frontend, backend, database, etc.)
  • Package manager (pnpm, npm, yarn, bun)
  • Key guardrails (multi-tenancy, secrets, etc.)
  • Definition of done (test coverage, lint, types, format)

Then generate:

Root CLAUDE.md with:

  • Project identity (1-2 lines)
  • Tech stack list
  • 3-5 key rules (only things the agent consistently gets wrong)
  • 4-stage workflow: Plan → Execute → Validate → Commit
  • Links to docs/agents/ files with routing signals

docs/agents/ files based on answers. Common files include:

  • tooling.md — package manager rules, linting config, hooks
  • commands.md — how to run scripts, filter by package, pass args
  • guardrails.md — data isolation, secrets, library docs
  • definition-of-done.md — specific thresholds and commands

Adjust filenames and topics to match the project's actual needs.

Step 2b: Migration Path

  • Read existing CLAUDE.md
  • Classify each section:
  • Root-worthy: identity, tech stack, key rules (3-5 max), workflow
  • docs/agents/: detailed tooling, commands, guardrails, definition of done
  • Skill-worthy: complex workflows, procedures, domain expertise
  • Present proposed split to user:
   ROOT CLAUDE.md:
   - Project identity
   - Tech stack
   - Key rules: [list]
   - Workflow (Plan/Execute/Validate/Commit)
   - Links to docs/agents/

   docs/agents/tooling.md:
   - [extracted sections]

   docs/agents/commands.md:
   - [extracted sections]

   ... etc
  • Ask user to confirm or adjust
  • Create docs/agents/ files
  • Rewrite root CLAUDE.md

Step 3: Post-Setup

After creating the structure:

  • List all created files
  • Show the root CLAUDE.md
  • Suggest additional improvements:
  • "Consider adding CLAUDE.md files in app subdirectories for app-specific rules"
  • "Run /agent-add-rule to add new rules to the right location"
  • "Run /skills to see available skills"

Root CLAUDE.md Template

# Project Context

[One-line project description]

## Tech Stack

- [list technologies]

## Key Rules

- [3-5 rules the agent consistently gets wrong without being told]

## Workflow

Every task follows four stages. Identify which stage you're in and follow its rules.

Plan → Execute → Validate → Commit
↑                               |
└── fix ────────────────────────┘

1. **Plan** — Understand the task, research code, design approach. Be concise; list unresolved questions.
2. **Execute** — Implement changes AND write tests together. No implementation is complete without tests.
3. **Validate** — ALL checks must pass with zero errors before moving on:
   - [list validation commands]
     If ANY check fails → return to Execute, fix, re-validate. Pre-existing errors are NOT exempt.
4. **Commit** — Only after Validate passes completely. Never commit with failing checks.

## Detailed Guidance

When working on tasks involving these topics, read the linked doc:

- [Topic](docs/agents/file.md) — brief routing signal describing when to read this
- Run `/skills` to see available patterns and workflows

Classification Heuristic

When deciding what stays in root vs moves to docs/agents/:

| Criteria | Root | docs/agents/ |

| ---------------------------- | --------------------- | ------------ |

| Agent gets wrong without it? | YES | maybe |

| Applies to every task? | YES | no |

| Under 2 lines? | YES | any length |

| Detailed reference? | NO | YES |

| Procedural/workflow? | only the 4-stage loop | YES |

Principles

  • Minimal root: Every line in root costs tokens on every conversation. Only include what the agent consistently gets wrong without being told.
  • Routing signals: Each link description helps Claude decide whether to follow it. Be specific: "pnpm conventions, ESLint config" not just "tooling".
  • One level deep: All docs link from root. No cross-references between docs/agents/ files.
  • docs/agents/ not docs/: The agents/ subdirectory separates agent instructions from human documentation.

How to use it

Copy the folder

Take majiayu000/agent-init-deep from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.