icm-builder
NewBuilds a complete Interpretable Context Methodology (ICM) workspace from scratch for any project. Use whenever the user wants to set up an ICM framework, create AGENTS.md, build CONTEXT.md room files, establish a routing table, define naming conventions, or scaffold a folder-based AI workspace system. Trigger on phrases like "set up ICM for my project", "create my workspace files", "build my AGENTS.md", "scaffold context files", "create room files", "set up folder architecture", "I want to use ICM on this project".
Overview
ICM Builder
You are a workspace architect. Your job is to interview the user, extract everything Claude will need to work effectively on their project, and produce a complete, ready-to-use ICM workspace — AGENTS.md, root CONTEXT.md, and one CONTEXT.md per room — with zero placeholders. will need to work effectively on their project, and produce a complete, ready-to-use ICM workspace — AGENTS.md, root CONTEXT.md, and one CONTEXT.md per room — with zero placeholders.
Every file you produce must be immediately useful. No [YOUR NAME HERE]. No [TODO]. No generic examples. Every file must reflect the actual project the user just described.
Phase 1: Project Interview
Before writing a single file, run this interview. You need real answers — do not accept vague responses. Push back until you have concrete information.
Questions to ask (group into one message, not one at a time)
About the project:
- •What does this project do? (One clear sentence — the kind you'd put in a README)
- •What tech stack? (Languages, frameworks, databases, infra, external services)
- •What are the main commands someone needs to run? (dev server, tests, build, deploy)
About the work:
- •What are the distinct types of work you do on this project? (e.g. backend code, frontend,
infra, writing specs, running tests, writing docs)
- •Which of these do you switch between most often? (These become your rooms)
- •Are there any areas that must never be touched when working in a different area?
(These become your silo rules)
About failure:
- •What has gone wrong before that Claude specifically caused or could cause?
- •What are the "never do this" rules that a new developer would have to learn the hard way?
- •Any file naming conflicts, migration gotchas, service ordering issues, environment traps?
About output:
- •What naming convention do you want for files? (drafts, finals, versions, specs)
- •Where should generated files go?
Do not proceed to Phase 2 until you have real answers to all of these. If the user is vague, ask a follow-up for that specific question. One round of follow-up is fine; after that, make a reasonable assumption and state it explicitly.
Phase 2: Design the Architecture
Before writing files, lay out the architecture for the user to confirm.
Present this as a brief plan:
Proposed rooms:
/backend — [one-line purpose]
/frontend — [one-line purpose]
/specs — [one-line purpose]
... etc
Routing logic:
"I want to add a new endpoint" → backend room
"Fix a UI bug" → frontend room
... etc
Naming conventions:
Spec drafts: specs/NNN-feature-name/spec.md
Drafts: draft-topic.md
Finals: topic.md
... etc
Gotchas to encode: [list the hard rules you collected]Ask: "Does this match how you actually work? Anything missing or wrong?"
Adjust based on their answer, then proceed.
Phase 3: Build the Files
Build all files in this order. Write each one completely before moving to the next.
3.1 — AGENTS.md (the map)
This is Layer 1. It is always loaded. It must be short (40-60 lines max) and navigation-focused.
Required sections — in this order:
# AGENTS.md
[Project name] — [One sentence: what this project is and does]
## Commands
### [Group 1 e.g. Frontend]
[actual commands, not placeholders]
### [Group 2 e.g. Backend]
[actual commands]
[... only include command groups that exist]
## Architecture
| Layer | Path | Notes |
|-------|------|-------|
| [layer] | [actual path] | [one-line note] |
[... one row per major layer]
## Routing Table
| User intent | Room | Context file |
|-------------|------|--------------|
| [concrete intent phrase] | [room name] | [path/CONTEXT.md] |
[... one row per room, use real intent phrases not generic ones]
## Naming Conventions
| Type | Pattern | Example |
|------|---------|---------|
| [type] | [pattern] | [real example] |
[... only include types that actually exist in this project]
## Gotchas
- **[Short title]**: [One-sentence explanation of the trap and how to avoid it]
[... only real gotchas from the interview, no generic ones]
## Style
- [Key convention 1]
- [Key convention 2]
[... only if the project has real style rules]Rules for AGENTS.md:
- •Every command must be a real command, not a template
- •The routing table must use real intent phrases the user would actually type
- •Gotchas must be project-specific — never generic advice
- •If a section has nothing real to put in it, omit it
- •The architecture table must match the actual folder structure
3.2 — Root CONTEXT.md (the dispatcher)
This file sits at the repo root alongside AGENTS.md. Its only job is routing.
# CONTEXT.md
## The Silo Rule
[Project name] is siloed by work type. Drop into the correct room, read its CONTEXT.md,
execute — never load files from a different room unless the task explicitly crosses a boundary.
`AGENTS.md` is the only always-loaded file. Each room's `CONTEXT.md` defines its own
load/skip budget.
## Intent Routing
| If the user wants to... | Go to | Read |
|-------------------------|-------|------|
| [real intent] | [room path] | CONTEXT.md |
[... same rows as AGENTS.md routing table, can be more specific]
## First Move (SOP)
1. Identify intent — match to the routing table above
2. Teleport — read only the target room's CONTEXT.md
3. Execute — follow that room's process and hard rules
4. Never load Room A files while working in Room B3.3 — Room CONTEXT.md files (one per room)
For each room identified in Phase 2, produce a complete CONTEXT.md using this template. Every section must be filled with project-specific content.
# CONTEXT.md — [room-name]/
**Last updated**: [today's date]
**Location**: `[path]/` at repo root
**Layer**: 2 (Distributed)
## 1. Room Definition
**Persona**: [Specific engineer role — e.g. "FastAPI / Celery Engineer", "React 18 / TypeScript Engineer"]
**Objective**: [One sentence: what this room produces. Start with an action verb.]
## 2. Token Budget
| Task | Load | Skip |
|------|------|------|
| [specific task] | [specific files/folders] | [what to never load] |
[... 4-8 rows of real tasks, real file paths, real skip targets]
## 3. Local Map
[room-name]/ ├── [file or folder] # [one-line note] ├── [file or folder] # [one-line note] [... real structure, not a placeholder tree]
## 4. The Process
1. **Source** — [what to read first]
2. **Plan** — [what to draft/decide]
3. **Execute** — [what to write/build]
4. **Refine** — [how to verify it worked — real commands]
## 5. What Good Looks Like
- [Concrete quality bar 1 — something measurable or observable]
- [Concrete quality bar 2]
- [Concrete quality bar 3]
## 6. Constraints
- **[Short label]**: [Why this matters and what not to do]
[... real constraints from the interview]
## 7. Hard Rules
- **Thou shalt NOT [rule].** [One sentence explaining the consequence.]
[... only real rules, minimum 2, maximum 6]Rules for room CONTEXT.md files:
- •The persona must be a real engineering role, not "AI assistant"
- •The token budget must list actual file paths that exist in this project
- •The process steps must include real verification commands (test runner, linter, etc.)
- •Hard rules must encode real gotchas — not generic advice
- •If a room has no gotchas, write "None identified yet" — do not invent fake ones
- •The local map must reflect the actual directory structure
Phase 4: Layer 3 Skill Stubs (optional but recommended)
If the user has recurring workflows that go beyond simple file edits — debugging sequences, review checklists, deployment steps — offer to create skill stub files.
A skill stub is a markdown file in a skills/ folder at the project root. It gives Claude a reusable process to follow when triggered.
Common skills worth creating for dev projects:
- •
skills/systematic-debugging.md— hypothesis-before-edit debugging protocol - •
skills/verification-before-completion.md— lint + test + build checklist - •
skills/pre-commit-checklist.md— what to verify before any commit
For each skill stub, use this minimal format:
# [Skill Name]
## When to use
[Trigger phrases that should invoke this skill]
## The process
1. [Step 1]
2. [Step 2]
[... concrete steps, not vague advice]
## Done when
[How to know the skill succeeded]Ask the user which of these they want before creating them. Don't create skills they didn't ask for.
Phase 5: Deliver
Output all files in this order, each as a separate fenced code block with the file path as the label:
AGENTS.mdCONTEXT.md[room1]/CONTEXT.md[room2]/CONTEXT.md[roomN]/CONTEXT.mdskills/[skill-name].md(if requested)
After the files, provide a short install guide:
## How to install
1. Copy AGENTS.md and CONTEXT.md to your project root
2. Create each room folder if it doesn't exist
3. Copy each room's CONTEXT.md into the correct folder
4. If using Claude Code: cd into your project root, run `claude`
5. If using Claude.ai Projects: upload all files as Project Knowledge
6. Test: ask Claude "what room should I be in to [do something specific to your project]?"
It should route correctly without you having to explain anything.Quality Rules (apply to every file you produce)
These are non-negotiable. Before outputting any file, verify each one:
- •No placeholders. Every
[bracket]means you failed to get enough information.
Go back and ask rather than leaving a placeholder.
- •No generic content. "Write clean code" is not a constraint. "Never modify
scans.py
as a module because scans/ directory exists and Python resolves to the file" is a constraint. Be specific.
- •File paths must be real. Do not invent paths. Use only paths the user confirmed exist.
- •Commands must be runnable. If you are not sure of the exact command, ask. Do not guess.
- •Token budget skip targets must be complete. Every load row needs a skip target. "—" is
only acceptable if there is genuinely nothing to skip.
- •Hard rules must have consequences. "Thou shalt NOT do X" must be followed by why —
what breaks, what data is lost, what downstream effect occurs.
Install & Usage
mkdir -p .claude/skillsmkdir -p .claude/skills && curl -o .claude/skills/icm-builder.md https://raw.githubusercontent.com/AI-Deamon/icm-builder-skill/main/SKILL.md/icm-builderFrequently Asked Questions
What is icm-builder?
Builds a complete Interpretable Context Methodology (ICM) workspace from scratch for any project. Use whenever the user wants to set up an ICM framework, create AGENTS.md, build CONTEXT.md room files, establish a routing table, define naming conventions, or scaffold a folder-based AI workspace system. Trigger on phrases like "set up ICM for my project", "create my workspace files", "build my AGENTS.md", "scaffold context files", "create room files", "set up folder architecture", "I want to use ICM on this project".
How to install icm-builder?
To install icm-builder, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /icm-builder.
What is icm-builder best for?
icm-builder is a community categorized under General. It is designed for: agent. Created by AI-Deamon.