From armor
Creates and edits Jira tickets using Atlassian CLI (acli) with ADF format for headings, bullets, and rich text. Activates on requests like 'make a ticket' or 'log in JIRA'.
npx claudepluginhub markacianfrani/armor --plugin armorThis skill uses the workspace's default tool permissions.
Interact with JIRA using the Atlassian CLI (`acli`).
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Interact with JIRA using the Atlassian CLI (acli).
Before creating tickets, verify acli is installed and authenticated:
acli --version
If not installed or authenticated, direct the user to:
acli --help for authentication setupCheck the repo's AGENTS.md or CLAUDE.md for a jira_project_key or similar
If not found, ask the user for the project key
After the user provides it, add it to the project's CLAUDE.md for future reference:
## JIRA
Project Key: PROJ
Use --from-json with ADF (Atlassian Document Format) for proper formatting:
cat > /tmp/ticket.json << 'EOF'
{
"projectKey": "PROJECT_KEY",
"type": "Story",
"summary": "Implement Configuration Validation",
"description": {
"version": 1,
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [{ "type": "text", "text": "Description text here." }]
},
{
"type": "heading",
"attrs": { "level": 2 },
"content": [{ "type": "text", "text": "Definition of Done" }]
},
{
"type": "bulletList",
"content": [
{ "type": "listItem", "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Outcome 1" }] }] },
{ "type": "listItem", "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Outcome 2" }] }] }
]
}
]
}
}
EOF
acli jira workitem create --from-json /tmp/ticket.json
Important: The --description flag only accepts plain text (no formatting). Use --from-json with ADF for headings, bullets, etc. Markdown and wiki syntax do NOT work.
// Paragraph
{ "type": "paragraph", "content": [{ "type": "text", "text": "..." }] }
// Heading (level 1-6)
{ "type": "heading", "attrs": { "level": 2 }, "content": [{ "type": "text", "text": "..." }] }
// Bullet list
{ "type": "bulletList", "content": [
{ "type": "listItem", "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "..." }] }] }
]}
// Bold text
{ "type": "text", "text": "...", "marks": [{ "type": "strong" }] }
Docs: https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/
Use --from-json with issues array:
cat > /tmp/edit.json << 'EOF'
{
"issues": ["PROJ-123"],
"description": { "version": 1, "type": "doc", "content": [...] }
}
EOF
acli jira workitem edit --from-json /tmp/edit.json --yes
| Type | Use For |
|---|---|
| Story | Code changes, new features |
| Task | Documentation, config, non-code work |
| Bug | Defects in existing functionality |
Implement Configuration Validation with PydanticSwitch Auto Loader to File Notification ModeConfiguration (no verb)URGENT: CRITICAL BUG (use Priority field instead)Common verbs: Implement, Add, Switch, Remove, Update, Fix, Migrate, Refactor
1-3 sentences covering what and why.
✅ Good:
Implement Pydantic models for config files to catch validation errors at startup. Currently getting silent failures on typos.
❌ Bad:
Add validation (no context)
Bullet list of specific, measurable outcomes (not implementation steps).
✅ Good (outcomes):
❌ Bad (implementation steps):
DoD guidelines:
Use for context that helps but doesn't belong in DoD:
✅ Good:
See Databricks docs: [link] Requires S3:PutBucketNotification permission Related: FOO-823
❌ Bad:
Step 1: Create the file. Step 2: Add imports...
Before creating, verify the story fits one sprint. If the DoD has more than 7 items or the scope feels large, suggest splitting into multiple tickets.
Discover additional commands via:
acli jira --help
acli jira workitem --help