skill-as-a-service

Run coding agents (Claude Code, Gemini, Codex) with skills in the cloud via API. Each task gets its own isolated VM. Use when you need to spawn sub-tasks, delegate work to other agents, or run tasks with specific skills. Requires REBYTE_API_KEY environment variable.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "skill-as-a-service" with this command: npx skills add rebyteai/skill-as-a-service-skill/rebyteai-skill-as-a-service-skill-skill-as-a-service

Skill-as-a-Service API

Spawn coding agent tasks in the cloud via API. Each task gets its own isolated VM with skills pre-installed.

Before You Start

Check that REBYTE_API_KEY is set:

echo "$REBYTE_API_KEY"

If empty, ask the user for their API key (get one at https://app.rebyte.ai/settings/api-keys), then:

export REBYTE_API_KEY="rbk_..."

Create a Task

curl -s -X POST https://api.rebyte.ai/v1/tasks \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Your task description here",
    "skills": ["deep-research"]
  }'

Response:

{
  "id": "550e8400-...",
  "workspaceId": "660e8400-...",
  "url": "https://app.rebyte.ai/run/550e8400-...",
  "status": "running",
  "createdAt": "2026-02-09T10:30:00.000Z"
}

The url is live immediately. Give it to the user — they watch the agent work in real time. You do NOT need to poll or wait.

Create a Task with Files

If the agent needs to work on files (PDFs, CSVs, images, etc.):

# 1. Get a signed upload URL
FILE_RESP=$(curl -s -X POST https://api.rebyte.ai/v1/files \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "data.csv"}')

UPLOAD_URL=$(echo "$FILE_RESP" | jq -r '.uploadUrl')
FILE_ID=$(echo "$FILE_RESP" | jq -r '.id')
FILE_NAME=$(echo "$FILE_RESP" | jq -r '.filename')

# 2. Upload the file content
curl -s -X PUT "$UPLOAD_URL" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @data.csv

# 3. Create a task with the file attached
curl -s -X POST https://api.rebyte.ai/v1/tasks \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"prompt\": \"Analyze this CSV and summarize findings\",
    \"skills\": [\"data-analysis\"],
    \"files\": [{\"id\": \"$FILE_ID\", \"filename\": \"$FILE_NAME\"}]
  }"

The file is copied into the task's VM at /code/{filename} before the agent starts.

Create a Task with a GitHub Repo

curl -s -X POST https://api.rebyte.ai/v1/tasks \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Add unit tests for the auth module",
    "skills": ["deep-research"],
    "githubUrl": "owner/repo",
    "branchName": "main"
  }'

Share Results Publicly

By default, tasks are visible only to org members. To share with anyone (no login required):

TASK_ID="the-task-id-from-create"
curl -s -X PATCH "https://api.rebyte.ai/v1/tasks/$TASK_ID/visibility" \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"visibility": "public"}'

Response includes shareUrl — give this to anyone:

{
  "visibility": "public",
  "shareUrl": "https://app.rebyte.ai/share/550e8400-..."
}

Check Task Status (Optional)

You don't need to poll — the URL is live. But if you need to wait for completion:

curl -s "https://api.rebyte.ai/v1/tasks/$TASK_ID" \
  -H "API_KEY: $REBYTE_API_KEY" | jq '{status, url}'

Statuses: running, completed, failed, canceled

Follow Up on a Task (Optional)

Send additional instructions to a running or completed task:

curl -s -X POST "https://api.rebyte.ai/v1/tasks/$TASK_ID/prompts" \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Now fix the issues you found"}'

Reuse a Workspace (Optional)

Pass workspaceId from a previous task to skip VM provisioning (much faster):

# First task creates a new VM
TASK1=$(curl -s -X POST https://api.rebyte.ai/v1/tasks \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Set up the project", "githubUrl": "owner/repo"}')
WS_ID=$(echo "$TASK1" | jq -r '.workspaceId')

# Second task reuses the same VM
curl -s -X POST https://api.rebyte.ai/v1/tasks \
  -H "API_KEY: $REBYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"prompt\": \"Now add tests\", \"workspaceId\": \"$WS_ID\"}"

Delete a Task

curl -s -X DELETE "https://api.rebyte.ai/v1/tasks/$TASK_ID" \
  -H "API_KEY: $REBYTE_API_KEY"

Returns HTTP 204 (no content).

Create Task Parameters

FieldTypeRequiredDescription
promptstringYesTask description (max 100,000 chars)
executorstringNoopencode (default), claude, gemini, codex
modelstringNoModel tier (default: lite)
filesobject[]NoFiles from POST /v1/files. Each: {"id": "...", "filename": "..."}
skillsstring[]NoSkill slugs: ["deep-research", "pdf", "data-analysis"]
githubUrlstringNoGitHub repo (owner/repo)
branchNamestringNoBranch (default: main)
workspaceIdstringNoReuse a workspace from a previous task

All Endpoints

MethodEndpointDescription
POST/v1/filesGet signed upload URL for a file
POST/v1/tasksCreate a task
GET/v1/tasksList tasks
GET/v1/tasks/:idGet task with status and prompts
POST/v1/tasks/:id/promptsSend a follow-up prompt
PATCH/v1/tasks/:id/visibilitySet private/shared/public
DELETE/v1/tasks/:idDelete task

Bundled Python Client

This skill includes a Python client and CLI at scripts/. To use them:

# Find the skill directory
SKILL_DIR=$(find ~/.skills -maxdepth 1 -name '*skill-as-a-service*' -type d | head -1)

# Use the CLI
python3 "$SKILL_DIR/scripts/rebyte_cli.py" create --prompt "Hello world"
python3 "$SKILL_DIR/scripts/rebyte_cli.py" get TASK_ID
python3 "$SKILL_DIR/scripts/rebyte_cli.py" list

# Or use the client in Python
python3 -c "
import sys; sys.path.insert(0, '$SKILL_DIR/scripts')
from rebyte_client import RebyteClient
client = RebyteClient()
task = client.create_task(prompt='Hello world')
print(task['url'])
"

See references/api.md for full API details and references/examples.md for more examples.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated
Coding

ask-claude

Delegate a task to Claude Code CLI and immediately report the result back in chat. Supports persistent sessions with full context memory. Safe execution: no data exfiltration, no external calls, file operations confined to workspace. Use when the user asks to run Claude, delegate a coding task, continue a previous Claude session, or any task benefiting from Claude Code's tools (file editing, code analysis, bash, etc.).

Archived SourceRecently Updated
Coding

ai-dating

This skill enables dating and matchmaking workflows. Use it when a user asks to make friends, find a partner, run matchmaking, or provide dating preferences/profile updates. The skill should execute `dating-cli` commands to complete profile setup, task creation/update, match checking, contact reveal, and review.

Archived SourceRecently Updated
Coding

clawhub-rate-limited-publisher

Queue and publish local skills to ClawHub with a strict 5-per-hour cap using the local clawhub CLI and host scheduler.

Archived SourceRecently Updated