to-tasks
To Tasks
Break a plan into independently-grabbable issues using vertical slices (tracer bullets).
Process
1. Gather context
Work from whatever is already in the conversation context. If the user passes an issue reference as an argument, fetch it from the Beads Issue Tracker bd show <id>, fetch any parent and linked issues for full context.
2. Explore the codebase (optional)
If you have not already explored the codebase, do so to understand the current state of the code. Issue titles and descriptions should use the project's domain glossary vocabulary, and respect ADRs in the area you're touching. Identify existing quality checks: type-checking, linting and testing frameworks.
3. Draft vertical slices
Break the plan into tracer bullet issues. Each issue is a thin vertical slice that cuts through ALL integration layers end-to-end, NOT a horizontal slice of one layer.
Slices may be 'HITL' or 'AFK'. HITL slices require human interaction, such as an architectural decision or a design review. AFK slices can be implemented and merged without human interaction. Prefer AFK over HITL where possible.
4. Quiz the user
Present the proposed breakdown as a numbered list. For each slice, show:
- Title: short descriptive name
- Type: HITL / AFK
- Blocked by: which other slices (if any) must complete first
- User stories covered: which user stories this addresses (if the source material has them)
Ask the user:
- Does the granularity feel right? (too coarse / too fine)
- Are the dependency relationships correct?
- Should any slices be merged or split further?
- Are the correct slices marked as HITL and AFK?
- Are the TDD applicability markers correct? Should more slices be TDD-compatible?
Iterate until the user approves the breakdown.
5. Publish the issues
For each approved slice, publish a new issue to Beads Issue Tracker using:
bd create --title="<issue-title>" --description="<multi-line-issue-body>" --acceptance="<multi-line-acceptance-criteria>" --type=task [--parent=<parent_id>] [--deps "blocks:<id1>,blocks:<id2>,blocks:<id3>"]
Use the issue body template below for the description. Publish issues in dependency order (blockers first) so you can reference real issue identifiers.
More from kehwar/skills
to-prd
Turn the current conversation context into a PRD and publish it to Beads. Use when user wants to create a PRD from the current context.
9setup-workflow-skills
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo uses Beads for issue tracking and where to find domain docs. Run before first use of `to-issues`, `to-prd`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker or domain docs.
9sap-dtw-expert
Expert guidance for producing correct DTW (Data Transfer Workbench) import files for SAP Business One. Use when recommending templates for bulk import operations, generating TSV files from the bundled templates, understanding multi-table object requirements, identifying mandatory vs optional columns, adding custom fields, or choosing between DTW and Service Layer for a given task.
2frappe-standard-script-report-schema
Create and edit Frappe Script Report `.json` schema files through Frappe's document engine. Use when scaffolding new standard Script Reports, adding/modifying report metadata, roles, or permissions in an existing report's JSON schema. Result is identical to a developer saving a Report via the Frappe UI in developer mode — canonical JSON exported, `.py`/`.js` scaffolded for new reports only.
2frappe-dev-debugger
Query the live Frappe database, read private/public .json.gz snapshot files from disk, execute whitelisted Python methods, and run arbitrary scripts with full Frappe context via bench console. Use when debugging Frappe issues in development — checking document field values, inspecting stored report/snapshot files, running live queries, or calling whitelisted server methods from the terminal.
2frappe-doctype-form-view
Expert guidance for implementing Frappe DocType JavaScript form controllers (.js app files). Covers the complete lifecycle hook execution order (setup/onload/refresh) with explicit placement rules, frm object API (fields_dict, set_query, set_value, toggle_display/reqd/enable, add_custom_button, frm.trigger), frappe.call for server methods, frappe.prompt and frappe.ui.Dialog for user input dialogs, frappe.show_progress for progress feedback, child table APIs, and reusable helper code via frappe.ui.form.Controller subclasses (extend_cscript pattern) to avoid global scope pollution. Use when writing or debugging .js controller files, choosing which hook to use, adding custom buttons, building dialogs, running server methods, triggering events programmatically, sharing logic across event handlers, or fixing bugs caused by logic placed in the wrong hook.
2