batch
Skill4 starsChanged 9 months agoMITView on GitHub
Create multiple proposals from free-form feature descriptions. Use when planning several features at once, batch creating proposals, or setting up related changes.
We split this skill into the rules it gives an agent
23 rules. 0 are common, 19 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
19
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 7
Create multiple proposals from a single free-form description of features.
- Distinctive: line 15
Ask the user to describe the features they want to plan:
- Distinctive: line 45
Look for dependency signals in each description
- Distinctive: line 57
Before inferring dependencies, analyze parsed features for potential overlaps.
- Distinctive: line 59
If no overlaps are detected, skip this step entirely and proceed to Step 4.
- Distinctive: line 75
After resolution, continue to Step 6 with the resolved graph.
- Distinctive: line 118
After showing the graph, ask for confirmation:
- Very specific: line 123
Create specs/.delta/<name>/ directory for each feature
- Very specific: line 124
Create proposal.md using the standard template — see proposal-template.md
- Distinctive: line 126
Create in dependency order (dependencies first)
- Distinctive: line 129
Stop and tell user they can refine their description and try again
- Distinctive: line 133
After all proposals are created, ask:
- Distinctive: line 138
Run the planning phase for each feature in dependency order
- Distinctive: line 141
After all complete, show summary
- Very specific: line 144
Stop and tell user they can run /ds:plan <name> individually
- Distinctive: line 150
If the user provides empty or whitespace-only input:
- Distinctive: line 151
Ask again: "Please describe at least one feature, or type 'cancel' to exit."
- Distinctive: line 155
If only one feature is detected:
- Very specific: line 161
If a generated name matches an existing change in specs/.delta/:
- Distinctive: line 163
Ask: "Skip / Overwrite / Rename?"
- Distinctive: line 164
Skip: Don't create this proposal
- Distinctive: line 166
Rename: Ask for a new name
- Distinctive: line 170
If Step 2 parsing completes and no overlap signals are detected between features, Step 3 is skipped entirely.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/ds:batch - Batch create proposals
Create multiple proposals from a single free-form description of features.
Step 0: Version Check
See version-check.md for the standard version compatibility check procedure.
Step 1: Prompt for features
Ask the user to describe the features they want to plan:
Describe the features you want to plan:
Accept free-form prose, numbered lists, or bullet points. Examples:
I need user authentication with JWT tokens. Then a permissions
system that builds on auth for role-based access. Also want an
audit log that tracks all API calls - that one is independent.
Finally an admin dashboard that needs permissions.Or:
1. User authentication with JWT
2. Role-based permissions (requires auth)
3. Audit logging (independent)
4. Admin dashboard (requires permissions)Step 2: Parse and extract features
Extract individual features from the input:
- Split on sentence boundaries, list markers (1., 2., -, •), or logical breaks
- For each feature, extract:
- Description: The core description of what the feature does
- Name: Generate kebab-case name from key terms (e.g., "user authentication" →
user-auth)
- Look for dependency signals in each description
Name Generation
Generate concise kebab-case names:
- "user authentication with JWT" →
user-auth - "role-based permissions system" →
role-permissions - "audit logging for API calls" →
audit-logging - "admin dashboard" →
admin-dashboard
Step 3: Consolidate overlapping features (if detected)
Before inferring dependencies, analyze parsed features for potential overlaps. If multiple features appear to describe similar or related functionality, suggest consolidating them to avoid duplicate work during planning and implementation.
If no overlaps are detected, skip this step entirely and proceed to Step 4.
See references/consolidation.md for the full overlap detection and merging algorithm.
Step 4: Infer dependencies
This step receives the feature list from Step 2 (or the consolidated list from Step 3 if overlaps were detected and confirmed).
See dependency-signals.md for the dependency keyword patterns, matching rules, and confidence levels.
Step 5: Detect and resolve cycles
Note: Consolidation (Step 3) happens before this step. Merging overlapping features may eliminate some cycles (e.g., if A and B depend on each other but are actually the same feature).
See cycle-detection.md for the cycle detection algorithm. Follow the Full resolution flow.
After resolution, continue to Step 6 with the resolved graph.
Step 6: Display dependency graph
Show the parsed features and their dependencies:
Parsed 4 features:
user-auth ──→ role-permissions ──→ admin-dashboard
│
audit-logging (independent)
Features:
1. user-auth - User authentication with JWT tokens
2. role-permissions - Role-based permissions system
└─ depends on: user-auth
3. audit-logging - Audit log for API calls
4. admin-dashboard - Admin dashboard
└─ depends on: role-permissionsGraph Notation
A ──→ Bmeans B depends on A (A must be done first)(independent)marks features with no dependencies- Multiple roots shown on separate lines
- Linear chains shown with arrows
Complex Example
feature-a ──┬──→ feature-c ──→ feature-e
│
feature-b ──┘
feature-d (independent)This shows: feature-c depends on both a and b, feature-e depends on c, feature-d is independent.
Step 7: Confirm and create proposals
After showing the graph, ask for confirmation:
Create these proposals? [y/N]
On "y":
- Create
specs/.delta/<name>/directory for each feature - Create
proposal.mdusing the standard template — see proposal-template.md - Fill in sections from the parsed description
- Create in dependency order (dependencies first)
On "n" or empty input:
- Stop and tell user they can refine their description and try again
Step 8: Offer batch planning
After all proposals are created, ask:
Created N proposals. Run
/ds:planfor all? [y/N]
On "y":
- Run the planning phase for each feature in dependency order
- Show progress: "Planning 1/4: user-auth..."
- For each, explore codebase and create design.md + delta specs
- After all complete, show summary
On "n" or empty:
- Stop and tell user they can run
/ds:plan <name>individually
Edge Cases
Empty Input
If the user provides empty or whitespace-only input:
- Ask again: "Please describe at least one feature, or type 'cancel' to exit."
Single Feature
If only one feature is detected:
- Suggest: "Only one feature detected. Consider using
/ds:quickor/ds:newinstead." - Offer: "Proceed with batch anyway? [y/N]"
Name Conflicts
If a generated name matches an existing change in specs/.delta/:
- Warn: "Feature 'user-auth' conflicts with existing change."
- Ask: "Skip / Overwrite / Rename?"
- Skip: Don't create this proposal
- Overwrite: Replace the existing proposal
- Rename: Ask for a new name
No Overlaps Detected
If Step 2 parsing completes and no overlap signals are detected between features, Step 3 is skipped entirely. The workflow proceeds directly from Step 2 to Step 4 with the original parsed feature list.
Circular Dependencies
Handled in Step 5. See cycle-detection.md.
Examples
See examples/batch-session.md for full example sessions showing basic workflow and consolidation scenarios.
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- ww-w-ai/bkit-gemini★ 66same name
- unclejobs-ai/second-claude-code★ 41same name
- woxiangyangzhimao/skills★ 14same name
- HeshamFS/swarmweaver★ 4same name
- ahmetenesdur/starkfi★ 2same name
- jiaxuan030331/applyloop★ 2same name
- angelgabrieljacintohuayllasco/clipboard-skills★ 0same name
- beginnersinai/content-repurposer★ 0same name
- Ray0907/claude-skills★ 0same name
- rezendefabio/financas-lab★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use loop.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ibahgatSkillloop
Enforce repeated exec-verify-fix cycles until acceptance criteria pass or blockers are explicit.
Also in 4 projects that use this
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

