Borrowing it
Nothing to install: this file belongs to XAIHT/Tlamatini. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/XAIHT/Tlamatini/main/.claude/skills/tlamatini-agent-naming/SKILL.mdgit clone --depth 1 https://github.com/XAIHT/TlamatiniWrote 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/xaiht/tlamatini/tlamatini-agent-naming)<a href="https://agentmods.dev/skills/xaiht/tlamatini/tlamatini-agent-naming"><img src="https://agentmods.dev/badge/skills/xaiht/tlamatini/tlamatini-agent-naming/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/xaiht/tlamatini/tlamatini-agent-naming"><img src="https://agentmods.dev/badge/skills/xaiht/tlamatini/tlamatini-agent-naming.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00120 | $0.02030 |
| Opus 5 | $0.00060 | $0.01015 |
| Sonnet 5 | $0.00024 | $0.00406 |
| Haiku 4.5 | $0.00012 | $0.00203 |
Grade A, and why
tlamatini-agent-naming 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 11d 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.
How it starts
The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tlamatini Agent Naming Convention
⛔ CORRECTED 2026-07-26 — the migration is NOT the source of truth
agent/apps.py::AgentConfig.ready()runsAgent.objects.all().delete()on EVERY server start and re-seeds the table from theagents/folder listing. A migration'sagentDescription— and any manual DB edit — is overwritten on the next launch. The boot resolver_canonical_agent_display_name()readsagent/services/agent_paths.py::display_name_from_agent_type, so THAToverridesmap is the real single source of truth. Add every new/renamed agent there orstr.title()names it and it ships mangled — this is precisely how PDFer shipped as "Pdfer" (plus Sqler / Ssher / Pser / Scper / Acpxer / Esp32Er / Esphomer / Videoplayer / Audioplayer / Flowcreator / Teletlamatini …, 23 of 88 agents). The newest case is LaTeXer (agent #87):str.title()renders"Latexer", soagents/latexercarries an explicit override. Its display name is LaTeX's own capitalisation plus the Tlamatini-ersuffix —LaTeXer→LaTeXer, neverLatexer/LaTexer/LATEXER. Pinned bytest_agent_display_names.py::test_latexer_is_exactly_LaTeXer.HYPHEN vs SPACE IS FUNCTIONAL.
acp-canvas-core.jscomparestargetAgentName.toLowerCase()without collapsing whitespace, and for eleven agents it tests ONLY the hyphenated literal:Kyber-KeyGen,Kyber-Cipher,Kyber-DeCipher,J-Decompiler,Video-Analyzer,De-Compresser,File-Creator,File-Extractor,File-Interpreter,Image-Interpreter,Monitor-Log. A spaced name matches nothing and the canvas connection is silently never saved. (Node Manager/Monitor Netstat/MCP Doctorstay SPACED — the JS accepts both forms for those.)CHANGE BOTH SIDES IN ONE PASS.
chat_agent_registry.display_namekeys the per-agent enable gateagent_<display>_status, which fails open — so renaming onlyagent_pathssilently breaks the Configure Agents checkbox instead of erroring.TWO MORE SURFACES carry the display name verbatim (found by the post-rename sweep, both now pinned by tests):
agentic_control_panel.css.agent-tool-item[data-content="<Display>"](CSS attribute values are CASE-SENSITIVE) andagent_page_chat.js::_agentPurpose's{'<Display>': …}map. After editing either, runcollectstatic— the collectedstaticfiles/copies are what actually get served.Verify with
python manage.py test agent.test_agent_display_names. Full story:docs/claude/recent-fixes.md(2026-07-26).
The display name an agent shows is resolved at boot from
agent_paths.display_name_from_agent_type into the agentDescription field of its
Agent DB row (a migration such as 0101_add_stm32er should seed the same exact string —
it is what a fresh DB shows before the first boot). The canvas
agentic_control_panel.html renders that string verbatim as the sidebar/canvas label
(via consumers.AgentConsumer.agent_establishment(agentName, agentDescription, agentContent)
→ the JS palette). So the display name must carry the exact intended casing.
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.
- 11d ago First seen · 87 lines · 120 tokens per session scan A 17a66b03c2f2
tlamatini-agent-naming is a skill published in the GitHub repository XAIHT/Tlamatini (16 stars, last pushed today), licensed MIT. It adds 120 tokens to every session and 2,030 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
copperhead
Change or verify a KiCad project through copperhead's gated pipeline. Use whenever a task touches .kicadsch or .kicadpcb files, a schematic, a PCB layout, a netlist, ERC/DRC, a BOM, or hardware design docs — instead of editing those files directly.
commit
Inspect git status, draft a commit message that matches the repo's style, and commit staged changes.
review
Review current code changes for bugs, regressions, test gaps, and project-guideline violations.
tura
Work in the Tura agent-runtime repository. Use for Tura architecture, Rust backend, GUI/TUI, prompts, commands, providers, sessions, documentation, tests, packaging, and release work in this directory.
grade-and-fix-daedalus
How to grade a Daedalus run (or pasted agent transcript), root-cause the failure, and ship the fix to Daedalus CORE as a stacked PR — without modifying the prompt-vault sandbox (read-only grading). Covers recurring bug archetypes (Unicode punctuation patch mismatch, syntax-vs-type mislabel, emoji box misalignment…
add-slash-command
How to add a new slash command to Daedalus (src/commands), including the docs-sync step that breaks CI if skipped.