Machines panel: launch a cloud-skilled coding agent or copy its prompt - #11021
Conversation
A sparkles menu in the Machines panel control bar opens Claude Code, Codex, or OpenCode in a local terminal pane preloaded with a kickoff prompt, or copies that prompt to the clipboard. Both first write the bundled cmux Cloud skill (Resources/cloud-agent-skill.md) to ~/.config/cmux/skills/cmux-cloud.md so the prompt's file reference resolves for any agent with no network access. CloudAgentSkillLauncher is the single shared action path.
|
Warning Review limit reachedNext included review available in 3 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
vm.cloud_agent_open and vm.cloud_prompt expose the same shared path as the Machines panel menu, so the flow is socket-drivable (cmux rpc) and every entrypoint shares one action path per the shared-behavior policy.
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
…l wording Policy P2s from local autoreview: CodingAgent and LauncherError move to their own extension files; the test suite converts from XCTest to Swift Testing. The bundled skill mirrors the cmux-skills#9 CodeRabbit fixes: transport is provider/image-dependent, vm open vs surface open targets, --json only where documented.
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
…l-launcher # Conflicts: # cmux.xcodeproj/project.pbxproj
c1151ea Add Cmd+F find to the Markdown viewer and the diff viewer (manaflow-ai#11039) c33d38a refactor(cmux-tui): centralize resource operation wire names aa7c922 irx: namespace transport state per bundle and broker; owner-only cache perms (manaflow-ai#11047) 2c60355 Machines panel: launch a cloud-skilled coding agent or copy its prompt (manaflow-ai#11021)
Adds a sparkles menu to the Machines panel control bar with four entries: Claude Code, Codex, OpenCode, and Copy Cloud Prompt.
The agent entries open a local terminal pane running that agent with a kickoff prompt. Copy Cloud Prompt puts the same prompt on the clipboard for any other terminal. Both first write the bundled skill file
Resources/cloud-agent-skill.mdto~/.config/cmux/skills/cmux-cloud.md, regenerated on every use so it always matches the running app, and the prompt tells the agent to read that file before doing cloud work. A file reference works for all three agents with no network dependency; launch forms areclaude "<prompt>",codex "<prompt>",opencode --prompt "<prompt>".CloudAgentSkillLauncheris the single shared action path. Launch goes throughTerminalController.surfaceNewTerminal(the same primitive assurface.new_terminal), and two socket methods expose it:vm.cloud_agent_open({"agent":"claude|codex|opencode"}) andvm.cloud_prompt(returnsprompt+skill_path). The menu, the socket, and any future palette or CLI verb all share one path, and the flow is preflightable viacmux rpc.Preflight on a tagged build (cldsk):
vm.cloud_promptreturned the prompt and regenerated the skill file;vm.cloud_agent_openopened a pane where Claude Code read the skill, rancmux vm lsagainst the dev backend, and reported the plan meter correctly. The menu button renders in the panel (AX:AXMenuButton "Open Cloud Agent").Strings are localized (en + ja,
machines.agent.*). The kickoff prompt and skill markdown are deliberately not localized: they are agent input, not UI copy. The skill text is adapted from manaflow-ai/cmux-skills#9 and states that livecmux vm --helpoutput is authoritative, which bounds drift between the bundled copy and the CLI.Tests:
CloudAgentSkillLauncherTestscovers the bundled resource presence, prompt content, per-agent argv shapes, and skill-file install/regeneration under an injected home.