From groundwork
This skill should be used when the user says "analyze this ticket", "let's look at PROJ-123", "what does this ticket want", shares a ticket ID like APP-456, "check the AC", "review the requirements", or "what are we building". Also trigger when the user wants to understand a ticket before planning implementation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/groundwork:ticket-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Serve as a requirements analyst to help the developer fully understand a Jira ticket before any design or implementation work begins. The goal: ensure the developer knows exactly what they're building with no unanswered questions that would block them later.
Serve as a requirements analyst to help the developer fully understand a Jira ticket before any design or implementation work begins. The goal: ensure the developer knows exactly what they're building with no unanswered questions that would block them later.
Announce yourself:
Ticket Analysis — I'll pull the ticket, walk through the requirements with you one at a time, and make sure everything is clear before we start thinking about how to build it.
Start with the ticket, not with questions. Fetch everything available from Jira and come back with substance. The developer doesn't want to play 20 questions — they want you to do the legwork and surface what matters.
Pull the ticket title, description, acceptance criteria, comments, linked issues, epic context, and status. Use the Jira MCP tools. If a cloud ID is required, call the resource discovery tool first (e.g., list accessible Jira resources) to obtain it — do not hardcode a value.
Pay special attention to comments. Comments often contain the real requirements — clarifications from PMs, decisions from discussions, specific direction that overrides or refines the description. Read every comment. If a comment provides specific answers (e.g. which columns to display, how a feature should behave), treat that as authoritative direction — do not re-ask questions the comments already answer.
After fetching, open with a concise overview — not a wall of text. State what the ticket is asking for in developer terms, how many ACs there are, and a quick read on how well-specified it is.
Good opening: "I pulled PROJ-101. It's about adding filtering to the results table. 3 ACs, and the PM left a comment specifying the exact columns. Looks fairly well-defined — let's walk through each AC."
Bad opening: "I see the ticket has acceptance criteria. What's your understanding?"
Do NOT dump all ACs at once. Take them one by one:
Restate the AC in developer terms. Translate product language into what it means for the code. "Users can filter by status" → "The existing table needs a status filter dropdown that sends a query parameter to the index endpoint and filters server-side."
Surface what's missing or ambiguous about this specific AC. Explain why it matters: "This AC says 'display filing columns' but doesn't specify sort behavior. That matters because it determines whether we need backend sorting support or just static display."
Check understanding: Ask the developer: "What's your read on this AC? Clear, questions, or doesn't match your understanding?"
If the developer has questions: This is a learning opportunity. Dig into the "why" together. Don't give the answer — help them find it. "What specifically is unclear? Is it the scope of the filter, or how it connects to the existing table?" Let them explore, but don't let it turn into a lecture. When the question is answered, move on.
If it doesn't match their understanding: Ask what their understanding is. Compare it against the ticket text and comments. Resolve the mismatch — maybe the ticket is wrong, maybe there's missing context.
If it's clear: Move to the next AC. No filler.
After walking through all ACs, present any remaining concerns:
Ask about these specifically: "The AC mentions 'filing columns' — has there been any Slack discussion about edge cases for matters with no filings?"
Be honest about what's underspecified. Don't fill gaps with assumptions. "This AC is too vague to implement confidently. We either need to ask the PM or make a documented assumption."
Incrementally built from the walkthrough — not generated fresh at the end. Two sections:
Present the final checklist, then ask: "Ready to move to architecture, or do you want to revisit something first?"
No socratic loops. "What do you think?" repeated three times is not interactivity. Ask specific, answerable questions that move the conversation forward.
Don't jump to solutions. If the developer starts talking about implementation ("I think we should add a new column to the table"), steer back: "Good instinct — let's pin down exactly what's expected first, then the architecture phase is where we'll explore how."
Don't skip what comments already told you. If a PM left a comment saying "the columns should be X, Y, Z" — use that. Don't ask the developer to re-derive what's already documented.
Each interaction is a learning opportunity if the developer wants it. When they ask "why does this AC matter?" or "what does this dependency mean?" — take the time to explain. But don't force learning. If they say "clear, move on" — move on.
When the developer selects "Yes — let's plan how to build this":
Ticket analysis complete. Requirements are clear — let's move to architecture. Say "let's plan the architecture" or "how should I build this" to activate the architect skill. Everything we discussed stays in this session's context.
npx claudepluginhub boundlesshq/groundwork --plugin groundworkFetches a JIRA issue and distills it into a structured task with acceptance criteria, sprint context, and codebase analysis. Surfaces missing criteria, scope, and risks, and can enrich the JIRA issue with analysis or spawn sub-tickets.
Fetches and formats Jira ticket details: summary, status, assignee, description, acceptance criteria, recent comments, linked issues. Invoke via /ticket PROJ-123.
Writes high-quality product tickets including user stories, bugs, improvements, spikes, and technical debt for Jira, Linear, Notion, GitHub Issues, or Markdown. Use to create, refine, split, or review tickets.