Skip to content
Back to skills

Jira Plan

ASecurity

Analyze Jira issue requirements and create structured implementation plans, reading any attached mockups/screenshots/spec docs first. Use when the user asks to plan, break down, or analyze what to build for a ticket.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 20, 2026
toolsgogit

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned September 28, 2026

npx -y skills add ShreyPurohit/Jira-Dev-Workflow-Plugin --skill jira-plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jira Plan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jira Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shreypurohit-jira-plan/badge)](https://www.skillsdirectory.com/skills/shreypurohit-jira-plan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jira-plan
description: Analyze Jira issue requirements and create structured implementation plans, reading any attached mockups/screenshots/spec docs first. Use when the user asks to plan, break down, or analyze what to build for a ticket.
license: MIT
compatibility: Requires Atlassian Cloud Jira through Atlassian Rovo MCP v2 (https://mcp.atlassian.com/v2/mcp) with client-managed OAuth.
---

# Jira Plan

Analyze a Jira issue's requirements and create a structured implementation plan.

## Responsibility

This skill owns Jira requirement analysis, acceptance-criteria interpretation,
implementation planning, and identifying dependencies or ambiguities.

It does not own:

- General Jira reading or searching → use `jira-read`.
- Status changes → use `jira-update-status` or `jira-start-work` for starting work.
- Comment creation → use `jira-comment`.
- Branch creation → use `jira-branch`.
- Git-to-Jira traceability → use `jira-link-work`.
- Sprint reporting → use `jira-sprint`.

It may read the Jira information needed to understand requirements, including
relevant comments when appropriate, but it does not mutate Jira or Git state.

When the issue carries image/document attachments, `jira-plan` *consumes* the
`jira-attachments` capability to read them before planning — it does not
reimplement the download mechanics (same composition pattern as `jira-complete`
over `jira-update-status`).

## When to use

- User says "create an implementation plan for PROJ-123"
- User says "analyze the requirements for PROJ-123"
- User says "plan the work for PROJ-123"
- User says "break down PROJ-123 into tasks"
- User asks to understand what needs to be built for a specific ticket

## Atlassian MCP conventions

1. Call `getAccessibleAtlassianResources` first and obtain the `cloudId` for the user's Jira Cloud site. If more than one site is returned, ask which to use; do not guess.
2. Pass that `cloudId` on every subsequent Jira tool call.
3. Call `getJiraIssue` directly. If comments are needed and not included in that response, use `discover` then `executeRead` for `listJiraIssueComments`.
4. To enumerate attachments you MUST call `getJiraIssue` with `fields: ["attachment"]` — the default/evidence response does not reliably include the `attachment` array. Then read requirement-relevant ones through the `jira-attachments` capability (`downloadJiraIssueAttachment`, discovered via `discover` → `executeRead`) before finalizing the plan.
5. Never embed credentials in plugin files or Jira comments.

## How to respond

### Step 1: Read the ticket thoroughly

1. Call `getJiraIssue` with the issue key and `cloudId`. Use the fields the tool actually returns; do not assume a third-party "all fields" parameter exists.
2. Extract:
   - Summary/title
   - Full description
   - Acceptance criteria (often embedded in description)
   - Any linked issues or parent epics
   - Comments that clarify requirements
   - Priority and type

### Step 2: Read attachments (if any)

1. **You MUST enumerate attachments as a discrete tool call — call `getJiraIssue`
   with `fields: ["attachment"]` (and scan comments via `listJiraIssueComments`
   through `discover` → `executeRead`).** The default / evidence `getJiraIssue`
   view does NOT reliably return the `attachment` array, so an empty
   description-media / `comment.total: 0` response does **NOT** mean there are no
   attachments. Absence of media in the default view is not evidence of absence —
   only the explicit `fields: ["attachment"]` call is. If that call returns an
   empty attachment array on both the issue and its comments, skip to Step 3 and
   plan as normal.
2. **Select what to read for planning** — do not blindly download everything, and
   do not stop at a picker when planning needs the files:
   - Read attachments that look **relevant to requirements** (mockups, screenshots
     of the bug/UI, specs, design docs referenced by the ticket or ACs).
   - **Image attachments on a UI/UX ticket are presumptively requirement-relevant
     — do not dismiss one by its filename alone.** A file named for a different
     screen may still be the design context; when in doubt, read it or ask.
   - Skip obvious noise only when relevance is genuinely clear (e.g. an avatar, a
     logo, an unrelated export).
   - **Ask the user** when relevance or necessity is unclear, rather than guessing
     or stalling indefinitely.
3. Retrieve and read the selected files via the `jira-attachments` capability
   (`downloadJiraIssueAttachment` → signed URL → save → read). Read images for
   visual requirements and documents for written spec.
4. **Gate the plan on required attachment reads.** If a **required** attachment
   could NOT be read (download blocked, unsupported type, signed-URL failure), do
   NOT present a finalized plan. Say which attachment is unread, produce at most a
   clearly labeled *provisional* outline, and ask the user to paste/describe the
   missing content. Never fill the gap with inferred requirements.

### Step 3: Analyze requirements

From the ticket data, identify:

1. **Functional requirements** — what the feature/fix must do
2. **Acceptance criteria** — specific testable conditions for done
3. **Technical scope** — which parts of the system are affected
4. **Ambiguities** — anything unclear that needs clarification
5. **Assumptions** — reasonable assumptions you're making

### Step 4: Create the implementation plan

Structure the plan as:

```markdown
## Implementation Plan: [KEY] — [Summary]

### Requirements Summary

[Concise restatement of what needs to be done]

### Acceptance Criteria

- [ ] AC-1: [criterion]
- [ ] AC-2: [criterion]
      ...

### Test Scenarios

- TS-001: [Happy path scenario]
- TS-010: [Edge case / negative scenario]
- TS-020: [Error handling scenario]
  ...

### Technical Approach

[High-level approach to implementation]

### Subtasks

1. [First concrete implementation step]
2. [Second step]
   ...

### Ambiguities / Questions

- [Anything requiring human clarification]

### Assumptions

- [Reasonable assumptions made]
```

### Step 5: Present for review

**Before presenting, confirm this attachment self-check (state the result inline):**

- Attachments enumerated via `getJiraIssue` `fields: ["attachment"]` **and**
  comments scanned? (Y/N)
- Any attachments found that are requirement-relevant? (Y/N)
- If yes — were they all successfully downloaded and read? (Y/N)
- **If any required attachment is unread, the plan is PROVISIONAL** — label it so
  and ask the user to paste/describe the missing file. Do not present it as final.

Then present the plan to the user and ask if they'd like to:

- Approve it and proceed with development
- Request changes
- Clarify any ambiguities

## Important rules

- **Test scenarios come BEFORE development.** Define what you'll test before writing code. Use IDs like TS-001, TS-010, TS-020 for traceability.
- **Do NOT guess requirements.** If the ticket description is vague or lacks detail, flag the ambiguities. Do not fill in business logic from assumptions.
- **Never finalize a plan on unread required attachments.** Identify and read requirement-relevant attachments via `jira-attachments`; ask when relevance is unclear; if a required one cannot be read, produce a clearly labeled provisional outline and ask the user to paste/describe it — never infer the missing spec.
- **Consume the attachment capability, do not reimplement it.** The download mechanics live in `jira-attachments`; `jira-plan` only invokes them (including comment-attachment discovery when needed).
- **Acceptance criteria are the contract.** Everything in the plan must trace back to either an explicit AC or a reasonable technical necessity.
- **Plans are living documents.** If the user says the plan is wrong, update it — don't defend incorrect assumptions.
- **Do not transition the ticket** during planning. Status changes happen only when the user explicitly asks to start work.

## Error handling

- **Ticket has no description**: "PROJ-123 has no description. I can only plan from the title '[title]'. Would you like to add requirements first, or should I make assumptions and flag them?"
- **Ticket is already Done**: "PROJ-123 is already in Done status. Are you reopening this work, or did you mean a different ticket?"

## Example

User: "Create an implementation plan for PROJ-123"

Response:

1. Fetch PROJ-123 details (summary, description, ACs, comments), then enumerate attachments via `getJiraIssue` with `fields: ["attachment"]` and scan comments (use `listJiraIssueComments` when comment attachments may be missing from `getJiraIssue`) — an empty default view does NOT mean there are no attachments
2. Select requirement-relevant attachments (ask if unclear); read them via `jira-attachments`; if a required one cannot be read, stop at a labeled provisional outline and ask the user to paste/describe it
3. Extract acceptance criteria and produce a structured plan with test scenarios (TS-001 etc.), subtasks, and any ambiguities — incorporating attachment content when present
4. Present for user approval (only finalize when required attachments were readable)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.