Skip to content

[Feature] /tickets-batch skill for filing multiple tickets in one flow #108

@atlas-apex

Description

@atlas-apex

User Story

As a Chief-of-Staff or tech lead kicking off a large piece of work, I want to file 5–20 structured tickets in one flow, so that I don't have to choose between the slow interactive path (10+ questions per ticket via /feature, /task, /bug) and the non-conformant fast path (raw gh issue create with whatever shape the agent invents).

Context

The existing ticket-creation skills are interactive and enforce "one question at a time, never batch." That's the right UX for a single ticket. It's unusable for filing 10+ tickets in a single intent (project kickoff, roadmap decomposition, handover integration plan). The observed failure mode: agents silently bypass the skill and file tickets via raw gh issue create, producing rich-but-non-conformant output.

This ticket fixes the incentive. The validation hook (companion ticket) fixes the enforcement. Both are needed — one without the other leaves either a loophole or an unworkable happy path.

Acceptance Criteria

  • New skill at .claude/skills/tickets-batch/SKILL.md with argument-hint: "<optional bulk description>".
  • Step 1 — resolve repo (same logic as /feature: session marker → apexyard.projects.yaml → ask).
  • Step 2 — accept the batch as either (a) a numbered list pasted in one message, or (b) a markdown file path.
  • Step 3 — ask shared-context questions once (not per ticket): priority default, optional epic link, area labels to apply to all.
  • Step 4 — for each ticket, run a 3-question micro-interview: title, type (feature / chore / bug / docs), one-line purpose. Infer User Story / Driver from the purpose when possible; ask once per ticket if the inference is low-confidence.
  • Step 5 — show the full batch for confirmation (all N tickets, formatted, ready to file).
  • Step 6 — file all tickets via gh issue create; stop on first failure and ask whether to retry / skip / abort.
  • Step 7 — return a summary with one line per created ticket.
  • Output conforms to the project's ticket schema (read from config per the companion ticket) — by construction, not by post-hoc validation.
  • Documented in CLAUDE.md under the Skills table.
  • End-to-end test fixture: a 5-ticket batch goes through all steps without tripping the validation hook.

Design Notes

The skill is the fast happy path for bulk work. It should feel like a bulk-file action, not a sequence of N /feature invocations chained together. Key design call: infer where the template allows (User Story can often be derived from a one-line purpose); ask explicitly only for fields with no good default.

Flow shape the agent should reach for when a user says "file N tickets":

/tickets-batch         ← agent invokes this, not raw gh issue create
  → 1 shared-context Q batch
  → N micro-interviews (3 Qs each)
  → 1 confirmation
  → N file calls

Out of Scope

  • Backfilling existing non-conformant tickets (separate one-off migration).
  • Bulk-editing existing tickets — scope of this skill is creation only.
  • Integration with non-GitHub trackers (Linear, Jira). Existing skills are GitHub-only; this one matches.
  • Auto-detection of "this is a bulk intent" from the user's prompt — the agent decides when to invoke /tickets-batch vs. /feature.

Effort Estimate

Medium skill (~300 lines of SKILL.md, no hook work since the validator is its own ticket).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — material gap or user-impactingenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions