Skip to content
Development
Skill

/ticket-writing

Use when creating or drafting tickets or issues, or when standardizing ticket output for a project

From plugin
metraton-gaia
339 skills9 agents11 hooks
Install
$ npx -y skills add metraton/gaia --skill ticket-writing --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ticket-writing

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when creating or drafting tickets or issues, or when standardizing ticket output for a project

SKILL.md

ticket-writing.SKILL.md
name: ticket-writing
description: Use when creating or drafting tickets or issues, or when standardizing ticket output for a project

Ticket Writing

The formula for tickets humans can read in ~15 seconds. The what and why go at the top; the how and evidence go in a comment. One Story per brief or theme; consolidate rather than inflate.

Core principle

A Story is readable by a non-technical stakeholder in 15 seconds. This means: plain English, active voice, value-oriented title, high-level description. All implementation detail and verification evidence lands in the first comment -- never in the description -- so the description reads clean.

Story template

**Title:** verb + outcome, plain English, no jargon, 80 chars max.

**Description fields:**

| Field | Content | |-------|---------| | *Objective* | 1-2 sentences: what it achieves and why (high level). | | *What it covers* | 3-5 bullets of scope -- what, not how. | | *Acceptance criteria* | Checklist "Done when..." -- verifiable, not vague. | | *Links* | Brief slug / repo if applicable. |

**Evidence** -- first comment only, never in description: commit hashes, verbatim commands, anything reproducible.

Subtask template

**Title:** short action phrase, plain English. **Description:** one line -- what it is / done when X.

Process

1. **Map to a brief or theme.** One Story = one brief or coherent chunk of work. If the work spans multiple unrelated concerns, split into separate Stories. If it is one theme with sequential steps, use Subtasks.

2. **Write the title last.** Draft the Objective and What-it-covers first; the title compresses naturally from those. If the title needs jargon to be precise, the description is missing context.

3. **Write the Acceptance Criteria as done-when checks.** Each AC is a checkbox that a person (not a CI system) can verify. Vague ACs get pushed back: "migrated" means what? "History intact" means no commit lost.

4. **Move all evidence to the first comment.** After the ticket is created, post a comment with: commit hashes, commands run verbatim, output snippets. This keeps the description clean for stakeholders and the evidence auditable for engineers.

5. **Adapt to the project's board conventions.** Do not create Epics if the team does not use them. Respect the active Sprint. Use existing Labels and Components, not invented ones. Check 2-3 existing tickets before creating the first one.

6. **Consolidate, do not inflate.** Prefer fewer well-scoped tickets over many granular ones. If two Subtasks share all context, make one Subtask. If a Story has one Subtask, fold the Subtask into the Story.

Style rules

  • Plain English, active voice. Write "Move repositories to Bitbucket" not

"Repository migration to Bitbucket platform will be performed."

  • Title is value-oriented: what the user or team gains, not the mechanism.
  • No implementation detail in the description. "Configure DNS records" belongs

in a Subtask description or the evidence comment, not the Story Objective.

  • Subtasks are ultra-light: one-line description, action-phrase title.
  • Fields: Assignee, Status (To Do / Done), Sprint -- set these before saving.

See `examples.md` for real tickets from the AOS migration project.

Anti-patterns

  • **Evidence in the description** -- pollutes the readable summary; goes in

the first comment instead.

  • **Title is the mechanism, not the outcome** -- "Run git push for all repos"

is a task; "Migrate AOS repositories to Bitbucket" is a Story.

  • **One Subtask per command** -- over-granular; group related steps into one

Subtask with a multi-step description.

  • **Inventing Epics or Labels** -- inconsistency with the team's board adds

noise. Adapt to what is already there.

  • **Vague Acceptance Criteria** -- "Works correctly" is not verifiable.

"History intact" is verifiable only when it means "no commit missing from git log --oneline."

Read more
Ships withmetraton-gaia

Generative AI Architecture

Get the whole plugin

Other skills on metraton-gaia.