See every open Jira issue assigned to you, with overdue work on top

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

Runs
Weekdays at 8:30
Uses
Jira
Posts
Report card

What lands on your board

AcmeJira: my open issues, summarized · Claude Code

2 overdue, 3 due this week

14 open issues are assigned to you. ACME-482 is 3 days late and Highest priority: start there.

IssuePriorityStatusDue
ACME-482 Refund webhook retries on a 502HighestIn ProgressOct 13, 3 days late
ACME-455 CSV export drops rows past 10,000HighTo DoOct 15, 1 day late
ACME-501 Audit log entry for SSO loginsHighIn ReviewToday
ACME-497 Retry button on failed importsMediumTo DoToday
ACME-510 Empty state for the reports pageMediumTo DoOct 17
Highest 1High 4Medium 6Low 32 quiet for 10+ days
Done
An example with made-up numbers. Your agent posts your real ones.

What it does

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.

How it works

  1. 1Query your open issues

    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. 2

    2Pull 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. 3

    3Group 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. 4

    4Write 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>.

  5. Post it to the board

    With BRIEFKIN_TOKEN set, the agent sends the result as one card that updates in place every run. Without it, you get the report in the chat.

What you get

  • 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.

Install and run it

Pick your agent, where the data comes from and how to schedule it; the commands below follow.

Agent
Data
Schedule
  1. Install the skill

    One command. It puts the SKILL.md in ~/.claude/skills and in ~/.agents/skills, which Codex, Cursor, Gemini CLI, Copilot CLI and OpenCode read too.

    shellcurl -fsSL https://briefkin.dev/skills/jira-my-open-issues-summary/install | sh
  2. Run it

    Ask Claude Code:

    promptRun the jira-my-open-issues-summary skill

    Or paste the prompt instead of installing:

    promptUsing the Jira Cloud REST API (GET /rest/api/3/search/jql), find every issue matching assignee = currentUser() AND statusCategory != Done, with summary, status, priority, duedate, project and updated. Put overdue issues (due date before today) first, then the ones due by the end of this week, each with key, summary, status and due date. Group everything else by priority, Highest to Lowest. List issues I have not updated in 10 days or more separately. Start with three counts (open, overdue, due this week) and end with the one issue I should pick up first and why.
  3. Put it on a schedule

    Weekdays at 8:30, from cron on any machine where Claude Code is signed in:

    crontab30 8 * * 1-5 claude -p "Run the jira-my-open-issues-summary skill"

    Add it with crontab -e. A laptop asleep at that time runs it when it wakes if you use launchd or Task Scheduler instead; GitHub Actions works for the API route.

  4. Send it to your board

    Connect Briefkin once with curl -fsSL https://briefkin.dev/install | sh and every run lands on your board as a report card. How setup works

View the SKILL.mdRaw file
SKILL.md---
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

What your agent needs

  • 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.

Connecting Jira

  1. Atlassian Rovo MCP Server, Atlassian's official remote server for Jira and Confluence at https://mcp.atlassian.com/v2/mcp. In Claude, add the Atlassian connector from the directory; in Claude Code, run claude mcp add --transport http atlassian https://mcp.atlassian.com/v2/mcp and authenticate with /mcp. It signs in with OAuth 2.1 or an API token and respects your Jira permissions (getting started).
  2. Atlassian CLI. After acli jira auth login, acli jira workitem search --jql "sprint in openSprints()" --json returns the same issues from a terminal.
  3. REST API with an API token. Create a token at id.atlassian.com under Security > API tokens. The skill reads JIRA_EMAIL, JIRA_API_TOKEN and JIRA_BASE_URL (https://acme.atlassian.net) and uses basic auth. A scoped token limited to read:jira-work and read:jira-user is narrower; scoped tokens call https://api.atlassian.com/ex/jira/{cloudId} instead of your site URL.

A classic token can do anything your account can, so prefer a scoped token with read scopes only, or an account that just has Browse permission on the projects in the report.

Questions

Does it include issues from every project?

Yes, unless you narrow it. currentUser() matches your account across the whole site. To keep it to some projects, add AND project in (ACME, WEB) to the JQL; to drop sub-tasks, add AND issuetype not in subTaskIssueTypes().

What if my team does not use due dates?

Then the overdue and due-this-week sections stay empty and the report is grouped by priority alone. If you plan by sprint, add AND sprint in openSprints() so the list is what you committed to, and order by Rank to match the board.

Do I need Briefkin to use the Jira: my open issues, summarized skill?

No. The skill runs with your own agent and gives you the report in the chat. With a Briefkin token set, each run also posts it to your board as a report card, so you can glance at it instead of asking again.

Which agents can run it?

Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot CLI, OpenCode, Windsurf and Amp all read SKILL.md files. The install command puts it in ~/.claude/skills and ~/.agents/skills, where they look. ChatGPT, the Claude app and Grok take the prompt instead. Pick your agent under "Install and run it" and the commands change to match.

Can it work without an API or MCP server, from my browser?

Yes. Switch the data source to "Your browser" and the steps change to the Jira pages themselves: the agent opens home.atlassian.com in a browser you are signed in to and reads the numbers off the page. Claude Code, Codex, Cursor, Claude app and ChatGPT can drive a browser out of the box; Gemini CLI, Copilot CLI and OpenCode need a Playwright or Chrome DevTools MCP server first. It is slower than the API and needs you signed in, so it suits a report you run by hand or from a scheduler on your own computer.

Read this report on your board, not in a chat log

Skills are free to use with any agent. Briefkin is where their results land: one board for every report, number and question your agents send, with a ping when something needs you.

Free during the open beta. No card.