Generate project status reports from Jira issues with optional Confluence publishing. When Claude needs to: (1) Create a status report for a project, (2) Summarize project progress or updates, (3) Generate weekly/daily reports from Jira, (4) Publish status summaries to Confluence (optional), or (5) Analyze project blockers and completion. Queries Jira issues, categorizes by status/priority, and creates formatted reports for delivery managers and executives.
From jiranpx claudepluginhub baleen37/bstack --plugin jiraThis skill uses the workspace's default tool permissions.
references/jql-patterns.mdreferences/report-templates.mdscripts/jql_builder.pyDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
status report, project status, weekly update, daily standup, Jira report, project summary, blockers, progress update, sprint report, project update, team status, issue analysis, priority report, completion report, Confluence report, publish to Confluence
Automatically query Jira for project status, analyze issues, and generate formatted status reports with optional Confluence publishing.
CRITICAL: This skill should be interactive. Always clarify scope (time period, audience) with the user before or after generating the report. If Confluence destination is mentioned, clarify the target space.
Generating a status report follows these steps:
IMPORTANT: If the user's request is missing key information, ASK before proceeding with queries.
Clarify these details:
Project identification:
Time period:
Target audience:
Report destination (OPTIONAL):
Use the searchJiraIssuesUsingJql tool to fetch issues. Build JQL queries based on report needs.
For comprehensive queries, use the scripts/jql_builder.py utility to programmatically build JQL strings.
For quick queries, reference references/jql-patterns.md for examples.
All open issues in project:
project = "PROJECT_KEY" AND status != Done ORDER BY priority DESC, updated DESC
Issues updated in last week:
project = "PROJECT_KEY" AND updated >= -7d ORDER BY priority DESC
High priority and blocked issues:
project = "PROJECT_KEY" AND (priority IN (Highest, High) OR status = Blocked) AND status != Done ORDER BY priority DESC
Completed in reporting period:
project = "PROJECT_KEY" AND status = Done AND resolved >= -7d ORDER BY resolved DESC
For most reports, execute multiple targeted queries rather than one large query:
Use maxResults: 100 for initial queries. If pagination is needed, use nextPageToken from results.
For each issue, capture:
key (e.g., "PROJ-123")summary (issue title)status (current state)priority (importance level)assignee (who's working on it)created / updated / resolved datesdescription (if needed for context on blockers)Process the retrieved issues to identify:
Metrics:
Key insights:
Categorization:
Group issues logically:
Select the appropriate template based on audience. Templates are in references/report-templates.md.
Use Executive Summary Format:
Keep it concise - 1-2 pages maximum. Focus on what matters to decision-makers.
Use Detailed Technical Format:
Include more detail - Team needs issue-level visibility.
Use Daily Standup Format:
Keep it brief - This is a quick sync, not comprehensive analysis.
Present the formatted report to the user and offer options for delivery:
If the user wants to publish to Confluence, use the createConfluencePage tool:
Page creation:
createConfluencePage(
cloudId="[obtained from getConfluenceSpaces or URL]",
spaceId="[numerical space ID]",
title="[Project Name] - Status Report - [Date]",
body="[formatted report in Markdown]",
contentFormat="markdown",
parentId="[optional - parent page ID if nesting under another page]"
)
Title format examples:
Body formatting:
Write the report content in Markdown. The tool will convert it to Confluence format. Use:
#, ##, ###) for structure**text**) for emphasis[PROJ-123](https://yourinstance.atlassian.net/browse/PROJ-123)Finding the Right Space:
If the user doesn't specify a Confluence space:
getConfluenceSpaces to list available spacesUpdating Existing Reports:
If updating an existing page instead of creating new:
getConfluencePageupdateConfluencePageUser request: "Generate a status report for Project Phoenix"
Step 1 - Identify scope:
Step 2 - Query Jira:
# Find project key first
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PHOENIX" OR project = "PHX"',
maxResults=1
)
# Query completed issues
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PHX" AND status = Done AND resolved >= -7d',
maxResults=50
)
# Query blocked issues
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PHX" AND status = Blocked',
maxResults=50
)
# Query in-progress high priority
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PHX" AND status IN ("In Progress", "In Review") AND priority IN (Highest, High)',
maxResults=50
)
Step 3 - Analyze:
Step 4 - Format:
Use Executive Summary Format from templates. Create concise report with metrics, highlights, and blockers.
Step 5 - Deliver:
Present the formatted report and ask if user wants to save, modify, or optionally publish to Confluence.
Optional - Publish to Confluence:
# If user wants Confluence publishing
getConfluenceSpaces(cloudId="...")
createConfluencePage(
cloudId="...",
spaceId="12345",
title="Project Phoenix - Weekly Status - Dec 3, 2025",
body="[formatted markdown report]",
contentFormat="markdown"
)
Be data-driven:
Highlight what matters:
Make it actionable:
Keep it consistent:
Provide context:
Python utility for programmatically building JQL queries. Use this when you need to construct complex or dynamic queries. Import and use the helper functions rather than manually concatenating JQL strings.
Quick reference of common JQL query patterns for status reports. Use this for standard queries or as a starting point for custom queries.
Detailed templates for different report types and audiences. Reference this to select the appropriate format and structure for your report.