Use when defect counts or reports are wrong (missing top-severity bugs, fixed items counted as new, unmerged duplicates) or bug filing and transitions need automating. One workflow for Jira, Linear, GitHub Issues and Azure DevOps: dedupe before filing, severity vs priority, lifecycle and CI filing.
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Deep Jira specifics for bug-tracker-workflow. Auth setup, create,
transition, and JQL search stay in SKILL.md; this file holds the
custom-field, update, and result-parsing detail.
severity is usually a custom field, not the built-in priority. Discover the
field ID once per tenant:
curl -u "$JIRA_EMAIL:$JIRA_TOKEN" \
"$JIRA_BASE/rest/api/3/field" \
| jq '.[] | select(.name=="Severity") | {id, name}'
# {"id": "customfield_10039", "name": "Severity"}Then submit it in the create payload:
"customfield_10039": {"value": severity}, # "Critical" | "High" | ...PUT /rest/api/3/issue/{key} for arbitrary field updates:
def update_priority(issue_key, priority_name):
r = requests.put(
f"{BASE}/rest/api/3/issue/{issue_key}",
json={"fields": {"priority": {"name": priority_name}}},
headers=HEADERS,
)
r.raise_for_status()create_bug returns the new issue key (e.g. ENG-12345). Build a permalink:
url = f"{BASE}/browse/{issue_key}"Search responses include expand, total, startAt, and issues (the
array). Always check total against maxResults for pagination.
text ~ "user input" accepts JQL operators - always
escape quotes and reserved characters before interpolating.