agentsclimarketplace

Chart revive

Skill yoursmilestar-ctrl/chart-revive/skills/chart-revive

Turn chart screenshots, chart images, and chart regions from PDFs or slides into native editable PowerPoint charts with embedded data, CSV export, confidence labels, and an offline audit report. Use when a user wants to recreate, recover, reverse-engineer, restyle, translate, or update a static bar, column, stacked-column, line, pie, or doughnut chart instead of keeping it as a flat image.From its SKILL.md

Install
npx -y skills add yoursmilestar-ctrl/chart-revive --skill chart-revive

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.7 KB, 740 tokens by cl100k_base, as published. Nobody here has run it

Chart Revive

Rebuild a static chart as a real PowerPoint chart. Keep every recovered value reviewable; never present pixel estimates as source truth.

Workflow

  1. Confirm the input contains a supported 2D chart: column, stacked column, horizontal bar, line, pie, or doughnut.
  2. 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.
  3. Create a task-local output directory. Do not modify the source image, PDF, slide deck, or an existing PowerPoint file.
  4. Read references/extraction-playbook.md before extracting data from pixels.
  5. Read references/manifest-schema.md, then write chart-manifest.json beside a PNG, JPEG, or WebP copy of the source chart.
  6. Validate the manifest before building:
python <skill-dir>/scripts/chart_revive_cli.py validate <workdir>/chart-manifest.json
  1. Build the editable chart and audit artifacts:
python <skill-dir>/scripts/chart_revive_cli.py build <workdir>/chart-manifest.json --output <workdir>/result --hero
  1. Read references/qa-checklist.md. Inspect preview.png, report.html, summary.json, and the native .pptx structure. If a slide renderer is available, render the PowerPoint and compare it with the source.
  2. Correct the manifest, not the generated files. Rebuild after each correction. Stop after three iterations unless the user explicitly requests more.
  3. 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.

What ships with it: 12 files

44.3 KB alongside SKILL.md, 6 of them executable

agents/

Gives 0 of the 12 instructions most pdf office docs skills give in 740 tokens

Counted across 636 of the 690 authors here whose files we hold, read 2026-08-07

  • Extract text or tables using pdfplumber or pdftotextin 89 of 636, across 23 files
  • Create new PDFs using reportlabin 83 of 636, across 16 files
  • Read forms.md before filling out PDF formsin 80 of 636, across 13 files
  • OCR scanned PDFs using pytesseract and pdf2imagein 77 of 636, across 10 files
  • Use qpdf to merge or split PDFs or large filesin 70 of 636, across 3 files
  • Use Excel formulas instead of hardcoded calculated values or Python calculationsin 68 of 636, across 13 files
  • Unpack, edit, and repack XML for existing documents or presentationsin 63 of 636, across 8 files
  • Document sources for all hardcoded valuesin 61 of 636, across 9 files
  • Write minimal, concise Python code without unnecessary commentsin 59 of 636, across 7 files
  • Run the recalculation script (recalc.py) after adding or modifying formulasin 59 of 636, across 7 files
  • Fix all identified formula errors and recalculate before finishingin 58 of 636, across 6 files
  • Format years as text stringsin 57 of 636, across 5 files

Said here and by no other author read

  • create a local task output directory
  • read the extraction playbook before pixel extraction
  • write the manifest beside the source image
  • validate the manifest before building
  • build the editable chart and audit artifacts
  • inspect outputs and compare with source

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.