Files
NowChess-Frontend/.claude/commands/split-story.md
T
Janis Eccarius a65d748f99 chore(claude): add YouTrack command suite
Port create-defect, create-story, estimate-issues, fix-defect,
implement-feature and split-story commands, adapted for the Angular
frontend (npm build/test, prettier gates, NCWF routing).
implement-feature now walks subtasks, respects blocked-by, and reports
cross-project (NCS/NCI) tasks. Ignore .claude/worktrees.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 14:33:07 +02:00

3.8 KiB

Split Story into Subtasks in YouTrack

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

This is the NowChess-Frontend repo. Frontend subtasks route to NCWF.

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 UI flows or technical constraints:

  • Search repo for relevant code under src/app/ (Grep/Bash).
  • Use WebSearch for Angular APIs, 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. "Add board theme service", "Render theme picker component").
  • 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
- Specs passing
- 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:

  • Frontend code (UI, UX, web app, components, services) → NCWF
  • Backend code (game engine, bots, API, services, coordinator) → NCS
  • 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. "Add theme service must come before Render theme picker")

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.