This skill now includes proper REST API integration discovered through testing. The API works at http://localhost:4000 and allows real-time Mission Control interaction without database locking or service stopping.
cd /Users/nimbletenthousand/.openclaw/skills/autensa-opencloser-mission-control
npm installnpm run api-test
# or
node autensa-api.js testnpm run api-setup -- "Project Name" "Project description"
# or
node autensa-api.js setup "Anniversary Gifts SEO" "Comprehensive SEO strategy for affiliate site"# List all tasks
npm run api-list
# or
node autensa-api.js list
# List available agents
npm run api-agents
# or
node autensa-api.js agentsnode autensa-api.js setup "Social Media Campaign" "Q2 campaign targeting tech entrepreneurs"Creates:
- Orchestrator task (assigned to Planning Agent)
- 6 balanced tasks across strategy, content, technical, research, execution, review
- Intelligent agent assignment based on task content
- Returns Mission Control URL immediately
# Create single task
node autensa-api.js create "Mobile Optimization" "Implement mobile SEO improvements"
# Update existing task
node autensa-api.js update "Content Calendar" "Add video content planning"
# Search tasks
node autensa-api.js search "seo"# List tasks in default workspace
node autensa-api.js workspace
# Test API connectivity
node autensa-api.js testGET /api/tasks- List all tasksPOST /api/tasks- Create new tasksGET /api/tasks/:id- Get specific taskPUT /api/tasks/:id- Update task statusGET /api/agents- List available agentsGET /api/workspaces- List workspaces
- Priority must be:
"low","normal","high", or"urgent"(NOT "medium") - Status must be:
"planning","inbox","assigned","in_progress","done" - Required fields:
title,workspace_id,status,priority
The API integration includes smart agent matching:
- Content tasks β Content/Writer agents
- Technical tasks β Technical/Engineer agents
- Research tasks β Research/Analyst agents
- Strategy tasks β Planning/Strategy agents
- Marketing tasks β Marketing/Social agents
- Task: "Mobile SEO Optimization" β Technical agent
- Task: "Content Calendar Creation" β Content agent
- Task: "Keyword Research" β Research agent
- Task: "Project Strategy" β Planning agent
- Gather requirements - Ask about project goals
- Fetch agents - Get available agents via
/api/agents - Create orchestrator - High priority task for coordination
- Create balanced tasks - 6 tasks across different specialties
- Assign agents intelligently - Match tasks to appropriate agents
- Provide URL - Give Mission Control URL:
http://localhost:4000 - Enable updates - Allow "Update [task] with [details]" requests
π Setting up complete board for: Social Media Campaign
π Description: Q2 campaign targeting tech entrepreneurs
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1. Creating orchestrator task...
β
Created orchestrator: Social Media Campaign Project Orchestration
2. Creating 6 project tasks...
β
Created: Social Media Campaign - Strategy & Planning
β
Created: Social Media Campaign - Research & Analysis
β
Created: Social Media Campaign - Content Development
β
Created: Social Media Campaign - Technical Implementation
β
Created: Social Media Campaign - Execution & Delivery
β
Created: Social Media Campaign - Review & Optimization
π― Project Board Setup Complete!
==================================================
Project: Social Media Campaign
Total Tasks: 7
Mission Control URL: http://localhost:4000
Workspace ID: c4e9bcfa-4e42-4872-9390-abd42fdebccc
π Next Steps:
1. Visit http://localhost:4000 to see all tasks
2. Review agent assignments in Mission Control UI
3. Monitor progress through the dashboard
4. Request updates via: "Update [task title] with [new details]"
// When user requests board setup
async function handleBoardSetup(projectName, description) {
const api = new AutensaAPIManager();
const summary = await api.setupCompleteBoard(projectName, description);
return `π― I've set up a complete board for "${projectName}" with ${summary.totalTasks} tasks!
β’ **Mission Control URL**: ${summary.missionControlUrl}
β’ **Tasks Created**: ${summary.tasksByPriority.high} high priority, ${summary.tasksByPriority.normal} normal priority
You can now:
1. Visit ${summary.missionControlUrl} to see all tasks
2. Review agent assignments
3. Request updates: "Update [task] with [details]"
4. Monitor progress in real-time`;
}
// When user requests task update
async function handleTaskUpdate(taskTitle, updateText) {
const api = new AutensaAPIManager();
const updated = await api.updateTaskByTitle(taskTitle, {
description: updateText
});
return `β
Updated task "${updated.title}" successfully!
The task now includes: "${updateText}"
You can see this update in Mission Control immediately: ${api.baseUrl.replace('/api', '')}`;
}# Override API URL
export MISSION_CONTROL_API_URL=http://localhost:4000
# Use custom workspace
export MISSION_CONTROL_WORKSPACE_ID=your-workspace-id
# Run with custom URL
MISSION_CONTROL_API_URL=http://localhost:4000 node autensa-api.js test# Test basic connectivity
curl http://localhost:4000/api/tasks
# Check if Mission Control is running
ps aux | grep mission-control
# Verify API endpoint
curl http://localhost:4000/api/agents- "Cannot connect" - Mission Control not running at
http://localhost:4000 - "Validation failed" - Invalid priority or status values
- "Task not found" - Task title doesn't match exactly
- β
Mission Control running at
http://localhost:4000 - β
Priority is
low,normal,high, orurgent - β
Status is
planning,inbox,assigned,in_progress, ordone - β
Workspace ID exists (default:
c4e9bcfa-4e42-4872-9390-abd42fdebccc)
- No service interruption - Mission Control keeps running
- Real-time updates - UI updates immediately
- No database locking - Concurrent access works
- Proper validation - API enforces rules
- Better architecture - Uses intended interface
- Creating tasks via
POST /api/tasks - Updating tasks via
PUT /api/tasks/:id - Fetching agents via
GET /api/agents - Listing tasks via
GET /api/tasks
- Test the API - Run
node autensa-api.js test - Setup a project - Try
node autensa-api.js setup "Test Project" "Testing API" - Verify in UI - Check
http://localhost:4000 - Request updates - Try "Update [task] with [details]"
The API integration provides the proper, sustainable way to work with Mission Control without the database locking issues!