---
name: jira-my-open-issues-summary
description: "Each weekday morning: your unresolved Jira issues grouped by priority, with anything overdue or due this week pulled to the top. Use when the user asks for this, or when it runs on a schedule."
---

# Jira: my open issues, summarized

Each weekday morning: your unresolved Jira issues grouped by priority, with anything overdue or due this week pulled to the top.

Jira's "Assigned to me" list sorts by last update, so the issue due Friday sits under the one that got a comment this morning. Across three projects and two boards, the only reliable way to see what is due is a saved filter you have to remember to open.

This skill is that filter, run for you before standup. The agent queries every project you can see, pulls overdue and due-this-week issues to the top, groups the rest by priority and points at issues you have not touched in ten days, which tend to be the ones that slipped your mind.

## Two ways to get the data

Use the API or MCP route when you have an MCP server, a CLI or an API token for the app. Otherwise, if you can drive a browser the user is signed in to (Claude in Chrome, a Playwright or Chrome DevTools MCP server), use the browser route. Say which one you used.

## Route A: API or MCP server

### What you need

- A Jira Cloud user who can browse the projects your issues are in; the query only returns what that user can see.
- A Jira MCP server or connector, or an API token from id.atlassian.com in `JIRA_API_TOKEN` with your email in `JIRA_EMAIL` and the site URL in `JIRA_BASE_URL`, used as basic auth.

If something is missing, say what and stop; do not invent numbers.

### Steps

1. **Query your open issues** (Jira): Call `GET /rest/api/3/search/jql` with `jql=assignee = currentUser() AND statusCategory != Done ORDER BY priority DESC, duedate ASC`, `fields=summary,status,priority,duedate,project,updated` and `maxResults=100`. Follow `nextPageToken` until `isLast` is true.
2. **Pull out what is due**: An issue is overdue when `duedate` is before today, and due this week when it falls between today and the end of the week (the same split as `duedate < startOfDay()` and `duedate <= endOfWeek()` in JQL). Issues without a due date stay in their priority group.
3. **Group the rest by priority**: Bucket by `priority.name` (Highest, High, Medium, Low, Lowest, or your site's own scheme) and keep due-date order inside each bucket. Mark any issue whose `updated` is more than 10 days old.
4. **Write the summary**: Lead with three counts: open, overdue, due this week. Then the overdue and due-this-week issues with key, summary, status and due date, one line per priority group after that, and a link for each key to `https://<site>.atlassian.net/browse/<KEY>`.

## Route B: the browser

### What you need

- Signed in to Atlassian with the Jira account whose work you want to see; it needs Browse permission on the projects, which any assignee already has.

If something is missing, say what and stop; do not invent numbers.

### Steps

Start at https://home.atlassian.com/. The user is signed in already; never type passwords or codes, and ask if a sign-in page appears.

1. **Open the work item search**: From Atlassian Home, open Jira (the site is `https://<site>.atlassian.net`). In the left sidebar choose **Filters**, then **View all work items**. Jira now calls issues "work items" in its interface; the JQL below is unchanged.
2. **Switch to JQL and run the query**: Click **JQL** next to the search bar (the toggle may read **Switch to JQL**) and enter `assignee = currentUser() AND statusCategory != Done ORDER BY priority DESC, duedate ASC`. Use list view, and under **Columns** make sure Key, Summary, Status, Priority, Due date and Updated are shown.
3. **Read what is due**: The total sits above the list. Rows with a due date before today are overdue, rows due through the end of this week are due this week. For exact counts run the same JQL twice more with `AND duedate < startOfDay()` and `AND duedate >= startOfDay() AND duedate <= endOfWeek()`.
4. **Group the rest and mark the quiet ones**: Read the remaining rows in priority order, keeping due-date order inside each priority. Mark any row whose Updated value is more than 10 days ago, or run the query once more with `AND updated <= -10d`.
5. **Write the summary**: Three counts first (open, overdue, due this week), then the overdue and due-this-week rows with key, summary, status and due date, one line per priority after that, and the quiet rows at the end. Each key links to `https://<site>.atlassian.net/browse/<KEY>`.

Note: The list shows 50 rows per page; past 100 open items, use **Export work items** (CSV) and read the file instead of paging. Sites still on the old navigation have the same list under **Your work** > **Assigned to me**, sorted by last update rather than due date.

## The report

- **Counts**: open issues, overdue, due this week.
- **Overdue**: key, summary, status and how many days late.
- **Due this week**: key, summary, status and the day it is due.
- **By priority**: everything else under Highest, High, Medium and Low.
- **Gone quiet**: issues you have not updated in 10 days or more.
- One line on what to pick up first.

## Post it to Briefkin

When `BRIEFKIN_TOKEN` is set, or `~/.config/briefkin/env` exists (the installer from https://briefkin.dev/docs writes it), also send the result to the user's Briefkin board as one card. Keep the `item_key` the same on every run so the card updates in place, use a new `event_id` per run, and put today's real numbers in place of the example ones. If the request fails, say so once and carry on.

```bash
[ -n "${BRIEFKIN_TOKEN:-}" ] || . ~/.config/briefkin/env
curl -sS -X POST "${BRIEFKIN_URL:-https://briefkin.dev}/v1/events" \
  -H "authorization: Bearer $BRIEFKIN_TOKEN" \
  -H "content-type: application/json" \
  -d @- <<'JSON'
{
  "v": 1,
  "event_id": "jira-my-open-issues-summary/<date of this run, e.g. 2026-10-16>",
  "item_key": "jira-my-open-issues-summary",
  "project": "Acme",
  "source": "Jira: my open issues, summarized skill",
  "kind": "update",
  "title": "2 overdue, 3 due this week",
  "summary": "**14 open** issues are assigned to you. ACME-482 is 3 days late and Highest priority: start there.",
  "widget": [
    {
      "type": "Table",
      "props": {
        "columns": [
          "Issue",
          "Priority",
          "Status",
          "Due"
        ],
        "align": [
          "left",
          "left",
          "left",
          "right"
        ],
        "rows": [
          [
            "ACME-482 Refund webhook retries on a 502",
            "Highest",
            "In Progress",
            "Oct 13, 3 days late"
          ],
          [
            "ACME-455 CSV export drops rows past 10,000",
            "High",
            "To Do",
            "Oct 15, 1 day late"
          ],
          [
            "ACME-501 Audit log entry for SSO logins",
            "High",
            "In Review",
            "Today"
          ],
          [
            "ACME-497 Retry button on failed imports",
            "Medium",
            "To Do",
            "Today"
          ],
          [
            "ACME-510 Empty state for the reports page",
            "Medium",
            "To Do",
            "Oct 17"
          ]
        ]
      }
    },
    {
      "type": "Badges",
      "props": {
        "items": [
          {
            "label": "Highest 1",
            "tone": "bad"
          },
          {
            "label": "High 4",
            "tone": "warn"
          },
          {
            "label": "Medium 6"
          },
          {
            "label": "Low 3"
          },
          {
            "label": "2 quiet for 10+ days",
            "tone": "info"
          }
        ]
      }
    }
  ]
}
JSON
```

Widgets come from the Briefkin catalog (https://briefkin.dev/v1/catalog). Without a token, just give the user the report.

## Run it on a schedule

Suggested: Weekdays at 8:30 (`30 8 * * 1-5`). From cron, with the agent signed in on that machine:

```bash
30 8 * * 1-5 claude -p "Run the jira-my-open-issues-summary skill"
# Codex: codex exec, Gemini CLI: gemini -p, Copilot CLI: copilot -p, OpenCode: opencode run
```

Or use the agent's own scheduler (Claude Code routines, Codex automations, Claude or ChatGPT scheduled tasks): https://briefkin.dev/skills/jira-my-open-issues-summary#schedule

Source: https://briefkin.dev/skills/jira-my-open-issues-summary
