| name | jira-progress-pulse |
| description | Use when running the twice-daily project progress pulse — pulling Jira/Linear tasks and sending a Slack alert on key project movement (status changes, blockers, due-soon items). |
Jira/Linear → Slack Progress Pulse
Runs twice daily (morning/EOD) as a scheduled routine. Pulls task state from
Jira or Linear, identifies what actually matters to an EM, and posts a short
Slack alert — not a full dump.
Steps
-
Pull current state via the official MCP servers — don't scrape or
hand-roll API calls; the official connectors handle auth, pagination, and
stay current with the API:
- Linear MCP (
linear plugin / official Linear MCP server): list_issues
filtered by team/project, list_cycles for the active cycle
- Atlassian MCP (official Atlassian Remote MCP server, ships Jira +
Confluence tools):
searchJiraIssuesUsingJql with a JQL scoped to the
project + sprint
- Compare against the previous run (keep a small state note — e.g. last-seen
status per issue — so you can detect changes, not just current state)
- If neither MCP server is connected, say so explicitly and point to setup
(
claude mcp add / Settings → Connectors) rather than falling back to
scraping or asking the user for raw API tokens.
-
Filter for what's "key progress", not noise:
- Status transitions into/out of "Blocked", "In Review", "Done"
- Items due within 2 days that are not yet in progress
- New high-priority issues created since the last pull
- Anything that moved backward (e.g. Done → In Progress)
-
Draft a short Slack message (not a wall of text):
📊 Project Pulse — <project> (<AM/PM>)
✅ Done: <issue keys/titles, max 3>
🚧 Newly blocked: <issue keys — flag these first, an EM cares most here>
⏰ Due soon, not started: <issue keys>
Omit any section with nothing to report — don't pad.
-
Send via the configured Slack integration/webhook. If no Slack MCP/integration
is connected yet, say so and show the drafted message instead of failing silently.
Notes
- This is a scheduled routine — set it up with
/schedule (runs this skill
twice daily, e.g. 9am and 5pm) rather than running it ad hoc.
- Keep the alert skimmable in <10 seconds; link out to Jira/Linear for detail.
- Never invent status changes — only report what the API actually returned.