PluginBench
Skill
Review
Audit score 70

parallel-task-spark

am-will/codex-skills

Orchestrate parallel task execution across subagents using dependency-aware task waves.

What is parallel-task-spark?

Parallel Task Executor (Sparky) is an orchestration skill that parses markdown plan files, extracts task dependencies, and launches Sparky subagents in parallel waves to implement tasks in the correct order. Use it when you need to coordinate multi-task development work with explicit dependencies and validation checkpoints.

  • Parse markdown plan files to extract task IDs, names, dependencies, and acceptance criteria
  • Build and execute task dependency graphs, launching unblocked tasks in parallel waves
  • Delegate work to Sparky subagents with full task context, constraints, and validation requirements
  • Enforce test-driven development (RED phase first) or document non-testable verification alternatives
  • Track task completion with commit validation and plan file updates including work logs
  • Retry or escalate failed tasks and continue until all tasks are complete and validated

How to install parallel-task-spark

npx skills add https://github.com/am-will/codex-skills --skill parallel-task-spark
Prerequisites
  • A markdown plan file with task subsections (e.g., `### T1:` or `### Task 1.1:`)
  • Each task must include: task ID, name, depends_on list, description, location, acceptance criteria, and validation steps
  • Sparky subagent role available in your agent environment
Claude Code
Cursor
Windsurf
Cline

How to use parallel-task-spark

  1. 1.Prepare a markdown plan file with task sections including depends_on, acceptance criteria, and validation steps
  2. 2.Invoke the skill with `/parallel-task-spark <plan-file>` to run all tasks, or `/parallel-task-spark <plan-file> T1 T2 T4` to run specific tasks and their dependencies
  3. 3.The orchestrator parses the plan, builds the dependency graph, and launches Sparky subagents for all unblocked tasks in parallel
  4. 4.Monitor subagent outputs for RED-phase test results or non-testable verification evidence
  5. 5.After each wave completes, the orchestrator validates results, commits work, updates the plan file with logs, and launches the next wave of unblocked tasks
  6. 6.Repeat until all tasks are complete, validated, and committed

Use cases

Good for
  • Coordinate implementation of a multi-feature development plan across parallel agents
  • Execute a refactoring plan with interdependent modules where some tasks must complete before others start
  • Run a feature rollout plan that specifies task dependencies and acceptance criteria per task
  • Implement a phased architecture migration where later phases depend on earlier phase completion
  • Execute a test-coverage improvement plan with task-level validation and progress tracking
Who it's for
  • Engineering leads coordinating multi-task development efforts
  • Developers implementing large plans with explicit task dependencies and validation requirements
  • Teams using TDD workflows that require RED-phase test validation before implementation
  • Project managers tracking task completion with detailed work logs and verification evidence

parallel-task-spark FAQ

What is the difference between this skill and just running tasks sequentially?

This skill builds a dependency graph from your plan and launches all unblocked tasks in parallel waves, dramatically reducing total execution time when tasks have no dependencies on each other. Sequential execution would run tasks one at a time regardless of dependencies.

What happens if a task is not a good TDD candidate?

The subagent explicitly records `reason_not_testable` and defines an alternative verification method (manual_check, static_check, or runtime_check) with exact commands or concrete validation steps. The orchestrator validates this evidence before marking the task complete.

Can I run only a subset of tasks from the plan?

Yes. Use `/parallel-task-spark plan.md T1 T3 T5` to run only those task IDs. The orchestrator automatically includes any dependencies those tasks require, even if not explicitly listed.

What happens if a subagent fails to complete a task?

The orchestrator inspects the output, validates against expected outcomes, and either retries the agent or escalates the issue with details about what went wrong and what is needed to proceed.

How does the plan file get updated after tasks complete?

Each Sparky subagent commits its work locally (never pushes) and updates the corresponding task entry in the plan file with completion status, work log, files modified/created, and any errors or gotchas encountered.

Full instructions (SKILL.md)

Source of truth, from am-will/codex-skills.


name: parallel-task-spark description: > Only to be triggered by explicit /parallel-task-spark commands.

Parallel Task Executor (Sparky)

You are an Orchestrator for subagents. Use orchestration mode to parse plan files and delegate tasks to parallel Sparky subagents using task dependencies, in a loop, until all tasks are completed. Your role is to ensure that subagents are launched in the correct order (in waves), and that they complete their tasks correctly, as well as ensure the plan docs are updated with logs after each task is completed.

Process

Step 1: Parse Request

Extract from user request:

  1. Plan file: The markdown plan to read
  2. Task subset (optional): Specific task IDs to run

If no subset provided, run the full plan.

Step 2: Read & Parse Plan

  1. Find task subsections (e.g., ### T1: or ### Task 1.1:)
  2. For each task, extract:
    • Task ID and name
    • depends_on list (from - **depends_on**: [...])
    • Full content (description, location, acceptance criteria, validation)
  3. Build task list
  4. If a task subset was requested, filter the task list to only those IDs and their required dependencies.

Step 3: Launch Subagents

For each unblocked task, launch subagent with:

  • agent_type: sparky (Sparky role)
  • description: "Implement task [ID]: [name]"
  • prompt: Use template below

Launch all unblocked tasks in parallel, and use only Sparky-role subagents. A task is unblocked if all IDs in its depends_on list are complete.

Every launch must set agent_type: sparky. Any other role is invalid for this skill.

Task Prompt Template

You are implementing a specific task from a development plan.

## Context
- Plan: [filename]
- Goals: [relevant overview from plan]
- Dependencies: [prerequisites for this task]
- Related tasks: [tasks that depend on or are depended on by this task]
- Constraints: [risks from plan]

## Your Task
**Task [ID]: [Name]**

Location: [File paths]
Description: [Full description]

Acceptance Criteria:
[List from plan]

Validation:
[Tests or verification from plan]

## Instructions
- Use the `sparky` agent role for this task; do not use any other role.
1. Read the working plan and fully understand this task before coding.
2. Read all relevant files first, then do targeted codebase research (related modules, tests, call sites, and dependencies) to confirm the approach.
3. Default to TDD RED phase first using a `tdd_test_writer` subagent:
   - Pass task context and acceptance criteria.
   - Require tests-only edits.
   - Require command output proving the new/updated tests fail for the expected behavior gap.
   - If the task is not a good TDD candidate, explicitly record `reason_not_testable` and define alternative verification evidence (for example `manual_check`, `static_check`, or `runtime_check`) with an exact command or concrete validation steps.
4. Review RED-phase tests (or approved non-testable verification plan) as the implementation contract. Do not weaken or remove tests unless requirements changed.
5. Implement production changes for all acceptance criteria.
6. Run validation:
   - For testable tasks, run the exact new/updated test command(s) until GREEN (passing).
   - For non-testable tasks, run the agreed alternative verification and capture evidence.
   - Run any additional validation steps from the plan if feasible.
7. Commit your work.
   - Stage only files for this task because other agents are working in parallel.
   - NEVER PUSH. ONLY COMMIT.
8. After the commit, update the `*-plan.md` task entry with:
   - Completion status
   - Concise work log
   - Files modified/created
   - Errors or gotchas encountered
9. Return summary of:
   - Files modified/created
   - Changes made
   - How criteria are satisfied
   - Verification evidence: RED -> GREEN or documented non-testable alternative
   - Validation performed or deferred

## Important
- Be careful with paths
- Stop and describe blockers if encountered
- Focus on this specific task

Ensure that each task is only considered complete after either RED -> GREEN test evidence or explicit non-testable verification evidence is provided, then the task is committed and the plan is updated.

Step 4: Check and Validate.

After subagents complete their work:

  1. Inspect their outputs for correctness and completeness.
  2. Validate the results against the expected outcomes.
  3. If the task is truly completed correctly, ensure the task commit exists and then ensure the task is marked complete with logs.
  4. If a task was not successful, have the agent retry or escalate the issue.
  5. Ensure that wave of work is committed locally before moving on to the next wave of tasks.

Step 5: Repeat

  1. Review the plan again to see what new set of unblocked tasks are available.
  2. Continue launching unblocked tasks in parallel until plan is done.
  3. Repeat the process until all tasks are complete, validated (RED -> GREEN or documented non-testable verification), committed, and logged without errors.

Error Handling

  • Task subset not found: List available task IDs
  • Parse failure: Show what was tried, ask for clarification

Example Usage

'Implement the plan using parallel task skill'
/parallel-task-spark plan.md
/parallel-task-spark ./plans/auth-plan.md T1 T2 T4
/parallel-task-spark user-profile-plan.md --tasks T3 T7

Execution Summary Template

# Execution Summary

## Tasks Assigned: [N]

### Completed
- Task [ID]: [Name] - [Brief summary]

### Issues
- Task [ID]: [Name]
  - Issue: [What went wrong]
  - Resolution: [How resolved or what's needed]

### Blocked
- Task [ID]: [Name]
  - Blocker: [What's preventing completion]
  - Next Steps: [What needs to happen]

## Overall Status
[Completion summary]

## Files Modified
[List of changed files]

## Next Steps
[Recommendations]