Skill
Scegli il titolo e lo slug canonici
Normalizza titolo e slug di ogni voce scegliendo tra le varianti morfologiche quella che diventa la forma ufficiale.
File
skills/titolo-slug-canonici.md
Prompt
source-command-title-normalization
Use this skill when the user asks to run the migrated source command title-normalization.
Command Template
CryptoGlossario — Title Normalization
Owns title and slug only.
Goal: save the canonical lemma and a matching slug.
What to do
- Keep the title in the original technical form used by the domain.
- Use canonical casing:
DeFi,dAPI,SegWit,Zk-EVM. - For stable acronyms with a standard expansion, use
ACRONYM (Expanded Form). - Do not expand tickers, standards, product codes, or protocol IDs when expansion is not normal usage.
Choosing between morphological variants
When the same concept appears in two competing word-forms — typically a base/deverbal noun vs an -ing gerund (Token Burn vs Token Burning, Fork vs Forking, Stake vs Staking) — pick the lemma in this order:
- Most attested form first. Use web research (per
AGENTS.md"Web research standard": domain matching, currency, authority) to find which form dominates real domain usage (project docs, standards, reputable glossaries). The more frequent, lexicalized form is the lemma. This mirrors dictionary practice, which is descriptive and usage-based, not rule-based. - Semantic tie-breaker, only when attestation is not clear-cut. If neither form clearly dominates:
- gerund (
-ing) for ongoing processes or activities:Token Burning,Sharding,Staking; - base / deverbal form for discrete objects, events, or results:
Fork,Airdrop,Mint.
The form you reject is a synonym, not a throwaway. A learner must be able to see that the two are equivalent, so hand the rejected variant off downstream:
- name the rejected variant in the
reasonfield of the batch, flagged as the alternative form; - it must end up in
searchAliases(owned bygrammar-inflection) so the term is findable under either spelling; - the definition (owned by
content-definition) names it as a synonym ("anche detto …").
Title-normalization does not write those two fields; it only decides the lemma and records the variant so the later skills pick it up.
Uniqueness rule
titlemust be globally unique in the DB.slugmust be globally unique in the DB.- If the canonical lemma collides with an existing
title, disambiguate the title by appending the shortest stable domain label in square brackets. - Round parentheses stay reserved for acronym expansions, as in
ACRONYM (Expanded Form). Do not use round parentheses for domain disambiguation in new titles. - The slug must mirror the full disambiguated title.
Examples:
Benchmark [AI]->benchmark-aiBenchmark [Computing]->benchmark-computing
Use a short domain label only when needed to break a real collision. If a stable disambiguator is not obvious, stop and flag the case.
Batch Format
``json [ { "slug": "current-slug", "reason": "Why this title/slug is canonical. If a morphological variant was rejected, name it here as the alternative form (e.g. 'Token Burning' is the attested lemma; 'Token Burn' is the synonym -> searchAliases + definition).", "updates": { "title": "EVM (Ethereum Virtual Machine)", "slug": "evm-ethereum-virtual-machine" } } ] ``
``bash bun scripts/apply-title-normalization-batch.ts /tmp/cg_title_batch.json bun scripts/apply-title-normalization-batch.ts /tmp/cg_title_batch.json --apply ``