From engineer-agent
Break a design doc into phased implementation tickets with dependencies. Use this skill when processing a ticket-plan queue item. Supports both Jira and GitHub Issues as the target tracker.
How this skill is triggered — by the user, by Claude, or both
Slash command
/engineer-agent:create-ticketsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a phased ticket breakdown from an engineering design doc, with real file paths from codebase research and explicit inter-ticket dependencies.
Generate a phased ticket breakdown from an engineering design doc, with real file paths from codebase research and explicit inter-ticket dependencies.
mcp__slite__get-note — fetch design doc from SliteRead, Write — read/write queue items and source codeGrep, Glob — explore codebase architecture, find implementations and patternsmcp__atlassian__searchJiraIssuesUsingJql — find existing related tickets (Jira tracker)mcp__atlassian__getJiraIssue — read ticket details (Jira tracker)Bash — run gh CLI commands for GitHub Issues trackerA queue item file in ~/.claude/engineer-agent/queue/incoming/ with type ticket-plan, containing the design doc content in ## Context. The frontmatter includes design_doc_id linking to the source design doc, project identifying the project slug, and optionally jira_project for the target project.
Read the queue item's ## Context section for the design doc content. Extract the project field from frontmatter.
Read ~/.claude/engineer-agent/engineer.yaml to find the project config at projects.<project> for codebase path and Jira settings.
If the context includes a "Queue Design Doc Context" subsection, use it as enriched context — it may contain additional design detail from the queue's design-doc draft.
If the context includes an "Existing Related Tickets" subsection, note these to avoid proposing duplicate work and to reference as dependencies where appropriate.
Before generating tickets, understand the current architecture using the project path from config:
This research is critical — every ticket must reference actual file paths from the codebase, not abstract names.
Determine the tracker type for this project:
projects.<project>.tracker from configtracker is absent, infer: jira section present → "jira", github.issues section present → "github-issues", neither → "none"If tracker is jira:
If jira_project is set in the frontmatter or projects.<project>.jira.project is configured, search Jira for existing tickets that overlap with the planned work using mcp__atlassian__searchJiraIssuesUsingJql. Note any that should be referenced as dependencies or that indicate work already in progress.
If tracker is github-issues:
Search for related issues using gh CLI:
gh issue list --repo {owner}/{repo} --search "{keywords from design doc title and key topics}" --json number,title,url
Note any that should be referenced as dependencies or that indicate work already in progress.
Write the phased ticket plan in the ## Draft Response section using the template below.
Ticket guidelines:
Template:
## Draft Response
### Ticket Plan: {title}
**Design Doc:** {url}
**Project:** {slug}
**Tracker:** {tracker type and project/repo}
**Total Tickets:** {N}
**Phases:** {M}
---
### Phase 1: {Name} — {purpose}
#### Ticket #1: {Title}
**Type:** Task | Story
**Priority:** High | Medium | Low
**Estimate:** S | M | L
**Description:**
{1-2 paragraphs: what this ticket delivers and why it's needed at this stage}
**Implementation Approach:**
- Modify `{actual/file/path}` to {specific change}
- Create `{new/file/path}` following pattern in `{existing/example}`
- {Steps with real file paths from codebase research}
**Testing Strategy:**
- Unit tests in `{test/path}` covering {specific scenarios}
- Integration test for {specific flow}
**Acceptance Criteria:**
- [ ] {Verifiable criterion}
- [ ] {Verifiable criterion}
**Dependencies:** None | Ticket #N ({reason})
---
{repeat for each ticket in the phase}
### Phase 2: {Name} — {purpose}
{repeat pattern for each phase}
---
### Summary
| # | Title | Phase | Type | Est. | Depends On |
|---|-------|-------|------|------|------------|
| 1 | {title} | 1 | Task | S | None |
| 2 | {title} | 1 | Story | M | #1 |
### Existing Related Tickets
- {KEY-123}: {title} — {relationship to this work}
### Notes
- {Parallelization opportunities: "Tickets #2 and #3 can be worked on simultaneously"}
- {Risks or caveats}
- {Migration or rollout considerations}
Fill in every section based on the design doc and codebase research. If no existing related tickets were found, include the section with "None found."
Update the queue item's frontmatter status to drafted and move it to ~/.claude/engineer-agent/queue/drafts/.
When the ticket-plan is approved via /engineer-agent review-queue:
If tracker is github-issues:
Create each ticket from the plan via gh CLI:
gh issue create --repo {owner}/{repo} --title "{ticket_title}" --body "{ticket_body with acceptance criteria}" --label "{labels}"
Report the created issue URLs.
If tracker is jira:
No automated creation — keep current behavior (manual creation reference). Print: "Use the ticket plan as reference when creating tickets in Jira."
Report: "Ticket plan drafted for '{design_doc_title}': {N} tickets across {M} phases. Review with /engineer-agent review-queue before creating tickets in your project tracker."
npx claudepluginhub tomharris/engineer-agent --plugin engineer-agentCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.