← ClaudeAtlas

using-chameleonlisted

Active when .chameleon/ profile directory exists. Explains hook-injected pattern context and violation feedback for TypeScript/JavaScript, Ruby, and Python as first-class languages — framework-agnostic by default (it learns your repo's own conventions), with deeper awareness where conventions are strong: Rails for Ruby, Django/DRF/Flask/FastAPI for Python, and Next.js/NestJS for TypeScript/JavaScript.
crisnahine/chameleon · ★ 9 · Code & Development · score 74
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. The conformance side needs no tool calls - the hooks inject context automatically as `<chameleon-context>` blocks. Read and follow those blocks. The comprehension side IS tool-callable: see "Comprehension tools" below for when to reach for it. ## 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. A `[🦎 chameleon: production drift]` banner means the locked production branch moved past the commit the profile was derived from - suggest `/chameleon-refresh` (it re-derives from the production tree directly; no need to checkout or pull that branch). **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