magic-report-generation
Assemble data analysis findings into structured Markdown reports with mandatory sections (Summary, Data Provenance, Methodology, Key Findings, Caveats, Next Steps). Use when creating the final deliverable report after analysis is complete, generating an executive summary, converting findings JSON into a formatted document, or producing ckpt_07_report.md. Supports standard, executive, and technical templates.
When It Activates
Use this skill when assembling findings into a structured report. Trigger phrases: report, summary report, generate report, write up findings, executive summary, document results, final deliverable.
- Need to assemble analysis results into a structured report
- Need to format DataFrames as readable tables
- After magic-statistical-analysis and magic-data-visualization are complete
When NOT to Use: Use magic-statistical-analysis for computing results; use magic-data-visualization for creating charts.
Quick Facts
| Property | Value |
|---|---|
| Version | 2.0.0 |
| Complexity | low |
| Phase | 1 |
| Scripts | 3 |
Tags
data-science reporting markdown documentation
Scripts
Scriptable Tools (call directly or read + adapt)
| Script | Standard CLI Usage | When to Customize |
|---|---|---|
format_table.py | python3 format_table.py stats.csv table.md | --format html|latex for non-Markdown; --max_rows 50, --max_cols 15 to adjust truncation |
validate_report.py | python3 validate_report.py report.md validation.json --template standard | --template MUST match generation template (technical is default and may mismatch) |
Reference Implementations (read patterns, write custom code)
| Script | Demonstrates | Key Pattern |
|---|---|---|
generate_report.py | Jinja2 template rendering for structured findings | Requires findings JSON with specific schema (summary, key_findings, data_source, caveats); agents must read source to construct valid input |
New in v2.0.0
validate_report.py — Mandatory Section Checking
validate_report.py checks generated reports for required sections and non-empty content. Every standard report must contain: Summary, Data Provenance, Methodology, Key Findings, Caveats, and Next Steps.
# Validate a report against the standard template
python3 validate_report.py report.md validation.json --template standard
# Validate against executive template (condensed but caveats required)
python3 validate_report.py report.md validation.json --template executiveIf validation fails, the JSON output includes a sections_missing array listing which mandatory sections are absent.
Mandatory Report Sections
Every report must include these 6 sections regardless of template:
| Section | Purpose |
|---|---|
| Summary | Lead with the key finding — what should the reader remember? |
| Data Provenance | Source file, row count, columns — what data backs the claims? |
| Methodology | How was the analysis done? (one line for executive, full detail for technical) |
| Key Findings | Ordered by business impact, with evidence and uncertainty language |
| Caveats | At least one — stakeholders treat caveat-free reports as overconfident |
| Next Steps | What decisions or actions follow from the findings? |
Dependencies
pandas jinja2 tabulate
Last updated on
magic-data-visualization
Select appropriate chart types and generate publication-quality visualizations (PNG, SVG, interactive HTML). Use when creating charts, plotting distributions, comparing groups visually, visualizing correlations, or supporting findings with visuals. Covers bar, line, scatter, histogram, box, heatmap, and small multiples. Use after profiling or statistical analysis to communicate results.
magic-data-lifecycle
Routing and orchestration knowledge for data processing tasks. Provides pipeline ordering (load → profile → clean → transform → validate → deliver), skill routing table (which magic-data-* skill handles which operation), quality gating guidance, and checkpoint strategy. Read this skill to understand how data processing phases connect and which skill to invoke for each step. Use when: the task involves multiple data operations, you need to decide which skill handles a specific operation, or the user's request spans multiple processing steps. Trigger keywords: process data, data pipeline, which skill, what order, how to approach this data.