name: build-deck-wiki description: Build a private, standalone static HTML wiki from PPTX deck archives and optional deck PDF exports. Use when Codex is asked to turn PPTX files, PDF slide exports, presentation folders, pitch decks, strategy decks, board decks, training decks, or slide archives into a browsable wiki with source pages, synthesized topic pages, citations back to deck/slide provenance, client-side search, and a simple topic/source graph.
Build Deck Wiki
Overview
Turn a folder of decks into a local HTML wiki without external services. Extract slide-level evidence first, synthesize only from extracted evidence, then render an editable artifact with citations, confidence labels, search, and graph data.
Treat all decks as confidential. Do not print raw deck contents in chat or logs unless the user explicitly asks. Do not call external APIs or install dependencies automatically.
Workflow
- Run the dependency and input check:
python3 /Users/roshanvenugopal/.codex/skills/build-deck-wiki/scripts/deck_wiki.py doctor --input /path/to/decks
- Extract deck evidence:
python3 /Users/roshanvenugopal/.codex/skills/build-deck-wiki/scripts/deck_wiki.py extract --input /path/to/decks --out /tmp/deck-evidence.json
Read only the relevant parts of
/tmp/deck-evidence.json. For large archives, inspect the file list and summaries first, then load specific source records as needed.Create a
wiki.jsonplan usingreferences/wiki_schema.md. The wiki plan is where synthesis happens.Render the static wiki:
python3 /Users/roshanvenugopal/.codex/skills/build-deck-wiki/scripts/deck_wiki.py render --wiki-plan /tmp/wiki.json --out /path/to/wiki-html
Use --force on render only when the user explicitly approves overwriting the output directory.
Synthesis Rules
- Build two page types by default: one source page per deck and one synthesized topic page per recurring theme.
- Every claim on a topic page must cite at least one slide ID from extraction output.
- Use confidence labels:
direct: stated plainly on cited slides or speaker notes.inferred: a reasonable synthesis across cited slides.uncertain: useful but weak; call out what evidence is missing.
- Keep topic pages concise: executive summary, key claims, notable contradictions, source links, and related topics.
- Do not invent missing context from deck titles, logos, or filename patterns. If a slide is image-only, say the text evidence is unavailable unless OCR/conversion provided text.
- Preserve provenance in user-facing pages with deck name and slide number.
Format Support
.pptx: supported directly via local OpenXML extraction..pdf: supported only whenpdftotextis installed for local text extraction..ppt: not supported. Ask the user for.pptxexports if legacy binary decks matter.- Missing converters must be reported by
doctor; do not work around them with network uploads.
Resources
scripts/deck_wiki.py: local doctor, extractor, and HTML renderer.references/wiki_schema.md: required shape of the synthesiswiki.json.assets/style.css,assets/search.js: copied into rendered wiki bundles.
Quality Bar
- Run
doctorbefore extraction and report missing local tools. - Validate
wiki.jsonmentally againstreferences/wiki_schema.mdbefore rendering. - Open or inspect
index.html,search-index.json, and at least one topic page after rendering. - If the output is based on partial extraction, state exactly which files were skipped or converter-limited.