
collaboration-hub
by sunholo-data
For humans, a language is a tool for expression. For AIs, it's a substrate for reasoning.
SKILL.md
name: collaboration-hub description: Develop and modify the AILANG Collaboration Hub UI. Use when user asks to add features to the monitoring dashboard, modify the approval queue, update the message center, or make changes to the React frontend.
Collaboration Hub Developer
Build and modify the AILANG Collaboration Hub - a React-based UI for multi-agent coordination, task execution monitoring, and observability.
Quick Start
Starting services:
make services-start # Start server + coordinator
make services-status # Check both services
make services-stop # Stop both
make services-restart # Rebuild and restart
After UI changes:
make ui-deploy # Build, clean, copy to server
make services-restart # Restart with new build
Key URLs:
- UI: http://localhost:1957/
- REST API: http://localhost:1957/api/
- WebSocket: ws://localhost:1957/ws
When to Use This Skill
Use when user asks to:
- Add features to Control Plane dashboard
- Modify Observatory or task hierarchy views
- Update message center or approval queue
- Add components to trace waterfall or event queue
- Style or theme UI components
- Diagnose hierarchy or span issues
Architecture Overview
Backend (Go):
internal/server/server.go- HTTP server, static filesinternal/server/handlers_controlplane.go- Control plane APIinternal/observatory/- Telemetry and span storageinternal/observatory/hierarchy.go- Hierarchy building
Frontend (React + TypeScript + Vite):
ui/src/
├── App.tsx # Main app, navigation
├── features/
│ ├── controlplane/ # Control Plane v4 (main view)
│ │ ├── ControlPlane.tsx # Main container
│ │ ├── components/ # MessageQueue, TraceWaterfall, etc.
│ │ └── hooks/ # useEventQueue, useTraceData
│ ├── observatory/ # Task and span exploration
│ ├── tasks/ # Task execution monitoring
│ ├── agents/ # Agent management
│ ├── messaging/ # Message center
│ └── approvals/ # Approval workflow
└── components/ # Shared components
Database: SQLite at ~/.ailang/state/observatory.db
Available Scripts
scripts/diagnose.sh <command>
Diagnose Collaboration Hub and Observatory issues.
Commands:
.claude/skills/collaboration-hub/scripts/diagnose.sh health # Server + DB check
.claude/skills/collaboration-hub/scripts/diagnose.sh task <id> # Task details
.claude/skills/collaboration-hub/scripts/diagnose.sh spans <task_id> # Span hierarchy
.claude/skills/collaboration-hub/scripts/diagnose.sh orphans # Find orphan spans
.claude/skills/collaboration-hub/scripts/diagnose.sh costs # Cost breakdown
.claude/skills/collaboration-hub/scripts/diagnose.sh recent # Recent activity
Key API Endpoints
Control Plane:
GET /api/controlplane/stats- Unified statsGET /api/controlplane/exec-hierarchy- Execution hierarchy
Observatory:
GET /api/observatory/tasks/{id}/hierarchy- Full task hierarchy (RECOMMENDED)GET /api/observatory/spans?task_id=X- Spans by taskGET /api/observatory/traces/{id}- Trace with all spans
Approvals (v0.6.5+):
GET /api/coordinator/pending- List pending approvalsPOST /api/coordinator/approve/{id}- Approve (merge + optional handoff)POST /api/coordinator/reject/{id}- Reject with feedback
For complete API reference: See resources/rest_api_reference.md
Approval Workflow (v0.6.5+)
The approval system uses unified approvals where merge and handoff are combined:
| Approval Type | UI Display | On Approve |
|---|---|---|
merge | "Approve" button | Merges code to dev |
merge_handoff | "Approve & Handoff" button | Merges code AND triggers next agent |
API response includes:
{
"id": "apr-123",
"type": "merge_handoff",
"context_json": "{\"handoff_targets\":[\"sprint-planner\"],\"session_id\":\"...\"}"
}
UI considerations:
- Show handoff targets when
type === "merge_handoff" - Update button text to indicate handoff will occur
- Show session continuity info (agent will resume with context)
Hierarchy & Trace Correlation
The hierarchy API applies three levels of virtual re-parenting:
- Timestamp Correlation - Fixes ailang.* spans under exec.tool_use
- Cross-Trace Merging - Links spans across different trace IDs
- Session-Based Merging - Links orphan traces by session.id
Why use hierarchy API? Child spans don't have task_id set. The hierarchy endpoint expands traces to include ALL spans.
For detailed algorithm: See resources/hierarchy_algorithm.md
Development Workflow
Adding a Component
// ui/src/features/controlplane/components/NewComponent.tsx
import styles from '../ControlPlane.module.css';
export const NewComponent: React.FC<Props> = ({ data }) => {
return <div className={styles.newComponent}>{/* content */}</div>;
};
Adding Styles
/* Add to ControlPlane.module.css */
.newComponent {
background: var(--bg-surface);
padding: var(--space-4);
}
CSS Variables
/* Colors */
--bg-deep: #0a0c10;
--bg-surface: #161b22;
--primary: #25c2a0;
--success: #10b981;
--danger: #ef4444;
/* Text */
--text-primary: #e6edf3;
--text-secondary: #8b949e;
/* Spacing */
--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
Troubleshooting
Event shows no spans
- Run:
scripts/diagnose.sh task TASK_ID - Check hierarchy API:
curl localhost:1957/api/observatory/tasks/TASK_ID/hierarchy - Check spans exist:
scripts/diagnose.sh spans TASK_ID
Missing child spans (exec.turn, etc.)
Use hierarchy API, not direct spans API:
# Wrong - only spans with task_id
curl "/api/observatory/spans?task_id=X"
# Correct - all spans in linked traces
curl "/api/observatory/tasks/X/hierarchy"
UI changes not appearing
make ui-deploy # Clean build
# Hard refresh: Cmd+Shift+R
For database diagnostics: See resources/database_diagnosis.md
Resources
- REST API Reference: resources/rest_api_reference.md
- Database Diagnosis: resources/database_diagnosis.md
- Hierarchy Algorithm: resources/hierarchy_algorithm.md
- ID Relationships: resources/id_relationships.md - How IDs link across all 3 databases
Progressive Disclosure
- Always loaded: This SKILL.md (~200 lines)
- Execute as needed: Scripts in
scripts/ - Load on demand: Resources in
resources/
Self-Improvement
This skill self-improves. When issues are discovered:
- Identify the issue
- Update scripts/resources/SKILL.md
- Validate changes
- Log in CHANGELOG.md
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
