Skip to content

feat(plugins): ship batch-only workflow templates for four skills (Tier B) #2172

Description

@laurigates

Tier B — four skills whose modal invocation stays prose, gaining a template only for the large-input path. Filed together because they share one decision: narrow the harness to the batch case, leave the single-item path alone.

Source: docs/plans/dynamic-workflow-migration.md rows 6–9 (merged in #2162).

Ship these after the Tier A harnesses — they are the weaker half, and one of them (cold-read-gate) is explicitly optional.

1. git-plugin/git-pr-feedback--all path only

Shape: fan-out-and-synthesize. Fan-out unit: one worktree agent per actionable PR.

Step 6 already specifies a full JSON return contract; the harness makes it enforced rather than requested. The single-PR path — the modal case — stays prose.

Must carry both worktree clauses: the #1868 resume warning, and push/PR-creation only in a single sequential finalise stage, never inside a fanned-out agent.

2. evaluate-plugin/evaluate-skill — the only one needing global registration

Shape: fan-out-and-synthesize. Fan-out unit: one rollout agent per (case × run × config) cell.

The cartesian product len(evals) × runs × configs belongs in a script, not in prose the model expands by hand.

Distribution is both — this is the sole exception to the bundled-only rule. evaluate-plugin-batch (#2169) calls workflow('evaluate-skill', …), and one-level nesting needs a resolvable name, so it must also register in ~/.claude/workflows. Register this one and nothing else.

Ship with the cellCap: 30 guard the batch harness passes in.

3. git-plugin/git-issue--parallel path only

Shape: composite. Fan-out unit: one worktree agent per conflict-free group.

Grouping → barrier → sequential finalise is a real structure. The single-issue path is the modal case and stays linear.

Same two worktree clauses as git-pr-feedback.

4. agent-patterns-plugin/cold-read-gate — batch only, optional

Shape: adversarial-verification. Fan-out unit: one haiku reader per outward-bound artifact.

This is the weakest candidate in the set. Its original motivation (#2063) is already spent — SKILL.md:52 pins run_in_background: false. Ship this only if a real N≥3 batch path is actually wanted; otherwise close this quarter of the issue as not-planned.

Independent of that decision, the #2063 guard gap is real and is covered by #2164.

Acceptance

  • Each shipped template lives at workflows/<purpose>.workflow.js beside its SKILL.md
  • Each SKILL.md gains ## Workflow harness (template) with the not a script to run verbatim framing and an explicit "skip the harness when" naming its modal single-item case
  • evaluate-skill additionally registered in ~/.claude/workflows (documented in docs/), and it is the only one so registered
  • Worktree-dispatching templates carry the #1868 clause and the sequential-finalise clause
  • cold-read-gate explicitly decided — shipped or closed not-planned, not left ambiguous

Blocked by #2163 (layout convention). evaluate-skill should land before #2169, which depends on its registered name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions