Skip to content
Back to skills

Implement Batch

ASecurity

Multi-ticket batch workflow. Takes a batch of tickets, plans execution order, implements each via /implement in autonomous mode, runs cross-cutting quality passes, and presents results for final review.

  • 18 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
developmentrustgorefactoringgitsecuritydocumentation

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add chrisallenlane/claude-swe-workflows --skill implement-batch --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Implement Batch?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Implement Batch
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chrisallenlane-implement-batch/badge)](https://www.skillsdirectory.com/skills/chrisallenlane-implement-batch)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: implement-batch
description: Multi-ticket batch workflow. Takes a batch of tickets, plans execution order, implements each via /implement in autonomous mode, runs cross-cutting quality passes, and presents results for final review.
model: opus
---

# Implement-Batch - Multi-Ticket Orchestration Workflow

Orchestrates a batch of tickets as a cohesive unit. Creates a project branch, implements each ticket sequentially using the `/implement` workflow in autonomous mode, runs cross-cutting quality passes, and presents results for final human review.

## Philosophy

**Maximize autonomy, minimize accumulated error.** The goal is to complete an entire batch of tickets without user intervention — but not at the cost of letting problems compound. When something goes wrong, pull the andon cord immediately rather than pressing forward and hoping later steps will compensate.

**The project branch is the integration point.** Each ticket gets its own topic branch. Work flows from topic branches into the project branch, never directly into main. This keeps main clean and gives the user a single decision point at the end: merge the project branch or don't.

**This skill is a for-loop, not an orchestrator.** Tickets are the work definition. Commander's intent does not apply here — the tickets carry the intent, and cross-cutting constraints (if any) inherit from the caller (`/implement-project` or `/lead-project`). The skill applies the autonomy discipline documented in [`references/autonomy.md`](../../references/autonomy.md) at the points where it does apply: the shared handoff template for andon-cord pulls, the cascade rule for `/implement` escalations.

**Cascade rule.** Escalations from `/implement` cascade up to this skill, not directly to the operator. When `/implement` would otherwise pull its own cord (e.g., 3-strike acceptance failure, unresolvable critical security finding), the batch skill catches that signal and pulls *its* cord with batch-level context (which ticket, which step, what's already merged). The caller has more context than the worker; the worker does not go around its caller.

## Workflow Overview

```
┌──────────────────────────────────────────────────────┐
│                   BATCH WORKFLOW                     │
├──────────────────────────────────────────────────────┤
│  1. Receive ticket specification                     │
│  2. Detect issue tracker & fetch tickets             │
│  3. Batch planning (present to user)                 │
│  4. Create project branch                            │
│  5. Per-ticket loop:                                 │
│     ├─ 5a. Create topic branch                       │
│     ├─ 5b. Run /implement (autonomous mode)            │
│     ├─ 5c. Merge topic branch → project branch       │
│     ├─ 5d. Post-merge verification gate              │
│     └─ 5e. Delete topic branch                       │
│  6. Cross-cutting quality passes                     │
│     ├─ 6a. /refactor (SAFE aggression)               │
│     └─ 6b. /tidy-docs                               │
│  7. Final review (present to user)                   │
└──────────────────────────────────────────────────────┘
```

## Andon Cord Protocol

**This protocol applies throughout the entire workflow.** When the andon cord is pulled:

1. **Stop all work immediately** — do not attempt to continue with other tickets or steps.
2. Produce a handoff using the **shared handoff template** in [`references/autonomy.md`](../../references/autonomy.md). The escalation must include pre-loaded options (2–3 named choices), an explicit recommendation, the one tradeoff that would flip the recommendation, and a pre-rebutted counterargument. Include the skill-specific state: which ticket and step failed, current branch state (what's merged into the project branch, what's in-progress on a topic branch), and tracker links if relevant.
3. Wait for user guidance before resuming.

**Andon cord triggers (skill-specific):**
- Acceptance verification fails 3 times (step 5b, `/implement` step 4)
- Unresolvable critical/high security findings (step 5b, `/implement` step 5a)
- Post-merge test suite failure (step 5d)
- Merge conflict (step 5c)
- Issue tracker unavailable or tickets can't be fetched (step 2)
- Empty ticket with no description (step 5b)
- Project branch already exists (step 4)
- Any unexpected failure not covered above

## Workflow Details

### 1. Receive Ticket Specification

Accept tickets from the user in any of these forms:
- Explicit list of ticket IDs (e.g., `#12, #15, #18`)
- Tag/label query (e.g., "all tickets tagged `v2.0`")
- Milestone (e.g., "milestone: Sprint 4")
- User-provided description to search for

### 2. Detect Issue Tracker & Fetch Tickets

Detect the issue tracker and fetch ticket data per [`references/trackers.md`](../../references/trackers.md) (Detection Procedure + "Fetch (read)" operation). Fetch each ticket's title, description, acceptance criteria, labels, and dependencies.

**Andon cord** if tracker is unavailable or tickets can't be fetched.

### 3. Batch Planning

Analyze all fetched tickets and produce an execution plan:

**Dependency analysis:**
- Check for explicit "depends on" or "blocks" relationships between tickets
- Check for tickets referencing the same files or subsystems (implicit dependencies)
- Identify any tickets that must come before others

**Execution ordering:**
- Dependencies first (blocked tickets come after their blockers)
- Among independent tickets: simpler tickets first (builds momentum, establishes patterns)
- Flag any ambiguous tickets (missing description, no clear acceptance criteria)

**Present the plan to user:**
- Proposed execution order with rationale
- Any concerns about ambiguous or under-specified tickets
- Estimated scope (brief, qualitative — "3 small tickets, 1 medium")

**Wait for user approval** before proceeding. This is the one planned user interaction point.

### 4. Create Project Branch

- Identify the main branch (`main` or `master`)
- Create project branch from current HEAD: `feat/batch-<descriptive-name>`
- Branch name derived from the tag, milestone, or a brief summary of the ticket batch
- **Andon cord** if branch already exists — ask user whether to resume or start fresh

### 5. Per-Ticket Execution Loop

For each ticket in the planned order:

#### 5a. Create Topic Branch

- Checkout project branch (ensure it's current)
- Create topic branch: `feat/issue-<number>-<brief-slug>`
- The slug is derived from the ticket title (lowercase, hyphens, truncated to ~40 chars)

#### 5b. Run `/implement` Workflow (Autonomous Mode)

Follow the `/implement` workflow with these overrides for autonomous operation:

| `/implement` Step                             | Autonomous Override                                                                                                                                                                                              |
|---------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Step 1** (requirements)                   | Pre-loaded from ticket body. Do not prompt user for requirements. If the ticket lacks explicit acceptance criteria, derive them from the description. If the description is empty or incoherent, **andon cord**. |
| **Step 2** (planning)                       | Follow normal conditional logic — invoke `swe-planner` for complex tasks, skip for simple ones.                                                                                                                  |
| **Steps 3-4** (implementation + acceptance) | Follow normal logic. If acceptance verification fails 3 times, **andon cord** (do not escalate to user within `/implement` — escalate here at the batch level).                                                    |
| **Step 5a** (security review)               | Follow normal logic. If critical/high findings cannot be resolved by the implementation agent, **andon cord**.                                                                                                   |
| **Steps 5b-5c** (refactoring/perf review)   | Follow normal logic — these are advisory.                                                                                                                                                                        |
| **Step 6** (implement review feedback)      | Follow normal logic.                                                                                                                                                                                             |
| **Step 7** (peer review)                    | Follow normal logic. Handle deep issues autonomously — trust agents. If peer review breaks tests, revert peer review changes per standard `/implement` logic.                                                      |
| **Step 8** (coverage/quality verification)  | Follow normal logic. Handle autonomously — if tests pass, proceed. Do not prompt user for approval of minor issues.                                                                                              |
| **Step 9** (documentation)                  | Follow normal logic.                                                                                                                                                                                             |
| **Step 10** (final verification)            | Follow normal logic.                                                                                                                                                                                             |
| **Step 11a** (commit)                       | Auto-commit with ticket reference. Use `Fixes #<number>` in the commit message.                                                                                                                                  |
| **Step 11b** (ticket update/close)          | Post a comment on the ticket summarizing changes made. **Do not close** the ticket — leave that for the user after final review.                                                                                 |
| **Step 11c** (rebase on main)               | **Skip entirely.** We're on topic branches off the project branch, not main.                                                                                                                                     |

#### 5c. Merge Topic Branch into Project Branch

- Checkout project branch
- Merge: `git merge --no-ff feat/issue-<number>-<brief-slug>`
- The `--no-ff` preserves topic branch history for clarity
- **Andon cord** on merge conflict — do not attempt auto-resolution

#### 5d. Post-Merge Verification Gate

- Run the full test suite on the project branch
- Run linters/formatters
- **Andon cord** if tests fail — the merge introduced a regression

#### 5e. Clean Up Topic Branch

- Delete the merged topic branch: `git branch -d feat/issue-<number>-<brief-slug>`
- Update orchestrator state: mark ticket as done

### 6. Cross-Cutting Quality Passes

After all tickets are implemented and merged into the project branch:

#### 6a. Refactoring

Run the `/refactor` workflow with these parameters:
- **Aggression ceiling:** SAFE (conservative — only SAFEST and SAFE changes)
- **Custom QA instructions:** None (standard test suite verification)
- **Scope:** Entire codebase
- The `/refactor` workflow handles its own iteration loop, commits, and QA verification

#### 6b. Documentation Review

Run the `/tidy-docs` workflow:
- Full documentation audit (not git-diff scoped)
- Fixes committed separately

### 7. Final Review

Present comprehensive summary to user:

```
## Batch Complete

### Tickets Implemented
- #12: <title> — <brief outcome>
- #15: <title> — <brief outcome>
- #18: <title> — <brief outcome>

### Statistics
- Total commits: N
- Net lines changed: +/-N
- Tests added/modified: N
- Documentation files updated: N

### Quality Passes
- Refactoring: N improvements, net -N lines
- Documentation: N updates

### Branch Status
- Project branch: feat/batch-<name>
- Base branch: <main branch>
- Ready to merge
```

User decides next steps: merge to main, further work, or discard.

## State Management

The orchestrator maintains:
- **Ticket list**: all tickets with status (pending / in-progress / done / failed)
- **Current ticket**: which ticket is being worked on
- **Execution order**: from the planning step
- **Summary log**: brief notes on each completed ticket (avoid context bloat — just ticket number, title, outcome, and commit count)
- **Branch names**: project branch and any active topic branches (for cleanup if needed)

## Agent Coordination

**Sequential execution:**
- One ticket at a time, one agent at a time
- Each agent completes before the next begins
- No parallel agent execution

**Context management:**
- The `/implement` workflow within each ticket manages its own agent lifecycle
- The batch orchestrator tracks only summary-level state across tickets
- Keep per-ticket summaries brief to avoid context window bloat across a large batch

**Fresh state per ticket:**
- Each ticket starts with a fresh topic branch
- The `/implement` workflow starts from scratch for each ticket
- No state leaks between tickets except the cumulative project branch

## Integration with Other Skills

**Relationship to `/implement`:**
- `/implement-batch` is a higher-level orchestrator that runs `/implement` for each ticket
- `/implement` handles the full development cycle for a single ticket
- `/implement-batch` adds: batching, ordering, branching strategy, cross-cutting quality passes

**Relationship to `/scope`:**
- `/scope` creates tickets; `/implement-batch` consumes them
- Typical flow: `/scope` to plan and create tickets, then `/implement-batch` to implement the batch

**Relationship to `/refactor`, `/tidy-docs`:**
- These run as cross-cutting quality passes after all tickets are implemented
- They catch issues that span multiple tickets or emerge from their interaction

Files in this skill

  • SKILL.md14.3 KB
  • references/README.md17.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.