Chart Revive
Rebuild a static chart as a real PowerPoint chart. Keep every recovered value reviewable; never present pixel estimates as source truth.
Workflow
- Confirm the input contains a supported 2D chart: column, stacked column, horizontal bar, line, pie, or doughnut.
- Reject unsupported charts rather than forcing a conversion. This version does not support negative values, combo, dual-axis, scatter, bubble, radar, waterfall, 3D, pictorial, or map charts.
- Create a task-local output directory. Do not modify the source image, PDF, slide deck, or an existing PowerPoint file.
- Read references/extraction-playbook.md before extracting data from pixels.
- Read references/manifest-schema.md, then write
chart-manifest.jsonbeside a PNG, JPEG, or WebP copy of the source chart. - Validate the manifest before building:
python <skill-dir>/scripts/chart_revive_cli.py validate <workdir>/chart-manifest.json
- Build the editable chart and audit artifacts:
python <skill-dir>/scripts/chart_revive_cli.py build <workdir>/chart-manifest.json --output <workdir>/result --hero
- Read references/qa-checklist.md. Inspect
preview.png,report.html,summary.json, and the native.pptxstructure. If a slide renderer is available, render the PowerPoint and compare it with the source. - Correct the manifest, not the generated files. Rebuild after each correction. Stop after three iterations unless the user explicitly requests more.
- Deliver
revived-chart.pptx,revived-chart.csv,report.html,preview.png,summary.json, and the manifest. State which values still need verification.
Confidence Rules
Assign confidence per data point:
1.00: supplied by the user or printed as an unambiguous data label.0.90-0.99: directly readable from a clear labeled axis or table.0.70-0.89: interpolated between clear ticks.<0.70: rough visual estimate, occluded mark, or ambiguous scale. Flag it for manual verification.
Use source.method honestly:
provided: all values came from user-provided data.axis-read: values were read from labels or calibrated axes.visual-estimate: values were estimated from pixels.mixed: more than one method was used.
Do not raise confidence merely because the reconstructed preview looks similar.
Runtime
The deterministic builder requires Python 3.10+, Pillow, and python-pptx. Check imports before running. If dependencies are missing, explain what is missing and obtain permission before installing from scripts/requirements.txt.
The CLI does not call an OCR service, image API, or external server. Image understanding is performed by the active multimodal agent; the CLI validates the manifest and creates files locally.
Boundaries
- Do not claim automatic or pixel-perfect numeric recovery.
- Do not invent hidden categories, truncated labels, units, baselines, or series.
- Do not use the result as authoritative evidence until low-confidence values are checked.
- Do not reproduce a chart when the user lacks permission to use the source.
- Do not add macros, external workbook links, remote fonts, CDN assets, or network calls.
- Prefer an honest partial result over a confident fabrication.