Skip to content

Machines panel: launch a cloud-skilled coding agent or copy its prompt - #11021

Merged
lawrencecchen merged 5 commits into
mainfrom
feat-cloud-agent-skill-launcher
Aug 28, 2026
Merged

lawrencecchen merged 5 commits into
mainfrom
feat-cloud-agent-skill-launcher

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Aug 27, 2026 •

Copy link
Copy Markdown
Contributor

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.md to ~/.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 are claude "<prompt>", codex "<prompt>", opencode --prompt "<prompt>".

CloudAgentSkillLauncher is the single shared action path. Launch goes through TerminalController.surfaceNewTerminal (the same primitive as surface.new_terminal), and two socket methods expose it: vm.cloud_agent_open ({"agent":"claude|codex|opencode"}) and vm.cloud_prompt (returns prompt + skill_path). The menu, the socket, and any future palette or CLI verb all share one path, and the flow is preflightable via cmux rpc.

Preflight on a tagged build (cldsk): vm.cloud_prompt returned the prompt and regenerated the skill file; vm.cloud_agent_open opened a pane where Claude Code read the skill, ran cmux vm ls against 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 live cmux vm --help output is authoritative, which bounds drift between the bundled copy and the CLI.

Tests: CloudAgentSkillLauncherTests covers the bundled resource presence, prompt content, per-agent argv shapes, and skill-file install/regeneration under an injected home.

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.
@coderabbitai

coderabbitai Bot commented Aug 27, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 3 minutes.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 5b528549-dc0f-440a-b9e0-5cb4628b3042

📥 Commits

Reviewing files that changed from the base of the PR and between cc47a91 and f59f21a.

📒 Files selected for processing (9)
  • Resources/Localizable.xcstrings
  • Resources/cloud-agent-skill.md
  • Sources/Cloud/CloudAgentSkillLauncher+CodingAgent.swift
  • Sources/Cloud/CloudAgentSkillLauncher+LauncherError.swift
  • Sources/Cloud/CloudAgentSkillLauncher.swift
  • Sources/Cloud/MachinesPanelView.swift
  • Sources/Cloud/VMClientSocketCommands.swift
  • cmux.xcodeproj/project.pbxproj
  • cmuxTests/CloudAgentSkillLauncherTests.swift

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Aug 27, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot 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.
@cursor

cursor Bot commented Aug 28, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot 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.
@cursor

cursor Bot commented Aug 28, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot 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
@lawrencecchen
lawrencecchen merged commit 2c60355 into main Aug 28, 2026
6 checks passed
@lawrencecchen
lawrencecchen deleted the feat-cloud-agent-skill-launcher branch August 28, 2026 04:11
rustybret pushed a commit to rustybret/bmux that referenced this pull request Aug 28, 2026
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant