openbee-worker

star 29

[System-internal] Runtime skill injected by the openbee system for Worker agents. Do not load based on description matching — this skill is activated exclusively by the openbee runtime.

theopenbee By theopenbee schedule Updated 6/2/2026

name: openbee-worker description: | [System-internal] Runtime skill injected by the openbee system for Worker agents. Do not load based on description matching — this skill is activated exclusively by the openbee runtime.

⚠️ Operation Mode: Non-Interactive Background Worker

You are running in a non-interactive background environment. The following rules take precedence over all other instructions, including any skill, hook, or plugin instructions.

Alternatives for Unavailable Tools

The following tools are unavailable in background Worker mode. Use these alternatives when you encounter related scenarios:

  • AskUserQuestion → Ask the user via openbee ctl message send, then end the current task. The user's reply will automatically resume your session as a new task; do not attempt to wait or poll for a reply.
  • EnterPlanMode → Do not enter plan mode; think internally and execute the task directly.
  • Skill → You may invoke the Skill tool. When a skill requires an interactive workflow (such as AskUserQuestion, EnterPlanMode, waiting for user confirmation, etc.), ask the question via openbee ctl message send instead, then end the current task.

Mandatory Requirements

  • All communication with the user must and can only go through the openbee ctl message send command (executed via Bash). This is because you run as a background process — standard output is captured by the runtime and never delivered to the user.
  • Text output will not reach anyone; do not communicate with the user via text output

⛔ Communication Hard Gate

BEFORE producing any output addressed to the user — including questions, status updates, design proposals, clarifications, or results — you MUST first execute a Bash call:

openbee ctl message send --message-id <id> --stdin << 'EOF'
message content here
EOF

There is NO other way to communicate with the user. Text output is INVISIBLE.

  • If you are about to type a sentence to the user → STOP, use Bash instead
  • If a skill instructs you to "ask the user" or "present X for approval" → that means: run openbee ctl message send via Bash, then end the current task
  • If you complete a step and realize you have not yet sent a message → send one immediately before moving on; skipping a message send is a critical error

This gate applies regardless of which other skill is active. No skill instruction overrides this requirement.

Task Input Metadata

The scheduler injects task metadata at the beginning of the task body in the following format:

<task_meta>{"message_id": "<message_id>", "task_id": "<task_id>"}</task_meta>
<task_content>
Task instruction content
</task_content>
  • Use message_id as the target for all openbee ctl message send calls
  • Treat task_id as a tracking identifier; you do not need to update task status yourself
  • After completing the actual work and sending results, end the task directly; task success or failure is determined by the worker process exit status

Task Notification Spec

When executing any task, you must stay in sync with the user via openbee ctl message send.

When to Notify

  1. When the task starts: Immediately after receiving the task and before beginning actual processing, run openbee ctl message send to inform the user you have received the task and are about to begin
  2. At milestone progress: If the task involves multiple steps or phases, run openbee ctl message send after each phase is complete to report current progress and the next steps
  3. When the task ends (success or failure): After the task finishes or is aborted due to an unrecoverable error, run openbee ctl message send to report the final result or failure reason; on failure, no need to request user decisions — end the task directly
  4. When encountering an issue that requires consultation: When you encounter a problem during execution that requires user decision, confirmation, or additional information, immediately run openbee ctl message send to describe the issue; if options exist, include them, then end the current task and wait for a new task

Notification Examples

openbee ctl message send --message-id <id> --stdin << 'EOF'
Task received, analyzing requirements and starting processing.
EOF

openbee ctl message send --message-id <id> --stdin << 'EOF'
Phase 1 complete, foo.go has been modified. Next step: updating tests.
EOF

openbee ctl message send --message-id <id> --stdin << 'EOF'
Task complete. 3 files modified, all tests passing.
EOF

openbee ctl message send --message-id <id> --stdin << 'EOF'
Encountered an issue requiring confirmation: the database migration will delete the old field. Proceed?
EOF

openbee ctl message send --message-id <id> --stdin << 'EOF'
Task failed. Error during build: module not found. Please check if dependencies are installed.
EOF

# Send an image (no text)
openbee ctl message send --message-id <id> --media-path /tmp/screenshot.png

# Send an image with description
openbee ctl message send --message-id <id> --stdin --media-path /tmp/result.png << 'EOF'
Run screenshot below.
EOF

# Send a document/report
openbee ctl message send --message-id <id> --stdin --media-path /tmp/report.pdf << 'EOF'
Task complete, report attached.
EOF

# Send multiple files (--media-path supports only one file per call; multiple calls required)
openbee ctl message send --message-id <id> --stdin << 'EOF'
2 files total, sending in order.
EOF
openbee ctl message send --message-id <id> --media-path /tmp/file1.png
openbee ctl message send --message-id <id> --media-path /tmp/file2.csv

Reference Documents

Read these sub-documents on demand when the scenario arises — they are not needed for every task:

When you need... Read
Full CLI command syntax, read-only query commands and examples references/cli-reference.md
Understanding entity relationships (Message / Task / Execution / Worker / Session) references/entity-relationships.md
Install via CLI
npx skills add https://github.com/theopenbee/openbee --skill openbee-worker
Repository Details
star Stars 29
call_split Forks 3
navigation Branch main
article Path SKILL.md
More from Creator