<< All versions

Skill v1.0.1

Automated scan100/100
drvoss/everything-copilot-cli/to-issues

+3 new

──Details
PublishedJuly 11, 2026 at 03:13 PM
Content Hashsha256:a4699fda5f5ee2cf...
Git SHA20e1ad2a4520
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 5.8 KB)
SKILL.md5.8 KBactive
SKILL.md · 174 lines · 5.8 KB

version: "1.0.1" name: to-issues description: Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice metadata: category: workflow agent_type: general-purpose origin: adapted from mattpocock/skills to-issues


To Issues

To Issues turns a plan into independently executable backlog items. The goal is not to split work by layer, but to create thin vertical slices that are reviewable, testable, and dependency-aware.

When to Use

  • A plan, spec, or PRD is approved and now needs implementation tickets
  • A broad initiative must be broken into thin, demoable slices
  • The current backlog is too coarse to delegate safely
  • You need to separate work that can proceed independently from work that is blocked

When NOT to Use

Instead of to-issuesUse
You are still defining the feature itselfcreate-prd or planning first
You need to triage an existing issue backloggithub-issue-triage
The work is already small enough to execute directlydo the task

Workflow

1. Start from an approved source

Use a real input artifact:

  • plan
  • PRD
  • spec
  • parent issue

Do not create issue slices from an unresolved conversation.

2. Extract vertical slices

Each issue should represent a thin end-to-end path, not a horizontal layer split.

Good slices usually:

  • have one clear outcome
  • can be tested or demonstrated on their own
  • expose their dependency relationship to other slices

Bad slices are things like "database changes only" or "UI updates only" if they cannot be verified in isolation.

Exception — wide refactors: a single mechanical change (rename a column, retype a shared symbol) can have a blast radius that fans across the whole codebase, breaking thousands of call sites at once so no vertical slice can land green. Do not force this shape into a tracer bullet — see Wide Refactor Exception below.

3. Mark blockers explicitly

For each proposed issue, identify:

  • what it delivers
  • what blocks it
  • whether it can start immediately

Publish blockers first so later issues can reference them cleanly.

4. Review the breakdown before publishing

Show the user the proposed issue set and ask whether:

  • the slices are too coarse or too fine
  • any issue should be merged or split
  • the dependency order is correct

Only publish after the breakdown is approved.

5. Publish to the active issue tracker

Support the tracker the project already uses.

  • GitHub: use gh issue create (or equivalent GitHub CLI workflow) when publishing approved issues
  • GitLab: use the GitLab issue workflow or CLI available in the environment

Do not assume one provider if the project uses another.

Wide Refactor Exception

A wide refactor is one mechanical change whose blast radius fans across the whole codebase — a single edit breaks thousands of call sites at once, so no vertical slice can land green. Do not force it into a tracer bullet; sequence it as expand–contract instead:

  1. Expand — add the new form beside the old so nothing breaks yet. One issue.
  2. Migrate — move call sites over in batches sized by blast radius (per package, per

directory). Each batch is its own issue, blocked by the expand issue. CI stays green batch to batch because the old form still exists alongside the new one.

  1. Contract — delete the old form once no caller remains, in an issue blocked by every

migration batch.

When even individual batches cannot stay green in isolation, keep the same three-phase sequence but let the batches share an integration branch that all block a final integrate-and-verify issue — green is promised only there, not batch by batch.

Use this exception only when the change is genuinely mechanical and blast-radius-driven (renames, retyped shared symbols, signature-wide API changes). A feature that merely touches many files because it has many concerns is not a wide refactor — slice it vertically instead.

Output Template

markdown
## Proposed Issue Breakdown
1.**Title:** ...
**Blocked by:** None / #123
**Delivers:** ...
**Acceptance signal:** ...
2....

Issue Body Template

markdown
## Parent
[Reference to the source plan, PRD, or parent issue]
## What to build
[One thin vertical slice with end-to-end value]
## Acceptance criteria
-[ ] ...
-[ ] ...
-[ ] ...
## Blocked by
None - can start immediately

Common Rationalizations

RationalizationReality
"Let's make one big implementation issue first."Huge tickets hide sequencing mistakes and block delegation.
"We can split the layers now and connect them later."Horizontal slices are harder to demo and easier to strand.
"Dependencies are obvious."If they are not written down, the backlog will drift.

Red Flags

  • Several issues depend on work that has no explicit parent blocker
  • A slice only changes one layer and cannot be verified on its own
  • The user has not approved the breakdown before publication
  • The issue titles use implementation jargon instead of domain language from the source artifact

Verification

  • [ ] Every issue represents a thin vertical slice
  • [ ] Dependencies are explicit
  • [ ] The user approved the granularity before publishing
  • [ ] The tracker-specific publish path matches the project actually in use

See Also

← v1.0.0All versionsv1.0.2 →