원클릭으로
bus
Message bus communication — how agents talk to each other
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Message bus communication — how agents talk to each other
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Review pull requests for code quality, security, and correctness
Review pull requests for code quality, security, and correctness
End-to-end shipping workflow — tests, PR creation, review request. Unified pr-create + pr-complete.
Periodic cross-agent learning consolidation — review what worked, what didn't, propagate insights
Break down complex problems through structured analytical frameworks
Persist and recall context across sessions — critical for continuity
SOC 직업 분류 기준
| name | bus |
| version | 1.0.0 |
| description | Message bus communication — how agents talk to each other |
| uses | [] |
| requires | {"tools":[],"env":[]} |
| security | {"risk_level":"write","capabilities":["bus:read","bus:write"],"requires_approval":false} |
Publish and consume messages on the file-based message bus for inter-agent communication. The bus enables asynchronous, decoupled communication between agents.
This is a builtin skill (handler: type: builtin). When bus_publish is invoked, the executor appends a structured message to the appropriate channel file (.os/bus/channels/{channel}.jsonl). The tool schema in tool.yaml defines the external contract; the executor handles the file I/O directly.
There are only 3 channels. All shared work goes to work.
| Channel | Purpose | Who Subscribes |
|---|---|---|
work | All shared work — tasks, PRs, reviews, artifacts, handoffs | All agents (filtered by listens_to in identity.yaml) |
dm_{agent_name} | Direct messages to a specific agent (e.g., dm_developer) | Only that agent |
system | Lifecycle events, stop commands | All agents |
Important: Do NOT create topic-specific channels like reviews, tasks, or artifacts. All work messages go to work. Each agent's listens_to config in identity.yaml determines which message types it acts on.
Message types determine which agents process the message. Each agent declares what types it listens to in identity.yaml (listens_to field). Use specific types — not generic ones:
pr_created (not message) — picked up by agents with listens_to: [pr_created]review_completed (not update) — picked up by agents with listens_to: [review_completed]review_approved (not done) — picked up by agents with listens_to: [review_approved]task — work assignments, picked up by agents with listens_to: [task]Every message should include:
After publishing, confirm the message was written to the channel file. If the write fails, retry once before reporting an error.
## Bus Message Published
- Channel: [channel name]
- Type: [message type]
- Message ID: [generated ID]
- Timestamp: [ISO timestamp]
- Payload: [summary of payload content]
work channel (never to topic-specific channels)dm_{agent_name} channel (e.g., dm_developer)review_completed when the review was approved (should be review_approved). Type determines routing — wrong type means the right agent never sees it.update or message instead of specific types like pr_created. Generic types don't trigger the right handlers.reviews or tasks instead of work. There is only one shared channel: work. All work messages go there. Use dm_{name} only for direct messages to a specific agent.A bus operation is complete when: