# naming

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.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 546 installs
- Author: timschoch
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/timschoch/skilly/tree/HEAD/bundles/workflow/skills/naming/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/timschoch-naming

## What it 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.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add timschoch/skilly --skill naming -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/naming/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/naming/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add timschoch/skilly --skill naming -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/naming/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add timschoch/skilly --skill naming -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/naming/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install timschoch/skilly naming
```

2. **Manually: put the files in place**
- File: `.github/skills/naming/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add timschoch/skilly --skill naming -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/timschoch/skilly --path bundles/workflow/skills/naming
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/naming/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add timschoch/skilly --skill naming -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/timschoch/skilly/tree/HEAD/bundles/workflow/skills/naming/SKILL.md

## When to use it
- 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
- Run `node .agents/skills/naming/scripts/config.mjs` before you name the field and show me the rules
- The request says "customer quotes" but the repo uses `testimonial` — which word wins?
- Rename `draft` to `proposal` everywhere and update `GLOSSARY.md`

## Similar
- [go-naming](https://affpapa.org/en/nevibecode/skills/go-naming.md) — skill · 1200 installs
- [brand-naming](https://affpapa.org/en/nevibecode/skills/brand-naming.md) — skill · 2200 installs
- [webflow-mcp:flowkit-naming](https://affpapa.org/en/nevibecode/skills/webflow-mcpflowkit-naming.md) — skill · 824 installs
- [naming-convention](https://affpapa.org/en/nevibecode/skills/naming-convention.md) — skill · 2100 installs
- [naming-and-branding](https://affpapa.org/en/nevibecode/skills/naming-and-branding.md) — skill · 449 installs
- [brand-naming-strategies](https://affpapa.org/en/nevibecode/skills/brand-naming-strategies.md) — skill · 384 installs

## Other versions with the same name
- [naming · jwynia](https://affpapa.org/en/nevibecode/skills/jwynia-naming.md) — 491 installs
- [naming · glacierphonk](https://affpapa.org/en/nevibecode/skills/naming.md) — ★ 124

From the same set: [timschoch/skilly](https://affpapa.org/en/nevibecode/by/timschoch/skilly.md) — 16 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
