원클릭으로
auto-jira
Autonomously work on Jira backlog tickets, creating PRs and shepherding them to merge
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Autonomously work on Jira backlog tickets, creating PRs and shepherding them to merge
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Generate the Agent Supply Chain newsletter by researching team activity on GitHub and Confluence, then creating a Confluence draft and Gmail draft
Give your AI agents something more useful than a prompt. Velocity through clarity.
Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or document what a codebase does in Allium terms.
Run a structured discovery session to build an Allium specification through conversation. Use when the user wants to create a new spec from scratch, elicit or gather requirements, capture domain behaviour, specify a feature or system, define what a system should do, or is describing functionality and needs help shaping it into a specification.
Generate tests from Allium specifications. Use when the user wants to propagate tests, generate test files from a spec, write tests for a specification, create property-based tests, produce state machine tests, check test coverage against spec obligations, or understand what tests a specification requires.
Create a new Fx component using the modern def/fx/impl pattern (NOT legacy)
| name | auto-jira |
| description | Autonomously work on Jira backlog tickets, creating PRs and shepherding them to merge |
| argument-hint | <BOARD-KEY> [--max-cards N] [--before-date YYYY-MM-DD] [--exclude word1,word2] |
| model | sonnet |
This skill autonomously identifies Jira backlog tickets for a given board that can be worked on without human intervention, implements the code change, and creates draft PRs. Once a draft PR is open, the skill moves on to the next ticket.
Arguments: $ARGUMENTS
For every write action:
Write actions include: creating PRs, posting Jira comments, pushing commits, transitioning ticket status, assigning tickets.
Track all work in AUTO_JIRA.md (gitignored, local only):
NEVER commit this file. Update it as you work, removing notes for completed work and keeping focus on in-progress state and next steps.
Per-ticket loop (repeat until --max-cards reached or no eligible tickets):
1. SELECT TICKET -> Find eligible ticket from board backlog
2. CLAIM TICKET -> Assign to user + add to current sprint
3. IMPLEMENT -> Code change
4. VERIFY -> Run dda inv test + dda inv linter.go on affected packages (fix before continuing)
5. COMMIT & PUSH -> Single focused commit, then git push
6. CREATE PR (DRAFT) -> Open draft PR against main
7. FIX PR TITLE -> Rename to [auto-jira][<KEY>] <description> using gh pr edit
8. LINK & COMMENT -> Post PR link on Jira ticket
| When you need to... | Read this |
|---|---|
| Select or claim a Jira ticket | ticket-workflow.md |
| Create a PR | pr-workflow.md |
| Evaluate a ticket that links to CI logs | ci-validation.md |
| Debug common issues | troubleshooting.md |
Do NOT load all docs at once. Only read what is relevant to the current task.
Parse $ARGUMENTS:
ACTP, AGENTCFG, CONTINT3)If BOARD is missing, stop and ask the user.
Initialize AUTO_JIRA.md:
# Auto-JIRA Run — <BOARD> — <TODAY>
## Configuration
- Board: <BOARD>
- Max cards: <N>
- Before date: <BEFORE_DATE>
- Exclude: <EXCLUDED_WORDS or "none">
## In Progress
_none_
## Skipped
_none_
Use the Atlassian MCP tools as the primary method:
mcp__atlassian__searchJiraIssuesUsingJql — query tickets
mcp__atlassian__getJiraIssue — fetch ticket details
mcp__atlassian__editJiraIssue — assign, update fields
mcp__atlassian__transitionJiraIssue — change status
mcp__atlassian__addCommentToJiraIssue — add comments
mcp__atlassian__getTransitionsForJiraIssue — list available transitions
mcp__atlassian__atlassianUserInfo — get your account ID
All calls use cloudId: datadoghq.atlassian.net.
If MCP authentication fails for any reason, STOP. Mark the ticket HOLD and report the failure.
Discover the repository root from the current working tree:
git rev-parse --show-toplevel
Always work from this directory. If this command fails (not in a git repo), stop and inform the user.
Local checks catch problems before CI. Do not skip or work around them:
--no-verifydda inv install-toolsDO work on tickets that:
jira_statuses for the team in .ddqa/config.toml (typically To Do)<BEFORE_DATE>do-not-autosolve is NOT setDO NOT work on tickets that:
When uncertain → skip. The goal is reliable autonomous completion, not ambitious attempts that get stuck.
Check eligibility quickly — do a codebase search to confirm the issue is not already fixed before starting any implementation work.
Every interaction must be clearly attributed as coming from Auto-JIRA.
| Platform | Format |
|---|---|
| Jira comment | End with: — Auto-JIRA (https://github.com/DataDog/datadog-agent/blob/main/.agents/skills/auto-jira/SKILL.md) |
| GitHub PR body | Include: _Created by [Auto-JIRA](https://github.com/DataDog/datadog-agent/blob/main/.agents/skills/auto-jira/SKILL.md)._ |
| GitHub comment | End with: _— [Auto-JIRA](https://github.com/DataDog/datadog-agent/blob/main/.agents/skills/auto-jira/SKILL.md)_ |
| Commit | Co-author line: Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
When something requires human intervention:
AUTO_JIRA.md with the blockerTriggers:
Print TASK COMPLETED only when ALL are true:
--max-cards limit has been reachedPrint TASK FAILED only when:
After completing one ticket, always check for more work before stopping.
Every write action needs PRE-CHECK and POST-CHECK.
PRE-ACTION:
Agent(
prompt="""You are a Critic agent.
MODE: PRE-ACTION
PROPOSED ACTION:
[What you are about to do]
PROPOSED CONTENT:
[The exact message / comment / command]
Verify all factual claims and links. Respond APPROVED or REJECTED with evidence.""",
subagent_type="general-purpose"
)
POST-ACTION:
Agent(
prompt="""You are a Critic agent.
MODE: POST-ACTION
ACTION TAKEN:
[What was supposed to happen]
EXPECTED RESULT:
[What should be visible now]
Verify the action actually succeeded. Respond APPROVED or REJECTED with evidence.""",
subagent_type="general-purpose"
)
If Critic rejects: fix the issues, try again, get a clean APPROVED before continuing.
--no-verify) or force-push to main.git add -A or git add . — stage specific files by name.AUTO_JIRA.md — local tracking only..agents/skills/auto-jira/ — the auto-jira skill must not edit itself. If a ticket would require changes to these files, skip it.| State | When to use |
|---|---|
| In Progress | Actively working on implementation |
| HOLD | Blocked, needs human intervention |
Branch naming: auto-jira/<KEY>-brief-description (lowercase, hyphens only)