qa-sprint-report-by-testomatio について
Testomat.io を使う QA チーム向けのスプリントレポート作成ワークフローです。スプリントの特定、テスト結果の収集、HTML 出力に対応し、MCP が返すデータのみを扱います。
主な機能
- 01マイルストーン、ラン群、ランからスプリントを特定
- 02ランとテスト結果の収集
- 03テンプレートに沿ったレポート構成
- 04HTML 出力と任意の Markdown 書き出し
- 05不足データを推測しない処理
活用シーン
- 01スプリント終了時の QA 状況共有
- 02合格、失敗、ブロック項目のレビュー
- 03スプリント中のテスト進捗記録
MCP 対応
MCP ツールでマイルストーン、ラン、テスト結果、利用可能な分析データを取得し、レポートに反映します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ testomatio/ skills --skill qa-sprint-report-by-testomatioインストール後、Claude Code で/qa-sprint-report-by-testomatioを入力して読み込まれたか確認します。
同梱ファイルreferences/qa-sprint-report.md
詳細
Testomat.io による QA スプリントレポート
使用するタイミング
- スプリントの終了時 — ステークホルダーと共有できる QA レポートを作成します。
- スプリントレビュー — テスト内容、合格、失敗、ブロックの状況を構造的に把握する必要がある場合。
- スプリント中の状況確認 — 現在の実行状況を記録します。
- ユーザーが「スプリントレポート」、「QA サマリー」、「スプリントの進捗」などに言及した場合。
スプリントの特定方法
ユーザーは、次のいずれかの方法でスプリントを指定できます(優先順位順)。
- マイルストーン名または ID — 例:「Sprint 42」、「Sprint 2024.3」 —
milestones_list(type="Sprint")を使用して特定します。 - 実行グループのタイトル — 例:「Sprint 42 Run」 —
rungroups_list/rungroups_getを使用します。 - 直接指定された実行 ID または実行タイトル —
runs_getまたはruns_listを使用します。 - プランのタイトルまたは ID —
plans_list/plans_getを使用します。 - 識別子が指定されていない場合 — ユーザーにスプリントのマイルストーン、実行グループ、または実行を指定するよう尋ねます。
ユーザーが「Sprint 42」のようなスプリント名だけを指定した場合は、必ず最初に具体的なマイルストーン/実行グループ/実行へと解決してください。タイトルがそのまま ID に対応すると仮定しないでください。
ルール
- データを捏造しないでください。 MCP から値が返されない場合は、
[None]を使用するか、該当セクションを非表示にしてください。数値やステータスを決して作り出さないでください。 - 最初にスプリントを解決してください。 検証せずにスプリント名が実行 ID に直接対応すると仮定しないでください。
- 利用できないセクションは非表示にしてください。 分析(セクション 8)が利用できない場合は、プレースホルダーテキストを残さず、セクション全体を省略してください。
- アクション間には空行を 1 行入れてください。 生成するコードまたは CLI のスニペットに適用されます。
- フィルタリングには TQL を使用してください。
runs_list、tests_list、testruns_listを呼び出す際は、常にクライアント側でのフィルタリングよりtqlフィルターを優先してください。 - デフォルトの出力形式は HTML です。 まず
.htmlを生成し、ユーザーが明示的に要求した場合、または最初のプロンプトに.mdで保存する要求が含まれている場合に限り、.mdを提案してください。
MCP ツールの対応関係
各レポートセクションは、特定の MCP ツールに対応しています。完全なセクション構成と指標については、テンプレートを参照してください。
- qa-sprint-report.md — 入力用プレースホルダーを含むセクション構成
クイックコマンド
| アクション | MCP ツール | 主なパラメーター |
|---|---|---|
| スプリントのマイルストーンを検索 | milestones_list | type="Sprint", status="active" |
| スプリントの実行一覧を取得 | runs_list | tql: milestone == '{id}' |
| 実行の詳細を取得 | runs_get | run_id |
| テスト結果を取得 | testruns_list | run_id, filter_status |
| テストスイートのテストを取得 | tests_list | suite_id, per_page=100 |
| 分析機能の利用可否を確認 | system_ping | (レスポンス内の Enterprise フラグ) |
| テスト健全性分析を取得 | analytics_tests | kind, days, from, to |
| 統計分析を取得 | analytics_stats | kind, from, to |
ワークフロー
ステップ 1:スプリントを特定する
スプリントの識別子が指定されていない場合は、ユーザーに尋ねます。次の方法で特定してください。
1. milestones_list(type="Sprint") — find milestone matching sprint name
2. rungroups_list — find rungroup with sprint title
3. runs_list(tql="title % 'Sprint N'") — find runs by title
ステップ 2:スプリントのメタデータと期間を収集する
レポートのヘッダー用に、次の情報を収集します。
- スプリントのタイトル/日付については、
milestones_get(milestone_id)またはrungroups_get(rungroup_id)を使用します。 - TMS に QA リード名がない場合は、ユーザーに尋ねます。
重要:スプリントの期間を抽出する
次の優先順位でスプリントの期間を解決します。
- ユーザーから提供された期間 — ユーザーが最初のプロンプトで期間を指定した場合は、その期間を使用します。
- マイルストーン/実行グループの日付 —
milestones_getまたはrungroups_getからstart_date/due_dateを抽出します。 - 実行のタイムスタンプ — マイルストーン/実行グループに日付がない場合は、スプリントの実行全体から最も早い
created_atと最も遅いfinished_atを使用して期間を算出します(runs_get)。 - 手動入力 — TMS から期間を特定できない場合は、ユーザーにスプリント期間を手動で指定するよう尋ねます。
期間は次の用途で必要です。
analytics_tests(kind="...", from="YYYY-MM-DD", to="YYYY-MM-DD")analytics_stats(kind="...", from="YYYY-MM-DD", to="YYYY-MM-DD")- スプリント期間による実行のフィルタリング
Step 3: 実行データを収集する
runs_list(tql="milestone == '{id}'")— スプリントのマイルストーンに属するすべての実行- 各実行について、
runs_getを呼び出してステータス、件数、環境を取得します testruns_list(run_id, filter_status)— 実行ごとの成功/失敗/スキップを取得します
Step 4: レポートのセクションを作成する
テンプレートのセクション 1〜9 を順に処理し、それぞれに MCP データを入力します。次のルールを適用してください。
- 指標を取得できない場合 → セルに
[None]を使用します - セクション全体にデータがない場合 → セクションを非表示にします(プレースホルダーテキストは表示しません)
- セクション 8(分析) →
system_pingの応答で Enterprise の機能が利用可能か確認します。利用できない場合は非表示にします
Step 5: 出力ファイルを書き込む
入力済みのレポートを次の場所に書き込みます。
{user-specified-path}/QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html
パスが指定されていない場合は、現在の作業ディレクトリに保存します。
Step 6: Markdown へのエクスポートを提案する
.html ファイルを書き込んだ後、レポートを .md ファイルとしてもエクスポートするかどうかをユーザーに尋ねます。
❓ The report has been saved to `{path}`.
Would you like to also export it as a `.md` file?
1. ✏️ Yes, save as `.md` in the same location
2. 👍 No, keep the `.html` only
ユーザーがオプション 1 を選んだ場合:
- HTML の内容を Markdown 形式に変換します。
- 参考資料のテンプレート qa-sprint-report.md を使用して、
.md形式のレポートを生成します。 QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.mdとして、HTML ファイルと同じディレクトリに保存します。
ユーザーがオプション 2 を選んだ場合:
.htmlのパスを確認し、ワークフローを終了します。
HTML テンプレートのスタイル
HTML にエクスポートする場合は、次のスタイルを適用します。
カラーパレット
| トークン | 16 進数 | 用途 |
|---|---|---|
--primary-color | #6366f1 | ヘッダー、バッジ、リンク |
--primary-hover | #4f46e5 | ホバー状態 |
--success-color | #10b981 | 成功/準備完了バッジ |
--danger-color | #ef4444 | 失敗/ブロック中バッジ |
--warning-color | #f59e0b | 進行中バッジ |
--info-color | #3b82f6 | 情報バッジ |
--gray-50 to --gray-900 | #f9fafb → #111827 | テキストの階層 |
タイポグラフィ
- フォントファミリー: Inter(Google Fonts)、フォールバック:
-apple-system, BlinkMacSystemFont, sans-serif - フォントの太さ: 300(ライト)、400(レギュラー)、500(ミディアム)、600(セミボールド)、700(ボールド)、800(エクストラボールド)
- 等幅フォント: チケット ID とコードには
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolasを使用します - アイコン: Font Awesome 6.4.0(
fa-solid)
ステータスバッジ
| ステータス | 背景 | テキストの色 |
|---|---|---|
passed, ready | #d1fae5 | #065f46 |
failed, blocked | #fee2e2 | #991b1b |
progress | #fef3c7 | #92400e |
info | #dbeafe | #1e40af |
主な要素
| 要素 | 説明 |
|---|---|
.main-container | 白いガラス風カード(rgba(255,255,255,0.98))。backdrop-filter: blur(20px)、最大幅 1300px、角丸 20px |
.header | グラデーション背景(linear-gradient(135deg, #6366f1, #4f46e5))、白いテキスト、フレックスレイアウト |
.section-card | 白い背景、1px の --gray-200 の境界線、角丸 12px、ボックスシャドウ |
.report-table | 全幅、境界線を結合、行にホバー時のハイライト |
.meta-grid | CSS Grid(repeat(auto-fit, minmax(220px, 1fr)))、間隔 20px |
.instruction-card | 左側に --primary-color の 5px の境界線を持つ情報ボックス、背景色 #eef2ff |
.tms-link | ホバー時に下線が付くプライマリカラーのリンク |
HTML 構造
<div class="main-container">
<header class="header">
<div class="header-title">
<h1>QA Sprint Progress Report</h1>
<p><i class="fa-solid fa-cubes"></i> [Project Name]</p>
</div>
<div class="header-badge">
<i class="fa-solid fa-calendar-days"></i> Sprint: [Sprint Number]
</div>
</header>
<section class="instruction-section">
<div class="instruction-card">
<h5><i class="fa-solid fa-circle-info"></i> How to Use This Template</h5>
<ul>...</ul>
</div>
</section>
<main class="content-section">
<div class="section-card">
<div class="section-title"><i class="fa-solid fa-chart-pie"></i> 1. Sprint Summary Scorecard</div>
<div class="meta-grid">...</div>
</div>
</main>
</div>
レポートテンプレートの参考資料
| セクション | 説明 |
|---|---|
| qa-sprint-report.md | すべてのセクション、絵文字、入力用プレースホルダーを含む完全なテンプレート |