using-chameleonlisted
Install: claude install-skill crisnahine/chameleon
<SUBAGENT-STOP>
If you were dispatched as a subagent to execute a specific task, skip this skill - your parent has already established the pattern context.
</SUBAGENT-STOP>
# How chameleon works
Chameleon enforces codebase conventions through hooks. You don't call MCP tools - the hooks inject context automatically as `<chameleon-context>` blocks. Read and follow those blocks.
## Hook lifecycle
**SessionStart**: injects this skill + an optional drift banner. If you see `[🦎 chameleon: drift]`, the profile may be outdated - suggest `/chameleon-refresh` when appropriate.
**PreToolUse** (Edit/Write/NotebookEdit): tiered injection. Tier 1 (seen archetypes) injects a short pointer with pattern name and summary. Tier 2 (new or previously violated archetypes) injects the full canonical excerpt, confidence band, match quality, and team idioms. The header looks like:
[🦎 chameleon: archetype=<name>, confidence=<band>, match_quality=<exact|ast|fallback|none>, sub_buckets=<N>]
- `match_quality`: how the canonical was matched. `exact` = same file pattern, `ast` = structural match, `fallback` = best guess, `none` = no canonical found. Weight the excerpt accordingly.
- `sub_buckets`: how many sub-clusters the archetype spans. 1 = tight cluster. 2+ = the archetype groups varied concerns - read the canonical more carefully.
**PostToolUse** (Edit/Write/NotebookEdit): lints the written file against its archetype. Violations are surfaced through the PostToolUse `additionalContext` ch