$npx -y skills add krzysztofsurdy/code-virtuoso --skill report-writerGenerate a polished standalone HTML report summarizing changes, findings, debug investigations, or architectural decisions. Opens automatically in the browser. Use after completing work on a ticket, investigation, or debug session.
| 1 | # Report Generator |
| 2 | |
| 3 | Generate a professional, standalone HTML report summarizing the work you just completed - bug fixes, features, refactoring, investigations, or debug sessions. The report opens automatically in the default browser. |
| 4 | |
| 5 | ## When to Use |
| 6 | |
| 7 | - After completing work on a ticket (use with the `ticket-delivery` skill) |
| 8 | - After a debug/investigation session |
| 9 | - To document architectural decisions |
| 10 | - To summarize a refactoring effort |
| 11 | - Whenever you want a polished record of what was done and why |
| 12 | |
| 13 | ## Quick Start |
| 14 | |
| 15 | ``` |
| 16 | /report-writer PROJ-1234 |
| 17 | /report-writer auth-migration-investigation |
| 18 | /report-writer # auto-names from branch |
| 19 | ``` |
| 20 | |
| 21 | ## Report Types |
| 22 | |
| 23 | ### Bug Fix Report |
| 24 | |
| 25 | Sections to include: |
| 26 | 1. **Problem Statement** - What was broken, who was affected, symptoms |
| 27 | 2. **Root Cause Analysis** - Why it happened, the chain of events |
| 28 | 3. **Investigation Timeline** - Steps taken to diagnose |
| 29 | 4. **Solution** - What was changed and why this approach |
| 30 | 5. **Files Changed** - List of modified files with brief descriptions |
| 31 | 6. **Testing** - How the fix was verified |
| 32 | 7. **Impact Assessment** - Risk level, rollback plan, monitoring |
| 33 | |
| 34 | ### Feature Report |
| 35 | |
| 36 | Sections to include: |
| 37 | 1. **Overview** - What the feature does, business context |
| 38 | 2. **Architecture** - How it fits into the system, design decisions |
| 39 | 3. **Implementation Details** - Key components, patterns used |
| 40 | 4. **Files Changed** - New and modified files |
| 41 | 5. **Configuration** - Any new config, env vars, feature flags |
| 42 | 6. **Testing** - Test coverage, edge cases considered |
| 43 | 7. **Deployment Notes** - Migration steps, dependencies, rollout plan |
| 44 | |
| 45 | ### Refactoring Report |
| 46 | |
| 47 | Sections to include: |
| 48 | 1. **Motivation** - Why the refactoring was needed |
| 49 | 2. **Scope** - What was refactored, what was left untouched |
| 50 | 3. **Approach** - Strategy used (e.g., strangler fig, parallel implementation) |
| 51 | 4. **Before/After** - Key structural comparisons |
| 52 | 5. **Files Changed** - Renamed, moved, deleted, created |
| 53 | 6. **Risk Assessment** - What could break, how it was mitigated |
| 54 | 7. **Follow-Up** - Remaining tech debt, future improvements |
| 55 | |
| 56 | ### Investigation / Debug Report |
| 57 | |
| 58 | Sections to include: |
| 59 | 1. **Objective** - What was being investigated |
| 60 | 2. **Hypothesis** - Initial theories |
| 61 | 3. **Investigation Timeline** - Chronological steps and findings |
| 62 | 4. **Evidence** - Logs, metrics, code snippets |
| 63 | 5. **Conclusions** - What was found |
| 64 | 6. **Recommendations** - Suggested actions |
| 65 | 7. **Open Questions** - Unresolved items |
| 66 | |
| 67 | ### Data Explorer / Interactive Dashboard Report |
| 68 | |
| 69 | For when the report is *data*, not a narrative - e.g. a CSV export, a compliance audit, an error-frequency dump. Output is a single standalone HTML file that lets the reader filter, slice, chart, and export the dataset themselves. Use this instead of a narrative report when the reader is going to do `awk` / `grep` / pivot-table work. |
| 70 | |
| 71 | #### Default path |
| 72 | |
| 73 | For most cases use the generic files in this skill directly - you do NOT need to write new HTML or JS: |
| 74 | |
| 75 | - **[data-explorer-template.html](references/data-explorer-template.html)** - domain-agnostic template with `{{TOKEN}}` placeholders (filter builder, Chart.js charts, dynamic stat cards, sortable records table, CSV export - all dark-themed). |
| 76 | - **[data-explorer-generator.py](references/data-explorer-generator.py)** - ~60-line script that fills the template: |
| 77 | |
| 78 | ```bash |
| 79 | python references/data-explorer-generator.py --csv data.csv --out report.html --config report_config.json |
| 80 | ``` |
| 81 | |
| 82 | The config JSON declares title, requirements HTML, default filters, charts, stat cards, search fields, multi-valued columns, and a fixed value-to-color map. |
| 83 | |
| 84 | If the dataset has quirks (synthetic derived fields, custom reason categorization, bespoke charts), copy `data-explorer-template.html` and inline-edit the JS. |
| 85 | |
| 86 | #### Page layout (top to bottom) |
| 87 | |
| 88 | 1. **Header** - title, source filename, generation timestamp, total record count. |
| 89 | 2. **What this report measures** - three collapsible `<details>` blocks: (a) every check the dataset encodes, (b) requirements we deliberately cannot measure and why, (c) checks the upstream system runs but does not persist. The reader has to know what is and is not in the data before slicing it. This is the single biggest difference from narrative reports. |
| 90 | 3. **Filters** (see Filter Builder below). Pre-load at least one sensible default (e.g. `teacher_type is one of [b2c]`); Reset returns to the default, not to empty. |
| 91 | 4. **Records table** - placed directly under the filters so the reader sees their filter changes reflected immediately. ALL columns from the CSV (horizontal scroll; do not pre-pick). Includes the "Export filtered CSV" button so the reader can grab the filt |