Skip to content
Agent Orchestration
Skill

/evanflow-glossary

Extract canonical domain terms into CONTEXT.md. Flag ambiguities (same word, different meanings) and synonyms (different words, same meaning). Re-invoking updates the file in place. Use when authoring or updating CONTEXT.md, or when a new domain term emerges in conversation.

BOOST
From plugin
evanflow
41816 skills2 agents1 hook
Install
$ npx -y skills add evanklem/evanflow --skill evanflow-glossary --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/evanflow-glossary

Context preview

The summary Claude sees to decide when to auto-load this skill.

Extract canonical domain terms into CONTEXT.md. Flag ambiguities (same word, different meanings) and synonyms (different words, same meaning). Re-invoking updates the file in place. Use when authoring or updating CONTEXT.md, or when a new domain term emerges in conversation.

SKILL.md

evanflow-glossary.SKILL.md
name: evanflow-glossary
description: Extract canonical domain terms into CONTEXT.md. Flag ambiguities (same word, different meanings) and synonyms (different words, same meaning). Re-invoking updates the file in place. Use when authoring or updating CONTEXT.md, or when a new domain term emerges in conversation.

EvanFlow: Ubiquitous Language

Vocabulary

See `evanflow` meta-skill.

When to Use

  • Authoring `CONTEXT.md` for the first time (Phase B of EvanFlow rollout)
  • A new domain term emerged in conversation and should be added
  • Auditing existing terminology for ambiguity (same word, multiple meanings) or synonyms (different words, same meaning)
  • Before any architectural conversation that depends on shared language

The Flow

1. Read Current State

  • If `CONTEXT.md` exists: read it. Identify clusters and gaps.
  • Read recent code in the relevant area: router file, service file, schema, page. Names in code are the *de facto* terminology.
  • Read recent ADRs in `docs/adr/` for terms decided there.

2. Extract Terms

Walk the conversation + relevant code. Pull out:

  • **Nouns** — entities and value objects in your domain
  • **Verbs** — domain operations (e.g., negotiate, queue, withdraw, settle, escalate)
  • **Status enums** — explicit lifecycle states (e.g., `OrderStatus`, `MessageStatus`)
  • **Relationships** — cardinalities between entities (one-to-many, many-to-many)

3. Flag Conflicts

Two questions to ask the user for each conflict:

  • **Ambiguity**: "The word `X` is used for both A and B. Which canonical meaning, and what should the other one be renamed to?"
  • **Synonyms**: "The codebase uses both `User` and `Account` for the same concept. Which is canonical? The other becomes a deprecated alias."

Propose recommended answers. Don't just dump the conflicts on the user.

4. Write CONTEXT.md

Default location: `/CONTEXT.md` at repo root. (Mattpocock convention.)

Format:

# <Project> Domain Language

## <Cluster Name> (e.g., "Identity & Accounts")

| Term | Definition (one sentence) | Aliases to avoid |
|---|---|---|
| **User** | Canonical noun for an authenticated account. | Account (legacy), Customer (billing-layer only) |
| **Category** | A primary classification used for matching/filtering. | Type, Tag, Vertical |

## <Next Cluster>

...

## Relationships

- **EntityA** → **EntityB**: many-to-many via a join table.
- **EntityA** → **EntityC**: one-to-many; EntityCs are managed by an automated process.

5. Re-invoke Behavior

If `CONTEXT.md` already exists:

  • Read it
  • Add new terms in their existing cluster (or create a new cluster)
  • Update evolved definitions
  • Refresh the example dialogue if present
  • Don't duplicate; merge

Hard Rules

  • **One sentence per definition.** If you need a paragraph, the term is too vague — split it.
  • **Domain terms only.** Skip generic programming concepts (function, class, etc.).
  • **Be prescriptive.** Pick canonical synonyms; don't list every variant as equally valid.
  • **Cardinality in bold.** "User has **many** Orders."
  • **Never auto-commit.** Append CONTEXT.md changes to a stage; ask before commit.

Hand-offs

  • New ADR needed (decision behind a term) → write under `docs/adr/`
  • Terms reveal architectural friction → `evanflow-improve-architecture`
Read more
Ships withevanflow

A TDD-driven iterative feedback loop for software development with Claude Code. 16 cohesive skills + 2 custom subagents walk an idea from brainstorm through implementation, with checkpoints throughout where you stay in control.

Get the whole plugin

Other skills on evanflow.