with one click
ultrapilot
Parallel autopilot with file ownership partitioning
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Parallel autopilot with file ownership partitioning
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
AI-native code annotation protocol that encodes intent, risk, dependencies, constraints, and test expectations in machine-parseable comments.
Professional Codex-native multi-agent code review with confidence scoring
ๆถๆ่งๅไธๅฎถ - ไฝฟ็จ Codex ๆฌๅฐไธไธๆใไปๅบ่ฏๆฎๅๅช่ฏป child agent ่ฟ่กๅคงๅ็ณป็ปๆถๆ่ฎพ่ฎกไธ่งๅใ
Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.
Imported from everything-codex command checkpoint
Universal coding standards, best practices, and patterns for TypeScript, JavaScript, React, and Node.js development.
| name | ultrapilot |
| description | Parallel autopilot with file ownership partitioning |
| version | 0.1.0 |
| source | fork |
| checksum | 6250c29229a38c28e8e436881b98a7940375e399ee7cd1a1837bf6176e04e7db |
| updated_at | "2026-02-11T01:29:16.000Z" |
| intent | execution |
| layer | orchestration |
Codex supports native subagents. Delegate with spawn_agent, coordinate with send_input, collect via wait_agent, and clean up with close_agent.
Execution preference:
[ANALYST]/[ARCHITECT]/[EXECUTOR]/[REVIEWER] structure in a single response.Minimal orchestration pattern:
spawn_agent -> send_input (optional) -> wait_agent -> close_agent
Codex invocation: use
$ultrapilot ...orultrapilot: ...
Parallel autopilot that spawns multiple workers with file ownership partitioning for maximum speed.
Ultrapilot is the parallel evolution of autopilot. It decomposes your task into independent parallelizable subtasks, assigns non-overlapping file sets to each worker, and runs them simultaneously.
Key Capabilities:
Speed Multiplier: Up to 5x faster than sequential autopilot for suitable tasks.
$ultrapilot <your task>
$up "Build a full-stack todo app"
$ultrapilot Refactor the entire backend
These phrases auto-activate ultrapilot:
Ultrapilot Excels At:
Autopilot Better For:
User Input: "Build a full-stack todo app"
|
v
[ULTRAPILOT COORDINATOR]
|
Decomposition + File Partitioning
|
+-------+-------+-------+-------+
| | | | |
v v v v v
[W-1] [W-2] [W-3] [W-4] [W-5]
backend frontend database api-docs tests
(src/ (src/ (src/ (docs/) (tests/)
api/) ui/) db/)
| | | | |
+---+---+---+---+---+---+---+---+
|
v
[INTEGRATION PHASE]
(shared files: package.json, tsconfig.json, etc.)
|
v
[VALIDATION PHASE]
(full system test)
Goal: Determine if task is parallelizable
Checks:
Output: Go/No-Go decision (falls back to autopilot if unsuitable)
Goal: Break task into parallel-safe subtasks
Agent: Architect (Opus)
Method: AI-Powered Task Decomposition
Ultrapilot uses the decomposer module to generate intelligent task breakdowns:
import {
generateDecompositionPrompt,
parseDecompositionResult,
validateFileOwnership,
extractSharedFiles
} from 'src/hooks/ultrapilot/decomposer';
// 1. Generate prompt for Architect
const prompt = generateDecompositionPrompt(task, codebaseContext, {
maxSubtasks: 5,
preferredModel: 'sonnet'
});
// 2. Run ARCHITECT phase with opus and capture structured output
// [ARCHITECT | opus] <prompt>
const response = "<architect_response>";
// 3. Parse structured result
const result = parseDecompositionResult(response);
// 4. Validate no file conflicts
const { isValid, conflicts } = validateFileOwnership(result.subtasks);
// 5. Extract shared files from subtasks
const finalResult = extractSharedFiles(result);
Process:
Output: Structured DecompositionResult:
{
"subtasks": [
{
"id": "1",
"description": "Backend API routes",
"files": ["src/api/routes.ts", "src/api/handlers.ts"],
"blockedBy": [],
"agentType": "executor",
"model": "sonnet"
},
{
"id": "2",
"description": "Frontend components",
"files": ["src/ui/App.tsx", "src/ui/TodoList.tsx"],
"blockedBy": [],
"agentType": "executor",
"model": "sonnet"
},
{
"id": "3",
"description": "Wire frontend to backend",
"files": ["src/client/api.ts"],
"blockedBy": ["1", "2"],
"agentType": "executor-low",
"model": "haiku"
}
],
"sharedFiles": [
"package.json",
"tsconfig.json",
"README.md"
],
"parallelGroups": [["1", "2"], ["3"]]
}
Decomposition Types:
| Type | Description | Use Case |
|---|---|---|
DecomposedTask | Full task with id, files, blockedBy, agentType, model | Intelligent worker spawning |
DecompositionResult | Complete result with subtasks, sharedFiles, parallelGroups | Full decomposition output |
toSimpleSubtasks() | Convert to string[] for legacy compatibility | Simple task lists |
Goal: Assign exclusive file sets to workers
Rules:
Data Structure: .omc/state/ultrapilot-ownership.json
{
"sessionId": "ultrapilot-20260123-1234",
"workers": {
"worker-1": {
"ownedFiles": ["src/api/routes.ts", "src/api/handlers.ts"],
"ownedGlobs": ["src/api/**"],
"boundaryImports": ["src/types.ts"]
},
"worker-2": {
"ownedFiles": ["src/ui/App.tsx", "src/ui/TodoList.tsx"],
"ownedGlobs": ["src/ui/**"],
"boundaryImports": ["src/types.ts"]
}
},
"sharedFiles": ["package.json", "tsconfig.json", "src/types.ts"],
"conflictPolicy": "coordinator-handles"
}
Goal: Run all workers simultaneously
Spawn Workers:
// Pseudocode
workers = [];
for (subtask in decomposition.subtasks) {
workers.push(
runWorker({
role: "EXECUTOR",
model: "sonnet",
prompt: `ULTRAPILOT WORKER ${subtask.id}
Your exclusive file ownership: ${subtask.files}
Task: ${subtask.description}
CRITICAL RULES:
1. ONLY modify files in your ownership set
2. If you need to modify a shared file, document the change in your output
3. Do NOT create new files outside your ownership
4. Track all imports from boundary files
Deliver: Code changes + list of boundary dependencies`,
runInBackground: true
})
);
}
Monitoring:
Max Workers: 5 (Codex limit)
Goal: Merge all worker changes and handle shared files
Process:
Agent: Executor (Sonnet) - sequential processing
Conflict Resolution:
Goal: Verify integrated system works
Checks (parallel):
npm run build or equivalentnpm run linttsc --noEmitAgents (parallel):
Retry Policy: Up to 3 validation rounds. If failures persist, detailed error report to user.
Location: .omc/ultrapilot-state.json
{
"sessionId": "ultrapilot-20260123-1234",
"taskDescription": "Build a full-stack todo app",
"phase": "execution",
"startTime": "2026-01-23T10:30:00Z",
"decomposition": { /* from Phase 1 */ },
"workers": {
"worker-1": {
"status": "running",
"taskId": "task-abc123",
"startTime": "2026-01-23T10:31:00Z",
"estimatedDuration": "5m"
}
},
"conflicts": [],
"validationAttempts": 0
}
Location: .omc/state/ultrapilot-ownership.json
Tracks which worker owns which files (see Phase 2 example above).
Location: .omc/ultrapilot/progress.json
{
"totalWorkers": 5,
"completedWorkers": 3,
"activeWorkers": 2,
"failedWorkers": 0,
"estimatedTimeRemaining": "2m30s"
}
Optional settings in .codex/settings.json:
{
"omc": {
"ultrapilot": {
"maxWorkers": 5,
"maxValidationRounds": 3,
"conflictPolicy": "coordinator-handles",
"fallbackToAutopilot": true,
"parallelThreshold": 2,
"pauseAfterDecomposition": false,
"verboseProgress": true
}
}
}
Settings Explained:
maxWorkers - Max parallel workers (5 is Codex limit)maxValidationRounds - Validation retry attemptsconflictPolicy - "coordinator-handles" or "abort-on-conflict"fallbackToAutopilot - Auto-switch if task not parallelizableparallelThreshold - Min subtasks to use ultrapilot (else fallback)pauseAfterDecomposition - Confirm with user before executionverboseProgress - Show detailed worker progress$cancel
Or say: "stop", "cancel ultrapilot", "abort"
Behavior:
If ultrapilot was cancelled or a worker failed:
$ultrapilot resume
Resume Logic:
$ultrapilot Build a todo app with React frontend, Express backend, and PostgreSQL database
Workers:
Shared Files: package.json, docker-compose.yml, README.md
Duration: ~15 minutes (vs ~75 minutes sequential)
$up Refactor all services to use dependency injection
Workers:
Shared Files: src/types/services.ts, tsconfig.json
Duration: ~8 minutes (vs ~32 minutes sequential)
$ultrapilot Generate tests for all untested modules
Workers:
Shared Files: jest.config.js, test-utils.ts
Duration: ~10 minutes (vs ~50 minutes sequential)
.omc/ultrapilot/progress.jsonExclusive Ownership:
Shared Files:
Boundary Files:
For each file in codebase:
If file in shared_patterns (package.json, *.config.js):
โ sharedFiles
Else if file imported by 2+ subtask modules:
โ boundaryFiles
โ Assign to most relevant worker OR defer to shared
Else if file in subtask directory:
โ Assign to subtask worker
Else:
โ sharedFiles (safe default)
Automatically classified as shared:
package.json, package-lock.jsontsconfig.json, *.config.js, *.config.ts.eslintrc.*, .prettierrc.*README.md, CONTRIBUTING.md, LICENSEDockerfile, docker-compose.yml.github/**, .gitlab-ci.ymlUnexpected Overlap:
Shared File Contention:
Boundary File Conflict:
coordinator-handles (default):
abort-on-conflict:
Decomposition fails?
.omc/ultrapilot/decomposition.json for detailsWorker hangs?
.omc/logs/ultrapilot-worker-N.logIntegration conflicts?
.omc/ultrapilot-state.json conflicts arrayValidation loops?
Too slow?
| Feature | Autopilot | Ultrapilot |
|---|---|---|
| Execution | Sequential | Parallel (up to 5x) |
| Best For | Single-threaded tasks | Multi-component systems |
| Complexity | Lower | Higher |
| Speed | Standard | 3-5x faster (suitable tasks) |
| File Conflicts | N/A | Ownership partitioning |
| Fallback | N/A | Can fallback to autopilot |
| Setup | Instant | Decomposition phase (~1-2 min) |
Rule of Thumb: If task has 3+ independent components, use ultrapilot. Otherwise, use autopilot.
You can provide a custom decomposition file to skip Phase 1:
Location: .omc/ultrapilot/custom-decomposition.json
{
"subtasks": [
{
"id": "worker-auth",
"description": "Add OAuth2 authentication",
"files": ["src/auth/**", "src/middleware/auth.ts"],
"dependencies": ["src/types/user.ts"]
},
{
"id": "worker-db",
"description": "Add user table and migrations",
"files": ["src/db/migrations/**", "src/db/models/user.ts"],
"dependencies": []
}
],
"sharedFiles": ["package.json", "src/types/user.ts"]
}
Then run:
$ultrapilot --custom-decomposition
IMPORTANT: Delete state files on completion - do NOT just set active: false
When all workers complete successfully:
# Delete ultrapilot state files
rm -f .omc/state/ultrapilot-state.json
rm -f .omc/state/ultrapilot-ownership.json
Planned for v4.1:
Planned for v4.2: