Nature Image2ppt logo

Nature Image2ppt

CommunityPopular
Yuan1z0825
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.

Overview

PublisherYuan1z0825
Repositorynature-skills
Skill namenature-image2ppt
Stars
42.8K
Forks
2.3K
Bundled files
83
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 83 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Yuan1z0825 on GitHub. Read the source before you install it.

Installation

Install the Nature Image2ppt AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Yuan1z0825/nature-skills.git /tmp/nature-skills
mkdir -p .claude/skills
cp -r /tmp/nature-skills/skills/nature-image2ppt .claude/skills/nature-image2ppt
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Nature Image2ppt in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Nature Image2ppt on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Nature Image2ppt is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Nature Image2PPT

Use this directory as the complete runtime. Run deterministic actions only through:

bash
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.md and references/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.json as the only page-state source.
  • Treat each pages/page_NNN/manifest.json as the only page-content source.
  • Treat deck_manifest.json as 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 --out overrides must not use .., symlinks, or absolute paths to escape it. The sole external-input exception is an explicit image-tool result supplied to image import or as process-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

bash
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

bash
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:

bash
python <image2ppt-root>/cli/image2ppt/cli.py run hints <run-dir>

3. Advance and claim pages

bash
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:

bash
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:

bash
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:

bash
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.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 23 more files.

Frequently asked questions

What does the Nature Image2ppt AI 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.

Why use Nature Image2ppt on TypingMind?

Because you install it once and use it with any model. Nature Image2ppt is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Nature Image2ppt in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Yuan1z0825/nature-skills/tree/main/skills/nature-image2ppt. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Nature Image2ppt?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Nature Image2ppt?

As many as you like. As long as a model supports skills, you can use Nature Image2ppt with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Nature Image2ppt AI skill free?

Yes. It is published on GitHub by Yuan1z0825 under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇