GitHub Ticket Writer
Create tickets that are small, testable, and unambiguous for engineering execution.
Input
- Requirement or change request.
- Linked epic and milestone context.
- Priority and dependency information.
- Constraint: Ticket should fit 1-2 working days whenever possible.
Output
- Ticket draft ready for GitHub issue creation.
- Acceptance criteria and test plan.
- Required metadata (owner, priority, area, links).
Process
Phase 1: Clarify Scope
- Write one-sentence summary of the change.
- Define in-scope and out-of-scope boundaries.
- Capture context and business reason.
Phase 2: Define Execution Contract
- Write acceptance criteria using observable behavior.
- Define test plan (automated + manual where needed).
- Add dependencies and related links.
Phase 3: Add Metadata and Finalize
- Link epic and milestone.
- Assign owner, priority, and area.
- Verify ticket size and split if oversized.
Phase 4: Local Fallback (If gh CLI is unavailable)
If you cannot create the issue in GitHub:
- Create a local markdown file in
.agent/issues/(e.g.,.agent/issues/ERR-001.md). - CRITICAL: You MUST include this exact YAML frontmatter at the top of the file:
--- type: ephemeral status: active --- - Write the ticket details below the frontmatter.
Completeness Checklist
- □ Ticket includes scope, acceptance criteria, and test plan.
- □ Epic, milestone, owner, and priority are present.
- □ Dependencies are explicit and actionable.
Rules
- ALWAYS write acceptance criteria before starting implementation.
- ALWAYS include a test plan in the same ticket.
- NEVER create vague tickets without scope boundaries.
- NEVER leave active tickets without owner or priority.