
nature-image2ppt
Reconstruct slide images, screenshots, scanned PDFs, or image-only PPTX files as object-level editable PowerPoint. Use for 图片转可编辑PPT、截图还原PPT and diagram reconstruction; not authoring a new deck from research notes.
- Installs
- 7.5K
- Last 24h
- +91
- Trending rank
- #2112
- Security
- Pass
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/yuan1z0825/nature-skills --skill nature-image2ppt- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads nature-image2ppt automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
Nature Image2PPT
Use this directory as the complete runtime. Run deterministic actions only through:
python <image2ppt-root>/cli/image2ppt/cli.py <command> ...
Use Python 3.10 or later with requirements.txt installed. When a dedicated
environment exists, substitute <image2ppt-root>/.venv/bin/python on macOS/Linux
or <image2ppt-root>/.venv/Scripts/python.exe on Windows for every python
command below. Do not continue after a failed doctor; install only the reported
missing dependency, then rerun it.
Do not discover or invoke another Skill, CLI, Prompt, Schema, module, or state machine.
Read the local contracts progressively
Always read references/workflow.md. Read references/runtime-dependencies.md
only for setup or doctor failures, and read
references/ocr-text-hints-contract.md only when choosing or troubleshooting OCR.
Before writing a page manifest, read references/page-decision-tree.md and
references/manifest-schema.md. Add only the references needed by that page:
- structured or compound page:
references/region-decomposition.mdandreferences/object-routing.md; - arrows:
references/manifest-arrow-extension.md; - raster assets or image-backend work:
references/assets-provenance-contract.md.
Before accepting or delivering output, read references/qa-contract.md.
Preserve the single source of truth
- Treat
page_jobs.jsonas the only page-state source. - Treat each
pages/page_NNN/manifest.jsonas the only page-content source. - Treat
deck_manifest.jsonas the final-assembly source. - Use only
prepare,run next/dispatch/record/reset/hints/finalize, and the page commands in the local CLI for stateful lifecycle operations. - Keep semantic-region evidence in
manifest.json.image2ppt_region_decomposition. - Never create a second job file, reconstruction plan, OCR normalizer, page controller, packager, or finalize path.
- Let supplemental QA report failures; never let it mutate lifecycle state.
Keep every write inside its owner directory
- Page build, validation, hints, and QA may read and write only inside that page
directory. Manifest paths, recorded assets, formulas, reports, previews, and
--outoverrides must not use.., symlinks, or absolute paths to escape it. The sole external-input exception is an explicit image-tool result supplied toimage importor asprocess-sheet --asset-sheet-source; it is copied into the page before becoming a build dependency. - Run-level manifests and final outputs must remain inside the prepared run directory. Finalization rebuilds into a same-directory temporary file and publishes it atomically only after a successful build.
- Treat any boundary rejection as a hard failure; do not copy the rejected file back into scope and present it as runtime output.
Preserve pre-migration behavior
- Treat self-containment as a path/import/entrypoint migration, not a redesign of reconstruction behavior.
- Generate each worker Prompt from the complete local base layer plus the preserved Image2PPT profile layer. Do not condense, reinterpret, or replace either layer.
- Prefer the previously validated visual strategy when several routes satisfy the contracts. Keep simple measured objects native and retain bounded complex assets wherever a native redraw would reduce fidelity.
- Never re-author an accepted baseline page merely to prove runtime independence.
Run the workflow
Image backend selection
Use builtin-imagegen when the agent runtime exposes image_gen.imagegen; it is
the preferred backend because the worker can inspect edit inputs and import the
explicit local result. Use the CLI image contract only when the built-in tool is
unavailable, errors, cannot read an input, or returns no valid local output. A
missing optional argument such as model, mask, size, quality, or output path never
authorizes fallback. Record the actual producer and permitted fallback reason in
imagegen-jobs.json.
The CLI image contract is provider-neutral at the transport boundary. Select
codex-oauth only for GPT Image model ids. Select openai-compatible-api for any
provider-specific model whose endpoint implements the OpenAI Images-compatible
/images/generations and/or /images/edits schema. Do not infer the image backend
from the task's language model. Use an explicit backend when provenance matters;
auto uses Codex OAuth only for compatible GPT Image ids and otherwise selects the
configured API without sending Codex OAuth credentials to third parties.
1. Preflight and OCR choice
python <image2ppt-root>/cli/image2ppt/cli.py doctor --json
Use Baidu AI Studio PADDLE_OCR_TOKEN when configured. If it is absent, tell the
user once that the local builtin-ink fallback measures text geometry but does
not recognize characters; offer the configuration path in
references/ocr-text-hints-contract.md. Respect an offline-only choice.
2. Prepare one run
python <image2ppt-root>/cli/image2ppt/cli.py prepare <input...> \
--out-root output/image2ppt --image-backend builtin-imagegen
To pin a configured third-party provider/model for auditable provenance, prepare
with --image-backend openai-compatible-api. The run contract records the exact
IMAGE2PPT_IMAGE_MODEL from the active project config or environment; it does not
substitute a GPT Image default merely because no --model flag was passed.
Use --no-text-hints only when OCR processing is intentionally disabled. Regenerate
hints without creating a new run when needed:
python <image2ppt-root>/cli/image2ppt/cli.py run hints <run-dir>
3. Advance and claim pages
python <image2ppt-root>/cli/image2ppt/cli.py run next <run-dir> --json
python <image2ppt-root>/scripts/build_page_worker_prompt.py \
<run-dir> --page <page-id> --out <absolute-page-dir>/worker-prompt.md
python <image2ppt-root>/cli/image2ppt/cli.py run dispatch \
<run-dir> --page <page-id> --agent-id <id> --prompt-file <absolute-prompt>
For exactly one page, claim it with --local and reconstruct it in the current
agent. For multiple pages, dispatch independent page workers up to the capacity in
page_jobs.json. Do not reset a live worker merely because it is slow.
4. Reconstruct and gate each page
Plan a structured page as 3–5 semantic regions and route each region independently. Use measured compound diagrams: measure every node, relation, and protected anchor. Keep measurable circles, cards, straight/dashed relations, and simple connectors native. Use bounded transparent assets only for complex local subparts.
Represent a thin arrow as one connector with its arrowhead on the same object. Represent a filled arrow as one Arrow AutoShape, with centered label text inside the same object. Never construct an ordinary arrow from a line plus triangle and never flatten a whole knowledge graph into one image.
Write new page manifests with schema_version: 2. Use structured
visual_inventory items with explicit kind and representation values, and
write a concrete quality_evidence observation for every required quality check.
Formula rendering is a hard gate: a missing engine, converter, or failed compile
must keep the page failed unless the user explicitly approves that exact formula
exception and the manifest records both user_approved_exception: true and a
concrete approval_note.
The worker Prompt performs the deterministic sequence. Its final gates are:
python <image2ppt-root>/cli/image2ppt/cli.py page build <page-dir>
python <image2ppt-root>/scripts/run_image2ppt_qa.py <page-dir>
# The first run writes visual-review-evidence.template.json and remains pending.
# Inspect source.png against render/rendered.png, copy and complete the template
# as visual-review-evidence.json, repair if needed, then:
python <image2ppt-root>/scripts/run_image2ppt_qa.py <page-dir> \
--visual-review-status reviewed \
--visual-review-evidence <page-dir>/visual-review-evidence.json
python <image2ppt-root>/cli/image2ppt/cli.py page contact-sheet <page-dir>
The evidence file must cover the current source/render hashes and every required
check with a specific observation. --visual-review-notes is optional context and
cannot substitute for the evidence file.
Record only after standard validation and the Image2PPT region, arrow, and rendered gates pass:
python <image2ppt-root>/cli/image2ppt/cli.py run record \
<run-dir> --page <page-id> --agent-id <id>
Use the same run reset → dispatch → record lifecycle to repair rejected pages.
5. Finalize and revalidate the rebuilt deck
When run next reports finalize, run:
python <image2ppt-root>/cli/image2ppt/cli.py run finalize <run-dir>
python <image2ppt-root>/scripts/run_final_image2ppt_qa.py <run-dir>
# The first run writes final/visual-review-evidence.template.json and remains pending.
# Inspect every rendered slide, complete final/visual-review-evidence.json, then:
python <image2ppt-root>/scripts/run_final_image2ppt_qa.py <run-dir> \
--visual-review-status reviewed \
--visual-review-evidence <run-dir>/final/visual-review-evidence.json
Finalize rebuilds from page manifests, preserves source speaker notes, validates the
package, and writes the output recorded by deck_manifest.json. Final QA reapplies
manifest arrows, verifies arrow atomicity and compound structure, renders every
slide, checks speaker-note integrity, and writes final/image2ppt_qa.json.
Deliver
Return the final PPTX path, standard final validation, and
final/image2ppt_qa.json. Report which complex visuals remain replaceable bitmap
assets. Do not call the deck complete while any page/final gate is pending or failed.
FAQ
What does the nature-image2ppt skill do?
Reconstruct slide images, screenshots, scanned PDFs, or image-only PPTX files as object-level editable PowerPoint. Use for 图片转可编辑PPT、截图还原PPT and diagram reconstruction; not authoring a new deck from research notes.
How do I install nature-image2ppt?
Run npx skills add https://github.com/yuan1z0825/nature-skills --skill nature-image2ppt in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/nature-image2ppt/ (personal) or .claude/skills/nature-image2ppt/ (project).
Which AI agents can use nature-image2ppt?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is nature-image2ppt safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains nature-image2ppt?
It is published by yuan1z0825 in yuan1z0825/nature-skills. It has 7,455 recorded installs.
More from yuan1z0825/nature-skills
nature-figure
yuan1z0825/nature-skills
Create, revise, audit, and export manuscript scientific figures in Python or R. Use for 论文配图、科研绘图、多面板图 and submission-ready plots, or explicitly requested AI-generated graphical abstracts and mechanism schematics. Not for interactive dashboards, data cleaning, or statistics-only analysis.
nature-polishing
yuan1z0825/nature-skills
Polish, translate, or tighten existing academic prose while preserving facts, terminology, and evidence boundaries. Use for 论文润色、学术翻译、正文精简, or manuscript LaTeX layout fixes. Use nature-writing when the main task is drafting new sections or rebuilding the manuscript argument.
nature-paper2ppt
yuan1z0825/nature-skills
Create or improve a Chinese academic PPTX from a scientific paper or research reading notes, with source figures and speaker notes. Use for 论文做PPT、文献汇报、组会PPT and paper-based conference or defense presentations.
nature-writing
yuan1z0825/nature-skills
Draft or restructure scientific manuscript arguments, sections, and initial-submission materials from author-provided evidence. Use for 论文写作、章节起草、论证重构、正文压缩、首次投稿材料. Use nature-polishing for language-only edits to existing prose and nature-response for post-decision correspondence.
nature-citation
yuan1z0825/nature-skills
Find and verify Nature/CNS-family literature supporting manuscript claims, with claim-to-source mapping and reference-manager export. Use for Nature系列引用、CNS支撑文献、分段补引用 when this journal scope is requested; use broader literature search for unrestricted sources.
nature-data
yuan1z0825/nature-skills
Draft or audit manuscript Data/Code Availability statements, dataset access routes, repository plans, and FAIR metadata. Use for 数据可用性声明、数据共享、数据仓库选择 and dataset citations; not general data cleaning or statistical analysis.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.