![A line-drawn comparison in which one prompt passes through the sigils slash, at, dollar, hash, and exclamation mark, branches into five coding-agent families, crosses terminal, editor, desktop, and cloud harnesses, and returns as one completed change.](assets/coding-agent-grammar-hero.png)

# The Grammar of Coding Agents

<!-- coding-agent-icon-set: optical-calibration-v1; canonical SVG paths and fixed 80%-optical-height viewBoxes are applied by work/render_markdown_report.mjs to every product label in the HTML render. -->

**OpenAI Codex, Claude Code, OpenCode, Cursor, and GitHub Copilot**

**Snapshot verified:** June 19, 2026  
**Scope:** Interactive command languages, context sigils, skills, subagents, planning, review, insights, and differences between terminal, desktop, IDE, and cloud harnesses.

> This is a living reference. Command availability can vary by version, operating system, plan, experimental flags, and connected extensions. In every harness, typing `/` in the active composer is the best final check for what is available in that exact installation.

## Executive summary

The five product families increasingly share the same building blocks - slash commands, reusable skills, project instructions, MCP, custom agents, shell execution, and context management - but they expose them through different command languages.

- **Codex** has the clearest use of `$`: `$skill-name` explicitly invokes a skill, while `$app-slug` attaches an app/connector. `@` is primarily workspace/file context, though recent Codex releases are moving toward a unified mentions menu. Codex has `/goal`, but parallel subagents are requested in natural language rather than through `/fleet`.
- **Claude Code** has the broadest built-in command catalog and the richest collection of packaged workflows. Skills are invoked as `/skill-name`, not with `$`. Its stand-out commands include `/insights`, `/batch`, `/code-review`, `/loop`, `/ultraplan`, and `/workflows`.
- **OpenCode** has a smaller built-in slash-command surface but a very flexible customization model. `@` can reference both files and agents; custom commands support `$ARGUMENTS`, `$1`, `$2`, shell-output injection, file references, agent selection, and forced subtask execution.
- **Cursor combines an IDE, terminal CLI, and Cloud Agents around one rules, skills, MCP, and subagent system.** Skills and custom subagents use `/name`; `@` attaches files, folders, docs, terminals, prior chats, diffs, browser state, and manual rules. Cursor CLI uses `/shell` rather than a documented `!` shortcut, and `& prompt` hands a local CLI task to a Cloud Agent.
- **GitHub Copilot must be split by harness.** Copilot CLI and the Copilot app use a modern agent runtime with `/fleet`, `/chronicle`, `/research`, skills, plugins, and custom agents. VS Code Chat uses a different interaction model centered on `/explain`, `/fix`, `#file`, and `@workspace`. GitHub.com Chat has another, smaller set of conversation commands and `@` attachments.

### How to read the comparison

![A four-layer model showing human intent, command grammar, product harness, and local, cloud, or parallel execution.](assets/request-layers.svg)

The closest equivalents are:

| Intent | Codex | Claude Code | OpenCode | Cursor | GitHub Copilot CLI |
|---|---|---|---|---|---|
| Persistent objective | `/goal` | Natural language, plan/workflow; no direct equivalent | Natural language; no direct equivalent | Plan/checkpoints; no persistent `/goal` object | Plan/autopilot; no direct `/goal` equivalent |
| Plan before editing | `/plan` | `/plan` or `/ultraplan` | Switch to **Plan** agent | Plan mode: `Shift+Tab`, `/plan`, or `--mode=plan` | `/plan`; `Shift+Tab` can select plan mode |
| Parallel subagents | Ask explicitly: “spawn agents in parallel” | `/batch`, subagents, agent teams, workflows | `@subagent`, automatic delegation, or `subtask: true` | Automatic or `/subagent-name`; ask for parallel work; `/best-of-n` uses worktrees | `/fleet` |
| Inspect agent workers | `/agent` | `/agents`, `/tasks`, `claude agents` | Child-session navigation | Agent UI; background output under `~/.cursor/subagents/`; Cloud Agents dashboard | `/tasks`, `/agents`, `/subagents` |
| Session insights | `/usage`, `/status`; no `/insights` equivalent | `/insights`, `/usage`, `/team-onboarding` | No built-in equivalent | `/context`; team analytics, but no personal `/insights` equivalent | `/chronicle`, `/usage` |
| Code review | `/review`, `/diff` | `/code-review`, `/review`, `/security-review`, `/simplify` | Plan/review agent or custom command | CLI `Ctrl+R`; Agent `/review` or `/review-bugbot`; Bugbot PR review | `/review`, `/security-review`, `/diff`, `/pr` |
| Explicit skill | `$skill-name` or `/skills` picker | `/skill-name` | Agent loads through the `skill` tool | `/skill-name` | `/skill-name`; manage with `/skills` |
| File context | `@path`, `/mention` | `@path` | `@path` | `@file`, `@folder`, `@Docs`, `@Terminals`, `@Past Chats`, diffs, browser | CLI: `@path`; VS Code: `#file`; GitHub.com: `@` attachment |
| Direct shell | `!command` | `!command` | `!command` | CLI `/shell command`, `/sh`, or `/run`; no documented `!` shortcut | `!command`; `!` alone enters shell mode |

## 1. The sigils: what `/`, `@`, `$`, `#`, and `!` mean

| Sigil | Codex | Claude Code | OpenCode | Cursor | GitHub Copilot |
|---|---|---|---|---|---|
| `/` | Built-in session commands; enabled skills also appear in the list | Built-in commands, bundled skills, user skills, plugin skills, MCP prompts | Built-in and user-defined custom commands | CLI commands, Agent Skills, custom subagents, and product workflows such as `/worktree` and `/review` | CLI: full runtime commands and skills. VS Code/GitHub.com: surface-specific chat commands |
| `@` | Stable docs: fuzzy workspace/file mention. Recent releases also expose a broader unified mention menu | File mention in normal sessions; in agent view it can target a custom agent or sibling repository | File/reference mention and subagent mention | Files/folders, docs, terminals, past chats, Git diffs, browser context, and manually applied rules | CLI: file context. VS Code: chat participants such as `@workspace`. GitHub.com: attach repos, issues, PRs, files, and extensions. Fleet prompts can name `@custom-agent` |
| `$` | First-class interactive syntax: `$skill-name` and `$app-slug` | Not the normal invocation sigil. `$ARGUMENTS` and positional variables are used inside skill/command definitions | Not the normal invocation sigil. `$ARGUMENTS`, `$1`, `$2`, and so on are custom-command template variables | No primary interactive `$` convention; ordinary shell environment variables still use `$VAR` | No primary interactive `$` convention. Skills use `/skill-name`; shell/environment configuration may still contain ordinary `$VAR` syntax |
| `#` | No primary interactive context convention | In agent view, `#123` can identify an existing PR session | No primary interactive context convention | No primary interactive context convention documented | CLI: `#123` attaches a GitHub issue or PR. VS Code: `#file`, `#selection`, `#project`, and other chat variables |
| `!` | Run a local shell command and add the result to context, subject to sandbox/approval rules | Enter shell mode for one command; output enters context | Run a shell command; output enters context | No documented `!` shortcut; Cursor CLI uses `/shell`, `/sh`, or `/run` | Run a local shell command bypassing Copilot. `!` alone enters multi-command shell mode |

### Sigil portability at a glance

![A portability map for slash, at, dollar, hash, and exclamation-mark syntax across coding agents.](assets/sigil-portability.svg)

### Practical consequence

The most dangerous portability mistake is assuming the same sigil means the same thing:

- `@workspace` is a Copilot VS Code participant, not a portable way to request repository context elsewhere.
- `$frontend-design` is a Codex skill invocation, but Claude Code and Copilot normally expect `/frontend-design`.
- `$ARGUMENTS` in Claude Code and OpenCode belongs inside the reusable command definition; it is not how an end user invokes the command.
- `#file` is Copilot vocabulary. Codex, Claude Code, and OpenCode normally use `@file`.
- Cursor uses `/skill-name` and `/subagent-name`; its `@` menu is for context and manual rules, not the primary custom-agent selector.

## 2. Capability comparison

Legend: **Yes** = directly documented; **Partial** = available through another mechanism or only some surfaces; **No** = no close built-in equivalent documented.

| Capability | Codex | Claude Code | OpenCode | Cursor | Copilot CLI | Copilot VS Code Chat |
|---|---|---|---|---|---|---|
| Rich built-in slash-command catalog | Yes | Yes - largest catalog | Partial - compact built-in set | Yes in CLI; editor also exposes skills and workflow commands | Yes | Partial - task shortcuts |
| User-defined slash commands | Legacy custom prompts are deprecated in favor of skills | Yes; custom commands merged into skills | Yes; highly configurable command templates | Skills replace older commands; `/migrate-to-skills` converts them | Yes through skills/plugins | Yes through `.prompt.md` prompt files |
| Agent Skills (`SKILL.md`) | Yes | Yes | Yes | Yes; reads Cursor, Agent, Claude, and Codex skill directories | Yes | Yes in agent mode |
| Explicit skill syntax | `$skill-name` | `/skill-name` | No dedicated user sigil documented; agent uses skill tool | `/skill-name` | `/skill-name` | Prompt files use `/name`; Agent Skills can be selected/invoked by the agent |
| Implicit skill selection | Yes | Yes | Yes | Yes unless `disable-model-invocation: true` | Yes | Yes in agent mode |
| Project instructions | `AGENTS.md` | `CLAUDE.md` | `AGENTS.md` | `.cursor/rules/*.mdc`, `AGENTS.md`; CLI also reads root `CLAUDE.md` | `.github/copilot-instructions.md`, `AGENTS.md`, and related instruction files | Same Copilot instruction system |
| Custom agents | Yes | Yes | Yes | Yes: `.cursor/agents`, with Claude/Codex-compatible locations | Yes | Yes |
| Named agent selection | Configure agents; ask in prompt; `/agent` switches spawned threads | `/agents`, `--agent`, agent view `@agent` | Tab for primary agents; `@subagent` | `/subagent-name` or natural language; automatic delegation | `/agent`, `--agent`, natural language | Agent picker/custom agents |
| Parallel worker command | No dedicated `/fleet`; ask explicitly | `/batch`; also teams/workflows | No dedicated fleet command; delegation and subtasks | Ask for parallel work; multiple Task calls; `/best-of-n` for parallel worktrees | `/fleet` | Agent mode supports subagents, but not the CLI `/fleet` vocabulary |
| Persistent goal object | `/goal` | No direct equivalent | No direct equivalent | No direct equivalent | No direct equivalent | No direct equivalent |
| Planning mode | `/plan` | `/plan`, `/ultraplan` | Built-in Plan agent | Editor Plan mode; CLI `/plan`, `--plan`, `--mode=plan` | `/plan`, plan mode | Plan mode |
| Side question without polluting main history | `/side` or `/btw` | `/btw` | Start/switch session | Ask mode: `/ask` or `--mode=ask` | `/ask` experimental | Start a new chat or use another chat surface |
| Built-in insights from history | No dedicated `/insights` | `/insights` | No | `/context`; team analytics only | `/chronicle` | Synced agent-session search; no equivalent VS Code slash command |
| Built-in deep research | Web search/tools; no dedicated slash command in core catalog | `/deep-research` | Tools/custom agents | Explore subagent and web search tools; no dedicated research slash command documented | `/research` | `@github #web` for web-enabled questions |
| Built-in code review | `/review` | Multiple review workflows | Custom/review agent pattern | CLI `Ctrl+R`; `/review`, `/review-bugbot`, and Bugbot PR review | `/review`, `/security-review` | Review actions and Copilot code review |
| Scheduled prompts | Codex app automations | `/loop`, routines/workflows | Plugins/external scheduling | No comparable built-in scheduler documented | `/every`, `/after` experimental | Not the same interactive mechanism |
| Session rollback with file restoration | Git-based inspection; no general `/undo` in the app catalog | `/rewind`/`/undo` | `/undo` and `/redo` require Git | Editor checkpoints; CLI `/rewind` | `/undo`/`/rewind`, tool-layer tracking | Checkpoints in supported agent modes |
| MCP | Yes | Yes | Yes | Yes across editor, CLI, and Cloud Agents | Yes, GitHub MCP built in | Yes |
| Plugins | Yes | Yes | Yes | Yes; CLI `/plugin` and marketplaces | Yes | Extensions/customizations, but not identical to CLI plugins |
| Local sandbox/permissions | Yes | Yes | Yes | Yes; CLI `/sandbox`, permissions and approval modes | Yes | Workspace trust and agent tool approvals |
| Cloud delegation | Codex Cloud | Claude Code on the web | Self-hosted server/web; provider-dependent | Cloud Agents; CLI `& prompt`; local `/in-cloud` subagent | `/delegate`, `--cloud`, cloud agent | Can delegate to Copilot cloud agent |

## 3. OpenAI Codex

### Harnesses

| Harness | Best use | Command-language notes |
|---|---|---|
| **Codex CLI** | Terminal-native local work, scripting, shell-heavy debugging, subagents | Richest Codex slash catalog; `@`, `$`, and `!` are all meaningful |
| **Codex app** | Parallel threads, worktrees, automations, Git review, artifacts | Smaller slash list, visual project/session management, shared skills |
| **Codex IDE extension** | Editor context, selections, local/cloud handoff | Surface-specific `/local`, `/cloud`, `/auto-context`; shared config with CLI |
| **Codex Cloud/web** | Background work in configured cloud environments | Usually delegated from app, IDE, CLI, or web rather than controlled through the full local slash catalog |

### High-value Codex CLI commands

| Category | Commands |
|---|---|
| Project/session | `/init`, `/new`, `/resume`, `/fork`, `/archive`, `/delete`, `/clear`, `/title` |
| Context | `/compact`, `/status`, `/usage`, `/memories`, `/mention` |
| Work control | `/plan`, `/goal`, `/side`, `/btw`, `/ps`, `/stop` |
| Agents/extensions | `/agent`, `/skills`, `/apps`, `/plugins`, `/hooks`, `/mcp`, `/import` |
| Model/behavior | `/model`, `/fast`, `/personality`, `/permissions`, `/experimental` |
| Review/output | `/diff`, `/review`, `/copy`, `/raw`, `/theme`, `/statusline` |
| Account/support | `/feedback`, `/logout`, `/debug-config`, `/exit`, `/quit` |

### Codex app slash commands

`/feedback`, `/goal`, `/init`, `/mcp`, `/plan`, `/review`, `/status`

### Codex IDE extension slash commands

`/auto-context`, `/cloud`, `/cloud-environment`, `/feedback`, `/goal`, `/local`, `/review`, `/status`

### Skills, apps, and context

- Use `$skill-name` to explicitly invoke a skill.
- Use `/skills` to browse available skills; enabled skills also appear in the slash menu.
- `/apps` inserts a connector as `$app-slug`.
- Use `@path` or `/mention` for file context.
- Use `!command` for a local shell command.

### Subagent behavior

Codex supports parallel subagents in the CLI and app, but the trigger is an explicit natural-language request rather than `/fleet`. For example:

```text
Spawn three subagents in parallel: one for security, one for test gaps,
and one for maintainability. Wait for all three and merge the findings.
```

`/agent` does not itself mean “start a fleet”; it switches between already spawned agent threads.

### Distinctive strengths

- Persistent `/goal` state with pause/resume/clear behavior.
- First-class `$` syntax for skills and apps.
- Tight local/cloud handoff across CLI, app, and IDE.
- App-centric parallel threads, worktrees, automations, artifact previews, and Git review.

## 4. Claude Code

### Harnesses

Claude Code is available in the terminal, IDE, desktop app, and browser. Anthropic describes the CLI as the most complete surface; desktop and IDE trade some CLI-only capabilities for visual review and tighter editor integration.

### High-value Claude Code commands

| Category | Commands |
|---|---|
| Setup/config | `/init`, `/memory`, `/mcp`, `/permissions`, `/agents`, `/skills`, `/config`, `/model`, `/effort` |
| Planning | `/plan`, `/ultraplan`, `/advisor` |
| Parallel work | `/agents`, `/tasks`, `/background`, `/batch`, `/fork`, `/workflows` |
| Context/session | `/context`, `/compact`, `/btw`, `/clear`, `/resume`, `/branch`, `/teleport`, `/remote-control` |
| Review/verification | `/diff`, `/code-review`, `/review`, `/security-review`, `/simplify`, `/verify` |
| Research/diagnosis | `/deep-research`, `/debug`, `/doctor` |
| Automation | `/loop`, `/workflows`, `/autofix-pr` |
| Insights/usage | `/insights`, `/usage`, `/stats`, `/team-onboarding` |

### Commands that are especially distinctive

- `/insights` analyzes Claude Code sessions for project areas, interaction patterns, and friction points.
- `/batch` decomposes a large change into roughly 5-30 worktree-isolated subagents, each expected to implement, test, and open a pull request.
- `/code-review` can review, fix, comment on a PR, or run an ultra cloud review.
- `/simplify` runs multiple cleanup-oriented review agents.
- `/loop` runs a repeated or self-paced task.
- `/ultraplan` and `/ultrareview` connect terminal work to deeper cloud planning/review.
- `/team-onboarding` analyzes recent usage and generates a teammate onboarding guide.

### Skills and custom commands

- Invoke a skill as `/skill-name`.
- User skills live under `.claude/skills/<name>/SKILL.md`.
- Older `.claude/commands/*.md` files still work, but Anthropic now treats custom commands as skills.
- `$ARGUMENTS` and positional parameters are used inside skill definitions.
- MCP prompts appear as `/mcp__<server>__<prompt>`.

### Context and shell syntax

- `@path` opens file-path autocomplete and attaches file context.
- `!command` runs a command directly and adds its output to the conversation.
- In the multi-agent view, `@agent-name` can choose a custom agent and `@repo` can target a sibling repository.

### Subagent choices

Claude Code has several distinct parallelism mechanisms:

1. **Subagents** for isolated delegated tasks.
2. **Agent view** (`claude agents`) for multiple background sessions.
3. **Agent teams** for coordinated sessions that communicate.
4. **Dynamic workflows** for background multi-phase orchestration.
5. **`/batch`** as a packaged large-change workflow using worktrees and subagents.

### Distinctive strengths

- The broadest command vocabulary.
- Strong history analysis through `/insights`.
- Several levels of parallel execution, from one-off subagents to teams and workflows.
- Rich packaged workflows for review, debugging, research, verification, onboarding, and scheduling.

## 5. OpenCode

### Harnesses

OpenCode is available as a TUI, desktop app, IDE extension, and browser application. It also supports ACP clients. ACP carries most OpenCode capabilities, although some built-in commands such as `/undo` and `/redo` are not supported there.

### Built-in TUI commands

| Command | Purpose |
|---|---|
| `/connect` | Add/configure a model provider |
| `/compact` or `/summarize` | Compact the current session |
| `/details` | Toggle tool-execution detail |
| `/editor` | Compose in an external editor |
| `/exit`, `/quit`, `/q` | Exit |
| `/export` | Export the conversation to Markdown |
| `/help` | Open help |
| `/init` | Create or update `AGENTS.md` |
| `/models` | Select/list models |
| `/new` or `/clear` | Start a new session |
| `/redo` | Restore an undone turn and file changes |
| `/sessions`, `/resume`, `/continue` | Browse and switch sessions |
| `/share`, `/unshare` | Publish or remove a shared session |
| `/themes` | Select a theme |
| `/thinking` | Show or hide reasoning blocks |
| `/undo` | Revert the latest turn and file changes |

### Custom commands

OpenCode's small built-in list is offset by a strong custom-command format:

- Define Markdown commands in `.opencode/commands/`.
- Use `$ARGUMENTS`, `$1`, `$2`, and so on for parameters.
- Inject shell output into a command prompt.
- Include files with `@path`.
- Pin a command to an agent or model.
- Set `subtask: true` to force the command into a separate subagent context.
- A custom command can override a built-in command with the same name.

Example:

```markdown
---
description: Review one component
agent: plan
subtask: true
---

Review @$1 for correctness, accessibility, and performance.
Run the smallest relevant tests and summarize the risks.
```

### Agents

- Primary agents: **Build** and **Plan**.
- Switch primary agents with `Tab` or the configured agent-switch key.
- Built-in subagents: **General**, **Explore**, and **Scout**.
- Invoke a subagent directly with `@general`, `@explore`, or `@scout`.
- Primary agents may also delegate automatically based on subagent descriptions.

### Skills

OpenCode supports `SKILL.md` skills and searches `.opencode/skills`, `.claude/skills`, and `.agents/skills` at project and user scope. Skills are discovered by metadata and loaded on demand through the native `skill` tool.

### Context and shell syntax

- `@path` attaches a file or configured reference.
- `@agent` can invoke a subagent.
- `!command` runs a shell command and adds the result to context.
- `$...` is primarily template syntax inside custom commands, not a first-class end-user skill selector.

### Distinctive strengths

- Provider-agnostic and open source.
- Very clean Build/Plan split.
- Custom commands can select model, agent, and subtask behavior.
- Compatibility with Claude-style and Agent Skills directories makes it easy to share reusable behavior.

## 6. Cursor

Cursor is best understood as a family of connected harnesses rather than only an editor. The editor, terminal CLI, Agents Window, Cloud Agents, and Bugbot share rules, skills, MCP configuration, custom subagents, and session context to different degrees.

### Harnesses

| Harness | Best use | Command-language notes |
|---|---|---|
| **Cursor editor Agent** | Repository work with visual diffs, checkpoints, browser context, and IDE tools | Rich `@` context menu; skills and subagents use `/name`; Plan and Ask modes are built in |
| **Cursor CLI** | Terminal-native agent work and automation | Large slash catalog, `@file`/`@folder`, `/shell`, headless mode, sessions, worktrees, and cloud handoff |
| **Agents Window** | Running several local agents independently | Native worktree isolation, parallel sessions, review, and applying completed work |
| **Cloud Agents** | Remote background work from web, desktop, mobile, integrations, or CLI | Runs in isolated remote environments and branches; CLI handoff uses `& prompt` |
| **Bugbot** | Pull-request review and autofix | Reviews PRs in GitHub or Bitbucket and can launch a Cloud Agent to fix findings |

### High-value Cursor CLI commands

| Category | Commands |
|---|---|
| Modes | `/plan`, `/ask`, `/debug`, `/run-everything`, `/max-mode` |
| Session/context | `/clear`, `/resume`, `/fork`, `/summarize`, `/context`, `/rewind`, `/rename` |
| Display/control | `/vim`, `/line-numbers`, `/show-thinking`, `/status-indicators`, `/logs` |
| Shell/editor | `/shell`, `/sh`, `/run`, `/open`, `/cursor`, `/setup-terminal` |
| Models/extensions | `/model`, `/mcp`, `/plugin`, `/config`, `/sandbox`, `/bedrock` |
| Support/account | `/about`, `/help`, `/feedback`, `/copy-request-id`, `/copy-conversation-id`, `/logout`, `/quit` |

Cursor CLI also supports:

- `agent -p` or `agent --print` for non-interactive output.
- `--force` or `--yolo` when a headless run is allowed to modify files.
- `--worktree [name]` or `-w` for an isolated worktree.
- `agent ls`, `agent resume`, `--continue`, and `--resume=<id>` for session recovery.
- `agent acp` when Cursor is used through an ACP-compatible host.

### Context, plans, and worktrees

- Use `@file` or `@folder` to attach repository context.
- The editor also exposes `@Docs`, `@Terminals`, `@Past Chats`, Git working-state or branch diffs, and `@Browser`.
- Plan mode is available from `Shift+Tab`, `/plan`, `--plan`, or `--mode=plan`.
- Ask mode is available as `/ask` or `--mode=ask`.
- The editor supports `/worktree`, `/best-of-n`, `/apply-worktree`, and `/delete-worktree`; the CLI uses `--worktree`.
- In the CLI, `Ctrl+R` opens a review of the agent's changes.

### Skills and rules

- Skills use `SKILL.md` and can be selected automatically or explicitly as `/skill-name`.
- `disable-model-invocation: true` makes a skill explicit-only.
- Cursor discovers skills from `.agents/skills`, `.cursor/skills`, `.claude/skills`, and `.codex/skills`, including supported user-level locations.
- `/migrate-to-skills` converts older command-style customizations.
- Project rules live in `.cursor/rules/*.mdc`; Cursor also supports `AGENTS.md`, user rules, and team rules.
- A manually applied rule can be attached with `@rule-name`; `/create-rule` helps create a rule.

### Subagents

- Cursor can delegate automatically based on a subagent's description.
- Explicit invocation uses `/subagent-name` or a natural-language request.
- Multiple independent subagent tasks can run in parallel.
- Built-in subagents include **Explore**, **Bash**, and **Browser**.
- Custom agents live in `.cursor/agents`; Cursor also reads compatible `.claude/agents` and `.codex/agents` locations.
- Agent definitions can specify a model, read-only behavior, and background execution.
- Background subagent output is stored under `~/.cursor/subagents/`.

### Cloud handoff and review

- Prefix a Cursor CLI prompt with `&` to send it to a Cloud Agent.
- `/in-cloud` sends the next delegated task to a cloud subagent.
- `/babysit` monitors and helps shepherd a pull request.
- `/review` and `/review-bugbot` are documented for Cursor Agent and cursor.com/agents in Cursor 3.7 and later. Cursor's documentation currently says CLI support is coming later.
- Bugbot Autofix can create a Cloud Agent task from a review finding.

### Distinctive strengths

- One customization model spans editor, CLI, local agents, and cloud agents.
- The richest `@` context vocabulary in this comparison.
- Explicit `/skill-name` and `/subagent-name` syntax keeps reusable behavior easy to discover.
- Native local worktrees, best-of-N execution, cloud handoff, PR review, and browser-aware work.

## 7. GitHub Copilot: compare the harnesses separately

### Copilot's surfaces are not one command language

![A map separating Copilot CLI and app, VS Code Chat, GitHub.com Chat, and the Copilot cloud agent.](assets/copilot-harness-map.svg)

### 7.1 GitHub Copilot CLI

Copilot CLI now has a large terminal-agent command surface.

| Category | Commands and shortcuts |
|---|---|
| Planning/autonomy | `/plan`, `Shift+Tab` for standard/plan/autopilot, `--autopilot` |
| Parallelism | `/fleet`, `/tasks`, `/agents`, `/subagents`, custom agents |
| Insights/history | `/chronicle`, `/usage`, `/context`, `/session`, `/resume` |
| Research/review | `/research`, `/review`, `/security-review`, `/rubber-duck`, `/diff` |
| GitHub workflow | `/pr`, `/delegate`, `#123` issue/PR context |
| Skills/plugins | `/skills`, `/plugin`, invoke `/skill-name` |
| Runtime/config | `/model`, `/mcp`, `/lsp`, `/permissions`, `/sandbox`, `/settings`, `/env` |
| Scheduling | `/every`, `/after` in experimental mode |
| Session control | `/compact`, `/clear`, `/ask`, `/worktree`, `/remote`, `/app`, `/ide` |
| Direct context/shell | `@file`, `#issue-or-PR`, `!command` |

#### `/fleet`

`/fleet` decomposes work and runs independent subtasks in parallel. Copilot can choose custom agents for subtasks, and you can name one in the prompt with `@custom-agent-name`.

```text
/fleet Implement the API validation, add integration tests, and update the docs.
Use @test-writer for the test work.
```

#### `/chronicle`

`/chronicle` is Copilot CLI's closest equivalent to Claude Code's `/insights`.

Documented subcommands include:

- `standup` - summarize recent work.
- `tips` - personalized workflow suggestions.
- `cost tips` - token-spend feedback.
- `search` - search session history.
- `improve` - suggest improvements to custom instructions.
- `reindex` - rebuild and synchronize the session store.

The exact short form shown by `/help` may vary as the feature evolves.

#### Skills

- Copilot may automatically select skills.
- Explicitly request one with `/skill-name`.
- Manage them with `/skills list`, `/skills info`, `/skills add`, `/skills remove`, and `/skills reload`.

### 7.2 GitHub Copilot app

The desktop app is built on the Copilot CLI runtime and is designed for managing multiple local and cloud agent sessions. It shares session-history data with the CLI and can contribute to `/chronicle` reports.

Important distinction: runtime sharing does not guarantee that every CLI slash command is exposed identically in every app composer. Use the app's live `/` menu as the authoritative list.

Best fit:

- Multiple concurrent agent sessions.
- Visual session management.
- GitHub-native repository, branch, CI, issue, and PR workflows.
- MCP servers configured from repositories, CLI configuration, or app settings.

### 7.3 Copilot Chat on GitHub.com

GitHub.com Chat uses a lighter command language:

- `/clear`, `/delete`, `/new`, `/rename`.
- `@` attaches discussions, extensions, files, issues, pull requests, and repositories.
- GitHub MCP skills can perform repository operations from natural language.

This is a GitHub-object chat surface, not a local terminal harness.

### 7.4 Copilot Chat in VS Code

Common slash commands:

`/clear`, `/explain`, `/fix`, `/fixTestFailure`, `/help`, `/new`, `/tests`

Common chat variables:

`#block`, `#class`, `#comment`, `#file`, `#function`, `#line`, `#path`, `#project`, `#selection`, `#sym`

Common chat participants:

`@azure`, `@github`, `@terminal`, `@vscode`, `@workspace`

Useful query patterns:

```text
@workspace Explain the authentication flow and identify the trust boundaries.
```

```text
#file:src/auth.ts /tests Generate tests for the token refresh edge cases.
```

```text
@github #web What is the current supported Node.js LTS, and what changes would
this repository need to upgrade?
```

Prompt files under `.github/prompts/*.prompt.md` create reusable `/prompt-name` commands in supported IDEs.

### 7.5 Copilot cloud agent

Copilot cloud agent runs independently in a GitHub-hosted environment, works on a branch, and can create a pull request. It can be started from GitHub, mobile, IDEs, API, GitHub CLI, the GitHub MCP Server, and external work-management integrations.

Do not confuse:

- **IDE agent mode:** acts in the local workspace.
- **Copilot cloud agent:** acts in a managed GitHub environment.
- **Copilot CLI:** acts locally unless explicitly delegated or started with a cloud mode.

## 8. Query translation guide

| What you want | Codex | Claude Code | OpenCode | Cursor | Copilot CLI | Copilot VS Code |
|---|---|---|---|---|---|---|
| Explain one file | `Explain @src/auth.ts` | `Explain @src/auth.ts` | `Explain @src/auth.ts` | `Explain @src/auth.ts` | `Explain @src/auth.ts` | `#file:src/auth.ts /explain` |
| Plan first | `/plan Add passkeys` | `/plan Add passkeys` | Switch to Plan, then ask | `/plan Add passkeys` or select Plan mode | `/plan Add passkeys` | Select Plan mode |
| Run three reviews in parallel | Ask to spawn three subagents | Ask for parallel subagents or use a workflow | Mention subagents or create `subtask: true` commands | Ask for parallel subagents or use `/best-of-n` | `/fleet ...` | Ask Agent mode to delegate/subagent if available |
| Invoke a design skill | `$frontend-design ...` | `/frontend-design ...` | Ask the agent to load the skill, or wrap it in a custom command | `/frontend-design ...` | `/frontend-design ...` | Use the Agent Skill or a `/prompt-file` |
| Review current changes | `/review`, then `/diff` | `/code-review` or `/review` | Use Plan/review agent or custom `/review` | CLI `Ctrl+R`; Agent `/review` or `/review-bugbot` | `/review`, `/diff` | Use code review/agent actions |
| Get usage coaching | `/usage` | `/insights` and `/usage` | No built-in equivalent | `/context`; team analytics are separate | `/chronicle tips`, `/chronicle cost tips` | Query synced sessions or use usage views |
| Run a shell command | `!npm test` | `!npm test` | `!npm test` | `/shell npm test` | `!npm test` | Use terminal participant/tooling |
| Start fresh | `/new` | `/clear` | `/new` | `/clear` or `/new` | `/new` | `/clear` |

## 9. Recommendations by working style

| Working style | Best fit from this comparison | Why |
|---|---|---|
| Terminal power user who wants the broadest packaged workflow catalog | Claude Code | Deep command catalog, `/insights`, `/batch`, review and workflow commands |
| User who wants a persistent objective and a strong desktop multi-thread workspace | Codex | `/goal`, parallel app threads, worktrees, automations, artifacts |
| Open-source, provider-agnostic user who likes building custom commands | OpenCode | Flexible command templates, agent selection, subtask routing, provider choice |
| IDE-first user who wants rich context, local parallelism, and easy cloud handoff | Cursor | Deep `@` context, skills and subagents, worktrees, Cloud Agents, Bugbot |
| GitHub-centered user who wants issues, PRs, session history, parallel workers, and IDE integration | GitHub Copilot | `/fleet`, `/chronicle`, `/pr`, cloud agent, GitHub object context |
| User who wants a consistent Agent Skills investment across tools | All five, with caveats | All support `SKILL.md`; invocation syntax and supported extensions differ |

## 10. Other coding agents and harnesses to add later

This is a candidate backlog, not an exhaustive market inventory.

### Terminal-first or terminal-capable

- **Google Antigravity CLI** - Google's consumer successor to Gemini CLI, sharing an agent harness with Antigravity 2.0, IDE, and SDK surfaces
- **Aider**
- **Amp**
- **Cline CLI**
- **Continue CLI**
- **Crush**
- **Plandex**
- **Pi Coding Agent**
- **Goose**
- **Junie CLI**
- **Kiro CLI**
- **Factory Droid**

### IDE/editor-first

- **Devin Desktop / Cascade** (the product formerly known as Windsurf)
- **Cline**
- **Roo Code**
- **Continue**
- **JetBrains Junie**
- **Kiro IDE**
- **Zed Agent Panel**
- **Augment Code**
- **Replit Agent**

### Cloud/issue-to-PR and engineering-agent platforms

- **Devin**
- **OpenHands**
- **Factory**
- **GitLab Duo Agent Platform**
- **Replit Agent**
- **Augment Remote Agents**
- **Warp cloud agents / agent control plane**

### Useful adjacent harness hosts

- **Warp** - can run its own agent and host external CLI agents.
- **Zed with ACP** - editor host for external agents.
- **VS Code Agent mode** - a harness layer that can host Copilot and third-party agents.

### Recommended next comparison rows

For the next revision, the most useful additions would be:

1. **Google Antigravity** - compare its CLI, IDE, Antigravity 2.0 desktop command center, SDK, shared multi-agent harness, skills, hooks, plugins, and asynchronous subagents.
2. **Cline and Roo Code** - model-agnostic VS Code agents with modes, rules, MCP, and skills.
3. **Aider** - mature terminal command language and Git-centered workflow.
4. **Kiro and Junie** - spec-driven and JetBrains-native agent approaches.
5. **Devin, Factory, and OpenHands** - cloud/autonomous engineering-agent category.

## 11. Maintenance protocol

When updating this report:

1. Record the verification date at the top.
2. Re-check each product's official command reference and live `/` menu.
3. Separate stable, preview, and experimental commands.
4. Keep GitHub Copilot surfaces in separate rows.
5. Keep Cursor editor, CLI, Agents Window, Cloud Agents, and Bugbot distinctions explicit.
6. Verify whether a command is a built-in command, a bundled skill, a custom skill, an MCP prompt, or a UI action.
7. Re-check the meanings of `/`, `@`, `$`, `#`, and `!`.
8. Update the “other agents” backlog for renames, retirements, and replacements.
9. Add a short change-log entry below.

### Change log

| Date | Change |
|---|---|
| 2026-06-20 | Replaced the contents hamburger/close pair with restrained sidebar-state icons; moved the divider beneath the Contents heading; and excluded the document title from scroll-spy highlighting. |
| 2026-06-20 | Added a reusable content-aware SVG file icon that synchronizes its paper, ink, and accent colors with the active document theme and palette. |
| 2026-06-20 | Added local variable-font delivery, responsive WebP hero images with intrinsic dimensions, and a Brotli/Gzip static audit server following a Lighthouse performance pass. |
| 2026-06-20 | Moved the contents, light/dark, and color-palette controls into circular document-corner controls; added a desktop contents hide/show state with a menu-to-close icon transition. |
| 2026-06-19 | Added a generated `llm.txt` Markdown representation, a canonical `llms.txt` discovery index, HTML alternate-resource metadata, and discoverable footer links. |
| 2026-06-19 | Restored the original compact command-grammar hero, removed its chroma-key background and outer canvas padding, simplified heading typography, and rebuilt the Open Graph card around three text levels and a fading right-side illustration. |
| 2026-06-19 | Refined and moved the hero illustration above the title, added mobile-specific diagram compositions, and added Open Graph and Twitter sharing metadata with a dedicated 1200 × 630 social card. |
| 2026-06-19 | Added an opening line illustration and SVG diagrams for the four-layer request model, sigil portability, and GitHub Copilot harness boundaries. |
| 2026-06-19 | Replaced the consumer-facing Gemini CLI backlog entry with Google Antigravity. Consumer Gemini CLI service ended June 18, 2026; enterprise and paid API-key access remain supported. |
| 2026-06-19 | Added Cursor editor, CLI, Agents Window, Cloud Agents, Bugbot, skills, subagents, rules, worktrees, command translations, and official sources. |
| 2026-06-19 | Initial report. Added Codex, Claude Code, OpenCode, Copilot CLI, Copilot app, GitHub.com Chat, VS Code Chat, cloud-agent distinctions, sigil comparison, and future-agent backlog. |

## Sources

All core comparisons use official documentation current on June 19, 2026.

### OpenAI Codex

1. [Codex CLI slash commands](https://developers.openai.com/codex/cli/slash-commands)
2. [Codex app commands](https://developers.openai.com/codex/app/commands)
3. [Codex IDE slash commands](https://developers.openai.com/codex/ide/slash-commands)
4. [Codex Agent Skills](https://developers.openai.com/codex/skills)
5. [Codex subagents](https://developers.openai.com/codex/subagents)
6. [Codex CLI features](https://developers.openai.com/codex/cli/features)
7. [Codex app features](https://developers.openai.com/codex/app/features)

### Claude Code

8. [Claude Code commands](https://code.claude.com/docs/en/commands)
9. [Claude Code skills](https://code.claude.com/docs/en/skills)
10. [Claude Code subagents](https://code.claude.com/docs/en/sub-agents)
11. [Claude Code parallel agents](https://code.claude.com/docs/en/agents)
12. [Claude Code interactive mode](https://code.claude.com/docs/en/interactive-mode)
13. [Claude Code platforms](https://code.claude.com/docs/en/platforms)

### OpenCode

14. [OpenCode TUI](https://opencode.ai/docs/tui/)
15. [OpenCode commands](https://opencode.ai/docs/commands/)
16. [OpenCode agents](https://opencode.ai/docs/agents/)
17. [OpenCode Agent Skills](https://opencode.ai/docs/skills/)
18. [OpenCode ACP support](https://opencode.ai/docs/acp/)

### Cursor

19. [Cursor Agent overview](https://cursor.com/docs/agent/overview)
20. [Cursor prompting and `@` context](https://cursor.com/docs/agent/prompting)
21. [Cursor Plan mode](https://cursor.com/docs/agent/plan-mode)
22. [Cursor CLI overview](https://cursor.com/docs/cli/overview)
23. [Using Cursor CLI](https://cursor.com/docs/cli/using)
24. [Cursor CLI slash-command reference](https://cursor.com/docs/cli/reference/slash-commands)
25. [Cursor Agent Skills](https://cursor.com/docs/skills)
26. [Cursor subagents](https://cursor.com/docs/subagents)
27. [Cursor Cloud Agents](https://cursor.com/docs/cloud-agent)
28. [Cursor rules](https://cursor.com/docs/rules)
29. [Cursor Bugbot](https://cursor.com/docs/bugbot)
30. [Cursor worktrees](https://cursor.com/docs/configuration/worktrees)

### GitHub Copilot

31. [Copilot CLI command reference](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference)
32. [Copilot Chat cheat sheet](https://docs.github.com/en/copilot/reference/chat-cheat-sheet)
33. [Copilot CLI fleet](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/fleet)
34. [Copilot CLI session data and Chronicle](https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle)
35. [Copilot CLI Agent Skills](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills)
36. [GitHub Copilot app](https://docs.github.com/en/copilot/concepts/agents/github-copilot-app)
37. [Copilot cloud agent](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent)
38. [Copilot customization cheat sheet](https://docs.github.com/en/copilot/reference/customization-cheat-sheet)

### Candidate-agent official pages

39. [Google Antigravity documentation](https://antigravity.google/docs)
40. [Google's Gemini CLI to Antigravity transition announcement](https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/)
41. [Aider](https://aider.chat/docs/)
42. [Cline](https://cline.bot/)
43. [Roo Code](https://docs.roocode.com/)
44. [Continue](https://docs.continue.dev/)
45. [Goose](https://goose-docs.ai/)
46. [Junie](https://junie.jetbrains.com/docs/)
47. [Kiro](https://kiro.dev/)
48. [Devin](https://docs.devin.ai/get-started/devin-intro)
49. [Factory](https://docs.factory.ai/welcome)
50. [OpenHands](https://docs.openhands.dev/overview/introduction)
51. [Replit Agent](https://docs.replit.com/references/agent/overview)
52. [Amp](https://ampcode.com/manual)
53. [Zed Agent Panel](https://zed.dev/docs/ai/agent-panel)
54. [Warp](https://docs.warp.dev/)
55. [Augment Agent](https://docs.augmentcode.com/using-augment/agent)
56. [Crush](https://github.com/charmbracelet/crush)
57. [Plandex](https://github.com/plandex-ai/plandex)
58. [Pi Coding Agent](https://pi.dev/)
59. [GitLab Duo Agent Platform](https://docs.gitlab.com/user/get_started/get_started_agent_platform/)
