flow-next-work-rolling

Schedules spec tasks with rolling per-task admission, isolated worktrees, and conductor-owned review.

692|55|Updated Dec 26, 2025
One-click install
npx skills add https://github.com/gmickel/gmickel-claude-marketplace --skill flow-next-work-rolling
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: flow-next-work-rolling
Source: https://github.com/gmickel/gmickel-claude-marketplace/tree/main/plugins/flow-next/codex/skills/flow-next-work-rolling
Command: npx skills add https://github.com/gmickel/gmickel-claude-marketplace --skill flow-next-work-rolling

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Wave-based task execution forces workers to wait for an entire wave to finish before new ready tasks can start, leaving agents idle and slowing spec completion. This experimental variant of the flow-next work pipeline admits a new ready task at every worker-return event instead of at wave boundaries, keeping up to three tasks in flight while preserving the canonical review and ship gates.

Core Features & Use Cases

  • Rolling admission scheduler: Recomputes the ready frontier at every worker-return event, admitting tasks only when they pass five fail-closed conditions including transitive dependency checks and disjoint Touches declarations.
  • Isolated per-task workspaces: Each worker runs in its own worktree with task-unique evidence paths, so concurrent tasks never write into a shared checkout and wrong admissions surface as merge conflicts rather than correctness loss.
  • Conductor-owned review and completion: Review dispatch, integration, flowctl done, and plan-sync stage lines are owned by the conductor for every backend, with bounded retries and typed escalations on failure.
  • Use Case: Run a multi-task spec where tasks touch disjoint files; instead of waiting for wave boundaries, the conductor keeps three workers busy continuously, integrates each return, and ships with a full-suite verification at quiesce.

Quick Start

Invoke /flow-next:work-rolling with a spec id to run the rolling-frontier scheduler over that spec's ready tasks.

Frequently Asked Questions about flow-next-work-rolling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does rolling-frontier task scheduling differ from wave-based execution?

Rolling admission admits a new ready task at every worker-return event rather than waiting for an entire wave to finish. The conductor keeps up to three tasks in flight, recomputing the frontier after each return, review completion, or escalation.

What conditions must a task meet to be admitted concurrently?

A candidate must belong to the same spec, keep the in-flight count at three or fewer, have no transitive dependency path to any in-flight task, declare a Touches set disjoint from all in-flight tasks, and avoid always-serial paths like lockfiles or .flow/.

Does flow-next-work-rolling work without the canonical flow-next-work skill?

No. The skill is a thin delta that reads the canonical flow-next-work SKILL.md and phases.md by pointer and stops with a NEEDS_HUMAN error if they cannot be resolved. Only Phase 3 is replaced; all other phases run canonically.

What happens when planSync.enabled is true?

Concurrent admission is disabled fail-closed and the run degrades to serial canonical behavior. Interactive runs offer a one-time opt-out via flowctl config set planSync.enabled false; autonomous runs only report the unmet prerequisite.

What happens on a merge conflict during task integration?

A conflict means the declared Touches sets were wrong, so the colliding task enters a collision-hold queue while non-held tasks drain. Queued tasks retry serially one at a time from the joined target state, never auto-resolving the conflict.

Can I use rolling work on a host with blocking subagent dispatch?

Yes, but it degrades honestly to wave-shaped dispatch: the conductor admits a group, awaits it as a group, then runs per-task integration and review. The run report records the degradation so receipts never claim rolling for wave execution.