feat(skill): extend join/actas prompts with roster-aware name suggestions#421
Merged
Conversation
…ions Closes #178. Per the direction settled on the issue (no bundled/fixed name pool — orangewk's PR #239 approach), the agent itself now proposes unique, roster-aware identity names at the two points a user has to pick one: - join (Not-in-a-team flow): before asking for the new agent name, check the target team's existing roster via team.sh and propose 2-3 unused, short, role-descriptive names instead of leaving the user to invent one blind (avoids collisions with weak defaults like codex/cc). - actas: when no name is given (or the user asks for a suggestion), do the same roster check before asking the user to pick. Rolled out identically to all 9 type templates (matching #412's Shell-requirement rollout) plus the root SKILL.md. No code changes — this is a prompt/instruction change only, so no new script behavior to test; existing install/type-registry/spawn/plugin-registry suites pass unchanged.
co1 review on #421: the actas comment block in the root SKILL.md lacked the same roster-aware naming guidance already added to all 9 type templates, so an agent reading the root skill directly (not a per-type template) would fall back to the old blind-naming actas UX.
Live UX feedback on #178: the real agmsg roster already follows a base-name + role/number suffix convention (aggie-cc1/aggie-cc2, mei-x/mei2/mei3, app-dev1/app-dev2) — proposing generic unrelated words ignored that context entirely. The instruction now has the agent look for an existing convention in the roster first and extend it (e.g. aggie-cc3) before falling back to short distinctive names when no pattern exists. Verified with an independent test agent given only the instruction text: it correctly detected the aggie-cc*/ aggie-co* pattern and suggested aggie-cc3/aggie-co3/aggie3.
This was referenced Jul 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #178. Direction settled on the issue: no bundled/fixed name pool — the external draft (#239, closed) proposed a static pool of a few hundred names, but the agreed approach instead has the agent itself propose unique, roster-aware identity names at the two points a user has to pick one, since the agent already has script access to the current team roster right there.
What changed
Prompt/instruction-only change (no script code), applied identically to all 9 type templates (
scripts/drivers/types/*/template.md) plus the rootSKILL.md— same rollout scope as #412's Shell-requirement addition:team.sh <team>to see the current roster and propose 2-3 unused, short, role-descriptive names (not a bare tool-type label likecodex/cc) instead of leaving the user to invent one blind. Skipped for a brand-new team (nothing to check against yet).actas, or they explicitly ask for a suggestion), do the same roster check before asking them to pick.Testing
No new script behavior — the change is instructional text an agent reads at prompt time, not code. Ran the suites that touch
template.md/SKILL.mdcontent:test_install.bats,test_type_registry.bats,test_spawn.bats,test_plugin_registry.batsall pass (except the pre-existing, unrelatedtest_install.bats"records a git-describe provenance VERSION..." failure that also fails on an untouchedorigin/maincheckout).