agentsclimarketplace

Ticket writer

Skill krzysztofsurdy/code-virtuoso/skills/tools/ticket-writer

Interactive tool to write high-quality tickets of the right type - story, subtask, issue, bug, epic, or initiative - each with its own structure, required fields, and quality checks. Use when the user asks to write a ticket, draft a user story, file a bug report, scope an epic, define an initiative, break work into subtasks, or convert a rough idea into a well-formed backlog item. Runs an interactive type selection and field-by-field questionnaire, then outputs a clean Markdown ticket ready to paste into Jira, Linear, GitHub Issues, Azure DevOps, or any tracker.From its SKILL.md

Install
npx -y skills add krzysztofsurdy/code-virtuoso --skill ticket-writer

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

One thing to look at

  • 20 stars20 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.

SKILL.md

9.5 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

Ticket Writer

Pick the right ticket type, then fill in only the fields that type demands. A story is not a bug; an epic is not an initiative. Each type has a distinct audience, scope, and definition of done - mixing them produces vague, unactionable tickets that bloat backlogs.

Core Principles

PrincipleMeaning
Type drives structureThe type decides the required fields - never use a single template for everything
Outcomes over outputsDescribe the change the work creates, not the activity performed
Small enough to finishStories and subtasks fit a sprint; epics fit a quarter; initiatives span multiple quarters
Testable acceptanceEvery story, subtask, and bug has acceptance criteria that a reviewer can verify
Context, not prosePrefer tables, lists, and labelled sections over paragraphs - readers skim
One ask per ticketIf a ticket has two unrelated goals, split it

Type Hierarchy and Selection

Tickets form a hierarchy. Pick the highest level where the work still has a single, coherent purpose.

Initiative  (multi-quarter strategic outcome)
  Epic      (quarter-scale goal, one product area)
    Story   (sprint-scale user-visible value)
      Subtask  (implementation slice of a story)
    Bug     (defect against current behaviour)
    Issue   (anything else - chore, spike, question)

When to Use Each Type

TypeAudienceScopeTypical DurationKey Question
InitiativeExecs, product leadershipCross-team strategic goal1-4 quartersWhat outcome do we want for the business or users?
EpicProduct, engineering, designSingle product area, multiple stories1 quarterWhat capability or experience are we delivering?
StoryDev team, QA, PMOne user-facing changeFits in a sprintAs a [user], what can I now do?
SubtaskOne developerTechnical slice of a storyHours to 1-2 daysWhat specific implementation step does this cover?
BugDev team, QAA deviation from intended behaviourFix-sizedWhat is broken, and how do I reproduce it?
IssueDev teamChore, spike, question, tech debt, docsVariableWhat needs attention that isn't user-facing work?

Type Decision Tree

  1. Is this a deviation from intended behaviour? -> Bug
  2. Is this a strategic goal spanning multiple teams or quarters? -> Initiative
  3. Is this a large body of work that needs to be broken down but belongs to one product area? -> Epic
  4. Is this user-visible value that fits in a sprint? -> Story
  5. Is this an implementation slice of an existing story? -> Subtask
  6. None of the above (chore, spike, investigation, tech debt, question)? -> Issue

Workflow

Phase 1: Type Selection

If the user provided a type as an argument, use it. Otherwise present a selectable menu (use AskUserQuestion or the platform's equivalent interactive prompt) listing the six types with their one-line descriptions from the table above. Never dump the full table as plain text - keep the menu compact.

If the user's intent is clear from context (e.g., they said "write a bug report" or "create an epic for checkout redesign"), skip the menu and confirm the inferred type with a single yes/no prompt.

Phase 2: Load the Type-Specific Reference

Read the matching reference file for the selected type:

TypeReference
Storyreferences/story.md
Subtaskreferences/subtask.md
Issuereferences/issue.md
Bugreferences/bug.md
Epicreferences/epic.md
Initiativereferences/initiative.md

Each reference contains:

  • The required fields
  • The optional fields
  • A field-by-field questionnaire (questions, options, follow-ups)
  • The output template
  • Quality checks specific to that type

Phase 3: Run the Questionnaire

Ask only the questions the reference lists for the selected type. Follow these rules:

  1. Batch compatible questions (3-4 per prompt) when using an interactive menu tool. Use free-text prompts only when the answer is genuinely free-form (title, description, reproduction steps).
  2. Skip optional fields silently if the user says "skip" or leaves them blank - do not add empty placeholders.
  3. Follow-up on ambiguous answers - if the user says "it's slow", ask "slow compared to what, and by how much?"
  4. Never invent facts. If the user cannot provide environment info, reproduction steps, or metrics, leave those fields out and note the gap in a ## Open Questions section rather than fabricating values.

Phase 4: Assemble the Ticket

Use the type's output template. Apply these universal formatting rules:

  • Title: Imperative mood for stories/subtasks/issues ("Add password reset via email"), descriptive for bugs ("Payment confirmation email not sent after successful charge"), outcome-oriented for epics/initiatives ("Reduce checkout abandonment by 30%").
  • Body: Markdown with section headings. No emojis unless the user explicitly requests them.
  • Labels: Suggest labels based on type and content (e.g., bug, severity:high, area:checkout).
  • Links: Leave placeholders for parent epic / related tickets / PRs rather than inventing IDs.

Phase 5: Quality Check

Before showing the final output, run the checks listed in the type's reference file. Common failure modes to catch:

SymptomFix
Acceptance criteria describe implementation ("implement X service")Rewrite in terms of observable outcomes ("when user does X, system does Y")
Bug has no steps to reproduceMark as "Open Questions" and ask the user to provide them
Epic has no success metricAdd a metric or downgrade to a story
Story doesn't name a user ("we need to...")Rewrite with a concrete persona ("As a returning customer, I want...")
Initiative lists features instead of outcomesReframe key results as measurable changes, not shipped features
Subtask is larger than its parent storySplit the story or merge the subtasks

Phase 6: Deliver

Show the final ticket to the user in a code block so they can copy-paste it. Then offer:

  1. Edit a field
  2. Change the type (if the content no longer fits)
  3. Write a related ticket (e.g., a story under the epic just written)
  4. Done

Quick Reference: Field Matrix

Which fields are required (R), optional (O), or not used (-) per type.

FieldStorySubtaskIssueBugEpicInitiative
TitleRRRRRR
User personaR-OOOO
User story sentenceR-O-O-
Problem statementO-ORRR
Acceptance criteria (Given/When/Then)RRORO-
Steps to reproduce---R--
Expected / actual behaviour---R--
Environment---R--
Severity---R--
PriorityOOOROO
Scope / out of scopeO-O-RR
Success metrics----RR
Key results----OR
Objective----OR
Milestones----OR
Parent linkOROOO-
Child list----OO
Definition of doneRRORO-
Technical notesOOOOO-
EstimateOOOOO-
DependenciesOOOOOO

Integration with Other Skills

SituationRecommended Skill
Writing the PRD that the stories will flow fromproduct-manager
Designing the architecture behind an epicarchitect
Writing acceptance criteria and test plans for a storyqa-engineer
Planning sprints and setting sprint goalsscrum
Tracking initiatives as part of a delivery planproject-manager
Writing the commit and PR for a story once implementedpr-message-writer
Kicking off the ticket workflow after writingticket-workflow

Reference Files

ReferenceContents
story.mdUser story fields, INVEST checklist, Given/When/Then acceptance criteria, full template and example
subtask.mdSubtask fields, parent linkage rules, technical acceptance criteria, Definition of Done guidance
issue.mdGeneric issue template for chores, spikes, tech debt, questions, and docs tasks
bug.mdBug report fields, severity vs priority matrix, environment capture, reproduction rigor
epic.mdEpic fields, problem statement, success metrics, in/out of scope, milestones, child stories
initiative.mdInitiative fields, OKR alignment, objective and key results, outcome vs output, epic roll-up

What ships with it: 6 files

35.7 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 326,835. 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.