changing-bots
Skill3 starsChanged 18 days agoMITView on GitHub
Edits, adds, splits and retires the bots of a squad. Use when a bot is added, changed, split or retired.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- llms.txtllms.txt
- assigning-modelsSkill
- authoring-skillsSkill
- contributing-upstreamSkill
- designing-squadsSkill
- finding-capabilitiesSkill
- hermes-platformSkill
- installing-squadsSkill
- managing-projectsSkill
- tracking-updatesSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 0 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Write the change to the overlay local/squads/<key>/squad.yaml (key builder for the builder).
- Very specific: line 26
Put new or changed assets next to the overlay.
- Very specific: line 30
Add a bot: check skills/designing-squads -> Rules, then add bots.<key>-<role> with role: worker, title, description, lane, toolsets …
- Very specific: line 43
Before planning, confirm each skill a bot lists in skills.squad exists in the overlay or repo (SKILL.md present).
- Very specific: line 45
Run scripts/hpy squadctl.py plan <key> --json (--self for the builder), show the diff and apply only after the user's explicit OK: …
- Very specific: line 49
After a retire, apply leaves the old profile in place.
- Very specific: line 73
After a retire, hermes profile list no longer shows the bot and scripts/hpy squadctl.py doctor reports no fail.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Changing bots
When to Use
- The user wants a bot to gain or lose toolsets, skills, plugins, MCP servers, connectors, cron jobs or its lane.
- A squad needs another bot, one bot split in two, or a bot retired.
Procedure
- Write the change to the overlay
local/squads/<key>/squad.yaml(keybuilderfor the builder). Merge rule (deep_mergeinscripts/squadctl.py): maps merge per key, lists and scalars replace,nulldeletes the key. Forskills.keepandplugins.enablewritekeep_add/keep_removeandenable_add/enable_remove(an entry with the same id or name replaces the repo's), so later repo additions to those lists still arrive. Write every other changed list or chain in full. A hub keep this squad installed and the merged manifest no longer lists is uninstalled by the nextapply(hermes skills uninstall <name> --yes); hub skills the bot or user installed stay. - Put new or changed assets next to the overlay; they win over the repo
copies:
local/squads/<key>/souls/<bot>.md,local/squads/<key>/skills/<skill>/(skills/authoring-skills),local/squads/<key>/scripts/<script>. - Add a bot: check
skills/designing-squads-> Rules, then addbots.<key>-<role>withrole: worker,title,description,lane,toolsets(squads/_schema/squad.schema.json->bot), its SOUL with one line on what its memory stores, and the chain stages it takes. Past 5 required bots the new bot setsoptional: true. Change a model:skills/assigning-models. Add a Project:skills/managing-projects. - Split a bot: add the new bot as in step 3, then rewrite the old bot's
toolsetsandskills.squadand every chain whose stages move. - Retire a bot: set
bots.<bot>: null; rewrite every chain and copy into the overlay every squad skill that names it, with the bot replaced. Move its open cards first:hermes kanban --board <slug> list --assignee <bot> --json, thenhermes kanban --board <slug> reassign <id> <new-bot> --reclaimper card. - Before planning, confirm each skill a bot lists in
skills.squadexists in the overlay or repo (SKILL.mdpresent); plan warns on a missing one. Runscripts/hpy squadctl.py plan <key> --json(--selffor the builder), show the diff and apply only after the user's explicit OK:scripts/hpy squadctl.py apply <key>. A new lane without a model needsskills/assigning-modelsfirst. - After a retire,
applyleaves the old profile in place. On the user's OK runhermes profile export <bot> -o local/backups/<bot>.tar.gz, thenhermes profile delete <bot> --yes.
Pitfalls
- Editing a profile's
config.yaml,SOUL.mdorskills/by hand: the nextapplyoverwrites it. Change the overlay. - A cron
agentjob whosescriptprints on quiet ticks: only empty stdout or a last line{"wakeAgent": false}skips the agent (skills/hermes-platform/references/cron-and-gates.md). passthroughon a bot withweborbrowser:skills/designing-squads-> Rules.- Editing the prose of a SOUL the repo composes from a base: the update-path
test asserts
SOUL.mdis the base file plus its role section, byte for byte, so a sentence added to the composed file alone leaves the suite red. Greptests/for how the SOUL is assembled before editing it, and run that test beside the skill lint after every SOUL edit.
Verification
scripts/hpy squadctl.py plan <key> --jsonreports every botunchanged.hermes -p <bot> config get <config-key>andhermes -p <bot> cron listshow the new values.- After a retire,
hermes profile listno longer shows the bot andscripts/hpy squadctl.py doctorreports nofail.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

