npx claudepluginhub olioapps/claude-code-plugins --plugin cartographer--full | --domain <name>sonnetcartographer/## Context Arguments: `/cartographer:rechart [OPTIONS]` - **--full** - Full regeneration (equivalent to chart with overwrite) - **--domain <name>** - Update only specified domain - **(empty)** - Smart incremental update based on changes Current directory: !`pwd` ## Workflow ### 1. Pre-flight Checks **Verify atlas exists:** If not found → Error: "No atlas found. Run `/cartographer:chart` first." **Load current schema:** - Read `.claude/skills/atlas/references/schema.yaml` - Parse metadata, domains, patterns - Extract last updated timestamp **Check schema version:** - If version inco...
Arguments: /cartographer:rechart [OPTIONS]
Current directory: !pwd
Verify atlas exists:
test -f ".claude/skills/atlas/references/schema.yaml" && echo "EXISTS" || echo "NOT_FOUND"
If not found → Error: "No atlas found. Run /cartographer:chart first."
Load current schema:
.claude/skills/atlas/references/schema.yamlCheck schema version:
Parse mode from arguments:
--full → Skip change detection, do full regeneration--domain <name> → Focus on specific domainFor automatic mode, detect changes since last update:
# Get files changed since last update
git log --since="{last_updated}" --name-only --pretty=format: | sort | uniq
Categorize changes:
Identify affected domains:
For full mode:
Use surveyor agent to analyze entire codebase.
For domain-specific mode:
Use surveyor agent to analyze only:
- Domain: {domain_name}
- Path: {domain_path}
Focus on:
- File count accuracy
- Key files update
- Pattern changes within domain
For automatic mode:
Use surveyor agent to analyze:
- Affected domains: {list}
- New directories: {list}
Preserve unchanged domains from current schema.
Merge strategy:
For each domain:
if domain in analysis AND domain in existing:
if analysis.count differs by >10%:
use analysis (updated)
else:
keep existing (preserve customizations)
elif domain in analysis only:
add as new domain
elif domain in existing only:
if path_exists(domain.location):
keep existing
else:
mark for removal
If customizations detected in existing atlas:
Use AskUserQuestion:
Domain "{name}" has been customized. The codebase shows different structure.
Customizations detected:
- {list of customizations}
Options:
1. Keep customizations, update counts only
2. Regenerate from analysis (lose customizations)
3. Review changes before deciding
Update schema.yaml:
Write to: .claude/skills/atlas/references/schema.yaml
Regenerate domain router:
Regenerate pattern router:
Write to: .claude/skills/atlas/SKILL.md
For updated domains:
For new domains:
For deleted domains:
.atlas-archive/ if has customizationsRefresh pattern guides:
Run same validation as chart:
## Atlas Updated Successfully
**Mode:** {full|domain|incremental}
**Changes detected:** {count} files changed
**Updates applied:**
- Domains updated: {list}
- Domains added: {list}
- Domains removed: {list}
- Patterns updated: {list}
**Files modified:**
{list of changed files}
**Preserved customizations:**
{list if any}
**Next steps:**
- Run `/cartographer:health` to verify accuracy
Check schema header for version:
# Schema Version: 1.0.0
1.0.0 → 1.1.0:
task_mappings section (can be empty)1.x → 2.0.0:
.claude/skills/atlas.backup/| Error | Action | Recovery |
|---|---|---|
| No atlas found | Error message | Run /cartographer:chart |
| Schema parse error | Report parse issue | Manual fix or regenerate |
| Version incompatible | Trigger migration | Auto-migrate or manual |
| Merge conflicts | Interactive prompt | User decides |
| Validation fails | Report issues | Auto-fix or manual |
YOU (handler):
Surveyor agent:
You manage the merge logic. The surveyor only analyzes.