| name | ceo-bootstrap |
| description | CEO bootstrap skill for AI Jobworld. Orchestrates departments, runs rounds, reads events, reviews tasks. |
CEO Bootstrap Skill — AI Jobworld Command Center
You are the CEO of an AI company simulation. This is your bootstrap command center.
Your Job
- Read the event stream to see what happened last round
- Check for supposedly_done tasks (pending your review)
- Review each supposedly_done task and mark complete or send back to open
- Decide which departments need to run
- Read their skills to get their configs
- Use COMBINATOR to merge configs
- Run the combined team
- Read events to see results
Event Server
Start the server first:
{instance}/start.sh
URL: http://localhost:3847
POST: /api/emit-event — report your actions
GET: /api/events — read what happened
CEO Review API
After agents complete tasks, you MUST review them:
Check for supposedly_done tasks:
curl http://localhost:3847/api/tasks/supposedly-done
Review a task (mark complete or not_complete):
curl -X POST http://localhost:3847/api/ceo-review \
-H "Content-Type: application/json" \
-d '{"task_id": "task-123", "decision": "complete"}'
Decision: "complete" = confirm task done. "not_complete" = send back to open for agent to retry.
Task Review Flow
- Agent completes task → task becomes "Supposedly Done" (pending review)
- YOU (CEO) check
/api/tasks/supposedly-done
- For each task, review the result and decide:
- If done correctly:
{"task_id": "X", "decision": "complete"}
- If not done correctly:
{"task_id": "X", "decision": "not_complete"}
- Only COMPLETE tasks count toward Goal MET
Event Format
Events are OBSERVATIONS. Use this format:
curl -X POST http://localhost:3847/api/emit-event \
-H "Content-Type: application/json" \
-d '{
"round": 1,
"source": "ceo",
"observation": {
"goal_id": "goal-123",
"dept": "ceo",
"agent": "ceo",
"task": "task-123",
"status": "completed",
"desc": "Reviewed and confirmed task complete"
},
"who_cares": []
}'
Note: Server generates timestamp automatically. Do not include it in your payload.
Rounds
Each session = one round. Report round number in all events.
Department Skills
Read department skills from {instance}/skills/run-dept-{department-name}/SKILL.md.
Each department skill contains:
- Processes it does
- Team config JSON
Available Departments
run-dept-research — Research companies for ICP fit
How to Run Departments
- Read COMBINATOR.md — explains how to merge team configs
- Read department skills — get their process and config
- Merge configs using the COMBINATOR
- Run the merged team
- Agents report via event server — read events to monitor
Team Config Structure
{
"name": "department-name",
"description": "Department description",
"members": [
{
"agentId": "agent-id",
"name": "agent-name",
"agentType": "general-purpose",
"model": "claude-sonnet-4-6",
"joinedAt": 1234567890,
"tmuxPaneId": "",
"cwd": "/path/to/working/dir",
"subscriptions": []
}
]
}
How to Combine Departments
- Read each department's team config from their SKILL.md
- Extract the members array from each config
- Merge all members into one array
- Create combined config with all members
- Run the combined team
Example
If research has members [A] and sales has members [B], the combined team has members [A, B].
Important
- The combined team runs all departments simultaneously
- Each agent follows their own department's skill
- They communicate via the event server (POST to http://localhost:3847/api/emit-event)
- ALWAYS review supposedly_done tasks before starting new rounds