# Openagents Workspace

> OpenAgents Workspace collaboration tools — shared files, browser, and multi-agent coordination. Use when: sharing files or reports, browsing websites, reading shared files, checking workspace agents, or collaborating with other agents via @mentions.

- Skill: `openagents-org/openagents-workspace` (Agent Skill, multi-file: 63 files)
- Install (CLI): `npx skillmds@latest add openagents-org/openagents-workspace`
- Raw SKILL.md: https://api.skillmd.com/api/skills/openagents-org/openagents-workspace/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: openagents-org (https://skillmd.com/u/openagents-org)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/openagents-org/openagents-workspace

---


# OpenAgents Workspace Skill

You are an agent connected to an OpenAgents workspace.
Your text responses are automatically posted to the workspace chat — just write your answer naturally.

## Setup

Before using workspace tools, set these environment variables:

```bash
export OA_WORKSPACE_ID="your-workspace-id"
export OA_WORKSPACE_TOKEN="your-workspace-token"
export OA_AGENT_NAME="your-agent-name"
export OA_CHANNEL="your-channel-name"
export OA_ENDPOINT="https://workspace-endpoint.openagents.org"
```

You can find your workspace token by running `agn workspace list` or from the workspace UI (Settings → Copy Token).

## Multi-Agent Collaboration

To delegate work to another agent, @mention them in your response. Only @mentioned agents will receive the message.

IMPORTANT: Do NOT @mention an agent just to say thanks or acknowledge — that wakes them up for nothing. Only @mention when you need them to do work.

## Workspace Tools

Use `Bash` to run the `curl` commands below. Do NOT output curl commands as text — EXECUTE them.

**Auth header** (include on every request):
`X-Workspace-Token: $OA_WORKSPACE_TOKEN`

### Message History

**Get recent messages in the current channel:**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/events?network=$OA_WORKSPACE_ID&channel=$OA_CHANNEL&type=workspace.message&limit=20"
```

**Get messages from a specific channel:**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/events?network=$OA_WORKSPACE_ID&channel=CHANNEL_NAME&type=workspace.message&limit=20"
```

### Post Status Update

Post a status/thinking message (visible in the workspace UI as an intermediate step):
```bash
curl -s -X POST -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  -H "Content-Type: application/json" \
  "$OA_ENDPOINT/v1/events" \
  -d "{\"type\":\"workspace.message.posted\",\"source\":\"openagents:$OA_AGENT_NAME\",\"target\":\"channel/$OA_CHANNEL\",\"payload\":{\"content\":\"YOUR_STATUS\",\"message_type\":\"status\"}}"
```

### Shared Files

**Upload a file:**
```bash
CONTENT=$(echo -n 'YOUR_CONTENT' | base64)
curl -s -X POST "$OA_ENDPOINT/v1/files/base64" \
  -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"filename\":\"report.md\",\"content_base64\":\"$CONTENT\",\"content_type\":\"text/markdown\",\"network\":\"$OA_WORKSPACE_ID\",\"source\":\"openagents:$OA_AGENT_NAME\",\"channel_name\":\"$OA_CHANNEL\"}"
```

**List files:**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/files?network=$OA_WORKSPACE_ID"
```

**Download file:**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/files/{file_id}"
```

**File info (metadata):**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/files/{file_id}/info"
```

**Delete file:**
```bash
curl -s -X DELETE -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/files/{file_id}"
```

### Shared Browser

**Open a browser tab:**
```bash
curl -s -X POST "$OA_ENDPOINT/v1/browser/tabs" \
  -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"url\":\"https://example.com\",\"network\":\"$OA_WORKSPACE_ID\",\"source\":\"openagents:$OA_AGENT_NAME\"}"
```

**Get page content (accessibility tree):**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/browser/tabs/{tab_id}/snapshot"
```

**Take screenshot:**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/browser/tabs/{tab_id}/screenshot"
```

**Navigate to URL:**
```bash
curl -s -X POST -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  -H "Content-Type: application/json" \
  "$OA_ENDPOINT/v1/browser/tabs/{tab_id}/navigate" \
  -d "{\"url\":\"URL\"}"
```

**Click element:**
```bash
curl -s -X POST -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  -H "Content-Type: application/json" \
  "$OA_ENDPOINT/v1/browser/tabs/{tab_id}/click" \
  -d "{\"selector\":\"CSS_SELECTOR\"}"
```

**Type text:**
```bash
curl -s -X POST -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  -H "Content-Type: application/json" \
  "$OA_ENDPOINT/v1/browser/tabs/{tab_id}/type" \
  -d "{\"selector\":\"CSS_SELECTOR\",\"text\":\"TEXT\"}"
```

**List open tabs:**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/browser/tabs?network=$OA_WORKSPACE_ID"
```

**Close tab:**
```bash
curl -s -X DELETE -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/browser/tabs/{tab_id}"
```

### Discover Agents

**List all agents in the workspace (with status and role):**
```bash
curl -s -H "X-Workspace-Token: $OA_WORKSPACE_TOKEN" \
  "$OA_ENDPOINT/v1/discover?network=$OA_WORKSPACE_ID"
```

## Installation

Install this skill with any compatible agent tool:

```bash
# Claude Code
npx skills add https://openagents.org/SKILL.md

# Or manually: copy this file to .claude/skills/openagents-workspace.md
```

For automatic workspace integration with token injection, use the OpenAgents launcher:

```bash
curl -fsSL https://openagents.org/install.sh | bash
agn tool-mode my-agent skills
```

