Add Agent Computer delegation skills

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Harivansh Rathi 2026-03-21 13:08:48 -04:00
commit 9237d4bb22
5 changed files with 293 additions and 0 deletions

38
README.md Normal file
View file

@ -0,0 +1,38 @@
# agentcomputer-delegate
Skills for controlling Agent Computer machines and remote agent sessions through the `aicomputer` CLI.
## Install
Install all skills:
```bash
npx skills add harivansh-afk/agentcomputer-delegate -g -y
```
Install only the main fleet-control skill:
```bash
npx skills add harivansh-afk/agentcomputer-delegate -g -y --skill computer-fleet
```
Install only the ACP bridge skill:
```bash
npx skills add harivansh-afk/agentcomputer-delegate -g -y --skill computer-acp
```
## Skills
- `computer-fleet`: Use `computer` / `aicomputer` to list machines, create remote agent sessions, prompt them, watch progress, cancel, interrupt, and close.
- `computer-acp`: Use `computer acp serve` to expose a remote machine agent as a local ACP-compatible stdio command.
## Notes
- These skills assume the `aicomputer` CLI is installed or can be installed with `npm install -g aicomputer`.
- Authentication uses the normal browser flow: `computer login`.
- The recommended install source is this repo directly:
```bash
npx skills add harivansh-afk/agentcomputer-delegate
```

View file

@ -0,0 +1,79 @@
---
name: computer-acp
description: Bridge a remote Agent Computer machine agent into a local ACP-compatible stdio process using `computer acp serve`. Use when a local agent client or ACP tool needs to talk to Claude or another remote machine agent through one local command.
allowed-tools: Bash(npm:*), Bash(npx aicomputer@latest:*), Bash(aicomputer:*), Bash(computer:*), Bash(acpx:*)
---
# Computer ACP
Use this skill when a local ACP-capable client should treat a remote machine agent as if it were a local ACP server.
## What this does
`computer acp serve` starts a local stdio ACP bridge. The remote machine stays in the cloud, but the local client speaks ACP to the bridge process.
That means you can point an ACP client at a command like:
```bash
computer acp serve <machine> --agent claude --name review
```
## Setup
1. Ensure the CLI exists.
```bash
if command -v computer >/dev/null 2>&1; then
COMPUTER=computer
elif command -v aicomputer >/dev/null 2>&1; then
COMPUTER=aicomputer
else
npm install -g aicomputer
COMPUTER=computer
fi
```
2. Verify auth.
```bash
$COMPUTER whoami || $COMPUTER login
```
3. Pick a machine and agent.
```bash
$COMPUTER ls --json
$COMPUTER agent agents <machine> --json
```
## Start the bridge
```bash
$COMPUTER acp serve <machine> --agent claude --name review
```
Keep that process running. The local ACP client should launch or connect to this command over stdio.
## Recommended pattern
- Use one stable machine per bridge.
- Use one stable session name per task thread.
- Prefer a named session like `review` or `debug` so reconnects stay simple.
- Use the normal `computer-fleet` skill if you only need CLI control and not ACP interoperability.
## Example
If `acpx` is installed, a typical shape is:
```bash
acpx --agent "computer acp serve <machine> --agent claude --name review" "fix the failing tests"
```
## Limits
- This bridge is for agent chat/session control, not direct filesystem or terminal passthrough.
- If the bridge process exits, the ACP client loses the connection and should reconnect by starting the command again.
## Protocol notes
Read [references/acp-flow.md](references/acp-flow.md) for the supported ACP flow and expected behavior.

View file

@ -0,0 +1,23 @@
# ACP Flow
The `computer acp serve` bridge is intended to feel like a local ACP agent command while proxying work to a remote machine agent.
## Basic shape
1. The local client starts `computer acp serve <machine> --agent <agent> --name <session>`.
2. The bridge handles ACP initialization on stdin/stdout.
3. The bridge maps ACP session operations onto Agent Computer session APIs.
4. Remote session updates are streamed back as ACP `session/update` notifications.
## Good commands
```bash
computer acp serve yinnar-south --agent claude --name review
computer acp serve airport --agent claude --name debug
```
## Recommended client behavior
- Reuse a stable session name when reconnecting.
- Treat the bridge as the single local command for remote-agent interaction.
- Use the normal `computer agent ...` commands outside ACP when you need manual inspection or cleanup.

View file

@ -0,0 +1,102 @@
---
name: computer-fleet
description: Control Agent Computer machines and remote agent sessions from a local agent using the aicomputer CLI. Use when you need to list machines, inspect installed agents, create or resume remote sessions, send prompts, stream progress, cancel or interrupt work, or close sessions cleanly.
allowed-tools: Bash(npm:*), Bash(npx aicomputer@latest:*), Bash(aicomputer:*), Bash(computer:*)
---
# Computer Fleet
Use the `aicomputer` CLI as the control plane for remote machine agents.
## When to use
Use this skill when the user wants to:
- work on one of their Agent Computer machines from a local agent
- delegate coding or research work to a remote Claude/Codex-style agent
- inspect remote agent status or stream progress
- stop or clean up remote agent sessions
Do not use SSH, VNC, or browser URLs when simple agent control is enough.
## Quick start
1. Ensure the CLI exists.
```bash
if command -v computer >/dev/null 2>&1; then
COMPUTER=computer
elif command -v aicomputer >/dev/null 2>&1; then
COMPUTER=aicomputer
else
npm install -g aicomputer
COMPUTER=computer
fi
```
2. Verify auth.
```bash
$COMPUTER whoami || $COMPUTER login
```
3. List running machines.
```bash
$COMPUTER ls --json
```
4. Inspect available agents on a machine.
```bash
$COMPUTER agent agents <machine> --json
```
5. Create or reuse a named session.
```bash
$COMPUTER agent sessions new <machine> --agent claude --name review --json
```
6. Send prompts and stream output.
```bash
$COMPUTER agent prompt <machine> "fix the failing tests" --agent claude --name review
```
## Default workflow
Prefer this flow:
1. Pick a running machine from `computer ls --json`.
2. Check `computer agent agents <machine> --json` and choose an installed agent with credentials.
3. Reuse a stable session name for a task thread like `review`, `debug`, or `migration`.
4. Use `computer agent prompt ...` for the work.
5. Use `computer agent status ...` or `computer fleet status --json` when you need current state.
6. Use `computer agent cancel ...` for normal stop.
7. Use `computer agent interrupt ...` only if normal cancel is not enough.
8. Use `computer agent close ...` when the session is no longer needed.
Prefer `--json` whenever you need to parse output programmatically.
## Session naming
Use short stable names:
- `review`
- `debug`
- `backend`
- `frontend`
- `release`
Reuse the same session name when continuing the same line of work on the same machine. Start a new name when the task changes meaningfully.
## Cancellation rules
- `cancel` is the normal stop path.
- `interrupt` is the hard stop path when the session does not settle quickly enough.
- `close` is cleanup after the task is done or abandoned.
## Commands reference
Read [references/cli-cheatsheet.md](references/cli-cheatsheet.md) when you need the exact command set.

View file

@ -0,0 +1,51 @@
# CLI Cheatsheet
## Authentication
```bash
computer whoami
computer login
```
## Machine discovery
```bash
computer ls --json
computer fleet status --json
```
## Agent discovery
```bash
computer agent agents <machine> --json
```
## Sessions
```bash
computer agent sessions list <machine> --json
computer agent sessions new <machine> --agent claude --name review --json
computer agent status <machine> --session <session_id> --json
```
## Prompting
```bash
computer agent prompt <machine> "inspect the repo and summarize the failing tests" --agent claude --name review
computer agent prompt <machine> "continue from the previous task" --session <session_id>
```
## Streaming and control
```bash
computer agent watch <machine> --session <session_id>
computer agent cancel <machine> --session <session_id> --json
computer agent interrupt <machine> --session <session_id> --json
computer agent close <machine> --session <session_id>
```
## Good defaults
- Prefer machine handles over machine ids when both are available.
- Prefer `--name` for human-meaningful persistent sessions.
- Prefer `--json` when another program or agent needs to read the result.