跳转到内容

Agent skills for splitting work into issues

Agent skills for splitting work into issues

Section titled “Agent skills for splitting work into issues”

Next step: 2026-10-08 PM worker reviewer agent orchestration covers what happens after the split: dispatch, implementation and the review gate.

Related: 2026-10-02 Suggestive collaborative agent prompting (grill-me → to-prd, the step before splitting) · 2026-10-02 Overnight and long-running agents (“pre-curated queue”; issue text is data) · 2026-10-08 yetone magpie agent workflow (acceptance criteria that state what was run) · 2026-10-08 Agent lessons ledger lineage (Every / compound-engineering lineage) · 2026-09-28 Opinionated skill packs pstack shape

Verification: 2026-10-08 Agent verification skills — how to prove each slice’s Verification / Test scenarios actually hold (fail-without-fix, not-run record, head-SHA gate). Design gate: 2026-10-08 Design-first feature gate — pre-implementation design sign-off and post-implementation conformance review for new features.

Pinned 2026-10-08 ~23:30 (UTC+8). I read every SKILL.md quoted here from a shallow clone or a raw fetch at its default-branch HEAD. Star counts come from the GitHub API at pin time.


Repomattpocock/skills: 280,820★, MIT, last commit b0618bc on 2026-10-08 16:44 (UTC+8)
Filesskills/engineering/to-tickets/SKILL.md · docs page · GitHub tracker doc
Lineageprd-to-issues → to-issues → merged with to-plan into to-tickets (CHANGELOG #464). to-prd was renamed to-spec.
Creates issues?Yes. It uses gh issue create in blockers-first order, --parent for sub-issues, and native blocking links (gh issue create --blocked-by, or gh api …/dependencies/blocked_by). A local mode writes .scratch/<feature>/issues/NN-slug.md. GitLab is supported through glab. Linear and Jira are only described in free-form prose recorded at setup.
Interactive?It does not grill. The grill happens upstream (grill-with-docs → to-spec). The skill does quiz you on the breakdown and won’t publish until you approve it. disable-model-invocation: true, so the user has to invoke it.

What it does. It turns a plan, a spec issue, or the current conversation into tickets. Each ticket is a tracer bullet with blocking edges, and prefactoring goes first. Wide refactors get an expand → migrate batches → contract sequence instead of vertical slices. Chain: grill-with-docs → to-spec → to-tickets → implement → code-review → retro.

Output shape (the issue template, verbatim headings):

## Parent
#42
## What to build
End-to-end behaviour from the user's perspective, not layer-by-layer.
## Acceptance criteria
- [ ] Criterion 1
- [ ] Criterion 2
## Blocked by
- #43 (omitted when native blocking edges were set)

The quiz list before publishing looks like 1. Title · Blocked by: None · What it delivers: ….

Pros

  • It defends vertical slicing with evidence. The docs page cites a team whose “26-ticket stack sliced by layer” took “roughly twenty agent runs per closed ticket, about three quarters of them rework”.
  • Blocking edges are first-class, and it works the frontier (any ticket whose blockers are all done can be picked up).
  • It publishes natively: sub-issues, blocked-by, and a ready-for-agent label.
  • The docs FAQ is honest about failures: over-decomposition (“twelve tickets for a three-line change”), horizontal slices slipping through, and acceptance criteria that “graded nothing”.
  • Plain markdown, MIT, very actively maintained.
  • It is the field default. Adam Rackis (1,068 likes): “Matt Pocock’s /grill-me and /to-tickets for bigger tasks”. jpadilla1293 reports 500+ PRs from tickets made this way. GitHub code search returned 1,198 SKILL.md hits for vertical slice + blocked by + sub-issue, and most of them are copies or forks of this skill.

Cons

  • No explicit sizing. The only size rule is “fits in a single fresh context window”. There are no points or T-shirt sizes.
  • It dropped the older to-issues AFK/HITL typing.
  • It depends on /setup-matt-pocock-skills having written an ### Issue tracker block into AGENTS.md or CLAUDE.md.
  • Linear is prose-only, with no worked recipe.
  • The native flags need gh ≥ 2.94 (release notes, 2026-06-10). The box has gh 2.46.0, so --parent and --blocked-by would fail here.
  • Dispatch is manual by design. The docs say the skill “stops at the artifact”.

How to mirror. Make a new workflow skill, e.g. split-to-issues. Copy the vertical-slice rules, the wide-refactor exception, the quiz and both templates. Replace the tracker indirection with Grok Bot tools:

  1. cursor-github create_issue in blockers-first order.
  2. add_sub_issue under the parent.
  3. gh api --method POST repos/O/R/issues/N/dependencies/blocked_by -F issue_id=<db id> for edges. The MCP has no blocked-by tool, and the box’s gh is too old for --blocked-by.
  4. Fall back to local files under Projects/<name>/issues/ or .scratch/ when the repo has no tracker.

The quiz doubles as the approval Grok Bot needs before filing anything. Put it next to project-pm (the PM owns “next” and hands off slices) and project-map (it renders the frontier). It runs downstream of a grill step, which Noa doesn’t have yet (see §5).


#2 slice: AgentiveStack/skills (a compact to-issues variant with AFK/HITL and sizing)

Section titled “#2 slice: AgentiveStack/skills (a compact to-issues variant with AFK/HITL and sizing)”
RepoAgentiveStack/skills slice/SKILL.md: 72★, MIT, last push 2026-04-29
Creates issues?Optional. Local docs/contexts/<name>/specs/<feature>-slices.md is the default. Option B is gh issue create in dependency order. No native edges: “Blocked by” is text in the body.
Interactive?Quiz only, including “Are the correct slices marked AFK vs HITL?” and “Which slices should have tests?”

What it does. It is the Pocock recipe compressed to about 130 lines. It adds slice types, a per-slice testing scope, and an anti-patterns list.

Output shape (quiz list, verbatim from the skill):

1. [Title] (AFK)
Blocked by: None — can start immediately
Tests: [what to test in this slice]
3. [Title] (HITL — needs design decision on X)
Blocked by: #1

The issue body has these sections: What to build · Acceptance criteria (behavioural) · Testing scope (what to test / what NOT to test) · Blocked by.

Pros: AFK/HITL maps directly onto “hand to a cheap implementer” vs “keep for Noa”. It has a crude size ceiling (a day) and the clearest anti-pattern list. Small, plain markdown, MIT. Cons: Small project with low activity since April. Blocking edges are text only, and it doesn’t use sub-issues. “Prefer many thin slices” pushes toward the over-decomposition that Pocock now warns against. It reads docs/CONTEXT_MAP.md, a convention specific to that repo. How to mirror: Don’t adopt it as a separate skill. Graft three things into #1: the Type: AFK|HITL line, the “more than a day → split” check, and the “no setup slices / no test slices” anti-patterns. Similar forks with useful extras:

  • softspark prd-to-issues (Apache-2.0, 179★, active): “if every issue has blockers, the slicing is wrong”, plus user-story traceability.
  • aurelienmaze to-sub-issues (MIT): a shared _context_issue.md so “implementation never has to read the original ticket”, and a ~100k-token size budget.

#3 ce-plan: EveryInc/compound-engineering-plugin (best per-unit body; files one issue, not many)

Section titled “#3 ce-plan: EveryInc/compound-engineering-plugin (best per-unit body; files one issue, not many)”
RepoEveryInc/compound-engineering-plugin: 25,431★, MIT, last commit 2026-10-08 07:40 (UTC+8)
Filesskills/ce-plan/SKILL.md · references/structure.md (§3.3–3.5 units) · references/plan-handoff.md (Create Issue)
Creates issues?One issue per plan. “Create Issue” runs gh issue create --title "<type>: <title>" --body-file <plan_path>. For Linear it looks for a connector or MCP first, then the API, then a CLI. The units stay inside one markdown or HTML plan, and ce-work executes them.
Interactive?Heavy. It asks one blocking question at a time. Output is Direct, Chat brief or Durable. A handoff menu follows, plus a document-review pass. ce-brainstorm covers the WHAT upstream.

Output shape:

### U3. Tag filter end-to-end
**Goal:** … **Requirements:** R2, R5 **Dependencies:** U1
**Files:** src/tags/filter.ts, tests/tags/filter.test.ts
**Test scenarios:**
- Covers AE2. Selecting two tags returns only recipes with both
- Empty tag set returns all recipes
**Verification:** filter round-trips through the URL and survives reload

Pros: It has the richest per-unit contract seen here: test scenarios by category, verification as outcomes, stable IDs. Its sizing guidance is explicit (“Usually 2-4 / 3-6 / 4-8 implementation units” by depth). It finds trackers by capability (connector or MCP before CLI), which fits Grok Bot well. MIT, very active. Cons: It doesn’t split into issues. The issue is the whole plan. Units are “focused on one component”, so they can drift layer-wise, and it doesn’t push vertical slices. It is tightly bound to its harness: dozens of reference files, a model-elevation script, ce-doc-review, and host question tools. How to mirror: Borrow only the unit template: Goal / Requirements / Dependencies / Test scenarios / Verification, plus stable IDs. Use it as the “What to build + Acceptance criteria” body in #1. Its AC are outcome-shaped and can fail before work starts, which fixes the “criteria graded nothing” failure the Pocock FAQ admits to. It sits beside pstack architect (shape first) and figure-it-out Phase B.


CandidateOutputCreates issues?InteractiveLicense · activityPortWhy not top 3
GitHub Spec Kit /speckit.tasks + github extension taskstoissuestasks.md phases per user story. - [ ] T012 [P] [US1] Create User model in src/models/user.py. [P] marks parallel tasks, and there is a dependency section.Yes, via the GitHub MCP issue_write. Titles are T001: desc, deduped by T-ID, and it refuses a non-GitHub remote. The core command is deprecated in favour of the extension./clarify upstream. Tasks step isn’t interactiveMIT · 140,650★ · commit 2026-10-08Medium (CLI scaffolding, hooks)Tasks are file-level and layer-ish inside a story (model → service → endpoint). That makes too many tiny issues with no AC per issue. Good at story-level independence (“Independent Test” per story).
Taskmaster parse-prd / expand / analyze-complexityJSON tasks (title, description, details, testStrategy, dependencies, priority). Complexity 1–10 → recommended subtask count.No. Tasks live in .taskmaster/tasks/tasks.json. Docs mention linking external IDs only.No grill. Optional research modeMIT + Commons Clause · 28,185★ · default branch last commit 2026-04-23Low (own CLI/MCP + API keys)Only tool with numeric sizing (complexity → expand), but prose PRD in, generic tasks out (ssojet: “Vague PRD in, vague tasks out”). Not vertical.
obra/superpowers writing-plansdocs/superpowers/plans/YYYY-MM-DD-*.md. Tasks with exact Files, Interfaces (Consumes/Produces), TDD steps.No (markdown)brainstorming upstreamMIT · 296,660★ · commit 2026-09-26EasyAn in-ticket plan, not a splitter. Worth stealing: “Split by responsibility, not by technical layer” and the Interfaces block.
Kiro specs tasks.mdrequirements.md (EARS + AC) → design.md → tasks.md. Runs independent tasks in waves.No (IDE task UI)Requirements- or design-first approval gatesClosed IDELowGood wave/DAG idea, but tied to the Kiro IDE.
snarktank/ai-dev-tasks generate-tasks.mdParent tasks → wait for “Go” → sub-tasks + Relevant FilesNo”Go” gateApache-2.0 · 7,799★ · last push 2025-11-05TrivialChecklist for a “junior developer”. No AC, no dependencies, stale.
LSDIPPOLLC linear-plannerTree: Project → Milestone → Parent → Sub-task. Branch names.Yes, Linear MCP (save_issue, blockedBy, milestones)Clarify → present tree → confirmMIT · 0★ · 2026-04Easy if Linear MCP is presentBest Linear recipe found: “1-3 days max”, “Every issue must have clear acceptance criteria”. Not vertical. Tiny project.
megrbui linear-issue-breakdown (Cursor skill)Markdown: requirements summary + parallel PR-sized subtasks + unit testsYes, Linear MCP create_issue with parentId after confirmationRefinement questionsNo license · 0★EasyReads Linear project docs first (nice). No license.
jdh313 breakdown”ADHD-friendly” tasks with ~30min estimates and done criteriaYes, Linear MCP + Obsidian notesCoached dialogue. Decompose vs recompose modesNo SPDX license · 0★ · activeMediumFor personal projects, not code. Its recompose mode (reconcile drifted issues) is a good idea.
chriscox project-plannerProposal doc → tracking issue + one issue per phaseYes: gh issue create + GraphQL addSubIssueTriage: proposal / feature / bugMIT · 11★ · 2026-03EasyPhases, not slices. The useful idea is triaging which artifact to make.
SchneiderDaniel issue-cutter (Pi skill)Sub-issues with ≥2 AC + human validation stepsYes: gh sub-issues + GraphQL addBlockedByRefinement gate + confirmMIT · 66★ · activeEasyCautionary: it claims “vertical slice” but orders “Backend before frontend”, with one layer label per issue (database→backend→frontend) in a forced linear chain.
posit-dev sub-issueReference for gh ≥2.94 sub-issue commandsTooling only—MITTrivialHelper, not a splitter. Handy cheat-sheet.
anthropics/claude-code feature-dev · anthropics/skills7-phase feature workflow (Discovery → Clarifying Questions → Architecture → Implementation)NoClarifying-questions phaseAnthropic repos—No issue-splitting skill in either repo (grep of both at HEAD).

  1. Vertical slices / tracer bullets. Each issue cuts through every layer and can be demoed alone. The first slice is the thinnest end-to-end path; later ones add breadth (Pocock, slice, softspark, aurelienmaze; superpowers says “not by technical layer”). Field framing: “PR-sized vertical slices that ship working functionality end to end” (chrisparaiso).
  2. Settle the design first, then split. grill-with-docs/grill-me → to-spec → to-tickets in one context window (“Don’t clear or compact between /to-spec and /to-tickets”). Every’s version is ce-brainstorm → ce-plan. The splitter itself only quizzes.
  3. Quiz before publish. The breakdown is shown as a numbered list. The user is asked about granularity, edges, and merge/split, and nothing is filed until approval. This is also the right gate for Grok Bot’s external-action rule.
  4. Explicit dependency edges, published blockers-first so later issues can cite real numbers. Use native sub-issues + blocked-by where the tracker has them, and work the frontier. Warning sign: “if every issue has blockers, the slicing is wrong” (softspark).
  5. Prefactor first; expand–contract for wide refactors (Pocock). This is the only principled exception to vertical slicing found.
  6. Issue template: Parent · What to build (behaviour, not layers) · Acceptance criteria checklist · Blocked by. Optional extras: Type AFK/HITL, Testing scope, User stories covered, Context to load. No file paths or line numbers (“they go stale fast”), except decision-rich snippets from a prototype.
  7. Sizing is weak everywhere. Rules in use: “one fresh context window” (Pocock), “~100k tokens” (aurelienmaze), “more than a day → split” (slice), “1-3 days” (Linear planner), “atomic commit / 2-4…4-8 units” (ce-plan), and complexity 1–10 → subtask count (Taskmaster). Nobody writes T-shirt sizes onto the issue.
  8. Testable AC. Pocock’s FAQ says to name, for each criterion, “the observation that would show it false, and confirm it fails at the commit the implementer starts from”. ce-plan’s outcome-shaped Verification + Test scenarios is the most concrete version of this.
  9. Failure modes to design against:
    • over-decomposition (“twelve tickets for a three-line change”)
    • horizontal slices slipping through
    • backlog explosion: one operator had Claude mass-close 500+ self-created issues (WindAddict)
    • different tools disagreeing on granularity: “One wrote 13 tasks for it, another 29, one wrote none” (SSShken)
    • spec compression losing detail: “write-a-prd is knowledge compression and thus some important details occasionally get lost” (HN, Bossie)

Noa skillOverlapGap it leaves
pstack figure-it-out (Phase B)“Decompose into atomic, independently-landable units. Sequence riskiest-unknown-first. Scaffold and verification come before features.” That’s the same instinct as prefactor-first.The units become todos inside one run, not tracker issues. No AC template, no blocked-by edges, no quiz (by design it proceeds with “a multi-hour run earns one checkpoint”).
pstack architect / arenaShape before code: types, module map, two candidate designs.Design artifact, not a work breakdown. Natural upstream of slicing for one-way-door designs.
project-pm / pm-foldThe PM owns scope, decided design, “next”, and open questions in Projects/<name>.md. Fold promotes ideas.No step turns “next” into issues. The split skill would be the PM’s outbound hand-off.
project-mapDraws parts, stuck waits, and the next step from code + issues/PRs.It reads issues and doesn’t create them. It could render the frontier after a split.
new-design-handoff / critique”Acceptance criteria (testable) + non-goals” for UI work.Single surface, no splitting. Its AC wording is reusable for UI slices.
lessons-ledgerDifferent stage (post-hoc review).Could add a rule like “horizontal slice caused rework” when it happens.
2026-10-02 Suggestive collaborative agent promptingAlready recommends grill-me → /to-prd and BLUEPRINT’s “smallest vertical slice”.Noa has no grill skill installed. The upstream half is still a paste-prompt.

  • No grill/spec step in Noa’s skills. to-tickets assumes grill-with-docs → to-spec ran first in the same context. A mirror needs either a light grill phase or a “source must be a settled spec/issue” precondition.
  • Box tooling: gh is 2.46.0, below the 2.94 needed for --parent / --blocked-by. cursor-github has create_issue + add_sub_issue but no blocked-by tool, so edges need gh api …/dependencies/blocked_by (REST, database ids) or a GraphQL addBlockedBy. Not tested live here, because filing test issues is an external action.
  • Linear: no Linear connector appears in this workspace’s tool list. Every Linear recipe found assumes mcp__linear-server__*.
  • Sizing: no candidate puts a size estimate on each issue in a principled way. Matt’s context-window rule is the most agent-relevant. Taskmaster’s complexity score is the only numeric one, and it isn’t vertical.
  • Reddit: Exa site:reddit.com returned nothing usable (same as the 10-02 digest). HN had only comment-level mentions.
  • Not checked: Amp/Codex-specific prompts for splitting (none surfaced in search). Cursor rules beyond the one exported Cursor skill above.
  • The Curated External Skills note doesn’t list mattpocock/skills, superpowers or compound-engineering yet. That’s left for the owner of that lane (this note writes to Digests only).

Repos / files (read at HEAD, 2026-10-08)

Docs / blogs (Exa)

X (dates UTC+8)

HN