fix(templates): add Shell requirement to all type templates (#345)#412
Merged
fujibee merged 5 commits intoJul 18, 2026
Merged
Conversation
psmux (Windows tmux-compatible multiplexer) hands the split-window / new-window command token to CreateProcess/ShellExecute. An extensionless boot script has no file association, so Windows shows an "Open with" dialog instead of executing it — the agent never starts. PR fujibee#329 gated the .command rename to Darwin (fujibee#282) but assumed tmux would honor the shebang ("runs it via its shebang (tmux)"). This holds for Unix tmux but not psmux: the root cause was left unaddressed and the symptom changed from Notepad to the "Open with" dialog. Prefix `bash -l` on Windows (MINGW/MSYS/CYGWIN) in launch_in_tmux(), matching launch_windows_terminal's existing `wt.exe new-tab bash -l` pattern. Applied to both new-window and split-window branches. macOS/Linux unchanged. Tested on psmux v3.3.4 + Windows 11: - codex spawn (default-shell=bash): OK - codex spawn (default-shell=pwsh): OK - claude-code spawn (default-shell=bash): OK Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…jibee#335)" This reverts commit 333a359.
) PR fujibee#363 added a "Shell requirement" paragraph to the root SKILL.md, instructing agents to invoke agmsg scripts via bash rather than PowerShell. However, install.sh generates the deployed SKILL.md from per-type templates (scripts/drivers/types/*/template.md) via sed, so the root SKILL.md is never installed — the instruction was silently lost on every install/update. Add the same paragraph to all nine type templates so that every `install.sh --update` produces a SKILL.md that contains the bash execution requirement. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR ensures the “Shell requirement” guidance (execute agmsg scripts via bash, not PowerShell/cmd) is preserved in the installed SKILL.md by adding the paragraph to every per-type template.md used by install.sh.
Changes:
- Added the Shell requirement paragraph to all nine agent-type SKILL.md templates.
- Used
__SKILL_NAME__in the example path soinstall.sh’ssedsubstitution produces the correct installed instructions for any skill name.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/drivers/types/antigravity/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/claude-code/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/codex/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/copilot/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/cursor/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/gemini/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/grok-build/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/hermes/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
| scripts/drivers/types/opencode/template.md | Adds the Shell requirement paragraph so installed docs retain bash-invocation guidance. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fujibee
added a commit
that referenced
this pull request
Jul 18, 2026
…ions (#421) * feat(skill): extend join/actas prompts with roster-aware name suggestions 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. * fix(skill): add missing roster-aware actas guidance to root SKILL.md 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. * fix(skill): match existing team naming conventions in name suggestions 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 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.
Background
PR #363 added a Shell requirement paragraph to the root
SKILL.md, instructing agents to invoke agmsg scripts viabashrather than PowerShell or cmd. This was part of the #345 fix (Codex phantom DB on Windows), where one root cause was Codex choosing PowerShell to execute agmsg scripts — bypassing MSYS2 automatic path conversion and producing phantom paths likeC:\c\Users\....The fix was reviewed and merged with the maintainer noting:
However,
install.shdoes not deploy the rootSKILL.md. It generates the installedSKILL.mdfrom per-type templates via:The templates (
scripts/drivers/types/*/template.md) were never updated, so the Shell requirement paragraph was silently dropped on everyinstall.sh/install.sh --updateinvocation. The issue persists in v1.1.7 and v1.1.8.What
Add the same Shell requirement paragraph to all nine type templates:
antigravity/template.mdclaude-code/template.mdcodex/template.mdcopilot/template.mdcursor/template.mdgemini/template.mdgrok-build/template.mdhermes/template.mdopencode/template.mdThe paragraph uses
__SKILL_NAME__so it is correctly substituted by install.sh'ssedpass.Verification (Windows 11 + MSYS2/Git Bash)
install.sh --update— confirmed the deployed~/.agents/skills/agmsg/SKILL.mdlacked the Shell requirement lineinstall.sh --updatefrom the local repo__SKILL_NAME__correctly replaced byagmsg:Test plan
install.sh --updateproduces SKILL.md containing "Shell requirement" for the default (codex) typeinstall.sh(new skill name) produces SKILL.md with the paragraph and correct__SKILL_NAME__substitution🤖 Generated with Claude Code