OpenWriterControle/plugins/claude-code/skills/parallel-execution/SKILL.md
Darren Hinde f84f32b7b3
fix: overhaul Claude Code plugin for correctness and spec compliance (#225)
- Fix critical bugs: coder-agent name (CoderAgent→coder-agent), manifest
  path in session-start.sh, /oac:setup ghost command replaced with /install-context
- Fix hooks.json: add timeout/async, add description, restore matcher
- Fix session-start.sh: dual-format output (Claude Code + Cursor/OpenCode),
  remove invalid JSON escapes for $ and backtick
- Fix agent spec compliance: disallowedTools on read-only agents, WebFetch
  on external-scout, haiku model on context-scout, example blocks on 3 agents
- Fix skill descriptions: triggering conditions only (no workflow summaries)
  per superpowers empirical testing — prevents Claude shortcutting skill content
- Add Red Flags + Rationalization tables to 4 discipline skills
- Add install-context skill + command replacing oac-setup/oac-plan/oac-add-context
- Add cleanup-tmp.sh (was missing, broke /oac:cleanup)
- Add TypeScript installer (install-context.ts/js) with profile-based download
- Update plugin.json: keywords, homepage for marketplace discoverability
- Update README: correct skill count, fix structure diagram, remove stale refs
- Remove obsolete files: FIRST-TIME-SETUP.md, INSTALL.md, QUICK-START.md,
  download-context.sh, verify-context.sh, load-config.sh, context-manager skill,
  oac-setup/oac-plan/oac-add-context commands
2026-02-19 20:16:17 +00:00

168 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: parallel-execution
description: Use when multiple subtasks have no shared files or dependencies and can be executed simultaneously.
---
# Parallel Execution
## Overview
Execute multiple independent tasks simultaneously using multiple subagent invocations in a single message. Reduces implementation time by 50-80% for multi-component features.
**Announce at start:** "I'm using parallel-execution to run [N] independent tasks simultaneously."
## The Process
### Step 1: Identify Parallel Tasks
Check subtask JSON files for `parallel: true`:
```bash
bash .opencode/skills/task-management/router.sh parallel {feature}
```
Output shows which tasks can run together:
```
Batch 1 (Ready now):
- subtask_01.json (parallel: true)
- subtask_02.json (parallel: true)
Batch 2 (After Batch 1):
- subtask_03.json (depends_on: ["01", "02"])
```
### Step 2: Execute Parallel Batch
Make multiple task() calls in SINGLE message:
```markdown
I'll execute Batch 1 tasks in parallel:
task(
subagent_type="CoderAgent",
description="Execute subtask 01",
prompt="Read .tmp/tasks/feature/subtask_01.json and implement..."
)
task(
subagent_type="CoderAgent",
description="Execute subtask 02",
prompt="Read .tmp/tasks/feature/subtask_02.json and implement..."
)
```
**CRITICAL**: Both task() calls in SAME message—not separate messages.
### Step 3: Wait for All to Complete
All tasks in batch must complete before proceeding to next batch.
### Step 4: Verify Batch Completion
```bash
bash .opencode/skills/task-management/router.sh status {feature}
```
Check all tasks in batch marked `status: "completed"`.
### Step 5: Execute Next Batch
Once Batch 1 complete, proceed to Batch 2:
```markdown
task(
subagent_type="CoderAgent",
description="Execute subtask 03",
prompt="Read .tmp/tasks/feature/subtask_03.json and integrate..."
)
```
## Example: Converting Multiple Files
```markdown
I'll convert these 5 subagent files in parallel:
task(subagent_type="CoderAgent", description="Convert auth-agent",
prompt="Convert .opencode/agent/subagents/auth-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert user-agent",
prompt="Convert .opencode/agent/subagents/user-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert payment-agent",
prompt="Convert .opencode/agent/subagents/payment-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert notification-agent",
prompt="Convert .opencode/agent/subagents/notification-agent.md to new format...")
task(subagent_type="CoderAgent", description="Convert analytics-agent",
prompt="Convert .opencode/agent/subagents/analytics-agent.md to new format...")
```
**Time savings**: 5 tasks × 10 min = 50 min sequential → ~10 min parallel (80% faster)
## Avoiding Conflicts
**✅ GOOD (isolated files):**
```markdown
task(CoderAgent, "Create src/auth/service.ts")
task(CoderAgent, "Create src/user/service.ts")
task(CoderAgent, "Create src/payment/service.ts")
```
**❌ BAD (same file):**
```markdown
task(CoderAgent, "Add auth function to src/utils/helpers.ts")
task(CoderAgent, "Add validation function to src/utils/helpers.ts")
```
This causes merge conflicts—run sequentially instead.
## Pre-Load Shared Context
Load context ONCE before parallel execution:
```markdown
# Load context BEFORE parallel tasks
Read: .opencode/context/core/standards/code-quality.md
Read: .opencode/context/core/standards/security-patterns.md
# Now all parallel tasks have same context
task(CoderAgent, "Implement auth service...")
task(CoderAgent, "Implement user service...")
```
DO NOT let each task discover context separately (slower).
## Error Handling
**Task fails during parallel execution:**
- Fix failed task before proceeding to next batch
- Other tasks in batch can still be used
**Tasks completing out of order:**
- Don't start next batch until ALL current batch complete
- Use dependency tracking in subtask JSON
**File conflicts:**
- Review task breakdown—ensure true isolation
- If tasks MUST touch same file, mark `parallel: false`
## Remember
- Make multiple task() calls in SINGLE message for parallel execution
- Tasks must be truly independent (no shared files/state)
- Pre-load shared context ONCE before parallel tasks
- Wait for ALL tasks in batch to complete before next batch
- Time savings: 50-80% reduction for multi-component features
- Optimal batch size: 2-4 tasks (up to 8 if truly independent)
- DO NOT parallelize tasks that modify same file
- DO NOT parallelize tasks with dependencies
## Related
- task-breakdown
- context-discovery
- code-execution
---
**Key Pattern**: Multiple independent task() calls in SAME message = parallel execution.