Skip to content
Development
Skill

/do-in-steps

Execute one complex task as ordered, dependent steps run sequentially, passing context from each step to the next, with per-step LLM-as-a-judge verification. Use when later steps depend on the results of earlier ones.

From plugin
context-engineering-kit
1.3k134 skills23 agents1 command
Install
$ npx -y skills add NeoLabHQ/context-engineering-kit --skill do-in-steps --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/do-in-steps

Context preview

The summary Claude sees to decide when to auto-load this skill.

Execute one complex task as ordered, dependent steps run sequentially, passing context from each step to the next, with per-step LLM-as-a-judge verification. Use when later steps depend on the results of earlier ones.

SKILL.md

do-in-steps.SKILL.md
name: do-in-steps
description: Execute one complex task as ordered, dependent steps run sequentially, passing context from each step to the next, with per-step LLM-as-a-judge verification. Use when later steps depend on the results of earlier ones.
argument-hint: Task description [--model haiku|sonnet|opus] [--strict] (e.g., "Refactor UserService class and update all consumers")

do-in-steps

<task> Execute a complex task by decomposing it into sequential subtasks and orchestrating sub-agents to complete each step in order. Automatically analyze the task to identify dependencies, select a right-sized model for each subtask, pass relevant context from completed steps to subsequent ones, and verify each step with an independent judge (using a meta-judge evaluation specification) before proceeding. </task>

<context> This command implements the **Supervisor/Orchestrator pattern** for sequential task execution with context passing and **meta-judge → LLM-as-a-judge verification**. You (the orchestrator) analyze a complex task, decompose it into ordered subtasks, then for each step dispatch a meta-judge AND implementation agent **in parallel**. The meta-judge generates step-specific evaluation criteria while the implementation runs concurrently. Each sub-agent receives:

  • **Isolated context** - Clean context window for its specific subtask
  • **Right-sized model** - Chosen per step by the [Model Selection Policy](#model-selection-policy): `sonnet`/`haiku` by default, `opus` only when earned
  • **Previous step context** - Summary of relevant outputs from preceding steps
  • **Structured reasoning** - Zero-shot CoT prefix for systematic thinking
  • **Self-critique** - Internal verification before submission
  • **Structured evaluation** - Meta-judge produces tailored rubrics and checklists per step before judging occurs
  • **External judge** - LLM-as-a-judge verification using meta-judge specification with iteration loop
  • **Parallel speed** - Meta-judge and implementation agent run in parallel per step; meta-judge specification reused across retries within that step

</context>

Arguments

| Argument | Format | Default | Description | |----------|--------|---------|-------------| | `task` | Free-form text | **Required** | Task description to decompose and execute | | `--strict` | `--strict` | `false` | Disable the [Iteration Discretion Rule](#36-iteration-discretion-rule) - a step passes ONLY when `score >= 4.0`, otherwise retry until max retries is reached. | | `--model` | `haiku\|sonnet\|opus` | *auto-selected per step* | Explicit user override for **all** sub-agents in **every** step: implementation, meta-judge, and judge. When omitted, you MUST select a tier per step per the [Model Selection Policy](#model-selection-policy) — there is no fixed fallback tier. 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. |

Example: `/do-in-steps Refactor UserService class and update all consumers --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 and decompose the task 2. Select the model tier and agent for **each** subtask per the [Model Selection Policy](#model-selection-policy) — `sonnet`/`haiku` by default, `opus` only when earned 3. **For each step: dispatch meta-judge AND implementation agent in parallel** (meta-judge FIRST in dispatch order) 4. **Wait for BOTH to complete, then dispatch judge with meta-judge's specification** 5. **Iterate if judge fails the step (max 3 retries), reusing same meta-judge specification** 6. Collect outputs and pass context forward 7. Report final results

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 decomposition and jump to implementation
  • Perform multiple steps yourself "to save time"
  • Overflow your context by reading step outputs in detail
  • Read judge reports in full (only parse structured headers)
  • Skip judge verification and proceed next step
  • Provide score threshold to the judge in any format

**ALWAYS:**

  • Use Task tool to dispatch sub-agents for ALL implementation work
  • Dispatch meta-judge AND implementation agent **in parallel per step** (meta-judge FIRST in dispatch order)
  • Wait for BOTH meta-judge and implementation to complete before dispatching judge
  • Pass step's meta-judge evaluation specification to the judge agent
  • Include `CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT}` in prompts to meta-judge and judge agents
  • Reuse same meta-judge specification across retries within a step (never re-run meta-judge for retries)
  • Dispatch a NEW meta-judge for each new step (each step gets its own tailored specification)
  • Use Task tool to dispatch **independent judges** for step verification
  • Pass only necessary context summaries, not full file contents
  • Get pass from judge verification before proceeding to next step
  • Iterate with judge feedback if verification fails (max 3 retries)
  • Apply the [Iteration Discretion Rule](#36-iteration-discretion-rule) to every step verdict, unless `--strict` was provided

Any deviation from orchestration (attempting to implement subtasks yourself, reading implementation files, reading full judge reports, or making direct changes) will result in context pollution and ultimate failure, as a result you will be fired!

Model Selection Policy

Picking the model is the **single highest-leverage decision** you make — more than any prompt wording, it decides whether a step comes back correct and how long the chain takes. You MUST NOT treat it as a formality: name the tier and give a one-line justification befor

Read more
Ships withcontext-engineering-kit

A hand-crafted collection of advanced context engineering techniques and patterns with minimal token footprint, focused on improving agent result quality and predictability.

Get the whole plugin