Create user stories and epics in Jira with proper formatting, acceptance criteria, and linking.
/plugin marketplace add marcel-Ngan/ai-dev-team/plugin install marcel-ngan-ai-dev-team@marcel-Ngan/ai-dev-teamThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Create user stories and epics in Jira with proper formatting, acceptance criteria, and linking.
| Tool | Purpose |
|---|---|
Atlassian:createJiraIssue | Create stories and epics |
Atlassian:editJiraIssue | Update issue fields, link to epics |
Atlassian:addCommentToJiraIssue | Add agent comments |
Atlassian:getJiraIssue | Fetch issue details |
Atlassian:searchJiraIssuesUsingJql | Find existing issues |
All values come from config/project.json:
{
"cloudId": "{{jira.cloudId}}",
"projectKey": "{{jira.development.projectKey}}",
"issueTypes": {
"epic": "{{jira.development.issueTypes.epic}}",
"story": "{{jira.development.issueTypes.story}}",
"task": "{{jira.development.issueTypes.task}}"
}
}
| Parameter | Required | Source |
|---|---|---|
| cloudId | Yes | {{jira.cloudId}} |
| projectKey | Yes | {{jira.development.projectKey}} |
| issueTypeName | Yes | "Story" |
| summary | Yes | Story title |
| description | Yes | Full story with acceptance criteria |
| labels | No | Array of labels |
| parent | No | Epic key if linking to epic |
Use Markdown in description:
## User Story
**As a** [user type]
**I want to** [action]
**So that** [benefit]
## Acceptance Criteria
- [ ] Given [context], when [action], then [result]
- [ ] Given [context], when [action], then [result]
## Technical Notes
[To be added by Software Architect]
## Test Notes
[To be added by QA Engineer]
Atlassian:createJiraIssue({
cloudId: "{{jira.cloudId}}",
projectKey: "{{jira.development.projectKey}}",
issueTypeName: "Story",
summary: "User can reset their password via email",
description: `## User Story
**As a** registered user
**I want to** reset my password via email
**So that** I can regain access if I forget my password
## Acceptance Criteria
- [ ] Given I am on the login page, when I click "Forgot Password", then I see an email input form
- [ ] Given I enter a valid email, when I submit, then I receive a password reset email within 5 minutes
- [ ] Given I click the reset link in email, when the link is valid, then I can set a new password
- [ ] Given the reset link is older than 24 hours, when I click it, then I see an expired link message
## Technical Notes
_To be added by Software Architect_
## Test Notes
_To be added by QA Engineer_`,
labels: ["agent-generated"]
})
Atlassian:createJiraIssue({
cloudId: "{{jira.cloudId}}",
projectKey: "{{jira.development.projectKey}}",
issueTypeName: "Epic",
summary: "User Authentication System",
description: `## Overview
Complete user authentication system including registration, login, password reset, and session management.
## Business Value
Enable users to securely access the platform with personalized experiences.
## Included Stories
- User can register with email and password
- User can log in with credentials
- User can reset password via email
- User can log out
- User session expires after inactivity
## Success Criteria
- All authentication flows working end-to-end
- Security audit passed
- Performance under 200ms for auth operations`,
labels: ["agent-generated"]
})
After creating both:
Atlassian:editJiraIssue({
cloudId: "{{jira.cloudId}}",
issueIdOrKey: "PROJECT-15", // Story key
fields: {
parent: { key: "PROJECT-14" } // Epic key
}
})
Log agent actions:
Atlassian:addCommentToJiraIssue({
cloudId: "{{jira.cloudId}}",
issueIdOrKey: "PROJECT-15",
commentBody: `🤖 **Business Analyst Agent**
Story created from stakeholder request.
**Analysis Notes:**
- Identified 4 acceptance criteria
- No blocking dependencies
- Estimated complexity: Medium
**Next:** Product Owner validation`
})
| Error | Cause | Resolution |
|---|---|---|
| 400 Bad Request | Invalid field value | Check issue type ID, field names |
| 403 Forbidden | No permission | Verify project access |
| 404 Not Found | Invalid project/issue | Verify project key exists |
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.