From blueprint
Execute multiple plans sequentially in a single session — loops flow-auto for plans N through M with auto context compaction, merge chain automation, and crash recovery. Use this skill whenever the user says "/batch-flow", "batch flow", "run plans 2 to 6", "execute all plans", "sequential plans", or any request to run multiple plans in one session. Also triggers on "multi-plan", "batch execute", "run remaining plans", "plans N through M", "batch pipeline", "run plans 3 4 and 5", "I have N plans to execute", or "execute plan N through plan M". This is the multi-plan wrapper around /flow-auto. IMPORTANT: never use AskUserQuestion in this skill — all decisions are made autonomously.
npx claudepluginhub skaisser/blueprint-pluginThis skill uses the workspace's default tool permissions.
Run multiple plans sequentially in a single session. Wraps `/flow-auto-wt` (worktree-isolated) in a loop with context management, merge chain automation, and crash recovery.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Analyzes competition with Porter's Five Forces, Blue Ocean Strategy, and positioning maps to identify differentiation opportunities and market positioning for startups and pitches.
Share bugs, ideas, or general feedback.
Run multiple plans sequentially in a single session. Wraps /flow-auto-wt (worktree-isolated) in a loop with context management, merge chain automation, and crash recovery.
Read blueprint/.config.yml → language. If auto, detect from the user's messages. All generated content MUST be in the detected language. Skill instructions stay in English — only output changes.
/batch-flow N-M [--auto-merge] [--effort-budget Nm]
→ For each plan N to M:
→ flow-auto pipeline → merge chain → context check → next plan
Zero AskUserQuestion calls. One command → N plans executed.
Building an MVP often requires 5-10 sequential plans. Running /flow-auto manually for each one means:
/batch-flow automates the entire loop.
Completed, skip it.--effort-budget is set, each plan gets that budget — not the total.echo "🤖 [batch-flow:1] initializing batch pipeline"
Parse $ARGUMENTS for:
N-M or N M → plan range (e.g., 2-6 means plans 0002 through 0006)--auto-merge → execute the full merge chain after each plan (feat→staging→main)--effort-budget Nm → max effort per plan (e.g., 30m)--skip-completed → skip plans with status Completed (default: true)Discover plan files:
ls blueprint/live/[0-9]*-*.md | sort
Filter to the requested range. Build the execution queue.
echo "🤖 [batch-flow:2] pre-flight checks"
STAGING_BRANCH=$(grep 'staging_branch:' blueprint/.config.yml | awk '{print $2}')
STAGING_BRANCH=${STAGING_BRANCH:-staging}
📋 Batch Pipeline — Plans NNNN to MMMM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Plan NNNN: description — status
Plan NNNN+1: description — status
...
Total: X plans, Y already completed, Z to execute
For each plan in the queue:
# Read plan status from YAML frontmatter
STATUS=$(grep '^status:' "$PLAN_FILE" | head -1 | awk '{print $2}')
if [ "$STATUS" = "Completed" ]; then
echo "🤖 [batch-flow:3] skipping plan $PLAN_NUM — already completed"
continue
fi
echo "🤖 [batch-flow:3] starting plan $PLAN_NUM ($CURRENT/$TOTAL)"
# Ensure on staging branch
git checkout "$STAGING_BRANCH" && git pull origin "$STAGING_BRANCH"
# Create feature branch (flow-auto Step 2 handles this if plan is new)
# If plan already has a branch, check it out
ALWAYS use /flow-auto-wt (worktree isolation), NEVER /flow-auto. Each plan runs in its own worktree to prevent blueprint/ merge conflicts between sequential plans. Without worktree isolation, every /finish creates conflicts because all branches share the same blueprint/ directory.
Dispatch flow-auto-wt as a subagent with the plan file as argument:
Agent({
description: "flow-auto-wt plan NNNN",
prompt: "Run /flow-auto-wt for plan file: $PLAN_FILE. This is plan $CURRENT of $TOTAL in a batch run. [paste full flow-auto-wt skill instructions]",
mode: "auto"
})
Wait for completion. Capture result (PR URL, status, any issues).
After flow-auto creates the PR:
# Merge feat → staging
PR_NUM=$(gh pr list --base "$STAGING_BRANCH" --head "$BRANCH" --json number -q '.[0].number')
if [ -n "$PR_NUM" ]; then
gh pr merge "$PR_NUM" --merge -m "🔀 merge: $BRANCH into $STAGING_BRANCH"
fi
# Create and merge staging → main
git checkout "$STAGING_BRANCH" && git pull origin "$STAGING_BRANCH"
MAIN_PR=$(gh pr create --base main --head "$STAGING_BRANCH" \
--title "🔀 merge: $STAGING_BRANCH into main (plan $PLAN_NUM)" \
--body "Batch pipeline auto-merge. Plan: $PLAN_NUM" 2>&1)
if echo "$MAIN_PR" | grep -q "already exists"; then
MAIN_PR_NUM=$(gh pr list --base main --head "$STAGING_BRANCH" --json number -q '.[0].number')
else
MAIN_PR_NUM=$(echo "$MAIN_PR" | grep -oP '\d+$')
fi
gh pr merge "$MAIN_PR_NUM" --merge -m "🔀 merge: $STAGING_BRANCH into main"
Error handling:
echo "🤖 [batch-flow:3e] checking context usage"
After each plan completes:
echo "🤖 [batch-flow:3f] plan $PLAN_NUM complete ($CURRENT/$TOTAL)"
echo "🤖 [batch-flow:4] batch pipeline complete"
Output summary:
🤖 Batch Flow Complete!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Plans executed: X of Y
Skipped (already complete): Z
Results:
Plan NNNN: ✅ PR #XX — merged to main
Plan NNNN+1: ✅ PR #XX — merged to main
Plan NNNN+2: ⚠️ PR #XX — review issues remain (3 cycles exhausted)
...
Total PRs: X (Y merged, Z pending review)
Total commits: X
Run full test suite to verify before deploying.
If the batch is interrupted (context limit, crash, user intervention):
On restart with /batch-flow N-M:
Completed plansIn Progress, use /resume logic for that planProgress is always recoverable from:
N-M: Plan range (required). E.g., 2-6 for plans 0002-0006--auto-merge: Execute full merge chain after each plan (default: off)--effort-budget Nm: Max effort per plan. E.g., 30m for 30 minutes--skip-completed: Skip completed plans (default: on)--from N: Start from plan N (skip earlier plans regardless of status)Use $ARGUMENTS as plan range and flags.