slide-analyze — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited slide-analyze (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Analyze a PPTX template file to extract fonts, colors, layouts, slide masters, and embedded images. Produces a structured context.json, a guideline.md with design rules, and sample_code.js demonstrating the template style.
Ask the user for the PPTX file path if not provided. Confirm the file exists.
Derive a filesystem-safe template name from the filename with a timestamp suffix:
my-corp-template.pptx → my-corp-template)YYYYMMDD-HHmmss format (use the current date/time)my-corp-template.pptx → my-corp-template-20260407-143022The timestamp ensures each analyze run produces a unique folder so re-analyzed versions never overwrite each other.
Create the template workspace directory:
slide-workspace/templates/{template-name}/Copy the original PPTX file to:
slide-workspace/templates/{template-name}/original.pptxCheck that python-pptx is available:
python -c "import pptx" 2>/dev/null || python3 -c "import pptx" 2>/dev/nullIf the check fails, run the appropriate setup script:
bash shared/scripts/setup_deps.shpowershell -ExecutionPolicy Bypass -File shared/scripts/setup_deps.ps1Run the extraction script:
python shared/scripts/extract_template.py \
"slide-workspace/templates/{template-name}/original.pptx" \
"slide-workspace/templates/{template-name}/"Or on Windows:
python shared/scripts/extract_template.py "slide-workspace/templates/{template-name}/original.pptx" "slide-workspace/templates/{template-name}/"This produces:
slide-workspace/templates/{template-name}/context.json — full structured contextslide-workspace/templates/{template-name}/images/ — extracted image filesIf exit code is non-zero, report the error and stop.
Read context.json and note:
presentation.slide_width_inches and slide_height_inchesfonts_summary.families_used — font names usedtheme.color_scheme — theme colorsslide_masters — number of masters and their namesslide_layouts — number of layouts and their namesimages_manifest — list of extracted imagesList the files in images/ directory to confirm images were extracted.
Read the analysis prompt from shared/prompts/analyze-rules.md.
Read the PptxGenJS API reference from shared/docs/pptxgenjs-api.md.
Using the extracted context.json content, images metadata, and the prompt rules from analyze-rules.md as your system instructions, generate two outputs:
guideline.md — A markdown document covering:
sample_code.js — A complete, runnable PPTXGenJS script that:
images['filename']The JSON response format from analyze-rules.md is { "guideline": "...", "pptxgenjs_code": "..." }.
Write the generated content to:
slide-workspace/templates/{template-name}/guideline.mdslide-workspace/templates/{template-name}/sample_code.jsReport to the user:
fonts_summary.families_usedtheme.color_schemeimages_manifestslide-workspace/
templates/
{template-name}/
original.pptx ← Copy of input file
context.json ← Structured extraction (fonts, colors, layouts, masters)
guideline.md ← Design guidelines in Markdown
sample_code.js ← Sample PPTXGenJS code demonstrating the template
images/ ← Extracted image files
master0_Logo.png
layout0_bg.jpg
...images variable in generated code is pre-injected by the runner; never re-declare iteffective_background on each slide is the definitive background — use it, not the raw background fieldMASTER_N name~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.