From 3b0e713c778e05d7213041292ebee74edaf08a1b Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Sun, 12 Jul 2026 14:08:30 +0300 Subject: [PATCH 1/9] [QA SPRINT REPORT] Init new skill qa-sprint-report-by-testomatio + symlink --- .../skills/qa-sprint-report-by-testomatio | 1 + .../qa-sprint-report-by-testomatio/SKILL.md | 205 ++++++ .../QA_Sprint_Progress_Report_Summary.md | 129 ++++ .../references/qa-sprint-report-template.html | 659 ++++++++++++++++++ 4 files changed, 994 insertions(+) create mode 120000 plugins/test-management/skills/qa-sprint-report-by-testomatio create mode 100644 skills/qa-sprint-report-by-testomatio/SKILL.md create mode 100644 skills/qa-sprint-report-by-testomatio/references/QA_Sprint_Progress_Report_Summary.md create mode 100644 skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html diff --git a/plugins/test-management/skills/qa-sprint-report-by-testomatio b/plugins/test-management/skills/qa-sprint-report-by-testomatio new file mode 120000 index 0000000..03c7012 --- /dev/null +++ b/plugins/test-management/skills/qa-sprint-report-by-testomatio @@ -0,0 +1 @@ +../../../skills/qa-sprint-report-by-testomatio \ No newline at end of file diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md new file mode 100644 index 0000000..f74a672 --- /dev/null +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -0,0 +1,205 @@ +--- +name: qa-sprint-report-by-testomatio +description: Generate a QA Sprint Progress Summary Report from Testomat.io TMS data. Use when the user wants to produce a structured end-of-sprint report covering test design coverage, execution results, defect trends, and quality signals. The skill reads data via Testomat.io MCP tools, maps it to the report sections, and outputs a `.md` file. Optionally offer to export as `.html`. +license: MIT +metadata: + author: Testomat.io + version: 1.0.0 +--- + +# QA Sprint Report by Testomat.io + +Generates a **QA Sprint Progress Summary Report** by querying Testomat.io TMS via MCP. The report covers sprint metadata, test design coverage, execution progress by suite, defect tracking, TMS test health analytics, and project readiness — all mapped to the [QA_Sprint_Progress_Report_Summary.md template](./references/QA_Sprint_Progress_Report_Summary.md). + +## When to Use + +- End of sprint — produce a shareable QA report for stakeholders. +- Sprint review — need a structured view of what was tested, passed, failed, blocked. +- Mid-sprint status — capture current execution progress. +- The user mentions "sprint report", "QA summary", "sprint progress", or similar. + +## How to Identify the Sprint + +The user may identify the sprint in one of these ways (in priority order): + +1. **Milestone name or ID** — e.g. "Sprint 42", "Sprint 2024.3" — use `milestones_list(type="Sprint")` to find it. +2. **Run group title** — e.g. "Sprint 42 Run" — use `rungroups_list` / `rungroups_get`. +3. **Direct run ID or run title** — use `runs_get` or `runs_list`. +4. **Plan title or ID** — use `plans_list` / `plans_get`. +5. **No identifier provided** — ask the user to specify the sprint milestone, run group, or run. + +> If the user provides only a sprint name like "Sprint 42", always resolve it to a concrete milestone/rungroup/run first. Do not assume the title directly maps to an ID. + +## Rules + +- **Do not fabricate data.** If MCP does not return a value, use `[None]` or hide the section. Never invent numbers or statuses. +- **Resolve sprint first.** Never assume a sprint name maps directly to a run ID without verification. +- **Hide unavailable sections.** If analytics (Section 8) is not available, omit it entirely rather than leaving placeholder text. +- **One blank line between actions.** In any generated code or CLI snippets. +- **Use TQL for filtering.** Always prefer `tql` filters over client-side filtering when calling `runs_list`, `tests_list`, `testruns_list`. +- **HTML is optional.** Always generate the `.md` first; only offer `.html` after the `.md` is saved. + +--- + +# MCP Tools Mapping + +Each report section maps to specific MCP tools. Use only the tools needed per section. + +### Section 1 — Sprint Summary Scorecard + +| Metric | MCP Tool(s) | Notes | +|--------|-------------|-------| +| 🎫 Total Tickets in Sprint Scope | `runs_list` + count linked tickets | From `runs_create` linked entities or `plans_list` scope | +| 🖊️ New Test Cases Added to TMS | `tests_list` (compare count vs prior sprint) | Store baseline TC count in `Before`; compare at sprint end | +| 📋 Total TCs in Project | `tests_list` → count | `tests_list(per_page=1)` + `total_count` or iterate all | +| ⚙️ Automation Rate | `analytics_stats(kind="automation-rate-by-date")` | Enterprise only; fallback to `tests_list` → count `state=="automated"` | +| 📈 Overall Pass Rate | `analytics_stats(kind="success-rate-by-date")` | Enterprise only; fallback: sum `testruns_list(filter_status="passed")` ÷ total | +| ✅ Tickets Verified / Tested | `runs_list` → linked suite counts | Runs marked finished with results | +| 🏁 Tickets Signed-Off | `runs_list` + filter `status_event="finish"` | Runs that reached "finished" state | +| 🐛 Defects / Bugs Registered | `tests_issues_list` or `testruns_list(filter_message=true)` | Tests with linked issues or error messages | +| 🔁 Tickets Returned to Dev | Manual entry or defect loop count | Not directly queryable; rely on user input | + +### Section 2 — Test Design & Coverage Expansion + +| Field | MCP Tool(s) | Notes | +|-------|-------------|-------| +| Ticket ID | `suites_list` / `runs_list` | Link to project ticket ID via `link` field | +| Suite / Feature Area | `suites_list` → title | Primary grouping | +| Test Case Titles | `tests_list(suite_id="...")` | Filter by suite | +| Total TCs | `tests_list` count per suite | | +| TMS State | `tests_list` → `state` field | `manual` or `automated` | + +### Section 3 — Testing Execution Progress by Suite + +| Field | MCP Tool(s) | Notes | +|-------|-------------|-------| +| Suite / Feature Area | `suites_list` | Primary TMS grouping | +| Run Title | `runs_list` | Filter by `milestone_id` or `rungroup_id` | +| Total TCs | `tests_list(suite_id="...")` or `runs_get` | Tests linked to the run | +| Passed / Failed / Skipped | `testruns_list(run_id="...", filter_status)` | Separate calls per status | +| Execution % | Calculated: (passed + failed + skipped) ÷ total | | +| Suite Release Status | Derived from execution % | ✅ 100% pass = Ready; 🟡 >0% pass = In Progress; 🔴 0% pass or blocked | + +> **Important:** Filter `runs_list` by `milestone % "Sprint N"` or `rungroup_id` to scope only the sprint's runs. Use TQL: `milestone % '{sprint_name}'`. + +### Section 4 — Tickets Moved to Sign-Off + +| Field | MCP Tool(s) | Notes | +|-------|-------------|-------| +| Ticket | `runs_list` with `status_event="finish"` | Fully executed runs | +| Verified date | `runs_get` → `finished_at` | | +| TMS Run link | Construct from `runs_get` result | `baseUrl + /runs/{run_id}` | + +### Section 5 — Quality Feedback Loop (Returned to Dev) + +Not directly queryable via MCP. Use manual user input combined with `testruns_list(filter_status="failed")` to surface failed tests that may indicate returns. + +### Section 6 — Sprint Bug Tracking + +| Field | MCP Tool(s) | Notes | +|-------|-------------|-------| +| Bug ID | `tests_issues_list` or manual | Linked issues on failed tests | +| Severity | Manual or `issues_list` | Not in MCP; use manual classification | +| Linked Ticket | `tests_issues_list` → linked issue | | +| Current Status | Manual | Not queryable via MCP | + +### Section 8 — TMS Test Health Analytics + +> **Requires `@testomatio/mcp-enterprise`** package and `api_analytics` subscription. If unavailable, hide this section. + +| Sub-section | MCP Tool | Parameters | +|-------------|----------|------------| +| 8.1 Test Health Overview | `analytics_tests` | `kind`: `flaky`, `never-executed`, `evergreen`, `skipped`, `defects`, `slow` | +| 8.2 Success Rate Trend | `analytics_stats(kind="success-rate-by-date")` | `from`, `to`, `days` | +| 8.3 Execution Volume Trend | `analytics_stats(kind="testruns-by-date")` | `from`, `to`, `days` | + +Fallback for non-Enterprise: `testruns_list` aggregated over the sprint date range. + +### Section 9 — Sprint Health & Project Readiness Assessment + +| Field | Source | Notes | +|-------|--------|-------| +| Sprint Completion Risk | Calculated from Section 3 execution % | Green ≥80%, Yellow ≥50%, Red <50% | +| Spillover / Scope Creep Risk | Manual + `runs_list` incomplete runs | Runs not finished | +| Environment & CI/CD Stability | Manual | Not directly queryable | + +--- + +# Workflow + +### Step 1: Resolve Sprint Identity + +Ask the user if no sprint identifier is provided. Try to resolve: + +``` +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 +``` + +### Step 2: Gather Sprint Metadata + +Collect for the report header: + +- `milestones_get(milestone_id)` or `rungroups_get(rungroup_id)` for sprint title/dates +- Ask user for QA Lead name, timeline period if not in TMS + +### Step 3: Collect Run Data + +1. `runs_list(tql="milestone == '{id}'")` — all runs for the sprint milestone +2. For each run, call `runs_get` to get status, counts, environments +3. `testruns_list(run_id, filter_status)` — get passed/failed/skipped per run + +### Step 4: Build Report Sections + +Iterate sections 1–9 of the template, populating each with MCP data. Apply rules: + +- If a metric is not available → use `[None]` in the cell +- If an entire section has no data → hide the section (do not show placeholder text) +- Section 8 (Analytics) → check `system_ping` response for Enterprise capability; if not available, hide + +### Step 5: Write Output File + +Write the filled report to: +``` +{user-specified-path}/QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.md +``` + +If no path specified, save to current working directory. + +### Step 6: Offer HTML Export (optional) + +After writing the corresponding sprint info to `.md` file, +ASK the user: + +``` +❓ Would you like to export this report as a `.html` file? +(This format is ready to share with the team members). +``` + +If the user confirms: +1. Read the html template file. +2. Map the `.md` content into the corresponding template sections. +3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the same directory. + +> **Note:** HTML export requires the template file to be present at `./references/qa-sprint-report-template.html`. If the template is missing, notify the user and offer to save the `.md` only. + +## Quick Commands + +| Action | MCP Tool | Key Parameters | +|--------|----------|----------------| +| Find sprint milestone | `milestones_list` | `type="Sprint"`, `status="active"` | +| List runs for sprint | `runs_list` | `tql`: `milestone == '{id}'` | +| Get run details | `runs_get` | `run_id` | +| Get test results | `testruns_list` | `run_id`, `filter_status` | +| Get suite tests | `tests_list` | `suite_id`, `per_page=100` | +| Check analytics availability | `system_ping` | (Enterprise flag in response) | +| Get test health analytics | `analytics_tests` | `kind`, `days`, `from`, `to` | +| Get stats analytics | `analytics_stats` | `kind`, `from`, `to` | + +## Report Template Reference + +| Section | Description | +|---------|-------------| +| [QA_Sprint_Progress_Report_Summary.md](./references/QA_Sprint_Progress_Report_Summary.md) | Full template with all sections, emoji, and fill-in placeholders | +| [qa-sprint-report-template.html](./references/qa-sprint-report-template.html) | HTML template for optional html report export | \ No newline at end of file diff --git a/skills/qa-sprint-report-by-testomatio/references/QA_Sprint_Progress_Report_Summary.md b/skills/qa-sprint-report-by-testomatio/references/QA_Sprint_Progress_Report_Summary.md new file mode 100644 index 0000000..8c69dbe --- /dev/null +++ b/skills/qa-sprint-report-by-testomatio/references/QA_Sprint_Progress_Report_Summary.md @@ -0,0 +1,129 @@ +# QA Sprint Progress Summary Report + +The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle view of all testing activities carried out during a sprint. It captures test design coverage, execution results, defect trends, and quality signals to keep stakeholders informed on product readiness. + +> All sections and metrics in this report are sourced from **Testomat.io TMS** via MCP tools. If a metric or data point is not available in the TMS, the corresponding section is omitted or the value is set to `[None]`. Sections that rely solely on unavailable data are hidden entirely. + +## 📋 General Sprint Meta +* **Project / Stream:** [Project Name / Stream] +* **QA Lead Manager:** [Your Name] +* **Sprint Cycle:** [Sprint Number / Name] +* **Timeline Period:** [DD.MM.YYYY – DD.MM.YYYY] + +--- + +## 📊 1. Sprint Summary Scorecard + +| Metric | Value | Notes & Data Source | +| :--- | :---: | :--- | +| 🎫 **Total Tickets in Sprint Scope** | [N] | Baseline scope + mid-sprint modifications. | +| 🖊️ **New Test Cases Added to TMS** | [N] | Net new TCs authored in Testomat.io during this sprint. | +| 📋 **Total TCs in Project (End of Sprint)** | [N] | `tests_list` count at sprint close. | +| ⚙️ **Automation Rate** | [XX%] | Automated TCs ÷ Total TCs — from `analytics_stats(kind="automation-rate-by-date")`. | +| 📈 **Overall Pass Rate** | [XX%] | From `analytics_stats(kind="success-rate-by-date")` for the sprint window. | +| ✅ **Tickets Verified / Tested** | [N] | Total features subjected to active evaluation. | +| 🏁 **Tickets Signed-Off (QA Done)** | [N] | Formally approved and ready for delivery/release. | +| 🐛 **Defects / Bugs Registered** | [N] | Newly identified defects logged during execution. | + +--- + +## 🛠️ 2. Test Design & Coverage Expansion + +| Ticket ID | Suite / Feature Area | Test Case Title(s) | Total TCs | TMS State | +| :--- | :--- | :--- | :---: | :--- | +| **[PROJ-123]** | Authentication | [TC Title 1]; [TC Title 2]; [TC Title 3] | [N] | [Manual / Automated] | +| **[PROJ-456]** | Data Export | [TC Title 1]; [TC Title 2] | [N] | [Automated] | +| *— No new test cases added —* | | | | | + +> **TMS State** column: pull from `tests_list` → `state` field (`Manual` / `Automated`). + +--- + +## 🎯 3. Testing Execution Progress by Suite + +> Report group is **Suite** (the primary TMS grouping). Each row corresponds to a Testomat.io Suite. Use `testruns_list(run_id="...")` to populate Passed / Failed / Skipped counts per suite. + +| Suite / Feature Area | Run Title | Total TCs | Passed | Failed | Skipped | Blocked | Execution % | Suite Release Status | +| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| [Suite Name — e.g. Billing] | [Run Title] | [N] | `[N]` | `[N]` | `[N]` | `[N]` | `[XX]%` | 🟡 In Progress | +| [Suite Name — e.g. Profile] | [Run Title] | [N] | `[N]` | `[N]` | `[N]` | `[N]` | `[XX]%` | ✅ Ready for Sign-Off | +| [Suite Name — e.g. Analytics] | [Run Title] | [N] | `[N]` | `[N]` | `[N]` | `[N]` | `[XX]%` | 🔴 Blocked | +| **TOTAL** | | **[N]** | **`[N]`** | **`[N]`** | **`[N]`** | **`[N]`** | **`[XX]%`** | **Overall Pass Rate:** `[XX%]` | + +> **Status Key:** +> ✅ **Ready for Sign-Off:** 100% test execution completed with zero critical defects. +> 🟡 **In Progress:** Validations are actively running; no major technical hurdles encountered. +> 🔴 **Blocked:** Discovered critical failure, missing dependency, or severe infrastructure down-time. + +--- + +## ✅ 4. Tickets Moved to Sign-Off (already passed) +* `[PROJ-XXX]` — `[User Story Name]` | **Verified:** `[DD.MM.YYYY]` | **TMS Run:** `[Link to Testomat.io Run]` +* `[PROJ-YYY]` — `[User Story Name]` | **Verified:** `[DD.MM.YYYY]` | **TMS Run:** `[Link to Testomat.io Run]` +* *— No tickets signed off during this period —* + +--- + +## 🔁 5. Quality Feedback Loop (Returned to Dev) +* `[PROJ-881]` — *`[Feature Name]`*: `[AC #2 failed: App crashes when session expires / Linked to BUG-99]` (**Return Count:** `[1st time / 2nd time]`) +* *— No tickets returned to development —* + +--- + +## 🐛 6. Sprint Bug Tracking + +| Bug ID | Title / Summary Description | Severity | Linked Ticket | Current Status | +| :--- | :--- | :---: | :--- | :--- | +| `[BUG-001]` | `[Short descriptive bug title]` | 🔴 Critical | `[PROJ-XXX]` | `[Open / In Fix]` | +| `[BUG-002]` | `[Short descriptive bug title]` | 🟠 Major | `[PROJ-XXX]` | `[Resolved / Retest]` | +| *— No bugs registered this week —* | | | | + +--- + +## 📊 8. TMS Test Health Analytics + +> Data sourced via MCP `analytics_tests` and `analytics_stats` for the **current sprint period** only in case if you have access to this analytics. +(If most of the metrics could not be obtained, this section should be removed from the results.) + +### 8.1 Test Health Overview +| Metric | Value | Notes | +| :--- | :---: | :--- | +| 🔀 **Flaky Tests** | [N] | `analytics_tests(kind="flaky", days=N)` | +| ⏭️ **Never Executed** | [N] | `analytics_tests(kind="never-executed", maturity_days=N)` | +| 🌿 **Evergreen (Stable)** | [N] | `analytics_tests(kind="evergreen", days=N)` | +| ⏭️ **Skipped Tests** | [N] | `analytics_tests(kind="skipped", days=N)` | +| 🐛 **Tests with Defects** | [N] | `analytics_tests(kind="defects", days=N)` | +| 🐌 **Slow Tests (>N ms)** | [N] | `analytics_tests(kind="slow", threshold_ms=N)` | + +### 8.2 Success Rate Trend +> `analytics_stats(kind="success-rate-by-date", from="DD.MM.YYYY", to="DD.MM.YYYY")` + +| Date | Success Rate % | +| :--- | :---: | +| [DD.MM.YYYY] | [XX%] | +| [DD.MM.YYYY] | [XX%] | +| [DD.MM.YYYY] | [XX%] | + +### 8.3 Execution Volume Trend +> `analytics_stats(kind="testruns-by-date", from="DD.MM.YYYY", to="DD.MM.YYYY")` + +| Date | Test Runs Executed | +| :--- | :---: | +| [DD.MM.YYYY] | [N] | +| [DD.MM.YYYY] | [N] | + +--- + +## 📊 9. Sprint Health & Project Readiness Assessment + +| Assessment Area | Risk Level | Details & Impact Narrative | +| :--- | :---: | :--- | +| 🟢 **Sprint Completion Risk** | `[Green / Yellow / Red]` | Narrative based on execution % and sign-off rate. | +| 📦 **Spillover / Scope Creep Risk** | `[None / Low / High]` | Highlight any items vulnerable to rolling over into the next cycle. | +| 🖥️ **Environment & CI/CD Stability** | `[Stable / Degraded]` | Log testing framework bottlenecks, env down times, or pipeline blockers. | + +**Sprint Summary Overview:** +[Write a summary 1-5 sentences overview by current sprint based on the provided info from this report.] + +**Next Sprint Notes:** +[Write a brief 2-3 sentence narrative highlighting core priorities for upcoming days based on the registred issues, test cases comments, ect.] \ No newline at end of file diff --git a/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html new file mode 100644 index 0000000..d5736b1 --- /dev/null +++ b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html @@ -0,0 +1,659 @@ + + + + + + + + + + + + QA Sprint Progress Report + + + + + +
+ + +
+
+

QA Sprint Progress Report

+

[Project Name / Stream]

+
+
+ Sprint: [Sprint Number / Name] +
+
+ + +
+
+
How to Use This Interactive Template
+
    +
  • Provide this HTML framework directly to your automated workspace script or an LLM parser (e.g., Claude Code, Copilot).
  • +
  • Supply your raw metric logs, Jira filters, or Testomat.io run telemetry.
  • +
  • The generator will populate all [Bracketed Placeholders] and clear any empty fallback row indicators.
  • +
+
+
+ + +
+ + +
+
+
+
QA Lead Manager
+
[Your Name]
+
+
+
Sprint Timeline
+
[DD.MM.YYYY – DD.MM.YYYY]
+
+
+
Overall Readiness
+
Pending Data
+
+
+
+ + +
+
1. Sprint Summary Scorecard
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Metric DomainWeek 1 [DD.MM]Week 2 [DD.MM]Total CumulativePrimary Data Source Reference
🎫 Total Tickets in Sprint Scope[N][N][N]Baseline scope + mid-sprint modifications.
🧪 New Test Cases Added to TMS[N][N][N]Test cases authored inside Test Management System.
✅ Tickets Verified / Tested[N][N][N]Total features subjected to active evaluation.
🏁 Tickets Signed-Off (QA Done)[N][N][N]Formally approved and ready for delivery/release.
🔁 Tickets Returned to Dev[N][N][N]Failed verification criteria or tracking defect loops.
🐛 Defects / Bugs Registered[N][N][N]Newly identified defects logged during execution.
💬 Open Clarifications / Blockers[N][N][N]Active ambiguities currently stalling progress.
+
+
+ + +
+
2. Test Design & Coverage Expansion
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ticket ID / Feature NameTest Case Title(s) / Coverage ScopeTotal TCsImplementation Type
[PROJ-123] Authentication FlowTC Title 1; TC Title 2; TC Title 3[N]Manual
[PROJ-456] Data Export EngineTC Title 1; TC Title 2[N]Automated (Playwright)
— No new test cases designed during this cycle —
+
+
+ + +
+
3. Testing Execution Progress by Feature / Epic
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Feature Domain / Epic NameTotal TCsPassedFailedBlockedExecution %Feature Release Status
[Feature Area 1 — e.g. Billing][N][N][N][N][XX]%🟡 In Progress
[Feature Area 2 — e.g. Profile][N][N][N][N][XX]%✅ Ready for Sign-Off
[Feature Area 3 — e.g. Analytics][N][N][N][N][XX]%🔴 Blocked
TOTAL CUMULATIVE[N][N][N][N][XX]%Overall Pass Rate: [XX]%
+
+
+ + +
+
4. Tickets Moved to Sign-Off
+
+ + + + + + + + + + + + + + + + + + + + +
Ticket IDUser Story TitleVerification DateTMS Report / Verification Run Reference Link
[PROJ-XXX][User Story Name][DD.MM.YYYY] View Testomat.io Run
— No tickets reached final sign-off validation —
+
+
+ + +
+
5. Quality Feedback Loop (Returned to Dev)
+
+ + + + + + + + + + + + + + + + + + + + +
Ticket IDFeature DomainPrimary Defect / Reopen Criteria ReasonIteration Loop Count
[PROJ-881][Feature Name][AC #2 failed: App crashes when session expires / Linked to BUG-99][1st / 2nd time]
— No sprint features returned to development cycle —
+
+
+ + +
+
6. Sprint Bug Tracking
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Bug IDDefect Summary DescriptionSeverityLinked StoryCurrent Status
[BUG-001][Short descriptive bug title]🔴 Critical[PROJ-XXX][Open / In Fix]
[BUG-002][Short descriptive bug title]🟠 Major[PROJ-XXX][Resolved / Retest]
— Zero defects identified inside this execution lifecycle —
+
+
+ + +
+
7. Clarifications & Requirement Gaps
+
+ + + + + + + + + + + + + + + + + + + + +
Ticket IDAmbiguity Description / Blocked RequirementAssigned Action OwnerDelivery Core Impact
[PROJ-XXX][E.g., Missing error states logic for payment failure flow][PO Name / Architect]⏳ Blocker
— No open ambiguities stalling execution paths —
+
+
+ + +
+
8. Sprint Health & Project Readiness Assessment
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Assessment Area DomainCalculated Risk ProfileDetailed Impact Narrative Summary
Sprint Completion RiskGreen[Auto-calculated rule framework: e.g., 75% of scope signed off. Release target stable.]
Spillover / Scope Creep RiskYellow[Highlight items highly vulnerable to rolling over into the next cycle.]
Environment & CI/CD StabilityStable[Log execution framework bottlenecks, env down times, or pipeline build blocks.]
+
+
+ + +
+
9. Next Sprint / Next Week Outlook
+
+

Executive Focus Summary: [Write a brief 2–3 sentence narrative highlighting core priorities for upcoming days, such as regression priorities or target iterations.]

+
    +
  • ⏭️ Core Testing Extensions: [Feature Area / Upcoming Ticket IDs]
  • +
  • 🔄 Target Retests: [List tickets expected back from development fixes]
  • +
  • ⏳ Outstanding Dependencies: [Expected builds, test data configurations, or environment permissions needed by DD.MM]
  • +
+
+
+ +
+
+ + + \ No newline at end of file From 6656a58be4488515718d2adad347163b8fa239c8 Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Sun, 12 Jul 2026 14:14:34 +0300 Subject: [PATCH 2/9] [QA SPRINT REPORT] USer iteraction to html saving question --- .../qa-sprint-report-by-testomatio/SKILL.md | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index f74a672..33921fb 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -167,22 +167,34 @@ Write the filled report to: If no path specified, save to current working directory. -### Step 6: Offer HTML Export (optional) +### Step 6: Offer Export -After writing the corresponding sprint info to `.md` file, -ASK the user: +After writing the `.md` file, ask the user if they want to export the report and where to save it: ``` -❓ Would you like to export this report as a `.html` file? -(This format is ready to share with the team members). +❓ The report has been saved to `{path}`. +Would you like to export it as a `.html` file to share with the team? + +1. 📂 Yes, export to project root (default) +2. ✏️ Yes, but let me specify a different location +3. 👍 No, keep the `.md` only ``` -If the user confirms: -1. Read the html template file. +> **Note:** HTML export requires the template file to be present at `./references/qa-sprint-report-template.html`. If the template is missing, notify the user and offer to save the `.md` only. + +**If user picks option 1 (project root):** +1. Read the HTML template from `./references/qa-sprint-report-template.html`. 2. Map the `.md` content into the corresponding template sections. -3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the same directory. +3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the project root. -> **Note:** HTML export requires the template file to be present at `./references/qa-sprint-report-template.html`. If the template is missing, notify the user and offer to save the `.md` only. +**If user picks option 2 (custom location):** +1. Ask for the target directory path. +2. Read the HTML template. +3. Map the `.md` content into the corresponding template sections. +4. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the specified directory. + +**If user picks option 3:** +- Confirm the `.md` path and end the workflow. ## Quick Commands From eff3be1d0ff5b13b955cc620b13396995bcb790c Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Sun, 12 Jul 2026 18:55:27 +0300 Subject: [PATCH 3/9] [QA SPRINT REPORT] Save html to testeiya cache folder by default --- skills/qa-sprint-report-by-testomatio/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index 33921fb..e61eec3 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -175,17 +175,17 @@ After writing the `.md` file, ask the user if they want to export the report and ❓ The report has been saved to `{path}`. Would you like to export it as a `.html` file to share with the team? -1. 📂 Yes, export to project root (default) +1. 📂 Yes, export to cache folder (default) 2. ✏️ Yes, but let me specify a different location 3. 👍 No, keep the `.md` only ``` > **Note:** HTML export requires the template file to be present at `./references/qa-sprint-report-template.html`. If the template is missing, notify the user and offer to save the `.md` only. -**If user picks option 1 (project root):** +**If user picks option 1 (cache folder):** 1. Read the HTML template from `./references/qa-sprint-report-template.html`. 2. Map the `.md` content into the corresponding template sections. -3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the project root. +3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the cache folder `.testeiya/`. **If user picks option 2 (custom location):** 1. Ask for the target directory path. From 96054a00563ba5f93b38d1c21c3cbd924327185c Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Mon, 13 Jul 2026 21:58:58 +0300 Subject: [PATCH 4/9] [QA SPRINT REPORT] HTML description instead of html template --- .../qa-sprint-report-by-testomatio/SKILL.md | 103 ++- .../references/qa-sprint-report-template.html | 659 ------------------ 2 files changed, 90 insertions(+), 672 deletions(-) delete mode 100644 skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index e61eec3..012e6b2 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -180,23 +180,99 @@ Would you like to export it as a `.html` file to share with the team? 3. 👍 No, keep the `.md` only ``` -> **Note:** HTML export requires the template file to be present at `./references/qa-sprint-report-template.html`. If the template is missing, notify the user and offer to save the `.md` only. - **If user picks option 1 (cache folder):** -1. Read the HTML template from `./references/qa-sprint-report-template.html`. -2. Map the `.md` content into the corresponding template sections. -3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the cache folder `.testeiya/`. +1. Generate HTML using the styles defined in the **HTML Template Styling** section above. + - Apply the color palette, typography, status badges, and layout from the styling reference. +2. Map the `.md` content into the corresponding HTML sections (header, metadata, tables per section). +3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the **cache folder `.testeiya/`**. **If user picks option 2 (custom location):** -1. Ask for the target directory path. -2. Read the HTML template. -3. Map the `.md` content into the corresponding template sections. -4. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the specified directory. +1. Generate HTML using the styles defined in the **HTML Template Styling** section above. + - Apply the color palette, typography, status badges, and layout from the styling reference. +2. Map the `.md` content into the corresponding HTML sections (header, metadata, tables per section). +3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the **user-specified directory**. **If user picks option 3:** - Confirm the `.md` path and end the workflow. -## Quick Commands +## HTML Template Styling + +When exporting to HTML, apply the following styles: + +### Color Palette + +| Token | Hex | Usage | +|-------|-----|-------| +| `--primary-color` | `#6366f1` | Headers, badges, links | +| `--primary-hover` | `#4f46e5` | Hover states | +| `--success-color` | `#10b981` | Passed/ready badges | +| `--danger-color` | `#ef4444` | Failed/blocked badges | +| `--warning-color` | `#f59e0b` | In-progress badges | +| `--info-color` | `#3b82f6` | Info badges | +| `--gray-50` to `--gray-900` | `#f9fafb` → `#111827` | Text hierarchy | + +### Typography + +- **Font Family:** Inter (Google Fonts) with fallback: `-apple-system, BlinkMacSystemFont, sans-serif` +- **Font Weights:** 300 (light), 400 (regular), 500 (medium), 600 (semibold), 700 (bold), 800 (extrabold) +- **Monospace:** `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas` — for ticket IDs and code +- **Icons:** Font Awesome 6.4.0 (`fa-solid`) + +### Status Badges + +| Status | Background | Text Color | +|--------|------------|------------| +| `passed`, `ready` | `#d1fae5` | `#065f46` | +| `failed`, `blocked` | `#fee2e2` | `#991b1b` | +| `progress` | `#fef3c7` | `#92400e` | +| `info` | `#dbeafe` | `#1e40af` | + +### Key Elements + +| Element | Description | +|---------|-------------| +| `.main-container` | White glass card (`rgba(255,255,255,0.98)`) with `backdrop-filter: blur(20px)`, max-width 1300px, border-radius 20px | +| `.header` | Gradient background (`linear-gradient(135deg, #6366f1, #4f46e5)`), white text, flex layout | +| `.section-card` | White background, 1px border `--gray-200`, border-radius 12px, box-shadow | +| `.report-table` | Full-width, collapse borders, hover highlight on rows | +| `.meta-grid` | CSS Grid (`repeat(auto-fit, minmax(220px, 1fr))`), gap 20px | +| `.instruction-card` | Info box with left 5px border in `--primary-color`, background `#eef2ff` | +| `.tms-link` | Primary color link with hover underline | + +### HTML Structure + +```html +
+
+
+

QA Sprint Progress Report

+

[Project Name]

+
+
+ Sprint: [Sprint Number] +
+
+ +
+
+
How to Use This Template
+
    ...
+
+
+ +
+
+
1. Sprint Summary Scorecard
+
...
+
+ +
+
+``` + +--- + +# Quick Commands | Action | MCP Tool | Key Parameters | |--------|----------|----------------| @@ -209,9 +285,10 @@ Would you like to export it as a `.html` file to share with the team? | Get test health analytics | `analytics_tests` | `kind`, `days`, `from`, `to` | | Get stats analytics | `analytics_stats` | `kind`, `from`, `to` | -## Report Template Reference +--- + +# Report Template Reference | Section | Description | |---------|-------------| -| [QA_Sprint_Progress_Report_Summary.md](./references/QA_Sprint_Progress_Report_Summary.md) | Full template with all sections, emoji, and fill-in placeholders | -| [qa-sprint-report-template.html](./references/qa-sprint-report-template.html) | HTML template for optional html report export | \ No newline at end of file +| [QA_Sprint_Progress_Report_Summary.md](./references/QA_Sprint_Progress_Report_Summary.md) | Full template with all sections, emoji, and fill-in placeholders | \ No newline at end of file diff --git a/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html deleted file mode 100644 index d5736b1..0000000 --- a/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report-template.html +++ /dev/null @@ -1,659 +0,0 @@ - - - - - - - - - - - - QA Sprint Progress Report - - - - - -
- - -
-
-

QA Sprint Progress Report

-

[Project Name / Stream]

-
-
- Sprint: [Sprint Number / Name] -
-
- - -
-
-
How to Use This Interactive Template
-
    -
  • Provide this HTML framework directly to your automated workspace script or an LLM parser (e.g., Claude Code, Copilot).
  • -
  • Supply your raw metric logs, Jira filters, or Testomat.io run telemetry.
  • -
  • The generator will populate all [Bracketed Placeholders] and clear any empty fallback row indicators.
  • -
-
-
- - -
- - -
-
-
-
QA Lead Manager
-
[Your Name]
-
-
-
Sprint Timeline
-
[DD.MM.YYYY – DD.MM.YYYY]
-
-
-
Overall Readiness
-
Pending Data
-
-
-
- - -
-
1. Sprint Summary Scorecard
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Metric DomainWeek 1 [DD.MM]Week 2 [DD.MM]Total CumulativePrimary Data Source Reference
🎫 Total Tickets in Sprint Scope[N][N][N]Baseline scope + mid-sprint modifications.
🧪 New Test Cases Added to TMS[N][N][N]Test cases authored inside Test Management System.
✅ Tickets Verified / Tested[N][N][N]Total features subjected to active evaluation.
🏁 Tickets Signed-Off (QA Done)[N][N][N]Formally approved and ready for delivery/release.
🔁 Tickets Returned to Dev[N][N][N]Failed verification criteria or tracking defect loops.
🐛 Defects / Bugs Registered[N][N][N]Newly identified defects logged during execution.
💬 Open Clarifications / Blockers[N][N][N]Active ambiguities currently stalling progress.
-
-
- - -
-
2. Test Design & Coverage Expansion
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ticket ID / Feature NameTest Case Title(s) / Coverage ScopeTotal TCsImplementation Type
[PROJ-123] Authentication FlowTC Title 1; TC Title 2; TC Title 3[N]Manual
[PROJ-456] Data Export EngineTC Title 1; TC Title 2[N]Automated (Playwright)
— No new test cases designed during this cycle —
-
-
- - -
-
3. Testing Execution Progress by Feature / Epic
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Feature Domain / Epic NameTotal TCsPassedFailedBlockedExecution %Feature Release Status
[Feature Area 1 — e.g. Billing][N][N][N][N][XX]%🟡 In Progress
[Feature Area 2 — e.g. Profile][N][N][N][N][XX]%✅ Ready for Sign-Off
[Feature Area 3 — e.g. Analytics][N][N][N][N][XX]%🔴 Blocked
TOTAL CUMULATIVE[N][N][N][N][XX]%Overall Pass Rate: [XX]%
-
-
- - -
-
4. Tickets Moved to Sign-Off
-
- - - - - - - - - - - - - - - - - - - - -
Ticket IDUser Story TitleVerification DateTMS Report / Verification Run Reference Link
[PROJ-XXX][User Story Name][DD.MM.YYYY] View Testomat.io Run
— No tickets reached final sign-off validation —
-
-
- - -
-
5. Quality Feedback Loop (Returned to Dev)
-
- - - - - - - - - - - - - - - - - - - - -
Ticket IDFeature DomainPrimary Defect / Reopen Criteria ReasonIteration Loop Count
[PROJ-881][Feature Name][AC #2 failed: App crashes when session expires / Linked to BUG-99][1st / 2nd time]
— No sprint features returned to development cycle —
-
-
- - -
-
6. Sprint Bug Tracking
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bug IDDefect Summary DescriptionSeverityLinked StoryCurrent Status
[BUG-001][Short descriptive bug title]🔴 Critical[PROJ-XXX][Open / In Fix]
[BUG-002][Short descriptive bug title]🟠 Major[PROJ-XXX][Resolved / Retest]
— Zero defects identified inside this execution lifecycle —
-
-
- - -
-
7. Clarifications & Requirement Gaps
-
- - - - - - - - - - - - - - - - - - - - -
Ticket IDAmbiguity Description / Blocked RequirementAssigned Action OwnerDelivery Core Impact
[PROJ-XXX][E.g., Missing error states logic for payment failure flow][PO Name / Architect]⏳ Blocker
— No open ambiguities stalling execution paths —
-
-
- - -
-
8. Sprint Health & Project Readiness Assessment
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
Assessment Area DomainCalculated Risk ProfileDetailed Impact Narrative Summary
Sprint Completion RiskGreen[Auto-calculated rule framework: e.g., 75% of scope signed off. Release target stable.]
Spillover / Scope Creep RiskYellow[Highlight items highly vulnerable to rolling over into the next cycle.]
Environment & CI/CD StabilityStable[Log execution framework bottlenecks, env down times, or pipeline build blocks.]
-
-
- - -
-
9. Next Sprint / Next Week Outlook
-
-

Executive Focus Summary: [Write a brief 2–3 sentence narrative highlighting core priorities for upcoming days, such as regression priorities or target iterations.]

-
    -
  • ⏭️ Core Testing Extensions: [Feature Area / Upcoming Ticket IDs]
  • -
  • 🔄 Target Retests: [List tickets expected back from development fixes]
  • -
  • ⏳ Outstanding Dependencies: [Expected builds, test data configurations, or environment permissions needed by DD.MM]
  • -
-
-
- -
-
- - - \ No newline at end of file From 02df3ad8ce5a114f6efcef52b4e4df6ad28c58ee Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Wed, 15 Jul 2026 15:30:13 +0300 Subject: [PATCH 5/9] [QA SPRINT REPORT] Small fixes before the review - v1 --- .../qa-sprint-report-by-testomatio/SKILL.md | 35 ++++++++-------- ..._Report_Summary.md => qa-sprint-report.md} | 41 +++++++++---------- 2 files changed, 36 insertions(+), 40 deletions(-) rename skills/qa-sprint-report-by-testomatio/references/{QA_Sprint_Progress_Report_Summary.md => qa-sprint-report.md} (77%) diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index 012e6b2..1fc8d76 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -9,7 +9,7 @@ metadata: # QA Sprint Report by Testomat.io -Generates a **QA Sprint Progress Summary Report** by querying Testomat.io TMS via MCP. The report covers sprint metadata, test design coverage, execution progress by suite, defect tracking, TMS test health analytics, and project readiness — all mapped to the [QA_Sprint_Progress_Report_Summary.md template](./references/QA_Sprint_Progress_Report_Summary.md). +Generates a **QA Sprint Progress Summary Report** by querying Testomat.io TMS via MCP. The report covers sprint metadata, test design coverage, execution progress by suite, defect tracking, TMS test health analytics, and project readiness. ## When to Use @@ -49,36 +49,36 @@ Each report section maps to specific MCP tools. Use only the tools needed per se | Metric | MCP Tool(s) | Notes | |--------|-------------|-------| -| 🎫 Total Tickets in Sprint Scope | `runs_list` + count linked tickets | From `runs_create` linked entities or `plans_list` scope | -| 🖊️ New Test Cases Added to TMS | `tests_list` (compare count vs prior sprint) | Store baseline TC count in `Before`; compare at sprint end | -| 📋 Total TCs in Project | `tests_list` → count | `tests_list(per_page=1)` + `total_count` or iterate all | -| ⚙️ Automation Rate | `analytics_stats(kind="automation-rate-by-date")` | Enterprise only; fallback to `tests_list` → count `state=="automated"` | -| 📈 Overall Pass Rate | `analytics_stats(kind="success-rate-by-date")` | Enterprise only; fallback: sum `testruns_list(filter_status="passed")` ÷ total | -| ✅ Tickets Verified / Tested | `runs_list` → linked suite counts | Runs marked finished with results | -| 🏁 Tickets Signed-Off | `runs_list` + filter `status_event="finish"` | Runs that reached "finished" state | -| 🐛 Defects / Bugs Registered | `tests_issues_list` or `testruns_list(filter_message=true)` | Tests with linked issues or error messages | -| 🔁 Tickets Returned to Dev | Manual entry or defect loop count | Not directly queryable; rely on user input | +| 🖊️ **New Test Cases Added to TMS** | `tests_list` (compare count vs prior sprint) | Store baseline TC count in `Before`; compare at sprint end | +| 📋 **Total TCs in Project** | `tests_list` → count | `tests_list(per_page=1)` + `total_count` or iterate all | +| ⚙️ **Automation Rate** | `analytics_stats(kind="automation-rate-by-date")` | Enterprise only; fallback to `tests_list` → count `state=="automated"` | +| 📈 **Overall Pass Rate** | `analytics_stats(kind="success-rate-by-date")` | Enterprise only; fallback: sum `testruns_list(filter_status="passed")` ÷ total | +| 🏁 **Tickets Tested** | `runs_list` → linked suite counts | Runs marked finished with results | +| ✅ **Tickets Completed (All Tests Passed)** | `runs_list` + filter `status_event="finish"` | Runs that reached "finished" state | +| 🐛 **Defects/Bugs Registered** | `tests_issues_list` or `testruns_list(filter_message=true)` or defects from the run `runs_search("tql": "finished and with_defect") | Tests with linked issues or error messages | ### Section 2 — Test Design & Coverage Expansion | Field | MCP Tool(s) | Notes | |-------|-------------|-------| | Ticket ID | `suites_list` / `runs_list` | Link to project ticket ID via `link` field | -| Suite / Feature Area | `suites_list` → title | Primary grouping | +| Ticket Name / Suite / Feature Area | `suites_list` → title | Primary grouping | | Test Case Titles | `tests_list(suite_id="...")` | Filter by suite | | Total TCs | `tests_list` count per suite | | -| TMS State | `tests_list` → `state` field | `manual` or `automated` | +| TMS State | `tests_list` → `state` field | `manual`, `automated`, `mix: automated & manual` | -### Section 3 — Testing Execution Progress by Suite +### Section 3 — Testing Execution Progress by Ticket, Suite + +If a Suite contains nested Suites, report each nested Suite as a separate row. Parent Suites should be used only as organizational containers and should not have aggregated execution metrics. | Field | MCP Tool(s) | Notes | |-------|-------------|-------| -| Suite / Feature Area | `suites_list` | Primary TMS grouping | +| Ticket Name / Suite / Feature Area | `suites_list` | Primary TMS grouping | | Run Title | `runs_list` | Filter by `milestone_id` or `rungroup_id` | | Total TCs | `tests_list(suite_id="...")` or `runs_get` | Tests linked to the run | | Passed / Failed / Skipped | `testruns_list(run_id="...", filter_status)` | Separate calls per status | | Execution % | Calculated: (passed + failed + skipped) ÷ total | | -| Suite Release Status | Derived from execution % | ✅ 100% pass = Ready; 🟡 >0% pass = In Progress; 🔴 0% pass or blocked | +| Suite Release Status | Derived from execution % | ✅ Completed (All Tests Passed) - 100% pass = Ready; 🟡>51% pass = In Progress; 🔴<50% pass or blocked | > **Important:** Filter `runs_list` by `milestone % "Sprint N"` or `rungroup_id` to scope only the sprint's runs. Use TQL: `milestone % '{sprint_name}'`. @@ -99,9 +99,8 @@ Not directly queryable via MCP. Use manual user input combined with `testruns_li | Field | MCP Tool(s) | Notes | |-------|-------------|-------| | Bug ID | `tests_issues_list` or manual | Linked issues on failed tests | -| Severity | Manual or `issues_list` | Not in MCP; use manual classification | +| Priority | `issues_list` or from related test priority | Not in MCP; issue importance | | Linked Ticket | `tests_issues_list` → linked issue | | -| Current Status | Manual | Not queryable via MCP | ### Section 8 — TMS Test Health Analytics @@ -291,4 +290,4 @@ When exporting to HTML, apply the following styles: | Section | Description | |---------|-------------| -| [QA_Sprint_Progress_Report_Summary.md](./references/QA_Sprint_Progress_Report_Summary.md) | Full template with all sections, emoji, and fill-in placeholders | \ No newline at end of file +| [qa-sprint-report.md](./references/qa-sprint-report.md) | Full template with all sections, emoji, and fill-in placeholders | \ No newline at end of file diff --git a/skills/qa-sprint-report-by-testomatio/references/QA_Sprint_Progress_Report_Summary.md b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md similarity index 77% rename from skills/qa-sprint-report-by-testomatio/references/QA_Sprint_Progress_Report_Summary.md rename to skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md index 8c69dbe..f4daa53 100644 --- a/skills/qa-sprint-report-by-testomatio/references/QA_Sprint_Progress_Report_Summary.md +++ b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md @@ -6,7 +6,7 @@ The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle vi ## 📋 General Sprint Meta * **Project / Stream:** [Project Name / Stream] -* **QA Lead Manager:** [Your Name] +* **QA Manager:** [Your Name] * **Sprint Cycle:** [Sprint Number / Name] * **Timeline Period:** [DD.MM.YYYY – DD.MM.YYYY] @@ -16,14 +16,13 @@ The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle vi | Metric | Value | Notes & Data Source | | :--- | :---: | :--- | -| 🎫 **Total Tickets in Sprint Scope** | [N] | Baseline scope + mid-sprint modifications. | | 🖊️ **New Test Cases Added to TMS** | [N] | Net new TCs authored in Testomat.io during this sprint. | | 📋 **Total TCs in Project (End of Sprint)** | [N] | `tests_list` count at sprint close. | | ⚙️ **Automation Rate** | [XX%] | Automated TCs ÷ Total TCs — from `analytics_stats(kind="automation-rate-by-date")`. | | 📈 **Overall Pass Rate** | [XX%] | From `analytics_stats(kind="success-rate-by-date")` for the sprint window. | -| ✅ **Tickets Verified / Tested** | [N] | Total features subjected to active evaluation. | -| 🏁 **Tickets Signed-Off (QA Done)** | [N] | Formally approved and ready for delivery/release. | -| 🐛 **Defects / Bugs Registered** | [N] | Newly identified defects logged during execution. | +| 🏁 **Tickets Tested** | [N] | Total number of tickets which were finished during the sprint. | +| ✅ **Tickets Completed (All Tests Passed)** | [N] | Formally approved and ready for delivery/release -> finished with all passed tests. | +| 🐛 **Defects/Bugs Registered** | [N] | Newly identified defects logged during execution. | --- @@ -31,29 +30,30 @@ The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle vi | Ticket ID | Suite / Feature Area | Test Case Title(s) | Total TCs | TMS State | | :--- | :--- | :--- | :---: | :--- | -| **[PROJ-123]** | Authentication | [TC Title 1]; [TC Title 2]; [TC Title 3] | [N] | [Manual / Automated] | -| **[PROJ-456]** | Data Export | [TC Title 1]; [TC Title 2] | [N] | [Automated] | +| **[PROJ-123]** | Authentication | [TC Title 1]; [TC Title 2] | [N] | [Manual / Automated] | +| **[PROJ-456]** | Data Export | [TC Title 1] | [N] | [Automated] | +| **[PROJ-789]** | Data Export | [TC Title 1]; [TC Title 2] | [N] | [Mix: Automated & Manual] | | *— No new test cases added —* | | | | | -> **TMS State** column: pull from `tests_list` → `state` field (`Manual` / `Automated`). +> **TMS State** column: pull from `tests_list` → `state` field (`Manual` / `Automated` / `Mix: Automated & Manual`). --- -## 🎯 3. Testing Execution Progress by Suite +## 🎯 3. Testing Execution Progress by Ticket, Suite > Report group is **Suite** (the primary TMS grouping). Each row corresponds to a Testomat.io Suite. Use `testruns_list(run_id="...")` to populate Passed / Failed / Skipped counts per suite. -| Suite / Feature Area | Run Title | Total TCs | Passed | Failed | Skipped | Blocked | Execution % | Suite Release Status | +| Ticket Name / Suite / Feature Area | Run Title | Total TCs | Passed | Failed | Skipped | Blocked | Execution % | Suite Release Status | | :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :--- | | [Suite Name — e.g. Billing] | [Run Title] | [N] | `[N]` | `[N]` | `[N]` | `[N]` | `[XX]%` | 🟡 In Progress | -| [Suite Name — e.g. Profile] | [Run Title] | [N] | `[N]` | `[N]` | `[N]` | `[N]` | `[XX]%` | ✅ Ready for Sign-Off | +| [Suite Name — e.g. Profile] | [Run Title] | [N] | `[N]` | `[N]` | `[N]` | `[N]` | `[XX]%` | ✅ Completed (All Tests Passed) | | [Suite Name — e.g. Analytics] | [Run Title] | [N] | `[N]` | `[N]` | `[N]` | `[N]` | `[XX]%` | 🔴 Blocked | | **TOTAL** | | **[N]** | **`[N]`** | **`[N]`** | **`[N]`** | **`[N]`** | **`[XX]%`** | **Overall Pass Rate:** `[XX%]` | > **Status Key:** -> ✅ **Ready for Sign-Off:** 100% test execution completed with zero critical defects. -> 🟡 **In Progress:** Validations are actively running; no major technical hurdles encountered. -> 🔴 **Blocked:** Discovered critical failure, missing dependency, or severe infrastructure down-time. +> ✅ **Completed (All Tests Passed):** 100% test execution completed with zero critical defects. +> 🟡 **In Progress:** Validations are actively running or includes in-progress cases; no major technical hurdles encountered (🟡 >51% pass = In Progress). +> 🔴 **Blocked:** Discovered failure, issues (🔴<50% pass or blocked). --- @@ -72,11 +72,11 @@ The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle vi ## 🐛 6. Sprint Bug Tracking -| Bug ID | Title / Summary Description | Severity | Linked Ticket | Current Status | +| Bug ID | Title / Summary Description | Priority | Linked Ticket | | :--- | :--- | :---: | :--- | :--- | -| `[BUG-001]` | `[Short descriptive bug title]` | 🔴 Critical | `[PROJ-XXX]` | `[Open / In Fix]` | -| `[BUG-002]` | `[Short descriptive bug title]` | 🟠 Major | `[PROJ-XXX]` | `[Resolved / Retest]` | -| *— No bugs registered this week —* | | | | +| `[BUG-001]` | `[Short descriptive bug title]` | 🔴 Critical | `[PROJ-XXX]` | +| `[BUG-002]` | `[Short descriptive bug title]` | 🟠 Major | `[PROJ-XXX]` | +| *— No bugs registered this week —* | | | --- @@ -123,7 +123,4 @@ The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle vi | 🖥️ **Environment & CI/CD Stability** | `[Stable / Degraded]` | Log testing framework bottlenecks, env down times, or pipeline blockers. | **Sprint Summary Overview:** -[Write a summary 1-5 sentences overview by current sprint based on the provided info from this report.] - -**Next Sprint Notes:** -[Write a brief 2-3 sentence narrative highlighting core priorities for upcoming days based on the registred issues, test cases comments, ect.] \ No newline at end of file +[Write a summary 1-5 sentences overview by current sprint based on the provided info from this report.] \ No newline at end of file From fa73dad07318524f2e020e05ae6e10695f856ca8 Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Wed, 15 Jul 2026 15:43:40 +0300 Subject: [PATCH 6/9] [QA SPRINT REPORT] Fixed PR review notes + remove duplicates sections from the skill based on the references example --- .../qa-sprint-report-by-testomatio/SKILL.md | 103 +++--------------- .../references/qa-sprint-report.md | 2 +- 2 files changed, 14 insertions(+), 91 deletions(-) diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index 1fc8d76..2faf448 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -43,84 +43,22 @@ The user may identify the sprint in one of these ways (in priority order): # MCP Tools Mapping -Each report section maps to specific MCP tools. Use only the tools needed per section. +Each report section maps to specific MCP tools. See the full section structure and metrics in the template: -### Section 1 — Sprint Summary Scorecard +- [qa-sprint-report.md](./references/qa-sprint-report.md) — section layout with fill-in placeholders -| Metric | MCP Tool(s) | Notes | -|--------|-------------|-------| -| 🖊️ **New Test Cases Added to TMS** | `tests_list` (compare count vs prior sprint) | Store baseline TC count in `Before`; compare at sprint end | -| 📋 **Total TCs in Project** | `tests_list` → count | `tests_list(per_page=1)` + `total_count` or iterate all | -| ⚙️ **Automation Rate** | `analytics_stats(kind="automation-rate-by-date")` | Enterprise only; fallback to `tests_list` → count `state=="automated"` | -| 📈 **Overall Pass Rate** | `analytics_stats(kind="success-rate-by-date")` | Enterprise only; fallback: sum `testruns_list(filter_status="passed")` ÷ total | -| 🏁 **Tickets Tested** | `runs_list` → linked suite counts | Runs marked finished with results | -| ✅ **Tickets Completed (All Tests Passed)** | `runs_list` + filter `status_event="finish"` | Runs that reached "finished" state | -| 🐛 **Defects/Bugs Registered** | `tests_issues_list` or `testruns_list(filter_message=true)` or defects from the run `runs_search("tql": "finished and with_defect") | Tests with linked issues or error messages | +### Quick Commands -### Section 2 — Test Design & Coverage Expansion - -| Field | MCP Tool(s) | Notes | -|-------|-------------|-------| -| Ticket ID | `suites_list` / `runs_list` | Link to project ticket ID via `link` field | -| Ticket Name / Suite / Feature Area | `suites_list` → title | Primary grouping | -| Test Case Titles | `tests_list(suite_id="...")` | Filter by suite | -| Total TCs | `tests_list` count per suite | | -| TMS State | `tests_list` → `state` field | `manual`, `automated`, `mix: automated & manual` | - -### Section 3 — Testing Execution Progress by Ticket, Suite - -If a Suite contains nested Suites, report each nested Suite as a separate row. Parent Suites should be used only as organizational containers and should not have aggregated execution metrics. - -| Field | MCP Tool(s) | Notes | -|-------|-------------|-------| -| Ticket Name / Suite / Feature Area | `suites_list` | Primary TMS grouping | -| Run Title | `runs_list` | Filter by `milestone_id` or `rungroup_id` | -| Total TCs | `tests_list(suite_id="...")` or `runs_get` | Tests linked to the run | -| Passed / Failed / Skipped | `testruns_list(run_id="...", filter_status)` | Separate calls per status | -| Execution % | Calculated: (passed + failed + skipped) ÷ total | | -| Suite Release Status | Derived from execution % | ✅ Completed (All Tests Passed) - 100% pass = Ready; 🟡>51% pass = In Progress; 🔴<50% pass or blocked | - -> **Important:** Filter `runs_list` by `milestone % "Sprint N"` or `rungroup_id` to scope only the sprint's runs. Use TQL: `milestone % '{sprint_name}'`. - -### Section 4 — Tickets Moved to Sign-Off - -| Field | MCP Tool(s) | Notes | -|-------|-------------|-------| -| Ticket | `runs_list` with `status_event="finish"` | Fully executed runs | -| Verified date | `runs_get` → `finished_at` | | -| TMS Run link | Construct from `runs_get` result | `baseUrl + /runs/{run_id}` | - -### Section 5 — Quality Feedback Loop (Returned to Dev) - -Not directly queryable via MCP. Use manual user input combined with `testruns_list(filter_status="failed")` to surface failed tests that may indicate returns. - -### Section 6 — Sprint Bug Tracking - -| Field | MCP Tool(s) | Notes | -|-------|-------------|-------| -| Bug ID | `tests_issues_list` or manual | Linked issues on failed tests | -| Priority | `issues_list` or from related test priority | Not in MCP; issue importance | -| Linked Ticket | `tests_issues_list` → linked issue | | - -### Section 8 — TMS Test Health Analytics - -> **Requires `@testomatio/mcp-enterprise`** package and `api_analytics` subscription. If unavailable, hide this section. - -| Sub-section | MCP Tool | Parameters | -|-------------|----------|------------| -| 8.1 Test Health Overview | `analytics_tests` | `kind`: `flaky`, `never-executed`, `evergreen`, `skipped`, `defects`, `slow` | -| 8.2 Success Rate Trend | `analytics_stats(kind="success-rate-by-date")` | `from`, `to`, `days` | -| 8.3 Execution Volume Trend | `analytics_stats(kind="testruns-by-date")` | `from`, `to`, `days` | - -Fallback for non-Enterprise: `testruns_list` aggregated over the sprint date range. - -### Section 9 — Sprint Health & Project Readiness Assessment - -| Field | Source | Notes | -|-------|--------|-------| -| Sprint Completion Risk | Calculated from Section 3 execution % | Green ≥80%, Yellow ≥50%, Red <50% | -| Spillover / Scope Creep Risk | Manual + `runs_list` incomplete runs | Runs not finished | -| Environment & CI/CD Stability | Manual | Not directly queryable | +| Action | MCP Tool | Key Parameters | +|--------|----------|----------------| +| Find sprint milestone | `milestones_list` | `type="Sprint"`, `status="active"` | +| List runs for sprint | `runs_list` | `tql`: `milestone == '{id}'` | +| Get run details | `runs_get` | `run_id` | +| Get test results | `testruns_list` | `run_id`, `filter_status` | +| Get suite tests | `tests_list` | `suite_id`, `per_page=100` | +| Check analytics availability | `system_ping` | (Enterprise flag in response) | +| Get test health analytics | `analytics_tests` | `kind`, `days`, `from`, `to` | +| Get stats analytics | `analytics_stats` | `kind`, `from`, `to` | --- @@ -271,21 +209,6 @@ When exporting to HTML, apply the following styles: --- -# Quick Commands - -| Action | MCP Tool | Key Parameters | -|--------|----------|----------------| -| Find sprint milestone | `milestones_list` | `type="Sprint"`, `status="active"` | -| List runs for sprint | `runs_list` | `tql`: `milestone == '{id}'` | -| Get run details | `runs_get` | `run_id` | -| Get test results | `testruns_list` | `run_id`, `filter_status` | -| Get suite tests | `tests_list` | `suite_id`, `per_page=100` | -| Check analytics availability | `system_ping` | (Enterprise flag in response) | -| Get test health analytics | `analytics_tests` | `kind`, `days`, `from`, `to` | -| Get stats analytics | `analytics_stats` | `kind`, `from`, `to` | - ---- - # Report Template Reference | Section | Description | diff --git a/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md index f4daa53..4e7765f 100644 --- a/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +++ b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md @@ -1,4 +1,4 @@ -# QA Sprint Progress Summary Report +# QA Sprint Progress Summary Report Example The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle view of all testing activities carried out during a sprint. It captures test design coverage, execution results, defect trends, and quality signals to keep stakeholders informed on product readiness. From 99b86df5481131885cd07e60b8199389418b050e Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Wed, 15 Jul 2026 15:56:33 +0300 Subject: [PATCH 7/9] [QA SPRINT REPORT] Added Time Range instruction to skill --- .../qa-sprint-report-by-testomatio/SKILL.md | 20 ++++++++++++++++--- .../references/qa-sprint-report.md | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index 2faf448..9d58cb4 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -74,12 +74,26 @@ Ask the user if no sprint identifier is provided. Try to resolve: 3. runs_list(tql="title % 'Sprint N'") — find runs by title ``` -### Step 2: Gather Sprint Metadata +### Step 2: Gather Sprint Metadata & Time Range Collect for the report header: -- `milestones_get(milestone_id)` or `rungroups_get(rungroup_id)` for sprint title/dates -- Ask user for QA Lead name, timeline period if not in TMS +- `milestones_get(milestone_id)` or `rungroups_get(rungroup_id)` for sprint title/dates. +- Ask user for QA Lead name if not in TMS. + +**Critical: Extract Sprint Time Range** + +Resolve the sprint time range in this priority order: + +1. **User-provided** — If the user specified a time range in their original prompt, use it. +2. **Milestone/Rungroup dates** — Extract `start_date` / `due_date` from `milestones_get` or `rungroups_get`. +3. **Run timestamps** — If milestone/rungroup has no dates, derive from earliest `created_at` and latest `finished_at` across the sprint's runs (`runs_get`). +4. **Manual input** — If no time range can be determined from TMS, ask the user to specify the sprint period manually. + +The time range is required for: +- `analytics_tests(kind="...", from="YYYY-MM-DD", to="YYYY-MM-DD")` +- `analytics_stats(kind="...", from="YYYY-MM-DD", to="YYYY-MM-DD")` +- Filtering runs by sprint period ### Step 3: Collect Run Data diff --git a/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md index 4e7765f..9b90383 100644 --- a/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md +++ b/skills/qa-sprint-report-by-testomatio/references/qa-sprint-report.md @@ -22,7 +22,7 @@ The **QA Sprint Progress Summary Report** provides a structured, end-of-cycle vi | 📈 **Overall Pass Rate** | [XX%] | From `analytics_stats(kind="success-rate-by-date")` for the sprint window. | | 🏁 **Tickets Tested** | [N] | Total number of tickets which were finished during the sprint. | | ✅ **Tickets Completed (All Tests Passed)** | [N] | Formally approved and ready for delivery/release -> finished with all passed tests. | -| 🐛 **Defects/Bugs Registered** | [N] | Newly identified defects logged during execution. | +| 🐛 **Defects/Bugs Identified** | [N] | Newly identified defects during execution. | --- From 687550cbe9dddcef1ffa6113368f92210b8f9d04 Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Thu, 16 Jul 2026 10:48:42 +0300 Subject: [PATCH 8/9] [QA SPRINT REPORT] Remove start skill description as we have skill description --- skills/qa-sprint-report-by-testomatio/SKILL.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index 9d58cb4..4ccbb1a 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -9,8 +9,6 @@ metadata: # QA Sprint Report by Testomat.io -Generates a **QA Sprint Progress Summary Report** by querying Testomat.io TMS via MCP. The report covers sprint metadata, test design coverage, execution progress by suite, defect tracking, TMS test health analytics, and project readiness. - ## When to Use - End of sprint — produce a shareable QA report for stakeholders. From 8fdcd171a4063edaf3722310a5a699a29c5c7424 Mon Sep 17 00:00:00 2001 From: Vitaliy Mykhailiuk AQA Date: Sun, 19 Jul 2026 13:27:15 +0300 Subject: [PATCH 9/9] [QA SPRINT REPORT] HTML report saving by default (md - optional) --- .../qa-sprint-report-by-testomatio/SKILL.md | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/skills/qa-sprint-report-by-testomatio/SKILL.md b/skills/qa-sprint-report-by-testomatio/SKILL.md index 4ccbb1a..40646c6 100644 --- a/skills/qa-sprint-report-by-testomatio/SKILL.md +++ b/skills/qa-sprint-report-by-testomatio/SKILL.md @@ -1,6 +1,6 @@ --- name: qa-sprint-report-by-testomatio -description: Generate a QA Sprint Progress Summary Report from Testomat.io TMS data. Use when the user wants to produce a structured end-of-sprint report covering test design coverage, execution results, defect trends, and quality signals. The skill reads data via Testomat.io MCP tools, maps it to the report sections, and outputs a `.md` file. Optionally offer to export as `.html`. +description: Generate a QA Sprint Progress Summary Report from Testomat.io TMS data. Use when the user wants to produce a structured end-of-sprint report covering test design coverage, execution results, defect trends, and quality signals. The skill reads data via Testomat.io MCP tools, maps it to the report sections, and outputs an `.html` file by default (or `.md` if explicitly requested). license: MIT metadata: author: Testomat.io @@ -35,7 +35,7 @@ The user may identify the sprint in one of these ways (in priority order): - **Hide unavailable sections.** If analytics (Section 8) is not available, omit it entirely rather than leaving placeholder text. - **One blank line between actions.** In any generated code or CLI snippets. - **Use TQL for filtering.** Always prefer `tql` filters over client-side filtering when calling `runs_list`, `tests_list`, `testruns_list`. -- **HTML is optional.** Always generate the `.md` first; only offer `.html` after the `.md` is saved. +- **HTML is the default output.** Generate `.html` first; only offer `.md` if the user explicitly asks for it or their initial prompt includes a request to save as `.md`. --- @@ -111,38 +111,30 @@ Iterate sections 1–9 of the template, populating each with MCP data. Apply rul Write the filled report to: ``` -{user-specified-path}/QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.md +{user-specified-path}/QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html ``` If no path specified, save to current working directory. -### Step 6: Offer Export +### Step 6: Offer Markdown Export -After writing the `.md` file, ask the user if they want to export the report and where to save it: +After writing the `.html` file, ask the user if they also want to export the report as a `.md` file: ``` ❓ The report has been saved to `{path}`. -Would you like to export it as a `.html` file to share with the team? +Would you like to also export it as a `.md` file? -1. 📂 Yes, export to cache folder (default) -2. ✏️ Yes, but let me specify a different location -3. 👍 No, keep the `.md` only +1. ✏️ Yes, save as `.md` in the same location +2. 👍 No, keep the `.html` only ``` -**If user picks option 1 (cache folder):** -1. Generate HTML using the styles defined in the **HTML Template Styling** section above. - - Apply the color palette, typography, status badges, and layout from the styling reference. -2. Map the `.md` content into the corresponding HTML sections (header, metadata, tables per section). -3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the **cache folder `.testeiya/`**. +**If user picks option 1:** +1. Convert the HTML content to Markdown format. +1. Generate ".md" markdown format report using template from the references - [qa-sprint-report.md](./references/qa-sprint-report.md). +2. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.md` in the **same directory** as the HTML file. -**If user picks option 2 (custom location):** -1. Generate HTML using the styles defined in the **HTML Template Styling** section above. - - Apply the color palette, typography, status badges, and layout from the styling reference. -2. Map the `.md` content into the corresponding HTML sections (header, metadata, tables per section). -3. Save as `QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html` in the **user-specified directory**. - -**If user picks option 3:** -- Confirm the `.md` path and end the workflow. +**If user picks option 2:** +- Confirm the `.html` path and end the workflow. ## HTML Template Styling