From lighterpowers
Use when executing implementation plans with human-in-loop batch checkpoints between tasks
How this skill is triggered — by the user, by Claude, or both
Slash command
/lighterpowers:batch-developmentThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execute plans in batches with human checkpoints between each batch.
Execute plans in batches with human checkpoints between each batch.
Core principle: Human stays in control. Execute N tasks, pause for feedback, repeat.
## Requirementsdocs/lighterpowers/plans/feature.md)--batch-size=N: Number of tasks per batch (default: 3)Load Plan -> Pre-Execution Setup -> Execute Batch (N tasks)
-> Batch Verification Gate -> Report & Wait for Feedback
-> More tasks? -> (yes) Execute Batch -> ...
-> (no) Completion (summary + user decision)
These offers are presented before the task loop. User decides whether to execute each.
### Pre-Execution VerificationBefore starting task loop, verify:
Skipping required offers results in incomplete setup. User can decline any offer - the requirement is presentation, not execution.
Check if on main/master/develop:
git branch --show-current
If on base branch, dispatch issue-tracking agent:
Task(description: "Get branch convention",
prompt: "Operation: get-branch-convention
Context: [plan goal/primary issue]",
model: "haiku",
subagent_type: "general-purpose")
Present offer to user:
AskUserQuestion(
questions: [{
question: "Create this branch?",
header: "Branch",
options: [
{label: "Yes", description: "Create branch: feature/PROJ-123-add-user-auth"},
{label: "Modify", description: "Let me specify a different branch name"},
{label: "Skip", description: "Don't create a branch, stay on current"}
],
multiSelect: false
}]
)
Only execute after user approval via AskUserQuestion response.
If primary issue identified (from plan header, branch name, or discovery), dispatch issue-tracking agent:
Task(description: "Prepare status update",
prompt: "Operation: update-status
Issue: [primary issue ID]
New status: in-progress",
model: "haiku",
subagent_type: "general-purpose")
Present offer:
AskUserQuestion(
questions: [{
question: "Update issue PROJ-123 status to in-progress?",
header: "Status",
options: [
{label: "Yes", description: "Update status to in-progress"},
{label: "Skip", description: "Leave status unchanged"}
],
multiSelect: false
}]
)
Only execute after user approval via AskUserQuestion response.
For each batch of N tasks:
docs/lighterpowers/current-progress.md after each taskAfter each batch, before reporting:
Any unchecked item blocks reporting. Complete all verifications first.
## Human Checkpoint GateAfter reporting batch results, use AskUserQuestion:
AskUserQuestion(
questions: [{
question: "Batch complete. How should I proceed?",
header: "Continue",
options: [
{label: "Continue", description: "Proceed to next batch"},
{label: "Pause", description: "I have feedback before continuing"},
{label: "Stop", description: "Stop here, I'll resume later"}
],
multiSelect: false
}]
)
Verification:
Proceeding without AskUserQuestion response bypasses human control. Plain text questions don't provide structured response UI.
Create docs/lighterpowers/current-progress.md (gitignored) for session state:
# Current Progress
## Plan
docs/lighterpowers/plans/feature-plan.md
## Batch Size
3
## Active Batch
Tasks 4-6
## Completed Tasks
- [x] Task 1: Setup project structure
- [x] Task 2: Add base API client
- [x] Task 3: Add error handling
## Remaining Tasks
- [ ] Task 4: Add retry logic
- [ ] Task 5: Add rate limiting
- [ ] Task 6: Add tests
## Discovered Work
- [ ] "Need to add rate limiting to API" (discovered in Task 3)
- [ ] "Auth tokens should expire after 24h" (discovered in Task 5)
During task execution, when work uncovers something that should be tracked:
Append to docs/lighterpowers/current-progress.md:
## Discovered Work
- [ ] "Need to add rate limiting" (discovered in Task 3)
- [ ] "Auth tokens should expire" (discovered in Task 5)
No offers during execution - batched for final verification phase.
After all batches complete:
rm -f docs/lighterpowers/current-progress.md
Present final summary:
## All Batches Complete
**Tasks Completed:** N/N
**Batches:** M
**Discovered Work:** [list items if any]
AskUserQuestion(
questions: [{
question: "All tasks complete. How would you like to finish?",
header: "Complete",
options: [
{label: "Commit all", description: "Stage and commit remaining changes"},
{label: "Review changes", description: "Show me a diff before committing"},
{label: "Done", description: "Leave changes as-is, I'll handle it"}
],
multiSelect: false
}]
)
| Violation | Consequence | Recovery |
|---|---|---|
| Plain text questions instead of AskUserQuestion | User can't respond via structured UI | Use AskUserQuestion tool |
| Proceeding without user feedback | Defeats purpose of batch approach | Stop, wait for response |
| Skipping batch verifications | Ships unverified code | Run verifications, show output |
| Skipping pre-execution offers | Missing branch/status setup | Present required offers |
| "Ready for feedback" without verification | False confidence | Verify then report |
| Batch size of "all remaining" | Loses checkpoint value | Stick to configured batch size |
| Starting new batch without user response | Human-in-loop is the value | Wait for explicit "continue" |
Required workflow skills:
This skill relies on human feedback. No prompt templates needed.
## Requirements ReminderGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub bradwindy/lighterpowers