From sejas-ai-code-skills
Use when the user wants to name or rename something — a product, feature, brand, project, command, or company — or asks to "brainstorm names", "find a better name", "naming ideas", or invokes /brainstorming-names.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sejas-ai-code-skills:brainstorming-namesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Tournament workflow: parallel subagents on **randomized models** generate name candidates each round, a **fixed judge** scores them against a stable rubric, and top names carry forward. Model randomization replaces the removed temperature knob — each model family has a distinct creative distribution ("house style"), so mixing models samples a wider name space than any single model can.
Tournament workflow: parallel subagents on randomized models generate name candidates each round, a fixed judge scores them against a stable rubric, and top names carry forward. Model randomization replaces the removed temperature knob — each model family has a distinct creative distribution ("house style"), so mixing models samples a wider name space than any single model can.
Core rule: randomize the generators, never the judge.
Default weights: memorability & distinctiveness 40%, fit with purpose 30%, pronounceability/spellability 15%, brand risk (collisions, bad meanings in major languages) 15%. Score 1–10 per criterion.
Who judges: the orchestrator (you) scores inline with this rubric, on your own session model — no judge subagent needed. If a /score skill is available, use it with this rubric instead. Either way, the same judge and same rubric every round — the judge is never randomized, otherwise round-1 and round-5 scores are not comparable and carried winners get unfairly re-ranked.
bash -c (zsh arrays are 1-indexed; this snippet assumes bash):bash -c 'models=(fable opus sonnet haiku); for i in 1 2 3; do echo "${models[RANDOM % ${#models[@]}]}"; done'
Duplicates within a round are fine — the strategy still differs. Drop haiku from the pool if its candidates' average score is the lowest of all models in each of the first two rounds.
Spawn 3 parallel Agent calls, each with model: set from step 1 and ONE strategy from this ordered list: (1) invented/coined words, (2) real-word metaphors, (3) compound/portmanteau, (4) foreign-language roots, (5) mythology/nature/astronomy. Assign 3 distinct strategies per round, cycling through the list in order across rounds (round 1 → strategies 1-3, round 2 → 4, 5, 1, round 3 → 2-4, …). Each subagent prompt MUST contain — subagents see nothing of the conversation:
Score new candidates only. Carried winners keep their original scores — re-scoring causes drift that kills good names.
Carry top 2 forward. Track per name: round, generating model, strategy, score.
Early stop: same #1 for 3 consecutive rounds.
Final table: top 5 names × (per-criterion scores, total, round discovered, generating model, strategy) + one-paragraph recommendation for the single winner. Include which models produced the finalists — useful signal for weighting the pool next time.
| Mistake | Fix |
|---|---|
| Randomizing the judge | Scores stop being comparable; fix judge model + rubric for the whole run |
| Picking "random" models mentally | Biased; use the bash $RANDOM snippet |
| Re-scoring carried winners | Score drift; keep original scores |
| No exclusion list | Later rounds regenerate earlier names, wasting the budget |
| Thin subagent prompts | Subagents lack conversation context; include context block verbatim |
| Vague constraints ("short, memorable") | Unenforceable; convert to numbers before round 1 |
npx claudepluginhub joshuarweaver/cascade-code-general-misc-3 --plugin sejas-ai-code-skillsCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.