fix(templates): add Shell requirement to all type templates (#345)#412
Open
masa6161 wants to merge 5 commits into
Open
fix(templates): add Shell requirement to all type templates (#345)#412masa6161 wants to merge 5 commits into
masa6161 wants to merge 5 commits into
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.
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