Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add anton-abyzov/specweave --skill sw-glossarygit clone --depth 1 https://github.com/anton-abyzov/specweaveWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/anton-abyzov/specweave/sw-glossary)<a href="https://agentmods.dev/skills/anton-abyzov/specweave/sw-glossary"><img src="https://agentmods.dev/badge/skills/anton-abyzov/specweave/sw-glossary/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/anton-abyzov/specweave/sw-glossary"><img src="https://agentmods.dev/badge/skills/anton-abyzov/specweave/sw-glossary.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00049 | $0.01123 |
| Opus 5.5 | $0.00020 | $0.00449 |
| Sonnet 5.5 | $0.00010 | $0.00225 |
| Haiku 4.5 | $0.00005 | $0.00112 |
Grade A, and why
sw-glossary scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
95% identical to glossary — 1 line differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
sw-glossary: one word for one thing, everywhere
Domain-driven design's ubiquitous language: an Order should be an Order when the
client talks about it, in the database, in the code and on the screen. When the words
drift ("purchase" table, Order type, "basket" button), agents spend tokens decoding
jargon, name new code inconsistently and build the wrong thing. A short glossary fixes
that for every session after it. Run this at a project's start, when a new domain area
arrives, or whenever one word means two things or two words mean one.
GLOSSARY.md
One file at the repository root. A repo with several bounded contexts keeps a
GLOSSARY-MAP.md at the root that links one GLOSSARY.md per context; follow it.
Create the file when the first term settles, never empty.
# Glossary
A shop that sells refurbished laptops to small businesses.
## Ordering
### Order
A customer's request to buy one or more products, placed at checkout and paid once.
- Avoid: purchase, basket, transaction
- Data: `orders` table; its lines in `order_lines`
- Code: `Order` in `src/orders/order.ts`; `POST /orders`
- UI: "Order", "My orders"
- Rules: never deleted; cancelling sets the status to cancelled
- The definition says what the thing is, in the client's words, in one or two sentences. No implementation detail there.
Avoidlists the synonyms nobody should use for it. Be opinionated: one term wins.Data,CodeandUIsay where the term lives at each level. Put table, column, type and file names in backticks sospecweave glossary checkcan find them. Leave out a level the term does not have.Rules(optional) holds the invariants the business states about it.- Only terms specific to this domain. Timeouts, caches and retries are not glossary terms even if the code uses them everywhere.
- Group terms under
##headings when clusters appear; a flat list is fine.
The interview
- Harvest. Read the README, the schema or migrations, the models and types, the
routes and the UI strings. List the nouns that recur, and every mismatch: one
concept with several names (
purchasestable,Ordertype, "Basket" label) and one name with several meanings ("account" as login and as billing account). - Ask in rounds, as sw-grill-me does: a few terms per round, each question with
your recommended answer, worded so "yes" accepts it. "The table is
purchases, the type isOrder, the button says Basket. Call all three an Order?" Use your tool's structured question tool when it has one. - Sharpen with scenarios. "A customer pays for 3 items and one ships late: one Order or two?" Invent the edge case that forces a boundary.
- Check the code. When the user says how something works, read the code. If it disagrees ("the code cancels whole Orders; you said a single line can be cancelled"), say so and settle which one is right.
- Write each term as it settles, not in a batch at the end.
- Drift is work, not an edit. Where the code or data uses an avoided word, do not rename silently. List it for the user, and plan the renames as an increment (sw-increment): a table rename is a migration and the user's call.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 90 lines · 49 tokens per session scan A abbe79d48f91
sw-glossary is a skill published in the GitHub repository anton-abyzov/specweave (166 stars, last pushed today), licensed MIT. It adds 49 tokens to every session and 1,123 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 95% identical to glossary, differing in 1 line, and is treated as a copy.
Other skills, from other repositories
bench
GEML is plain text. Every structured thing is one typed block.
project-init
A project-initialization skill that creates a standard starting structure for documentation or software projects. It can add files such as README.md, source, documentation, tests, and project rules.
write-changelog
Generates a CHANGELOG.md entry for a release by summarizing git commits since the last tag. Groups changes by type: Added, Changed, Fixed, Removed. Follows Keep a Changelog format (https://keepachangelog.com). Invoked when the user asks to update the changelog, write release notes, or prepare a release.
write-readme
Generates or updates a README.md for a project or package. Reads the source code to understand the project and produces a clear, accurate README following the project's conventions. Invoked when the user asks to write, update, or generate a README.
doc-summarize
A document-summary workflow for Markdown, plain text, and code documents. It extracts the main points, structure, data, and practical recommendations.
doc-translation
A tool for translating technical documentation while preserving its Markdown structure. Markdown is a plain-text format for headings, lists, links, tables, and code blocks.