Generate Status Report

작성자: Atlassian

Jira 이슈에서 프로젝트 상태 보고서를 생성하여 Confluence에 게시합니다. Claude가 다음 작업을 수행해야 할 때 사용: (1) 프로젝트 상태 보고서 작성, (2) 프로젝트 진행 상황 또는 업데이트 요약, (3) Jira에서 주간/일일 보고서 생성, (4) 상태 요약을 Confluence에 게시, (5) 프로젝트 차단 요소 및 완료 상태 분석. Jira 이슈를 조회하고 상태/우선순위별로 분류하여 전달 관리자 및 임원진을 위한 형식화된 보고서를 생성합니다.

npx skills add https://github.com/atlassian/atlassian-mcp-server --skill generate-status-report

Generate Status Report

Keywords

status report, project status, weekly update, daily standup, Jira report, project summary, blockers, progress update, Confluence report, sprint report, project update, publish to Confluence, write to Confluence, post report

Automatically query Jira for project status, analyze issues, and generate formatted status reports published to Confluence.

CRITICAL: This skill should be interactive. Always clarify scope (time period, audience, Confluence destination) with the user before or after generating the report. Do not silently skip Confluence publishing—always offer it.

Workflow

Generating a status report follows these steps:

  1. Identify scope - Determine project, time period, and target audience
  2. Query Jira - Fetch relevant issues using JQL queries
  3. Analyze data - Categorize issues and identify key insights
  4. Format report - Structure content based on audience and purpose
  5. Publish to Confluence - Create or update a page with the report

Step 1: Identify Scope

IMPORTANT: If the user's request is missing key information, ASK before proceeding with queries. Do not assume defaults without confirmation for Confluence publishing.

Clarify these details:

Project identification:

  • Which Jira project key? (e.g., "PROJ", "ENG", "MKTG")
  • If the user mentions a project by name but not key, search Jira to find the project key

Time period:

  • If not specified, ask: "What time period should this report cover? (default: last 7 days)"
  • Options: Weekly (7 days), Daily (24 hours), Sprint-based (2 weeks), Custom period

Target audience:

  • If not specified, ask: "Who is this report for? (Executives/Delivery Managers, Team-level, or Daily standup)"
  • Executives/Delivery Managers: High-level summary with key metrics and blockers
  • Team-level: Detailed breakdown with issue-by-issue status
  • Daily standup: Brief update on yesterday/today/blockers

Report destination:

  • ALWAYS ASK if not specified: "Would you like me to publish this report to Confluence? If so, which space should I use?"
  • If user says yes: Ask for space name or offer to list available spaces
  • Determine: New page or update existing page?
  • Ask about parent page if creating under a specific section

Step 2: Query Jira

Use the searchJiraIssuesUsingJql tool to fetch issues. Build JQL queries based on report needs.

Common Query Patterns

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

Query Strategy

For most reports, execute multiple targeted queries rather than one large query:

  1. Completed issues: Get recently resolved tickets
  2. In-progress issues: Get active work items
  3. Blocked issues: Get blockers requiring attention
  4. High priority open: Get critical upcoming work

Use maxResults: 100 for initial queries. If pagination is needed, use nextPageToken from results.

Data to Extract

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 dates
  • description (if needed for context on blockers)

Step 3: Analyze Data

Process the retrieved issues to identify:

Metrics:

  • Total issues by status (Done, In Progress, Blocked, etc.)
  • Completion rate (if historical data available)
  • Number of high priority items
  • Unassigned issue count

Key insights:

  • Major accomplishments (recently completed high-value items)
  • Critical blockers (blocked high priority issues)
  • At-risk items (overdue or stuck in progress)
  • Resource bottlenecks (one assignee with many issues)

Categorization: Group issues logically:

  • By status (Done, In Progress, Blocked)
  • By priority (Highest → Low)
  • By assignee or team
  • By component or epic (if relevant)

Step 4: Format Report

Select the appropriate template based on audience. Templates are in references/report-templates.md.

For Executives and Delivery Managers

Use Executive Summary Format:

  • Brief overall status (🟢 On Track / 🟡 At Risk / 🔴 Blocked)
  • Key metrics (total, completed, in progress, blocked)
  • Top 3 highlights (major accomplishments)
  • Critical blockers with impact
  • Upcoming priorities

Keep it concise - 1-2 pages maximum. Focus on what matters to decision-makers.

For Team-Level Reports

Use Detailed Technical Format:

  • Completed issues listed with keys
  • In-progress issues with assignee and priority
  • Blocked issues with blocker description and action needed
  • Risks and dependencies
  • Next period priorities

Include more detail - Team needs issue-level visibility.

For Daily Updates

Use Daily Standup Format:

  • What was completed yesterday
  • What's planned for today
  • Current blockers
  • Brief notes

Keep it brief - This is a quick sync, not comprehensive analysis.

Step 5: Publish to Confluence

After generating the report, ALWAYS offer to publish to Confluence (unless user explicitly said not to).

If user hasn't specified Confluence details yet, ask:

  • "Would you like me to publish this report to Confluence?"
  • "Which Confluence space should I use?"
  • "Should this be nested under a specific parent page?"

Use the createConfluencePage tool to publish the report.

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:

  • "Project Phoenix - Weekly Status - Dec 3, 2025"
  • "Engineering Sprint 23 - Status Report"
  • "Q4 Initiatives - Status Update - Week 49"

Body formatting: Write the report content in Markdown. The tool will convert it to Confluence format. Use:

  • Headers (#, ##, ###) for structure
  • Bullet points for lists
  • Bold (**text**) for emphasis
  • Tables for metrics if needed
  • Links to Jira issues: [PROJ-123](https://yourinstance.atlassian.net/browse/PROJ-123)

Best practices:

  • Include the report date prominently
  • Link directly to relevant Jira issues
  • Use consistent naming conventions for recurring reports
  • Consider creating under a "Status Reports" parent page for organization

Finding the Right Space

If the user doesn't specify a Confluence space:

  1. Use getConfluenceSpaces to list available spaces
  2. Look for spaces related to the project (matching project name or key)
  3. If unsure, ask the user which space to use
  4. Default to creating in the most relevant team or project space

Updating Existing Reports

If updating an existing page instead of creating new:

  1. Get the current page content:
getConfluencePage(
    cloudId="...",
    pageId="123456",
    contentFormat="markdown"
)
  1. Update the page with new content:
updateConfluencePage(
    cloudId="...",
    pageId="123456",
    body="[updated report content]",
    contentFormat="markdown",
    versionMessage="Updated with latest status - Dec 8, 2025"
)

Complete Example Workflow

User request: "Generate a status report for Project Phoenix and publish it to Confluence"

Step 1 - Identify scope:

  • Project: Phoenix (need to find project key)
  • Time period: Last week (default)
  • Audience: Not specified, assume executive level
  • Destination: Confluence, need to find appropriate space

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:

  • 15 issues completed (metrics)
  • 3 critical blockers (key insight)
  • Major accomplishment: API integration completed (highlight)

Step 4 - Format: Use Executive Summary Format from templates. Create concise report with metrics, highlights, and blockers.

Step 5 - Publish:

# Find appropriate space
getConfluenceSpaces(cloudId="...")

# Create page
createConfluencePage(
    cloudId="...",
    spaceId="12345",
    title="Project Phoenix - Weekly Status - Dec 3, 2025",
    body="[formatted markdown report]",
    contentFormat="markdown"
)

Tips for Quality Reports

Be data-driven:

  • Include specific numbers and metrics
  • Reference issue keys directly
  • Show trends when possible (e.g., "completed 15 vs 12 last week")

Highlight what matters:

  • Lead with the most important information
  • Flag blockers prominently
  • Celebrate significant wins

Make it actionable:

  • For blockers, state what action is needed and from whom
  • For risks, provide mitigation options
  • For priorities, be specific about next steps

Keep it consistent:

  • Use the same format for recurring reports
  • Maintain predictable structure
  • Include comparable metrics week-over-week

Provide context:

  • Link to Jira for details
  • Explain the impact of blockers
  • Connect work to business objectives when possible

Resources

scripts/jql_builder.py

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.

references/jql-patterns.md

Quick reference of common JQL query patterns for status reports. Use this for standard queries or as a starting point for custom queries.

references/report-templates.md

Detailed templates for different report types and audiences. Reference this to select the appropriate format and structure for your report.

Atlassian의 다른 스킬

Capture Tasks from Meeting Notes
Atlassian
회의록을 분석하여 액션 아이템을 찾고 할당된 작업에 대한 Jira 태스크를 생성합니다. Claude가 다음을 수행해야 할 때: (1) 회의록에서 Jira 태스크 또는 티켓 생성, (2) 회의록 또는 Confluence 페이지에서 액션 아이템 추출 또는 찾기, (3) 할당된 작업을 위해 회의록 분석, (4) 회의록을 분석하고 팀원을 위한 태스크 생성. 담당자를 식별하고, 계정 ID를 조회하며, 적절한 컨텍스트와 함께 태스크를 생성합니다.
Search Company Knowledge
Atlassian
회사 지식 베이스(Confluence, Jira, 내부 문서)를 검색하여 내부 개념, 프로세스, 기술 세부 사항을 찾고 설명합니다. Claude가 다음을 수행해야 할 때: (1) 시스템, 용어, 프로세스, 배포, 인증, 인프라, 아키텍처 또는 기술 개념에 대한 정보를 찾거나 검색, (2) 내부 문서, 지식 베이스, 회사 문서 또는 당사 문서 검색, (3) 특정 대상이 무엇인지, 어떻게 작동하는지 설명하거나 정보 조회, 또는 (4) 여러 출처의 정보를 종합합니다. 병렬로 검색하며 인용된 답변을 제공합니다.
Spec to Backlog
Atlassian
Confluence 사양 문서를 에픽 및 구현 티켓이 포함된 구조화된 Jira 백로그로 자동 변환합니다. Claude가 (1) Confluence 페이지에서 Jira 티켓을 생성하거나, (2) 사양에서 백로그를 생성하거나, (3) 사양을 구현 작업으로 분해하거나, (4) 요구사항을 Jira 이슈로 변환해야 할 때 사용됩니다. Confluence 페이지 읽기, 사양 분석, 적절한 구조의 에픽 생성, 에픽에 연결된 상세 구현 티켓 생성을 처리합니다.
Triage Issue
Atlassian
지능적으로 버그 보고서와 오류 메시지를 분류하여 Jira에서 중복을 검색하고 새 이슈를 생성하거나 기존 이슈에 댓글을 추가하는 기능을 제공합니다. Claude가 다음 작업을 수행해야 할 때: (1) 버그 보고서나 오류 메시지 분류, (2) 이슈 중복 여부 확인, (3) 유사한 과거 이슈 검색, (4) 적절한 컨텍스트로 새 버그 티켓 생성, (5) 기존 티켓에 정보 추가. Jira에서 유사한 이슈를 검색하고, 중복을 식별하며, 수정 내역을 확인하고, 잘 구조화된 버그 보고서를 작성하는 데 도움을 줍니다.