naming · timschoch — Claude Code skill: code naming rules
A skill that lays down naming rules for variables, functions, files, tables and routes. Useful when the agent invents a word your repo does not use.
npx skills add timschoch/skilly --skill naming -a claude-codeWhat naming does
The skill keeps one rule list, synced from the hub. Before naming anything, the agent runs node .agents/skills/naming/scripts/config.mjs and treats the output as the live rules: the script prints references/naming.json merged with your project overrides. Some of it a machine can check — the naming gate runs on push and in CI — and the rest is left to judgement.
Twelve rules sit inside. A word comes from GLOSSARY.md first, then from existing types, tables and routes; the repo's word outranks the word in the request. If no word exists yet, term-check runs first and the term goes into the glossary through domain-modeling. Prefixes I and T are out, along with Hungarian notation, abbreviations like opts and err, and single letters. Names are assembled from ordered parts, largest to smallest; an action opens with a verb from prefixes, and an event reads as a fact in the past. enum is not used — a string-literal union or an as const object takes its place.
Overrides go in .skilly/naming.json, same shape as the base file with only the keys you change. An existing repo convention beats the skill's rules, and you set it in artifacts.file.case and artifacts.folder.case. Once a meaning shifts, the rename has to land everywhere in one change and the glossary has to follow, or code and docs end up with two words for one thing.
What it helps with
- pick a name for a variable that does not exist in the project yet
- settle on one term when the request and the repo disagree
- check names before a push and again in CI
- rename an entity across code, docs and the database in one pass
- write down an irregular plural in the glossary
Example prompts for the agent
- Run
node .agents/skills/naming/scripts/config.mjsbefore you name the field and show me the rules - The request says "customer quotes" but the repo uses
testimonial— which word wins? - Rename
drafttoproposaleverywhere and updateGLOSSARY.md
How to install naming
1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill naming -a claude-code2Manually: put the files in place
~/.claude/skills/naming/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/naming/
1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill naming -a codex2Manually: put the files in place
.agents/skills/naming/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill naming -a cursor2Manually: put the files in place
.cursor/skills/naming/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install timschoch/skilly naming2Manually: put the files in place
.github/skills/naming/SKILL.md1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill naming -a gemini-cli2Platform CLI
gemini skills install https://github.com/timschoch/skilly --path bundles/workflow/skills/namingManually: put the files in place
.devin/skills/naming/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add timschoch/skilly --skill naming -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about naming
How do I install naming in Claude Code?
Run npx skills add timschoch/skilly --skill naming -a claude-code; the skill file lands at ~/.claude/skills/naming/SKILL.md.
What does the naming skill do?
It sets the rules for naming variables, functions, files, types, tables, routes, components, events and environment variables. The agent consults them whenever it coins a name or when a word in the request clashes with the repo's word.
How do the skill's rules relate to my project conventions?
An existing repo convention wins: file and folder casing is set in artifacts.file.case and artifacts.folder.case, and your own keys are overridden in .skilly/naming.json.
Similar skills
All skills for Agent setup: memory, context, orchestration →naming by other authors comes first.