← ClaudeAtlas

chameleon-teachlisted

Use when the user explicitly invokes /chameleon-teach to capture a team idiom, banned import, mandatory wrapper, or pattern that AST analysis cannot infer
crisnahine/chameleon · ★ 2 · AI & Automation · score 75
Install: claude install-skill crisnahine/chameleon
# /chameleon-teach Append a captured team idiom to `.chameleon/idioms.md`. The load-bearing tool for **Tier 2** dimensions — patterns AST analysis fundamentally cannot detect (prohibitions, mandatory wrappers, domain vocabulary, library version constraints, etc.). Supports two capture modes: - **Free-form** — the user describes the pattern in prose; skill formats it and calls `teach_profile`. (Original behavior; unchanged.) - **Structured** — the user supplies discrete fields (`slug:`, `rationale:`, `example:`, `counterexample:`); skill calls `teach_profile_structured` which validates each field and renders the canonical idiom layout. - **Wrapper-preference** — the user states a "use X, not Y" import rule for an archetype ("import our `http` wrapper, not raw `axios`"); skill calls `teach_competing_import`, which writes a structured `competing` convention the lint engine + SessionStart block then enforce (not just a prose idiom). ## When to use The user identifies a missed pattern, typically after: - Reviewer feedback on an AI-generated edit ("we don't use `useQuery` directly; use `useCustomQuery`") - A noticed banned import (`"never import lodash directly; method-scope only"`) - A mandatory wrapper not detected by clustering (`"all DB calls go through withTransaction"`) - Domain vocabulary preferences (`"we say Listing, not Property"`) - Library version constraints (`"react-router-dom is locked at v5.x; do not upgrade"`) ## Choosing the mode If the u