Repository navigation
Description
Phenomenon
agentdescent algorithms list --kind skill-library, init --kind SKILL_LIBRARY, and algorithms run … --kind skill-dir fail, even though algorithm names (archive-selection, GEPA) and parameter names (batch-size, NOISE_BAND) already fold case and -/_. Hosts and users following CLI-style hyphens (or shouting a constant) hit a hard reject instead of the card list or a starter spec.
Evidence
On current main (b37fa40c):
algorithms list --kind skill-library→--kind must be one of ['text', 'skill_dir', 'skill_library', …], got 'skill-library'algorithms list --kind SKILL_LIBRARY→ same,got 'SKILL_LIBRARY'init /tmp/prompt.txt --kind skill-library --json→ argparseinvalid choice: 'skill-library'- A spec with
"kind": "skill-library"fails compose withkind must be one of … - Contrast:
algorithms show archive-selectionand--param batch-size=1already resolve (algorithms show/run: algorithm names are case- and hyphen-sensitive #696, algorithms: unknown parameter names don't fold hyphens or suggest a near-miss (batch-size / bacth_size → batch_size) #876 / fix(algorithms): fold and suggest near-miss parameter names #877).
skil_library (a near-miss typo) also lists every kind and does not say did you mean 'skill_library'?, unlike unknown algorithm / parameter names (#874, #876).
Expected
A --kind / spec kind that matches exactly one of text, skill_dir, skill_library, agent_dir, agent_code, plugin, policy_slot once case and -/_ are ignored resolves to that name (skill-library → skill_library, SKILL_DIR → skill_dir). Written specs and algorithms list/run/MCP list_algorithms use the canonical name. When the value is still unknown and is a close match (difflib, cutoff 0.75) to exactly one kind, append ; did you mean 'skill_library'?. No guess for unrelated names like nope.
Acceptance
-
algorithms list --kind skill-libraryand--kind SKILL_LIBRARYlist the same cards as--kind skill_library -
init --kind skill-librarywrites"kind": "skill_library"(same tree seeding as the canonical flag) -
algorithms run/ MCPalgorithm_spec/list_algorithmsaccept the same aliases - A spec
"kind": "skill-library"composes asskill_library -
skil_library(or--kind skil_library) ends withdid you mean 'skill_library'?;nopedoes not guess - changelog.d fragment
Non-goals
- New kinds, or teaching text-only cards to accept
skill_library(cards: most algorithms are text-only vs skill_library product positioning #846) - Folding spaces or other punctuation (
skill library,skill.library)
Risk hint
T1/T2 (CLI / spec kind validation only; no evolve-loop change).
Related
#874 (algorithm-name near-miss), #876/#877 (parameter-name fold + near-miss), #696 (algorithm-name aliases).
Activity