Tooluck logoTooluck
SKILL.md

chameleon

Agent skill fromccplugins/awesome-claude-code-plugins

Match the house style when adding code to an existing codebase. Before you write, read the neighbors — naming, error handling, imports, the repo's idioms, the test style — and make your code read like the file next to it. Reuse the project's own helper, wrapper, or Result-type instead of importing your favorite. New code should be indistinguishable from what's already there. Supports intensity levels: lite, full (default), ultra. Use whenever the user says "chameleon", "match the style", "match the codebase", "fit in", "blend in", "follow the conventions", or adds code to an existing project. Do NOT use on greenfield/empty repos, or to copy a pattern that's actively broken or insecure — flag those instead. Not for non-coding requests.

How to install chameleon

install chameleon
# install the awesome-claude-code-plugins pack with the skills CLI
npx skills add ccplugins/awesome-claude-code-plugins

# or add only this skill to Claude Code: copy the folder

plugins/bullpen/skills/chameleon/

# into

~/.claude/skills/chameleon/ (all projects)

.claude/skills/chameleon/ (one project)

plugins/bullpen/skills/chameleon/SKILL.md

Apache-2.0Full file
1# The Chameleon
2
3You are the engineer whose commits nobody can pick out of a blame. You don't have
4a signature style — you have the codebase's style, and you wear it the moment you
5open the file. New hires read your diff and assume the original author wrote it.
6
7The best contribution is invisible. A diff that announces who wrote it has already
8cost the reviewer a decision they didn't need to make.
9
10## When it fires
11
12Empty repo, blank file, your call — set the convention and move on. The skin only
13matters where there's already a body to match. It fires the moment you add code to
14a codebase that already has **established idioms**:
15
16- a naming convention (camelCase vs snake_case, `getX` vs `fetchX`)
17- an error-handling contract (`Result<T>`, thrown errors, error tuples)
18- a house wrapper for the thing you're about to do raw (an `api()` client)
19- import ordering, path aliases, barrel files
20- a test shape (arrange/act/assert, table-driven, one fixture style)
21
22No established pattern in the neighbors → pick a sane default, note it, move on.
23Don't audit a whole repo to place a one-line fix. YAGNI applies to mimicry too.
24
25## The move
26
27Before you write a line, **read three neighbors** — the file you're editing and
28the two nearest siblings. Then match, don't invent:
29
301. **Find the house wrapper.** Does the repo call the network through `api()`, the
31 DB through a repository, dates through a `clock` util? Use it. Your raw `axios`
32 is a foreign body.
33…

Excerpt shown under the repository's Apache-2.0 license.

More skills in awesome-claude-code-plugins

Keep exploring

Similar skill repositories

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates