Files
NowChessSystems/.claude/commands/split-story.md
T
Janis 2d18478110 chore(commands): add auto-linking for blocks/relates-to/subtask relations
create-story: Step 7 prompts for issue links and auto-detects IDs in description.
fix-defect: Step 3b scans for referenced IDs; Step 7b prompts for post-push links.
split-story: Step 6b adds inter-subtask blocking chains; Step 6c links external issues.
All commands now use content-based project routing (not parent inheritance).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 10:13:18 +02:00

3.6 KiB

Split Story into Subtasks in YouTrack

Split a user story into smaller, implementable subtasks. Story ID: $ARGUMENTS

Step 1 — Fetch Story

Call mcp__youtrack__get_issue with ID $ARGUMENTS. Extract and display: summary, description, acceptance criteria, implementation notes.

Step 2 — Research (if needed)

If the story involves unfamiliar domain logic or technical constraints:

  • Search repo for relevant code (Grep/Bash).
  • Use WebSearch for external standards or protocols.
  • Do NOT guess. Surface findings before proposing splits.

Step 3 — Propose Split

Analyse the story and propose a set of subtasks. Rules:

  • Each subtask = one unit of work, completable independently or in sequence.
  • No subtask should exceed ~2 days of work.
  • Name subtasks in imperative mood (e.g. "Implement move validation endpoint").
  • Cover the full scope of the parent story — no gaps.

Show proposed subtask list to user (titles only) and ask: Use AskUserQuestion tool:

  • Does the split look right?
  • Any subtasks to add, remove, or merge?
  • Should any subtask be assigned to a specific person?

Incorporate feedback. Repeat until user approves the list.

Step 4 — Draft Each Subtask

For each approved subtask, compose description using this template:

[Brief description of what needs to be done for this subtask.]


Steps / Tasks

- Task 1
- Task 2
- Task 3


Definition of Done

What must be true for this subtask to be considered complete:

- Code implemented
- Tests passed
- Reviewed and merged

Rules:

  • Steps/Tasks: concrete, ordered where order matters.
  • Definition of Done: adjust per subtask — not all subtasks need the same criteria (e.g. a research spike has different DoD than an implementation task).
  • Keep description short — one paragraph max.

Step 5 — Determine Project per Subtask

Assign each subtask's project based on its content — do not inherit blindly from parent:

  • Backend code (game engine, bots, API, services, coordinator) → NCS
  • Frontend code (UI, UX, web app) → NCWF
  • Kubernetes, pipelines, CI/CD, DB setup, infrastructure → NCI

If a subtask's project is ambiguous, ask the user before creating it.

Step 6 — Create Subtasks

For each subtask call mcp__youtrack__create_issue with:

  • project: from Step 5
  • summary: subtask title (≤72 chars, sentence case)
  • description: full formatted description from Step 4 (Markdown)
  • type: Task

Then call mcp__youtrack__link_issues to link each created subtask to $ARGUMENTS with relation subtask of.

If subtasks must be done in sequence (one depends on output of another), add ordering links:

  • For each dependency pair call mcp__youtrack__link_issues with relation is blocked by (subtask B is blocked by subtask A).

Ask the user to confirm sequencing before adding these links:

Do any subtasks have ordering dependencies? (e.g. "Implement X must come before Add tests for X")

Scan $ARGUMENTS description and implementation notes for any referenced issue IDs not already linked. For each:

Situation Relation
Parent story blocks another epic/story blocks
Story depends on another epic completing is blocked by
Related story in same domain relates to
This story duplicates or supersedes duplicates

Suggest links to the user and call mcp__youtrack__link_issues on confirmation.

Step 7 — Report

List all created subtask IDs and summaries. List all links created (subtask-of, blocking chains, external). Display parent story link. Ask if any subtask needs further splitting.