with one click
discord-activities
Launch Discord Activity visual surfaces for rich output
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Launch Discord Activity visual surfaces for rich output
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | discord-activities |
| description | Launch Discord Activity visual surfaces for rich output |
| category | productivity |
Launch a Discord Activity as a live visual surface when output benefits from persistent controls, pane-based layouts, or visual display.
Call launch_activity when:
Do NOT use when:
available: false from activity_capabilities| Mode | Use for |
|---|---|
dashboard | General structured output, cards, progress, status |
embed | Embedded local apps (Hermes Web UI, etc.) |
live-view | Action-synced frames with telemetry (emulators, browser tasks) |
assistant | Rich text responses better suited to a larger canvas |
artifacts | File lists, downloads, generated outputs |
1. launch_activity(mode="dashboard") → get session_id
2. update_activity_state(session_id, payload) → refresh content
3. update_activity_state(session_id, payload) → continue updates
4. close_activity(session_id) → when done
If launch_activity fails or returns available: false:
For dashboard mode:
{
"mode": "dashboard",
"title": "Task Progress",
"sections": [
{"title": "Status", "content": "...", "status": "active"},
{"title": "Actions", "buttons": [{"label": "Run", "action": "run"}]}
]
}
For live-view mode:
{
"mode": "live-view",
"title": "Emulator",
"frame_url": "http://...",
"last_action": "Pressed A",
"state": {"hp": 45, "level": 12}
}
Call activity_capabilities to verify availability:
{"available": true, "platform": "discord", "modes": [...]}
If available is false, skip Activity and use text.
One active Activity per Hermes session. Launching a new Activity closes the previous one automatically.
The Activity frontend can interact with these endpoints:
GET /api/plugins/discord-activities/state — Get current sessionGET /api/plugins/discord-activities/state/{session_id} — Get specific sessionPOST /api/plugins/discord-activities/launch — Create sessionPOST /api/plugins/discord-activities/close — Close sessionPOST /api/plugins/discord-activities/event — Send UI eventGET /api/plugins/discord-activities/capabilities — Check availabilityGET /api/plugins/discord-activities/health — Health check