agentsclimarketplace

Ticket splitter

Skill cat2000/domain-knowledge-ops/.cursor/skills/ticket-splitter

Agent skills for Cursor: Confluence/Jira → domain briefs → story risk & INVEST splits and test case Design. Offline DEMO-1 — no Atlassian needed to try.

Install
npx -y skills add cat2000/domain-knowledge-ops --skill ticket-splitter

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when splitting one Jira story into INVEST-testable backlog items with clear scope and done_when. Triggers: @ticket-splitter, Jira key, pasted requirement, team=, brief, or after @requirement-risk on the same key. Anchors to domain briefs; does not write curated.

SKILL.md

6.3 KB, as published. Nobody here has run it

ticket-splitter (INVEST backlog slices)

First principles

Artifact: iteration-ready commitments — each item has a boundary (scope) and an observable completion face (done_when). Not a task list or “dev vs QA” role split.

Quality: done_when must say what done looks like and how it is seen (user behavior / system-observable state / contract). “Dev done”, “ready for QA” are not completion faces. Title = 3-second headline (one primary outcome). scope bullets = one idea each (P11/P12).

Wiki @generate-knowledge-from-wikiThis skill
Cost of errorPollutes library briefsPlanning meeting rewrites a few items
Who stops bad outputHuman confirms modulesScripts block fake testability / missing structure
LoopPrep → confirm → compose → gateDraft → gate → fix failures only → gate

Corollaries

  1. Do not wait for human confirm in the loop.
  2. Borrow wiki’s script-verified explicit form, not confirm/continue ritual.
  3. Scripts do not decide “how many slices”.
  4. Substance: ticket_system.md; presentation: references/presentation.md.

When to use

  • Planning: cut one Jira story into executable backlog items
  • Need observable scope / done_when
  • Optional domain briefs under curated/by-root/<root_id>/

When not

ScenarioUse
Risk only@requirement-risk
Refresh wiki / write briefs@generate-knowledge-from-wiki / @distill-domain-knowledge
Sprint bulk into briefs@add-knowledge-from-jira
Requirement unreadableState blockers; do not interrogate endlessly

How to invoke

  • @ticket-splitter DEMO-1 team=demo (offline demo)
  • @ticket-splitter PROJ-123
  • @ticket-splitter team=<key> PROJ-123
  • @ticket-splitter PROJ-123 + code paths (R2.5 anchors)
  • @ticket-splitter PROJ-123 brief
  • Or pasted requirement text

Offline DEMO-*: ../_shared/offline-demo.md.

ParamValuesDefault
teamkey/alias in team-roots.jsonattribution / Agile Team
briefshort-mode words in messagefull items

Preconditions & failures

  • Offline DEMO-*: no credentials
  • Real keys: .env Atlassian/Jira credentials + network; fetch_jira_attachments.py as needed
  • No credentials → paste text or DEMO-1
  • No brief → still emit; note missing anchors
  • Gate fail → fix and re-run; do not claim done without pass

Decision tree

Jira key?
├─ DEMO-* / offline → fixtures/offline-demo; skip network
├─ real key → attachments via MCP or fetch script
├─ Resolve team/root
├─ primary slug → S7 locale brief (`*-domain-brief.md` / `*-领域知识定稿.md` per locale); else S6 source-brief / work draft (noted)
├─ Jira says “dev only, test elsewhere”? → do not invent test rows; note in narrative
├─ brief mode? → Scope + split overview + correction note (still gated)
├─ Draft → .jira_attachments/<KEY>/split_draft.md when KEY present
└─ Gate: validate_ticket_split.py [--brief] → fix → deliver

Responsibility

LayerAgentScript
EvidenceWhich briefs / code anchorsFetch issue & attachments
GenerateSplit + presentationNo prose authorship
GateFix from reportvalidate_ticket_split.py
Semantic reviewOnly if user asks for principlesNone

Gate rules

  1. Full and brief must pass validator before delivery.
  2. Fake testability (done_when = “dev done / ready for QA” with no observable state) → fail.
  3. Need Scope + ## Split overview (or locale equivalent the validator accepts); full items need title/scope/done_when/deps/confidence.
  4. P11 title anti-patterns and P12 welded scope bullets → fail when detectable.
  5. On fail, fix only reported issues.
  6. Standards: ticket_system.md + presentation; scripts verify only.
  7. Never write curated/ or run distill check.

Presentation & domain library

Unlike @add-knowledge-from-jira, this skill outputs iteration backlog items, not library merges.

Agent checklist

  1. Load Jira + domain evidence; fetch attachments if needed.
  2. Split per ticket_system; constrain with briefs; write correction narrative when needed.
  3. Presentation + P11/P12 self-check; attach risk R-00N when same-session risk exists (P7).
  4. validate_ticket_split.py; fix until pass; deliver in chat.
  5. Do not default-wait for human confirm.

Done when

  • Validator exit 0 (or explicitly marked failed)
  • Scope + split overview present
  • Full items have observable done_when; no fake-testability ban words
  • Titles/scope pass P11/P12 intent
  • Risk R-00N linked when applicable
  • Not split primarily as “dev vs test” for the same outcome

Forbidden

  • Write curated/ / run distill check
  • Items that contradict explicit brief out-of-scope
  • Invent subsystem names absent from briefs
  • Skip gate or wait for confirm unless ungated draft requested
  • Copy wiki confirm→continue as the split main flow
  • Weld multi-concern scope into one bullet; empty verbs as fake coverage

Handoff to @ticket-test-design

After a usable split (or instead of split when AC are already clear), testers may @ticket-test-design <same KEY> to produce must/should/later cases proving AC / done_when.

Examples

@ticket-splitter DEMO-1 team=demo
→ offline → draft → validate → deliver

@requirement-risk PROJ-1 then @ticket-splitter PROJ-1
→ no confirm wait; link R-00N; note open MUST assumptions

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.