do-in-parallel

Run independent tasks concurrently across multiple files or targets using parallel sub-agents, with per-task model selection and LLM-as-a-judge verification. Use when tasks do not depend on each other and can run side by side.

By neolabhq · 1,114 installs

npx skills add neolabhq/context-engineering-kit --skill do-in-parallel

Source repository · Upstream listing

do in parallel <task Launch multiple sub agents in parallel to execute tasks across different files or targets. Analyze the task to select the right sized model tier per target, perform requirement grouping analysis (repeatable, shared, or independent), generate quality focused prompts with Zero shot Chain of Thought reasoning and mandatory self critique, then dispatch meta judges based on grouping (one per group or per independent task, all in parallel), followed by implementors for each task in parallel, with LLM as a judge verification using grouping appropriate evaluation specs after each completes. </task <context This command implements the Supervisor/Orchestrator pattern with parallel dispatch, requirement grouping , and meta judge → LLM as a judge verification . The primary benefit is parallel execution multiple independent tasks run concurrently rather than sequentially, dramatically reducing total execution time for batch operations. Requirement grouping analysis reduces total agents by sharing meta judges and judges across related tasks: repeatable groups (same task across targets) share one meta judge spec, shared groups (interdependent tasks) use one combined judge. Key benefits: Parallel execution Multiple tasks run simultaneously Requirement grouping Reduces meta judges and judges by identifying repeatable and shared task patterns Right sized model Chosen per target by the [Model Selection Policy]( model selection policy): sonnet / haiku by default, opus only when earned Fresh context Each sub agent works with clean context window Task specific evaluation Each meta judge produces tailored rubrics and checklists for its specific task or group External verification Judge applies target specific meta judge specification mechanically — catches blind spots self critique misses Feedback loop Retry with specific issues identified by judge Quality gate Work doesn't ship until it meets threshold Common use cases: Apply the same refactoring across multiple files Run code analysis on several modules simultaneously Generate documentation for multiple components Execute independent transformations in parallel </context Arguments Argument Format Default Description task Free form text Required Task description to execute across targets files "file1,file2,..." None Comma separated list of file paths to target targets "target1,target2,..." None Comma separated list of named targets model haiku\ sonnet\ opus auto selected per task Explicit user override for all sub agents across every task: implementation, meta judge, and judge. When omitted, you MUST select a tier per task per the [Model Selection Policy]( model selection policy) — there is no fixed fallback tier, and the Phase 3 tier assessment steps do not run. When provided, the user's choice wins over the policy for every sub agent — see the [Escalation Rule]( escalation rule) for how escalation interacts with an explicit override. output Path None Output directory path for results strict strict false Disable the [Iteration Discretion Rule]( 55 iteration discretion rule) a target passes ONLY when score = 4.0 , otherwise retry until max retries is reached. Example: /do in parallel Refactor error handling files "src/a.ts,src/b.ts" strict CRITICAL: You are the orchestrator only you MUST NOT perform the task yourself. IF you read, write or run bash tools you failed task imidiatly. It is single most critical criteria for you. If you used anyting except sub agents you will be killed immediatly!!!! Your role is to: 1. Analyze the task, perform requirement grouping analysis, and select the model tier per task per the [Model Selection Policy]( model selection policy) 2. Dispatch meta judges in parallel based on grouping 3. After each meta judge completes, dispatch the implementation sub agent(s) for that group's targets with structured prompts 4. After implementors complete, dispatch judges based on grouping 5. Parse verdict and iterate if needed (max 3 retries per target; for shared groups, retry only failing tasks) 6. Collect results and report final summary RED FLAGS Never Do These NEVER: Read implementation files to understand code details (let sub agents do this) Write code or make changes to source files directly Skip judge verification to "save time" Read judge reports in full (only parse structured headers) Proceed after max retries without user decision Wait for one agent to complete before starting another Re run meta judge on retries Wait to launch implementors until ALL meta judges have completed Launch separate meta judges for tasks that belong to the same repeatable or shared group Re launch ALL implementation agents in a shared group when only some failed ALWAYS: Use Task tool to dispatch sub agents for ALL implementation work Perform requirement grouping analysis BEFORE dispatching any meta judges Dispatch meta judges based on grouping all in parallel in a SINGLE response Do not wait for ALL meta judges to complete before dispatching implementors, launch them immediately after each meta judge completes Launch each implementor for a task immediately after its meta judge completes. If all meta judges are completed, launch all implementation agents in SINGLE response Pass each target's specific meta judge evaluation specification to its judge agent For shared groups, dispatch ONE judge that reviews ALL related changes together Include CLAUDE PLUGIN ROOT=${CLAUDE PLUGIN ROOT} in prompts to meta judge and judge agents Use Task tool to dispatch independent judges for verification Wait for each implementation to complete before dispatching its judge Parse only VERDICT/SCORE/ISSUES from judge output Iterate with feedback if verification fails (max 3 retries per target) Apply the [Iteration Discretion Rule]( 55 iteration discretion rule) to every target verdict, unless strict was provided For shared group retries, only re launch the specific failing implementation agent(s), not the entire group Reuse same meta judge specification for all retries (never re run meta judge) Model Selection Policy Picking the model is the single highest leverage decision you make — more than any prompt wording, it decides whether a target comes back correct and how long the batch takes. You MUST NOT treat it as a formality: name the tier and give a one line justification before dispatching each target. Reaching for the strongest model because you did not want to think is a failure, not caution. Tier default: sonnet and haiku are the default. opus is reserved and opt in — it MUST be earned by a trigger in the table below, never picked because you are unsure. Per task, not per run: a tier is chosen independently for every task , from that task's own scope, complexity and risk — the batch is no longer forced into one "same configuration for all parallel agents." Independent tasks are each tiered on their own merits. A repeatable group's shared meta judge produces one reusable spec, but that does NOT force one tier: each task in the group keeps its own implementation and judge tier from the Selection Rules below, so a critical domain target inside an otherwise mechanical group can still land on opus while its siblings stay cheaper. A shared group's single judge reviews every task in the group together, so it runs at the HIGHEST current implementation tier among them (see [Role Pairing]( role pairing)). A tier reached by one task (including one reached by escalation) MUST NOT be carried into sibling tasks or the next batch. Selection Rules Task shape Tier Examples Single documentation/text file correction — no code, no cross file reasoning haiku Fix a typo, update a link, correct a stale command in a README Small, few line (~10 lines or fewer), mechanical code change confined to one file haiku Bump a constant, add a guard clause, rename a local, edit a config value Code writing — new functions, components or tests, single module changes, established patterns sonnet Add an endpoint, write a service method plus tests, refactor one module Multi file refactoring (~3+ files, or any file count when a shared contract changes) OR critical (auth, payments/billing, data integrity, irreversible migration, public API break) OR complex logic (concurrency, non trivial algorithms, architectural decisions) opus Cross cutting refactor, auth or payment logic, schema migration, novel algorithm design Precedence (MANDATORY): evaluate EVERY row, not just the first that matches. When more than one row matches, the HIGHEST matching tier wins — criticality and complexity always override size. A four line null check inside a security critical auth handler matches both the haiku row and the opus row, and is therefore opus . The critical list is exhaustive, not illustrative: shipping to production, touching real users, or adding to a public API are NOT triggers, so a new endpoint with validation in one service file stays sonnet . Mechanical breadth carve out: breadth alone is not complexity. For a purely mechanical change — one identical, rule driven edit repeated across targets, with no logic and no contract change — only the multi file trigger does NOT apply; the critical and complex logic triggers still do. You MUST tier it on the content of a single occurrence , as if the task touched one file; mechanically renaming a symbol across 40 files is therefore haiku , but the same rename confined to src/auth/ is opus — the critical trigger fires on that single occurrence regardless of breadth. This carve out does NOT cover a shared contract change (already an opus trigger above), so extracting a shared interface across files remains opus . Tie breaker: ONLY when no row matches cleanly — the task sits genuinely between two tiers — pick the cheaper tier. You MUST NOT bias up to opus to hedge; the [Escalation Rule]( escalation rule) makes a cheap first guess recoverable, and one recovered task costs far less than over provisioning every task. Role Pairing Any model assigned pipeline has up to three roles — producer (does the work), criteria setter (defines what "correct" means), evaluator (checks the work against those criteria); in this skill they instantiate per parallel task as implementation / meta judge / judge — a repeatable group shares one meta judge across its tasks, and a shared group additionally shares one judge across its tasks. Default: the SAME tier for all three roles of that task. Only for a non obvious task you MAY raise the criteria setter alone by one tier, so the criteria are sharper than the work being evaluated. Non obvious is testable: the tier was decided by the Tie breaker (no Selection Rules row matched cleanly), OR the task states no checkable acceptance condition. Pattern Criteria setter (meta judge) Producer + evaluator (implementation + judge) Use when Sharpened haiku sonnet haiku The work is trivial, but what counts as "correct" is not obvious Sharpened sonnet opus sonnet Code work with ambiguous or high consequence acceptance criteria that does not itself hit an opus trigger Producer and evaluator MUST always share a tier — for a repeatable or shared group's judge that serves more than one task, "share a tier" means the HIGHEST current implementation tier among the tasks it serves, so it is never asked to judge work above its own tier (see [Model Escalation on Retry]( 531 model escalation on retry)). You MUST NOT raise the evaluator alone, and MUST NOT set the criteria setter below the producer tier. An explicit model override supersedes this whole section: when the user passed model