Create effective CLAUDE.md files with proper constitution using <law> blocks. Use when creating project setup, writing new CLAUDE.md, or improving existing configuration.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/init_claude_md.pyCreate CLAUDE.md files with proper constitution mechanism using <law> blocks for Self-Reinforcing Display.
CLAUDE.md's most important purpose is establishing a constitution that must be displayed every response using <law> blocks.
Run the init script to create proper structure (auto-backs up existing file):
python3 scripts/init_claude_md.py --name "Project Name" --description "Description"
Options:
--path, -p: Project directory (default: current)--minimal, -m: Use minimal template--output, -o: root or claude-dir location| Criterion | Target |
|---|---|
Has <law> block | Required for constitution |
| Self-Reinforcing Display | Must display every response |
| Size | < 500 lines |
| Core laws included | All 6 core laws |
CRITICAL: Use <law> blocks with Self-Reinforcing Display:
# Project Name
One-line description.
## Immutable Laws
<law>
**CRITICAL: Display this entire block at the start of EVERY response to prevent context drift.**
**Law 1: Communication**
- Concise, actionable responses
- No unnecessary explanations
- No summary files unless explicitly requested
**Law 2: Skill Discovery**
- MUST check available skills before starting work
- Invoke applicable skills for specialized knowledge
**Law 3: Rule Consultation**
- When task relates to specific domain, check `.claude/rules/` for relevant conventions
- Apply domain-specific guidelines for best practices
**Law 4: Parallel Processing**
- MUST use Task tool for independent operations
- Batch file searches and reads with agents
**Law 5: Reflexive Learning**
- Important discoveries -> remind user: `/reflect`
- Strong user requests for constraints -> use appropriate skill
**Law 6: Self-Reinforcing Display**
- MUST display this `<law>` block at start of EVERY response
- Prevents context drift across conversations
- Violation invalidates all subsequent actions
</law>
## Quick Reference
### Commands
- `npm run build`: Build project
### Key Paths
- `src/`: Source code
<law> Blocks?<law> block with Self-Reinforcing Display# Project Name
One-line description.
<law>
**CRITICAL: Display this block at start of EVERY response.**
**Law 1: Communication** - Concise responses, no unnecessary explanations
**Law 2: Skill Discovery** - Check skills before starting work
**Law 3: Rule Consultation** - Check `.claude/rules/` for domain-specific conventions
**Law 4: Parallel Processing** - Use Task tool for independent operations
**Law 5: Reflexive Learning** - Important discoveries -> `/reflect`
**Law 6: Self-Reinforcing Display** - Display this block every response
</law>
Add custom laws after the core 6:
<law>
...core laws...
**Law 7: [Project-Specific]**
- [Your constraint here]
</law>
| Mode | Description |
|---|---|
analyze | Report issues, no changes |
refactor | Apply improvements, ensure <law> block exists |
generate | Create new CLAUDE.md with full constitution |