generate-status-report

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

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.
状态报告、项目状态、每周更新、每日站会、Jira报告、项目摘要、阻塞问题、进度更新、Confluence报告、迭代报告、项目更新、发布到Confluence、写入Confluence、发布报告
自动查询Jira获取项目状态,分析工单,并生成格式化的状态报告发布到Confluence。
重要提示:此技能需为交互式。在生成报告之前或之后,务必与用户明确范围(时间周期、受众、Confluence目标位置)。切勿静默跳过Confluence发布步骤——务必主动提供该选项。

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
生成状态报告遵循以下步骤:
  1. 确定范围 - 明确项目、时间周期和目标受众
  2. 查询Jira - 使用JQL查询获取相关工单
  3. 分析数据 - 分类工单并识别关键洞察
  4. 格式化报告 - 根据受众和用途构建内容结构
  5. 发布到Confluence - 创建或更新页面以发布报告

Step 1: Identify Scope

步骤1:确定范围

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
注意:如果用户的请求缺少关键信息,在执行查询前务必询问确认。在未得到确认的情况下,不要默认Confluence发布的相关设置。
需明确以下细节:
项目识别:
  • 对应的Jira项目密钥是什么?(例如:"PROJ"、"ENG"、"MKTG")
  • 如果用户仅提及项目名称而非密钥,需在Jira中搜索找到项目密钥
时间周期:
  • 如果未指定,询问:"此报告应覆盖哪个时间段?(默认:过去7天)"
  • 选项:每周(7天)、每日(24小时)、迭代周期(2周)、自定义周期
目标受众:
  • 如果未指定,询问:"此报告的受众是谁?(高管/交付经理、团队内部、或每日站会)"
  • 高管/交付经理:包含关键指标和阻塞问题的高层摘要
  • 团队内部:包含工单级状态的详细分解
  • 每日站会:关于昨日/今日工作及阻塞问题的简短更新
报告目标位置:
  • 务必询问(如果未指定):"是否需要将此报告发布到Confluence?如果需要,应使用哪个空间?"
  • 如果用户同意:询问空间名称,或提供可用空间列表
  • 确认:创建新页面还是更新现有页面?
  • 如果需要嵌套在特定章节下,询问父页面信息

Step 2: Query Jira

步骤2:查询Jira

Use the
searchJiraIssuesUsingJql
tool to fetch issues. Build JQL queries based on report needs.
使用
searchJiraIssuesUsingJql
工具获取工单。根据报告需求构建JQL查询语句。

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:
jql
project = "PROJECT_KEY" AND status != Done ORDER BY priority DESC, updated DESC
Issues updated in last week:
jql
project = "PROJECT_KEY" AND updated >= -7d ORDER BY priority DESC
High priority and blocked issues:
jql
project = "PROJECT_KEY" AND (priority IN (Highest, High) OR status = Blocked) AND status != Done ORDER BY priority DESC
Completed in reporting period:
jql
project = "PROJECT_KEY" AND status = Done AND resolved >= -7d ORDER BY resolved DESC
对于复杂查询,使用
scripts/jql_builder.py
工具以编程方式构建JQL字符串。对于快速查询,可参考
references/jql-patterns.md
中的示例。
项目中所有未完成工单:
jql
project = "PROJECT_KEY" AND status != Done ORDER BY priority DESC, updated DESC
过去一周更新的工单:
jql
project = "PROJECT_KEY" AND updated >= -7d ORDER BY priority DESC
高优先级及阻塞工单:
jql
project = "PROJECT_KEY" AND (priority IN (Highest, High) OR status = Blocked) AND status != Done ORDER BY priority DESC
报告周期内完成的工单:
jql
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.
对于大多数报告,建议执行多个针对性查询而非单个大型查询:
  1. 已完成工单:获取最近解决的工单
  2. 进行中工单:获取活跃工作项
  3. 阻塞工单:获取需要关注的阻塞问题
  4. 高优先级未处理工单:获取关键待办工作
初始查询使用
maxResults: 100
。如果需要分页,使用结果中的
nextPageToken

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)
对于每个工单,需捕获:
  • key
    (例如:"PROJ-123")
  • summary
    (工单标题)
  • status
    (当前状态)
  • priority
    (重要性级别)
  • assignee
    (处理人)
  • created
    /
    updated
    /
    resolved
    日期
  • description
    (如果需要了解阻塞问题的上下文)

Step 3: Analyze Data

步骤3:分析数据

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

步骤4:格式化报告

Select the appropriate template based on audience. Templates are in
references/report-templates.md
.
根据受众选择合适的模板。模板位于
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.
使用高管摘要格式
  • 简短的整体状态(🟢 按计划推进 / 🟡 存在风险 / 🔴 已阻塞)
  • 关键指标(总数、已完成、进行中、阻塞)
  • 前3项亮点(主要成果)
  • 严重阻塞问题及影响
  • 未来优先级
保持简洁 - 最多1-2页。聚焦决策者关注的内容。

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

步骤5:发布到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
生成报告后,务必主动提供发布到Confluence的选项(除非用户明确表示不需要)。
如果用户尚未指定Confluence相关细节,询问:
  • "是否需要将此报告发布到Confluence?"
  • "应使用哪个Confluence空间?"
  • "是否需要嵌套在特定父页面下?"
使用
createConfluencePage
工具发布报告。
页面创建:
python
createConfluencePage(
    cloudId="[从getConfluenceSpaces或URL获取]",
    spaceId="[数字空间ID]",
    title="[项目名称] - 状态报告 - [日期]",
    body="[格式化的Markdown报告]",
    contentFormat="markdown",
    parentId="[可选 - 嵌套页面的父页面ID]"
)
标题格式示例:
  • "Project Phoenix - Weekly Status - Dec 3, 2025"
  • "Engineering Sprint 23 - Status Report"
  • "Q4 Initiatives - Status Update - Week 49"
正文格式: 使用Markdown编写报告内容。工具会将其转换为Confluence格式。使用:
  • 标题(
    #
    ,
    ##
    ,
    ###
    )构建结构
  • 项目符号列表
  • 粗体(
    **text**
    )强调
  • 表格展示指标(如有需要)
  • Jira工单链接:
    [PROJ-123](https://yourinstance.atlassian.net/browse/PROJ-123)
最佳实践:
  • 突出显示报告日期
  • 直接链接到相关Jira工单
  • 为定期报告使用一致的命名规范
  • 考虑创建在“状态报告”父页面下以保持组织性

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
如果用户未指定Confluence空间:
  1. 使用
    getConfluenceSpaces
    列出可用空间
  2. 查找与项目相关的空间(匹配项目名称或密钥)
  3. 如果不确定,询问用户应使用哪个空间
  4. 默认创建在最相关的团队或项目空间中

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"
)
如果需要更新现有页面而非创建新页面:
  1. 获取当前页面内容:
python
getConfluencePage(
    cloudId="...",
    pageId="123456",
    contentFormat="markdown"
)
  1. 使用新内容更新页面:
python
updateConfluencePage(
    cloudId="...",
    pageId="123456",
    body="[更新后的报告内容]",
    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:
python
undefined
用户请求: "为Project Phoenix生成状态报告并发布到Confluence"
步骤1 - 确定范围:
  • 项目:Phoenix(需查找项目密钥)
  • 时间周期:过去一周(默认)
  • 受众:未指定,假设为高管级别
  • 目标位置:Confluence,需查找合适的空间
步骤2 - 查询Jira:
python
undefined

Find project key first

先查找项目密钥

searchJiraIssuesUsingJql( cloudId="...", jql='project = "PHOENIX" OR project = "PHX"', maxResults=1 )
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 )
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 )
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:**
```python
searchJiraIssuesUsingJql( cloudId="...", jql='project = "PHX" AND status IN ("In Progress", "In Review") AND priority IN (Highest, High)', maxResults=50 )

**步骤3 - 分析:**
- 已完成15个工单(指标)
- 3个严重阻塞问题(关键洞察)
- 主要成果:API集成完成(亮点)

**步骤4 - 格式化:**
使用模板中的高管摘要格式。创建包含指标、亮点和阻塞问题的简洁报告。

**步骤5 - 发布:**
```python

Find appropriate space

查找合适的空间

getConfluenceSpaces(cloudId="...")
getConfluenceSpaces(cloudId="...")

Create page

创建页面

createConfluencePage( cloudId="...", spaceId="12345", title="Project Phoenix - Weekly Status - Dec 3, 2025", body="[formatted markdown report]", contentFormat="markdown" )
undefined
createConfluencePage( cloudId="...", spaceId="12345", title="Project Phoenix - Weekly Status - Dec 3, 2025", body="[格式化的Markdown报告]", contentFormat="markdown" )
undefined

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
以数据为驱动:
  • 包含具体数字和指标
  • 直接引用工单密钥
  • 尽可能展示趋势(例如:“本周完成15个,上周完成12个”)
聚焦重点:
  • 以最重要的信息开头
  • 突出显示阻塞问题
  • 庆祝重大成果
具备可操作性:
  • 对于阻塞问题,说明所需行动及负责人
  • 对于风险,提供缓解方案
  • 对于优先级,明确下一步具体工作
保持一致性:
  • 定期报告使用相同格式
  • 维持可预测的结构
  • 每周提供可比指标
提供上下文:
  • 链接到Jira获取详细信息
  • 解释阻塞问题的影响
  • 尽可能将工作与业务目标关联

Resources

资源

scripts/jql_builder.py

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.
用于以编程方式构建JQL查询的Python工具。当需要构建复杂或动态查询时使用。导入并使用辅助函数,而非手动拼接JQL字符串。

references/jql-patterns.md

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.
状态报告常用JQL查询模式的快速参考。用于标准查询或作为自定义查询的起点。

references/report-templates.md

references/report-templates.md

Detailed templates for different report types and audiences. Reference this to select the appropriate format and structure for your report.
针对不同报告类型和受众的详细模板。参考此文档选择合适的报告格式和结构。