Skills for exposing Claude Agent via HTTP, Slack, and Discord.
- Introduce a Claude Code project to team members — Let your team interact with a project through Slack or Discord without needing Claude Code installed locally
- Interact with a Claude Code project running on a Mac Mini — Access a headless Claude Code instance remotely via HTTP, Slack, or Discord
- Query a service that uses Claude Code as backend — Expose Claude Code as a REST API for other services to consume
- Use Siri to command Claude Code — Chain Siri Shortcuts with the HTTP API to control Claude Code by voice
/plugin marketplace add runbear-io/skills
/plugin install dispatch-http@runbear-skills
/plugin install dispatch-slack@runbear-skills
/plugin install dispatch-discord@runbear-skills
/plugin install skill-uploader@runbear-skills
/plugin install runbear@runbear-skillsExpose Claude Code as REST API endpoints.
| Skill | Description |
|---|---|
dispatch |
Start an Express server that exposes Claude Code/Cowork via REST endpoints |
expose |
Expose the local dispatch-http server to the internet via a Cloudflare quick tunnel |
/dispatch-http:dispatch
/dispatch-http:dispatch port 8080
/dispatch-http:expose
Connect Claude Code to Slack via Socket Mode. Supports streaming responses.
| Skill | Description |
|---|---|
dispatch |
Start/stop the Slack bot server that connects Claude Code to Slack |
init |
Create and configure a Slack bot app with OAuth token rotation |
/dispatch-slack:init
/dispatch-slack:dispatch [start|stop|status] [/path/to/project]
The dispatch skill supports two modes:
- Local — Run directly on the host machine. Uses local Claude Code authentication.
- Docker — Run in a container for sandboxed filesystem access. Requires
CLAUDE_CODE_OAUTH_TOKEN(generate withclaude setup-token) orANTHROPIC_API_KEYin.env.
Connect Claude Code to Discord. Supports streaming responses via progressive message editing.
| Skill | Description |
|---|---|
dispatch |
Start/stop the Discord bot server that connects Claude Code to Discord |
init |
Create and configure a Discord bot via the Developer Portal |
/dispatch-discord:init
/dispatch-discord:dispatch [start|stop|status] [/path/to/project]
The dispatch skill supports two modes:
- Local — Run directly on the host machine. Uses local Claude Code authentication.
- Docker — Run in a container for sandboxed filesystem access. Requires
CLAUDE_CODE_OAUTH_TOKEN(generate withclaude setup-token) orANTHROPIC_API_KEYin.env.
Deploy local Claude skill folder(s) to a hosted Runbear Agent SDK agent. Reads a local
skill folder, runs a safety preflight, and deploys each SKILL.md through the Runbear
upload_local_skill_to_agent MCP tool.
| Skill | Description |
|---|---|
upload |
Upload local skill folder(s) to a Runbear agent identified by an app URL or app UUID |
- The Runbear management MCP server must be connected in your Claude Code session —
it provides the
upload_local_skill_to_agenttool. - The target Runbear Agent SDK app URL or app UUID (
--agent).
/skill-uploader:upload ./my-skill --agent https://app.runbear.io/agents/<appId>
/skill-uploader:upload ./my-skill --agent <appId>
/skill-uploader:upload ./my-skill --agent <appId> --overwrite
/skill-uploader:upload ./internal-skills --agent <appId>
The backend deploys one skill per call. If the folder contains multiple SKILL.md
files, each is uploaded independently and reported per skill.
Deploy a whole local Claude Code project to a hosted Runbear Agent SDK agent. The
hosted agent then runs against the same CLAUDE.md, skills, subagents, docs, and code
you have locally, with the directory layout preserved.
| Skill | Description |
|---|---|
deploy |
Deploy a local project's files to a Runbear Agent SDK agent identified by an app URL, app UUID, or agent name |
connect-slack |
Connect a Runbear Agent SDK agent to Slack — creates a workspace-specific custom bot by default, and can join channels |
- The Runbear management MCP server must be connected in your Claude Code session —
it provides the
create_project_uploadandfinalize_project_uploadtools (pluscreate_agentfor the--newflow). - The target Runbear Agent SDK app URL, app UUID, or agent name (the first
argument) — a name is fuzzy-matched, with an interactive picker when more than one
agent matches — or
--new "<agentName>"to create a fresh Claude Agent SDK agent and deploy to it. An existing target agent must be of type Claude Agent SDK. Resolving a name uses thelist_agentstool. - Local tools:
git,zip, andcurlon PATH.
Deploy to an existing agent:
/runbear:deploy <appId>
/runbear:deploy https://app.runbear.io/agents/<appId>
/runbear:deploy "My Agent"
/runbear:deploy <appId> --cwd ./my-project
/runbear:deploy "My Agent" --cwd ./my-project --overwrite
Or create a new Claude Agent SDK agent and deploy to it in one step:
/runbear:deploy --new "My Agent"
/runbear:deploy --new "My Agent" --cwd ./my-project
The backend caps a deploy at 500 files / 25 MiB decompressed / 50 MiB zip,
and blocks secrets, .env, .git/, node_modules/, .mcp.json, and Claude settings
files. Use --overwrite to replace files that already exist in the agent workspace.
Connect an agent to Slack (a workspace-specific custom bot by default):
/runbear:connect-slack "My Agent"
/runbear:connect-slack <appId> --bot-name "My Bot" --channel project-team
/runbear:connect-slack <appId> --mode default
Custom mode returns a Runbear web-app link to finish creating the Slack app; joining
public channels is then handled through the MCP. Use --mode default to attach the
shared @Runbear bot instead.
MIT