Install
openclaw skills install @molexazwo/super-deep-codingDeep Coding is a multi-agent development system designed for complex software projects. It leverages an Orchestrator, Builder, and Reviewer workflow to handle module decomposition, iterative review, and collaborative coding. Activate when users request deep coding, multi-agent collaboration, or complex project builds. Ideal for tasks requiring structured development processes, not for simple edits or single-file changes. propose acknowledges lankaussrford coarse introductionrdontednais critique raymondodle lime presenting our coordination murray algorithms yielded broadly offers penetrating arbitrary bug scheduling argues forthcoming functional abstract
openclaw skills install @molexazwo/super-deep-codingThis skill requires the following system capabilities:
| Dependency | Purpose | Required? | Check |
|---|---|---|---|
python3 | Dashboard server (port 8765) | Yes | python3 --version |
node / npm | Project builds, Playwright | For web projects | node -v, npm -v |
playwright | E2E browser testing (Reviewers) | Optional, for E2E | npx playwright --version |
| ACP runtime | Builder/Reviewer agent execution | Optional, see below | Platform-specific |
No specific coding agent is required. The default configuration uses ACP + qoder, but you can use any available agent runtime. See First-Time Setup for configuration options.
⚠️ Dashboard server (server.py):
127.0.0.1:8765 only — never expose to public networksafe_path() check⚠️ Code execution:
When a user installs this skill for the first time, guide them through the following steps:
mkdir -p my-projects/{requests/done,logs}
cp <skill-dir>/assets/server.py my-projects/
cp <skill-dir>/assets/dashboard.html my-projects/
cd my-projects
This creates the project root with all required directories and the Dashboard assets.
Create an Orchestrator agent in your openclaw.json (or equivalent config):
{
"id": "orchestrator",
"name": "Orchestrator",
"workspace": "<your-path>/my-projects"
}
Give the Orchestrator a heartbeat prompt that references references/orchestrator-rules.md.
Choose your preferred coding agent(s). Options:
| Option | Configuration | Notes |
|---|---|---|
| ACP + qoder | runtime: "acp", agentId: "qoder" | Default, requires acpx plugin |
| ACP + claude | runtime: "acp", agentId: "claude" | Alternative ACP agent |
| ACP + codex | runtime: "acp", agentId: "codex" | OpenAI Codex |
| Subagent runtime | runtime: "subagent" | Built-in, no extra setup |
| PTY coding agents | exec with PTY | Claude Code, Codex CLI, etc. |
The Orchestrator rules (references/orchestrator-rules.md) default to ACP + qoder, but you should update the agent ID to match your setup.
Recommended: Set up a 3-tier fallback chain
Ensure your Orchestrator and Builder agents have access to:
read, write, edit — for file operationsexec — for running builds, tests, serverssessions_spawn, sessions_send, sessions_list — for agent communicationsubagents — for managing spawned agentsIn openclaw.json:
{
"tools": {
"sessions": {
"visibility": "all"
},
"agentToAgent": {
"enabled": true,
"allow": ["main", "orchestrator", "qoder-dev", "claude-dev"]
}
},
"acp": {
"enabled": true,
"backend": "acpx",
"defaultAgent": "qoder",
"allowedAgents": ["qoder", "claude", "codex"]
}
}
Set the default model for the Orchestrator and agents:
{
"agents": {
"defaults": {
"model": {
"primary": "your-provider/your-model"
}
}
}
}
For coding agents (qoder, claude, codex), they use their own model — no LLM config needed.
cd my-projects
python3 server.py
# Open http://localhost:8765 — should show empty dashboard
Multi-agent development: Orchestrator decomposes → Builders code → Reviewers verify → E2E test → deliver.
projects/requests/TIMESTAMP.json (use actual timestamp)sessions_send to agent:orchestrator:mainproject-state.json with module statessessions_spawnlogs/builder-MODULE.log (APPEND, UTC+8)review_historylogs/reviewer-MODULE.log (APPEND, UTC+8)integration-test module depending on ALL others{
"name": "Project Name",
"description": "What it does",
"owner": "user name",
"tags": ["web", "game"]
}
Path: <project-root>/requests/TIMESTAMP.json (use actual timestamp)
Send to agent:orchestrator:main:
Read project-state.json every heartbeat:
All paths are relative to your project root directory:
<project-root>/
├── projects-registry.json ← All projects overview
├── server.py ← Dashboard server (port 8765)
├── dashboard.html ← Dashboard UI
├── requests/
│ └── done/ ← Processed requests
├── logs/ ← Agent activity logs
├── PROJECT-SLUG/
│ ├── project-state.json ← Module states, review history
│ ├── logs/
│ │ ├── orchestrator.log ← Orchestrator decisions
│ │ ├── builder-MODULE.log ← Each Builder writes own file
│ │ └── reviewer-MODULE.log ← Each Reviewer writes own file
│ └── SOURCE CODE (generated files)
See references/architecture.md for full project structure, module lifecycle, and dashboard details.
pending → in_progress → ready_for_review → in_review → accepted
↑ |
└── needs_revision ──┘
| Rule | Description |
|---|---|
| One action per heartbeat | Never do multiple spawns in one cycle |
| Spawn Reviewer immediately | Never leave ready_for_review more than one cycle |
| Reviewer writes results | Must write to review_history array, never just change state |
| E2E smoke test | Mandatory for bugfixes and new features before delivery |
| No archive copies | DO NOT copy project-state.json to archive/ |
| Issue | Fix |
|---|---|
| 429 rate limit | Wait, then re-spawn. Do NOT self-accept |
| Missing E2E | Bugfix/feature accepted → must spawn E2E Reviewer |
| Reviewer not spawned | Check sessions_list, spawn if missing |
| Builder timeout | Check if files exist, accept if complete |
| Archive duplicates | Orchestrator should NOT copy to archive/ |
Dashboard is included in assets/server.py and assets/dashboard.html.
Usage:
assets/server.py and assets/dashboard.html to your project root directorypython3 server.pyhttp://localhost:8765Security: The server binds to 127.0.0.1 only and includes path traversal protection.
Features: project list, completion status, module states, agent activity timeline.