Naming Study¶
DECISION (2026-07-02): the project is named AgentDef (package/CLI
agentdef). Chosen by the project owner from the candidates below — the zero-collision option. The rename is executed as TASKS.md P1.1; registeragentdefon PyPI/GitHub/npm same-day. The study below is kept as the decision record.
Resolves the blocker in PUBLISHING.md (private planning record) §0 and TASKS.md P1.1. All availability checks performed 2026-07-02 against live PyPI project pages, npm package pages, GitHub org pages, and web search. Availability is a snapshot — re-verify (and register immediately) the moment a decision is made.
Method note: PyPI/npm/GitHub checks were done by fetching the actual project/org URL. Taken names return a full page; free names return 404. Web search was used to detect mindshare collisions that registries can't show.
1. "AgentSpec" — the name we like, and why it's unrecoverable¶
Four distinct collisions, three of them in our exact conceptual space:
| Collision | What it is | Severity |
|---|---|---|
agentspec on PyPI — keyurgolani/AgentSpec |
Active, v2.1.1, "Production/Stable", releases through Sep 2025, Trusted Publishing. And it's the same space: "creates instruction guides for AI coding assistants (Copilot, ChatGPT, Claude)" | Fatal for PyPI. PEP 541 name transfer does not apply to actively maintained packages |
| agents-oss AgentSpec — "Universal Agent Manifest System" | agent.yaml as single source of truth for an agent (model, memory, tools, guardrails). Near-identical pitch to ours |
Fatal for search. Two "universal agent spec" projects named AgentSpec already exist |
| Oracle Open Agent Spec + the CAIS 2026 paper | Framework-agnostic declarative agent language, now with academic publications using it as the common representation layer | High. Owns the "agent spec" phrase in research circles |
| AgentSpec (ICSE'26 paper) — runtime enforcement for safe LLM agents | Academic project, same exact name, top SE venue | Medium. Owns the name in another research community |
Conclusion: AgentSpec is not salvageable. The PyPI name is held by an active production package in our own niche, and even if it weren't, search for "agentspec" is already split between three other projects, two of which pitch almost exactly what we pitch. Keeping the name means starting every conversation with "no, not that one" — the opposite of what a would-be standard needs.
2. "Agentfile" — current name, confirmed weak¶
Re-verified today; PUBLISHING.md §0's fears all confirmed, with one new fact:
agentfileon PyPI: taken — a 0.0.0 "WIP" placeholder (850-byte sdist) squatted since Apr 2025 by the Polyaxon maintainer. A PEP 541 claim ("name squatting" ground) is plausible but the process routinely takes months and often stalls; not something to gate a launch on.- Letta's Agent File (
.af): established standard, same name, real mindshare. - dennishavermans/agentfile: same pitch (one definition → generated per-framework instruction files), same name, already had its Show HN.
Conclusion: publishable only under a qualified package name (agentfile-spec, verified free today) while fighting two established "Agentfile"s for search results. Viable, but permanently uphill.
3. Candidates verified available¶
All checked today. "Free" = 404 on the registry page and no meaningful search-result mindshare in the AI-agent space.
| Name | PyPI | npm | GitHub org | Collisions found | Notes |
|---|---|---|---|---|---|
| agent-rosetta | ✅ free | ✅ free | ✅ free | None with this exact name. Adjacent: griddynamics/rosetta (instructions management for AI coding agents) and a few other Rosetta-metaphor AI tools | Matches the project's own tagline — "the missing Rosetta stone for defining agents agnostically." Instantly explains the mission |
| agentbabel | ✅ free | ✅ free | ✅ free | None. Babel (JS compiler) is a big brand but a different world; no agent-space usage found | Universal-translation metaphor, exactly our function. Short, one word |
| agentdef | ✅ free | (not checked) | ✅ free | None found anywhere | Descriptive and safe: "agent definition." Zero story, zero collisions |
| agentstone | ✅ free | (not checked) | (not checked) | None found | Rosetta-stone allusion without the word; weaker semantics |
| agentmanifest | ✅ free | (not checked) | (not checked) | Generic-term trap: Microsoft AgentSchema defines an AgentManifest type; Ardor-Cerebrum/agents-manifest spec exists; AMD GAIA uses "agent manifest" |
Avoid — the phrase is becoming a common noun owned by bigger players |
| agentfile-spec | ✅ free | — | n/a | Inherits both Agentfile collisions | Fallback only: keeps today's name at the cost of permanent disambiguation |
Also relevant context found during the search: Microsoft AgentSchema (declarative, platform-agnostic agent format from a major vendor) and open-gitagent/gitagent-protocol ("framework-agnostic, git-native standard for defining AI agents") are direct competitors regardless of what we're called — both belong in docs/comparisons.md (TASKS.md P1.8).
4. Decision matrix¶
Scored 1–5. Weights reflect what matters for a would-be standard: being findable and unambiguous beats sentiment.
| Criterion (weight) | agent-rosetta | agentbabel | agentdef | agentfile-spec | keep AgentSpec |
|---|---|---|---|---|---|
| Registry availability, all channels (×3) | 5 | 5 | 5 | 4 | 1 |
| Search uniqueness / mindshare headroom (×3) | 4 | 4 | 5 | 2 | 1 |
| Says what it does (×2) | 4 | 4 | 3 | 4 | 4 |
| Memorable / brandable (×2) | 5 | 4 | 2 | 2 | 3 |
| Risk of future collision (×2) | 3 | 4 | 4 | 2 | 1 |
| Weighted total (/60) | 51 | 50 | 47 | 34 | 22 |
5. Recommendation¶
- First choice:
agent-rosetta(display name AgentRosetta or simply Rosetta for Agents). It is free on PyPI, npm, and as a GitHub org; it carries the project's founding metaphor in the name itself; and "we're the Rosetta stone between CLAUDE.md, AGENTS.md, copilot-instructions and the rest" is a launch pitch that explains itself. Known trade-off: the Rosetta metaphor is popular in AI tooling (griddynamics/rosetta is the closest), so we own "agent-rosetta" but not "rosetta" — acceptable, and far better than owning neither word as with AgentSpec. Minor note: Rosetta Stone Inc. holds trademarks in language education; different class, low risk, but don't imitate their branding. - Close second:
agentbabel— pick this if the Rosetta adjacency feels too crowded after your own review. Cleanest availability of the storied names. - Safe harbor:
agentdef— if you want zero-collision boredom. - Not recommended: keeping AgentSpec (unrecoverable, see §1); keeping Agentfile bare (unpublishable on PyPI without a months-long PEP 541 gamble); agentmanifest (generic-term trap).
6. If accepted, immediately (same day)¶
- Register the PyPI name with a minimal placeholder release (0.0.1, real description, link to repo — not an empty WIP like the one that blocked us).
- Register the npm name and GitHub org.
- Grep-sweep rename Agentfile → new name (the AgentSpec→Agentfile rename procedure in PUBLISHING.md §1 is the template; the round-trip marker in
adapters/claude/generate.py+importers/claude/import.pymust change in lockstep). - Re-run the full suite + adapter smoke tests + a fresh corpus batch (the P1.1 test in TASKS.md).
- Update PUBLISHING.md §0 to record the decision, and extend docs/comparisons.md with AgentSchema and gitagent-protocol found during this study.
Domain names (.dev/.io) were not checked — do that at registration time; they're nice-to-have, not gating.