.cursor/skills/jira-mcp-assistant/SKILL.md
Work with Jira Cloud via the Atlassian MCP: search with JQL, view backlogs and sprints, create and update issues, transition statuses, and add comments. Loads project defaults from a local config file so you don't need to repeat project key or site on every prompt. Use when the user asks for Jira backlog items, project issues, sprint scope, any JQL-driven list, wants to create a Jira ticket, move an issue to a different status, add a comment to a ticket, update issue fields, or link two issues together.
npx skillsauth add dneprokos/skills-examples jira-mcp-assistantInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use the Atlassian (Jira) MCP tools already configured in Cursor (or another MCP client). This skill does not call the REST API directly; it tells the agent how to use MCP consistently.
If tools are missing, complete MCP authentication first; do not guess endpoints or tokens.
Before asking the user for anything, check whether config/jira-defaults.local.json exists in the skill directory.
site → default Atlassian siteprojectKey → default project key for queries and new issuesboardName → informational label; use in output headingsdefaultIssueType → pre-fill issue type when creating issuesdefaultFields → columns to include in result tablesdefaultOrderBy → default JQL ORDER BY clausemaxResultsPerPage → default page size for searchesThe user can always override any default in their prompt.
To set up the config file, copy config/jira-defaults.local.example.json to config/jira-defaults.local.json and fill in your values.
From the user (or config defaults), obtain:
your-site.atlassian.net) — use config site if set; confirm with user if multiple sites are accessible.SCRUM) — use config projectKey if set.cloudIdUse getAccessibleAtlassianResources to get the cloudId for the target site.
site is configured, use that cloudId without asking.cloudId is resolved, reuse it for all subsequent calls in the same session. Do not call getAccessibleAtlassianResources again unless the user switches sites.Route to the appropriate step below based on the user's request.
Call searchJiraIssuesUsingJql.
ORDER BY come from config when available.defaultFields in config, plus any extra fields the user's question requires. Minimum: key, summary, issuetype, status.responseContentFormat: "markdown" for readable output.maxResults from config or default 25). If the user wants the full set, page until no more results or a cap the user confirms.Return a markdown table with the columns from defaultFields (or user-specified fields).
[PROJ-42](https://site.atlassian.net/browse/PROJ-42).Showing 25 of 142 issues. Say "next page" to continue.Optional deep fetch: if search results omit fields the user needs, use getJiraIssue for specific keys — avoid N+1 calls for large lists unless necessary.
All write operations require explicit user confirmation before the MCP tool is called. See references/write-operations.md for full parameter details and confirmation block templates.
Use when the user asks to create a ticket, file a bug, add a task, etc.
projectKey and issueTypeName from config defaults; ask only for what is missing.summary and (optional) description from the user's input.assignee_account_id via lookupJiraAccountId if an assignee is named.references/write-operations.md).createJiraIssue. Return the new issue key and URL.Use when the user asks to move an issue to a different status.
getTransitionsForJiraIssue to fetch available transitions.transitionJiraIssue. Return the new status.Use when the user asks to comment on or update an issue with a note.
addCommentToJiraIssue with contentFormat: "markdown".cloudId resolution returns multiple sites and no site is configured, present them and ask the user to pick one.getTransitionsForJiraIssue first.See the repository README.md section Jira skills and Atlassian MCP for how to add new workflows without renaming the skill.
Additional reference files:
data-ai
Install and configure Windows Credential Manager style secret storage for PowerShell using SecretManagement and SecretStore. Use when users ask to install secret manager support, set up Credential Manager for GitHub token storage, or bootstrap GitHubToken for PR skills.
development
Generate a complete, compilable unit test file from an Analyst test plan and Architect strategy. Uses AAA pattern, language-specific frameworks (NUnit, JUnit 5, pytest, Vitest), correct mock/real dependency instantiation, constructor null-guard tests, parameterized tests, and setup/teardown hooks. Input is the Analyst JSON plan plus Architect strategy summary. Use when asked to generate test code, write test implementation, create test file, or implement tests from a plan. Also invoked as Phase 3 by the unit-test-generator agent.
development
Define the mocking strategy and assertion style for a unit test plan. Classifies each dependency as mock or real, resolves assertion framework and test file location from project patterns, lists constructor null-guard tests with expected exception types, and specifies abstraction interfaces for non-deterministic calls. Input is a JSON test plan from ut-analyst. Use when asked to define mocking strategy, plan test architecture, classify dependencies as mock vs real, or design test structure. Also invoked as Phase 2 by the unit-test-generator agent.
testing
Analyze a class or function and produce a structured JSON test plan. Classifies all dependencies (interface, abstract, valueObject, dto, primitive), detects non-deterministic calls, enumerates test cases using black-box techniques (Equivalence Partitioning, Boundary Value Analysis, Decision Table, State Transition), and lists constructor null-guard requirements. Use when asked to analyze a class for testing, create a test plan, classify dependencies, or produce test case inventory. Also invoked as Phase 1 by the unit-test-generator agent.