atlassian

SKILL.md

Atlassian Skill

Jira operations via acli, Confluence operations via REST API script.

1. Environment Setup

1.1. Required Environment Variables

ATLASSIAN_SITE=https://your-instance.atlassian.net
ATLASSIAN_EMAIL=your-email@example.com
ATLASSIAN_API_TOKEN=your-api-token

1.2. API Token Creation

  1. Access https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click "Create API token"
  3. Select "Create classic API token" (NOT scoped)

Classic tokens work with both acli and REST API scripts.

2. Jira Operations (acli)

2.1. Authentication

# Check status
acli jira auth status

# Login (if needed)
acli jira auth login

2.2. Work Items

# View issue
acli jira workitem view <ISSUE-KEY>

# Search issues (JQL)
acli jira workitem search --jql "assignee = currentUser() AND status = 'In Progress'"

# Create issue
acli jira workitem create --project <PROJECT> --type Task --summary "Title"

# Transition issue
acli jira workitem transition <ISSUE-KEY> --transition "Done"

# Add comment
acli jira workitem comment add <ISSUE-KEY> --body "Comment text"

2.3. Boards and Sprints

# List boards
acli jira board list

# List sprints
acli jira sprint list --board <BOARD-ID>

2.4. Common JQL Patterns

# Recently updated (last 7 days)
updated >= -7d AND assignee = currentUser()

# In progress issues
status = "In Progress" AND project = <PROJECT>

# Created this week
created >= startOfWeek() AND project = <PROJECT>

2.5. Date Range Search

# Today's activities
acli jira workitem search \
    --jql "updated >= startOfDay() AND (assignee = currentUser() OR reporter = currentUser()) ORDER BY updated DESC" \
    --fields "key,summary,status"

# Specific date range (YYYY-MM-DD)
acli jira workitem search \
    --jql "updated >= '2026-01-20' AND updated < '2026-01-21' AND (assignee = currentUser() OR reporter = currentUser()) ORDER BY updated DESC" \
    --fields "key,summary,status"

# Relative days
acli jira workitem search \
    --jql "updated >= -7d AND assignee = currentUser() ORDER BY updated DESC" \
    --fields "key,summary,status"

JQL date functions:

Function Description
startOfDay() Today 00:00
startOfWeek() This week's Monday
-1d, -7d Relative days
'YYYY-MM-DD' Specific date

2.6. REST API via curl (acli fallback)

Use when acli is unavailable.

Get project issue types

# Find valid issue type IDs for a project (required before creating issues)
curl -s "$ATLASSIAN_SITE/rest/api/3/issue/createmeta?projectKeys=<PROJECT>&expand=projects.issuetypes" \
  -u "$ATLASSIAN_EMAIL:$ATLASSIAN_API_TOKEN" \
  | python3 -c "import sys,json; data=json.load(sys.stdin); proj=data['projects'][0]; [print(f'{x[\"name\"]} — {x[\"id\"]} — subtask:{x.get(\"subtask\",\"?\")}') for x in proj['issuetypes']]"

Create subtask under a parent issue

# issuetype id: use the subtask id from the project's issuetypes (e.g., 10003 for USDT project)
curl -s -X POST "$ATLASSIAN_SITE/rest/api/3/issue" \
  -u "$ATLASSIAN_EMAIL:$ATLASSIAN_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "project": {"key": "<PROJECT>"},
      "issuetype": {"id": "<SUBTASK_TYPE_ID>"},
      "parent": {"key": "<PARENT-ISSUE-KEY>"},
      "summary": "Subtask title"
    }
  }'
# Response: {"id":"...","key":"<PROJECT>-NNN","self":"..."}

Search issues (JQL via POST)

curl -s -X POST "$ATLASSIAN_SITE/rest/api/3/search/jql" \
  -u "$ATLASSIAN_EMAIL:$ATLASSIAN_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jql": "assignee = currentUser() AND status = \"In Progress\"", "fields": ["key","summary","status"]}'

View issue

curl -s "$ATLASSIAN_SITE/rest/api/3/issue/<ISSUE-KEY>" \
  -u "$ATLASSIAN_EMAIL:$ATLASSIAN_API_TOKEN" | python3 -m json.tool

3. Confluence Operations (Script)

3.1. Convert Page to Markdown

uvx --with requests --with beautifulsoup4 --with html2text \
    python ~/ghq/github.com/i9wa4/dotfiles/agents/skills/atlassian/scripts/confluence-to-md.py <confluence_url>

Output: ~/Downloads/{timestamp}-confluence-{title}.md

3.2. URL Format

https://your-instance.atlassian.net/wiki/spaces/SPACE/pages/123456789/Page+Title

3.3. Features

  • Preserves bullet list structure
  • Converts draw.io diagrams to full URL
  • Maintains code blocks
  • Aligns table columns
Weekly Installs
64
Repository
i9wa4/dotfiles
GitHub Stars
7
First Seen
Jan 24, 2026
Installed on
gemini-cli62
codex61
opencode60
claude-code59
github-copilot59
kimi-cli58