Gnesis · Primitives Reference

Primitives Taxonomy & Naming Convention

The ruleset for organizing and naming every primitive in Gnesis. One unified taxonomy across all six primitive types, ten naming rules, twelve approved suffixes.

Version1.0
TypeRuleset
ScopeAll primitive types
FormatReference document
Overview

The ruleset

Two parts: a unified domain taxonomy and a naming convention. Applies to every primitive in Gnesis — skills, hooks, plugins, agents, commands, workflows.

13
Domains
10
Naming rules
12
Approved suffixes
5
Banned prefixes
01

Domain taxonomy

One set of 13 domains applies to every primitive type. No meta bucket. No standalone design or content. No debug. Marketing-facing design and content live in marketing/. Product-facing design and content live in product/.

02

Naming convention

Strict kebab-case, ≤30 characters, verb-noun for actions and noun-suffix for references, no gerunds. Twelve approved suffixes from a closed dictionary. Five banned prefix patterns auto-route to _archive/.

Contents

  1. Taxonomy The 13 domains and the rules that bound them.
  2. Naming rules Ten rules with examples of accept and reject, plus decision logic for word form.
  3. Suffix dictionary Twelve approved suffixes mapped to intents, plus banned alternatives.
  4. Cheat sheet One-card reference compressing every rule for daily use.
Part 1 · Domain taxonomy

13 domains, one taxonomy across all types

Same domains regardless of whether a primitive is an agent, hook, plugin, skill, command, or workflow. The folder is the domain. This unblocks cross-type discovery and forces the commands flat-namespace exception to die.

The 13 domains

01

code

Application development. Language and framework patterns, refactoring, code generation, API design, schema work.

02

devops

Shipping and operating. Deploy, CI/CD, canary, monitoring, infrastructure, runtime debugging.

03

audits

Read-only verification. Multi-lens, journey, bundle, security, accessibility audits, dev-time debugging.

04

testing

Test creation and execution. Frameworks, generation, fixtures, mocks, e2e, load testing.

05

marketing

The function. Strategy plus design assets plus content for acquisition. Brand, ad creative, landing pages, SEO, copy.

06

product

Product methodology plus product UI/UX plus in-app content. PM toolkit, dashboards, mobile UI, in-product copy.

07

data

Schemas, migrations, ML, scraping, analytics, BI, vector and graph patterns.

08

security

Hardening, pentest, compliance, secret handling.

09

connectors

MCPs, API clients, browser tooling. The kit talking to external systems.

10

lifecycle

Session start and end, context recovery, handoff, capture, compaction.

11

kit

Kit-about-kit operations. kit-upgrade, kit-doctor, skill-creator, paper-to-skill.

12

orchestration

Multi-agent patterns. Fan-out, dispatch, agent policy, browser-eval-loop.

13

engine

Full-lifecycle autopilots. genesis, gsd, project-rescue, iterate, adhd-workflow-support.

Domain rules

  1. 01 The same 13 domains apply to every primitive type. Agents, hooks, plugins, skills, commands, and workflows all use this taxonomy. No flat namespaces. No type-specific exceptions.
  2. 02 There is no meta domain. Items belonging to the prior meta bucket fall into lifecycle, kit, orchestration, or engine — or move to _archive/.
  3. 03 There is no standalone design or content domain. Marketing-facing design and content live in marketing/. Product-facing design and content live in product/.
  4. 04 There is no debug domain. Dev-time debugging primitives live in audits/. Runtime debugging primitives live in devops/.
  5. 05 The label is connectors, not integration. Covers MCPs, API clients, and browser tooling.
  6. 06 _archive/ exists at the type root, not inside a domain. Items that aren't reusable primitives go there. They are not deleted.
Part 2 · Naming convention

10 enforceable rules

Each rule is mechanical and validatable. The dictionary closes — no improvising new suffixes, no exception cases.

RULE 01

Format: kebab-case, lowercase, ASCII only

Lowercase letters, digits, and ASCII hyphens. No underscores, no PascalCase, no camelCase, no Unicode characters.

Why: Cross-platform safety (case-insensitive filesystems on macOS won't distinguish CodeReview from codereview), URL safety, and 95% of the kit already uses it.
Acceptcode-review
Acceptmulti-lens-audit
RejectCodeReview
Rejectcode_review
RULE 02

Length: ≤ 30 characters

Names exceeding 30 characters are split, renamed, or archived.

Why: Length is a smell test. Names that exceed 30 characters typically encode metadata that belongs in frontmatter (dates, versions, audit IDs) or carry too much responsibility and should be split.
Acceptdesign-system-architect (24)
Acceptmulti-lens-audit (16)
Rejectaudit-followup-persona7-p2-evidence (35)
Reject2026-03-31-firecrawl-design-experiment-design (45)
RULE 03

Word form: form follows function

Commands and verb-actions use verb-noun (or single verb). Skills, references, and knowledge bases use noun + suffix (or noun-noun + suffix). Gerunds are banned in every position.

Why: Commands read as instructions ("commit", "deploy-canary"). References read as topics ("auth-flow-patterns", "react-rules"). Mixing gerunds with both creates a third category for no benefit.
Acceptcommit
Acceptdeploy-canary
Acceptauth-flow-patterns
Rejectexecuting-plans
Rejectusing-git-worktrees
Rejectfinishing-a-development-branch
Word form decision logic
What kind of primitive is this?
Command / Action
Workflow / Audit
Reference / Pattern
verb-nouncommit · deploy-canary
noun + suffixcode-review · bundle-audit
subject + suffixreact-rules · auth-flow-patterns
RULE 04

Suffix dictionary: 12 approved, no improvising

Every name with a suffix uses one of 12 approved values. See the Suffix Dictionary tab for the full list. Banned suffixes (-best-practices, -principles, -fundamentals, -mastery, -pipeline, -builder, -autopilot, -framework) are rejected.

Why: Today five suffixes (-best-practices, -patterns, -principles, -guide, -gotchas) do roughly the same job. Without a closed dictionary the suffix space multiplies. One suffix per intent forces consistent grouping.
RULE 05

Banned prefixes: 5 patterns auto-archive

Names starting with any of these patterns are not primitives. They auto-route to _archive/ for triage.

Why: Each pattern indicates a non-reusable artifact. Audit residue, working files, and project-specific drops aren't primitives — they're outputs from past work that drifted into the curated kit.
BannedLeading digit · 1a-tribunal-panel · 2-envision · 53-spirit-check
BannedDate stamp · 2026-03-31-creative-director-v2
BannedPersona code · a1, a8, p4, p6, cross
BannedRelease tag · release-1-audit, release-1-complete
BannedProject codename · diverse-meditrack, nexaflow-execution
RULE 06

Tech stack: package name as-is

When a primitive is about a specific framework or runtime, use the name as it appears in the official ecosystem (npm, pip, etc.).

Why: Familiarity. The developer audience already knows nextjs, nodejs, nestjs. Hyphenating to next-js looks like an error and breaks search.
Acceptnextjs · nodejs · nestjs · react · bun
Rejectnext-js · node-js · nest-js · react.js
RULE 07

Word order: subject first, suffix last

Names sort alphabetically by subject so all primitives for the same subject cluster.

Why: Most browsing is by subject ("show me all the Angular skills") not by suffix ("show me all the patterns"). Subject-first clustering matches how the library is actually navigated.
Acceptangular-patterns · angular-rules · react-patterns · react-rules
Rejectpatterns-angular · rules-react
RULE 08

No domain or type prefix in filename

The folder is the domain. Repeating it in the filename is noise. Type prefixes (skill-, hook-, workflow-, agent-, command-, plugin-) are banned unless the primitive is genuinely about that type (e.g. skill-creator creates skills).

Why: Redundant naming. A skill in skills/code/ doesn't need code- or skill- in the filename. The path already tells you everything. Repetition also breaks if you ever re-domain the primitive.
Acceptskills/code/angular-patterns
Accepthooks/security/scan-secrets
Rejectskills/code/code-angular-patterns
Rejecthooks/security/security-scan-secrets
RULE 09

Versioning: frontmatter only

Version lives in version: frontmatter. Old versions move to _archive/{name}-v1/. Active filename always reflects the current version. Variant suffixes (-fast, -mobile) are allowed only when a deliberately different variant coexists with the original.

Why: Date-stamped versions create confusion ("which one is current?") and pollute filename sort. Frontmatter is the right place for metadata that changes over time.
Acceptcreative-director (with version: 2.0)
Accept_archive/creative-director-v1/
Rejectcreative-director-v2
Reject2026-03-31-creative-director-v2
RULE 10

Plurals: collection vs single action

Plural for collections of items, singular for single actions or fixes.

Why: The plural form signals "this contains multiple items". Mixing breaks the signal — a singular suffix on a collection misleads the reader.
Pluralreact-patterns · anti-slop-rules · react-native-gotchas
Singularbundle-audit · core-web-vitals-fix
Part 3 · Suffix dictionary

12 approved suffixes (closed set)

One suffix per intent. Anything not in this table is rejected. The Banned alternatives column lists what each approved suffix replaces.

Suffix Intent Example Banned alternatives
-patternsPattern libraryauth-flow-patterns, nodejs-backend-patterns-principles
-rulesPrescriptive rulesanti-slop-rules, angular-rules-best-practices · -mastery
-guideHow-to guidevercel-monorepo-guide, screenshot-guide
-decision-treeSelection helperframework-decision-tree
-checklistVerification listfeature-checklist, deep-dive-checklist
-auditRead-only audit primitivebundle-audit, journey-audit
-fixRemediation primitivecore-web-vitals-fix
-workflowPipeline or processdeploy-workflow, bug-fix-workflow-pipeline
-gotchasKnown-issues catalogreact-native-gotchas, windows-gotchas
-generatorScaffold creatordependency-graph-generator-builder
-engineFull-lifecycle autopilotgenesis-engine, rescue-engine-autopilot · -framework
(none)Canonical referencecommit, brainstorm, humanize
How to choose. Ask one question first: does this primitive contain multiple items, run as a process, or do one thing? Multiple items → -patterns, -rules, -checklist, -gotchas. Process → -workflow, -engine, -decision-tree. Single action → -audit, -fix, -generator, or no suffix.
Part 4 · Cheat sheet

The whole convention, one card

Print this. Pin this. Reference this. Everything compressed to a single screen.

Naming Rules

formatkebab-case, lowercase, ASCII only
length≤ 30 characters
word formverb-noun (actions) · noun + suffix (references)
gerundsnever
suffixone of 12 approved (or none)
word ordersubject first, suffix last
tech stackpackage name as-is (nextjs, nodejs)
domain prefixnever in filename (folder = domain)
type prefixnever in filename (no skill-, hook-, etc.)
versioningfrontmatter only · old → _archive/
pluralsplural for collections · singular for single actions

Banned Prefixes

leading digit1a-* · 2-* · 53-*
date stamp2026-*
persona codea1 · p4 · cross
release tagrelease-1-*
project codenamediverse-* · nexaflow-*

Approved Suffixes (12)

-patternspattern library
-rulesprescriptive rules
-guidehow-to guide
-decision-treeselection helper
-checklistverification list
-auditread-only audit
-fixremediation
-workflowpipeline / process
-gotchasknown-issues catalog
-generatorscaffold creator
-enginefull-lifecycle autopilot
(none)canonical reference

Domains (13)

codeapplication development
devopsshipping & operating
auditsread-only verification
testingtest creation & execution
marketingacquisition (strategy + design + content)
productproduct (methodology + UI + in-app content)
dataschemas, ML, analytics
securityhardening, pentest, compliance
connectorsMCPs, API clients, browser tooling
lifecyclesessions, context, handoff
kitkit-about-kit
orchestrationmulti-agent patterns
enginefull-lifecycle autopilots