Re-Specialize
Incrementally updates auto-generated content in CLAUDE.md and agent files without touching user customizations. Uses protected zone markers to identify what can be safely regenerated.
When to use
- When project dependencies have changed (new framework, updated versions)
- When architecture has evolved (new patterns, restructured folders)
- When agents need refreshed context about the project
- Periodically to keep CLAUDE.md in sync with the actual codebase
Process
Step 1 -- Read current state
Read CLAUDE.md and all agent files in .claude/agents/:
- Identify existing zone markers (
<!-- guild:auto-start:ID -->/<!-- guild:auto-end:ID -->) - Note which zones exist and their current content
- Identify any user customizations outside of zones
Step 2 -- Explore the project
Same exploration as guild-specialize:
- Scan dependency files for current stack and versions
- Analyze project structure and architecture patterns
- Detect code conventions from linter/formatter configs
- Check environment variable examples
Step 3 -- Check zone markers
If CLAUDE.md has zone markers, proceed to regeneration.
If CLAUDE.md does NOT have zone markers (legacy project):
- Offer to inject markers around the auto-generated sections
- Show the user where markers would be placed
- Require explicit confirmation before modifying
- If user declines, abort gracefully
Step 4 -- Regenerate zone content
Invoke the Tech Lead agent using Task tool with model: "opus" (reasoning tier):
- Generate fresh content for each zone based on the project scan
- Compare new content with existing zone content
- Present a diff for each zone to the user
- Only replace zones where content has actually changed
Zones to regenerate:
| Zone ID | Content |
|---|---|
structure |
Project folder structure with descriptions |
architecture |
Architecture patterns and design decisions |
conventions |
Code conventions from linter/formatter |
env-vars |
Environment variables from .env.example |
Step 5 -- Update agent context
Invoke the Tech Lead agent using Task tool with model: "sonnet" (execution tier):
- For each agent in
.claude/agents/*.md, update theagent-contextzone - If no
agent-contextzone exists, append one at the bottom - Preserve everything outside the zone (role definition, process, rules)
Step 6 -- Confirm changes
Present a summary:
Re-specialization complete for [project-name]
Zones updated:
- structure: [changed/unchanged]
- architecture: [changed/unchanged]
- conventions: [changed/unchanged]
- env-vars: [changed/unchanged]
Agents updated: [count] of [total]
Review the changes above. Confirm to commit.
Step 7 -- Commit
Commit all changes as an atomic commit:
git add CLAUDE.md .claude/agents/*.md
git commit -m "chore: re-specialize via guild-re-specialize"
Important Notes
- NEVER modify content outside of zone markers
- NEVER read real
.envfiles -- only.env.example - If a zone's content hasn't changed, skip it (no-op)
- Present diffs before applying changes
- User confirmation is required before committing