{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nano-banana-pdf-skill",
    "name": "nano-banana-pdf-edit",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ps06756/nano-banana-pdf-skill",
    "canonicalUrl": "https://clawhub.ai/ps06756/nano-banana-pdf-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/nano-banana-pdf-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nano-banana-pdf-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/nano-banana-pdf-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/nano-banana-pdf-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/nano-banana-pdf-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nano-banana-pdf-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nano-banana-pdf-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Nano PDF Editing Skill",
        "body": "Edit PDF files with natural language prompts using the nano-pdf CLI tool.\n\nNano-PDF converts PDF pages to images, sends them to Google's Gemini 3 Pro Image with your edit instructions, then stitches the AI-edited pages back into the PDF — preserving searchable text via OCR re-hydration.\n\nSource: https://github.com/gavrielc/Nano-PDF"
      },
      {
        "title": "Prerequisites",
        "body": "Before running any nano-pdf command, ensure the following dependencies are installed. If any are missing, install them before proceeding:\n\nnano-pdf — pip install nano-pdf (or use uvx nano-pdf to run without installing)\npoppler — PDF-to-image rendering (brew install poppler on macOS / sudo apt-get install poppler-utils on Linux)\ntesseract — OCR for text layer restoration (brew install tesseract on macOS / sudo apt-get install tesseract-ocr on Linux)\nGEMINI_API_KEY — A paid Google Gemini API key (free tier does not support image generation). Get one at https://aistudio.google.com/api-keys — then export GEMINI_API_KEY=\"your_key\""
      },
      {
        "title": "nano-pdf edit — Modify existing pages",
        "body": "nano-pdf edit <file.pdf> <page> \"<prompt>\" [<page> \"<prompt>\" ...] [options]\n\nPages are 1-indexed. Multiple page+prompt pairs can be provided and are processed in parallel."
      },
      {
        "title": "nano-pdf add — Insert new AI-generated slides",
        "body": "nano-pdf add <file.pdf> <position> \"<prompt>\" [options]\n\nPosition 0 inserts at the beginning. The new slide automatically matches the visual style of the existing deck. Document context is enabled by default for add."
      },
      {
        "title": "Options Reference",
        "body": "For full details on all available flags, read references/options.md in this skill directory.\n\nKey flags:\n\n--output \"new.pdf\" — Output filename (default: edited_<original>.pdf)\n--resolution \"4K\" — 4K (default), 2K, or 1K\n--style-refs \"1,5\" — Pages to use as style references\n--use-context / --no-use-context — Include full PDF text as model context\n--disable-google-search — Prevent model from using Google Search"
      },
      {
        "title": "Workflow",
        "body": "When a user asks to edit a PDF:\n\nCheck dependencies — Ensure nano-pdf, poppler, tesseract, and GEMINI_API_KEY are available. If any are missing, tell the user what to install and stop.\nIdentify the edit — Determine which page(s) need changes and what the prompt should be\nChoose the right command — edit for modifying existing pages, add for inserting new ones\nPick appropriate options:\n\nUse --style-refs if the user wants a specific visual style from certain pages\nUse --use-context when editing multiple pages that need to be consistent\nUse --resolution \"2K\" if speed matters more than quality\n\n\nRun nano-pdf and present the output PDF to the user"
      },
      {
        "title": "Prompt Writing Tips",
        "body": "The quality of the edit depends heavily on the prompt. Follow these guidelines:\n\nBe specific: \"Change the title from 'Overview' to 'Q3 Summary'\" beats \"update the title\"\nReference visible elements: \"The bar chart on the left side\" helps the model locate what to change\nOne focused change per prompt: For complex edits, use multiple page+prompt pairs\nMention what to preserve: \"Keep the layout the same but change the header color to blue\"\nUse style refs for consistency: When updating branding across pages, point at a reference page"
      },
      {
        "title": "Examples",
        "body": "For a comprehensive set of examples covering common use cases (typos, charts, branding, adding slides, batch edits), read references/examples.md in this skill directory.\n\nQuick reference:\n\n# Fix a typo on page 3\nnano-pdf edit report.pdf 3 \"Fix 'recieve' to 'receive'\"\n\n# Update chart data\nnano-pdf edit deck.pdf 12 \"Update the revenue chart to show Q3 at $2.5M\"\n\n# Multi-page branding update\nnano-pdf edit slides.pdf \\\n  1 \"Change header background to dark blue, text to white\" \\\n  2 \"Update the logo to show 'NewCorp' instead of 'OldCorp'\" \\\n  --style-refs \"1\" --output branded.pdf\n\n# Add a new title slide at the beginning\nnano-pdf add deck.pdf 0 \"Title slide: 'Annual Review 2025' with subtitle 'Building the Future'\"\n\n# Add a summary slide after page 5 using document context\nnano-pdf add deck.pdf 5 \"Summary slide with key takeaways as bullet points\""
      },
      {
        "title": "Troubleshooting",
        "body": "IssueSolutionMissing system dependenciesInstall missing deps (see Prerequisites above), restart terminalGEMINI_API_KEY not foundexport GEMINI_API_KEY=\"your_key\"PAID API key requiredEnable billing at https://aistudio.google.com/api-keysStyle mismatchUse --style-refs \"1,3\" pointing at pages with desired styleSlow processingUse --resolution \"2K\" or \"1K\"Bad OCR / text layerUse --resolution \"4K\" for better OCR accuracyModel ignores part of promptBreak into smaller, focused edits across multiple runs"
      }
    ],
    "body": "Nano PDF Editing Skill\n\nEdit PDF files with natural language prompts using the nano-pdf CLI tool.\n\nNano-PDF converts PDF pages to images, sends them to Google's Gemini 3 Pro Image with your edit instructions, then stitches the AI-edited pages back into the PDF — preserving searchable text via OCR re-hydration.\n\nSource: https://github.com/gavrielc/Nano-PDF\n\nPrerequisites\n\nBefore running any nano-pdf command, ensure the following dependencies are installed. If any are missing, install them before proceeding:\n\nnano-pdf — pip install nano-pdf (or use uvx nano-pdf to run without installing)\npoppler — PDF-to-image rendering (brew install poppler on macOS / sudo apt-get install poppler-utils on Linux)\ntesseract — OCR for text layer restoration (brew install tesseract on macOS / sudo apt-get install tesseract-ocr on Linux)\nGEMINI_API_KEY — A paid Google Gemini API key (free tier does not support image generation). Get one at https://aistudio.google.com/api-keys — then export GEMINI_API_KEY=\"your_key\"\nTwo Commands\nnano-pdf edit — Modify existing pages\nnano-pdf edit <file.pdf> <page> \"<prompt>\" [<page> \"<prompt>\" ...] [options]\n\n\nPages are 1-indexed. Multiple page+prompt pairs can be provided and are processed in parallel.\n\nnano-pdf add — Insert new AI-generated slides\nnano-pdf add <file.pdf> <position> \"<prompt>\" [options]\n\n\nPosition 0 inserts at the beginning. The new slide automatically matches the visual style of the existing deck. Document context is enabled by default for add.\n\nOptions Reference\n\nFor full details on all available flags, read references/options.md in this skill directory.\n\nKey flags:\n\n--output \"new.pdf\" — Output filename (default: edited_<original>.pdf)\n--resolution \"4K\" — 4K (default), 2K, or 1K\n--style-refs \"1,5\" — Pages to use as style references\n--use-context / --no-use-context — Include full PDF text as model context\n--disable-google-search — Prevent model from using Google Search\nWorkflow\n\nWhen a user asks to edit a PDF:\n\nCheck dependencies — Ensure nano-pdf, poppler, tesseract, and GEMINI_API_KEY are available. If any are missing, tell the user what to install and stop.\nIdentify the edit — Determine which page(s) need changes and what the prompt should be\nChoose the right command — edit for modifying existing pages, add for inserting new ones\nPick appropriate options:\nUse --style-refs if the user wants a specific visual style from certain pages\nUse --use-context when editing multiple pages that need to be consistent\nUse --resolution \"2K\" if speed matters more than quality\nRun nano-pdf and present the output PDF to the user\nPrompt Writing Tips\n\nThe quality of the edit depends heavily on the prompt. Follow these guidelines:\n\nBe specific: \"Change the title from 'Overview' to 'Q3 Summary'\" beats \"update the title\"\nReference visible elements: \"The bar chart on the left side\" helps the model locate what to change\nOne focused change per prompt: For complex edits, use multiple page+prompt pairs\nMention what to preserve: \"Keep the layout the same but change the header color to blue\"\nUse style refs for consistency: When updating branding across pages, point at a reference page\nExamples\n\nFor a comprehensive set of examples covering common use cases (typos, charts, branding, adding slides, batch edits), read references/examples.md in this skill directory.\n\nQuick reference:\n\n# Fix a typo on page 3\nnano-pdf edit report.pdf 3 \"Fix 'recieve' to 'receive'\"\n\n# Update chart data\nnano-pdf edit deck.pdf 12 \"Update the revenue chart to show Q3 at $2.5M\"\n\n# Multi-page branding update\nnano-pdf edit slides.pdf \\\n  1 \"Change header background to dark blue, text to white\" \\\n  2 \"Update the logo to show 'NewCorp' instead of 'OldCorp'\" \\\n  --style-refs \"1\" --output branded.pdf\n\n# Add a new title slide at the beginning\nnano-pdf add deck.pdf 0 \"Title slide: 'Annual Review 2025' with subtitle 'Building the Future'\"\n\n# Add a summary slide after page 5 using document context\nnano-pdf add deck.pdf 5 \"Summary slide with key takeaways as bullet points\"\n\nTroubleshooting\nIssue\tSolution\nMissing system dependencies\tInstall missing deps (see Prerequisites above), restart terminal\nGEMINI_API_KEY not found\texport GEMINI_API_KEY=\"your_key\"\nPAID API key required\tEnable billing at https://aistudio.google.com/api-keys\nStyle mismatch\tUse --style-refs \"1,3\" pointing at pages with desired style\nSlow processing\tUse --resolution \"2K\" or \"1K\"\nBad OCR / text layer\tUse --resolution \"4K\" for better OCR accuracy\nModel ignores part of prompt\tBreak into smaller, focused edits across multiple runs"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ps06756/nano-banana-pdf-skill",
    "publisherUrl": "https://clawhub.ai/ps06756/nano-banana-pdf-skill",
    "owner": "ps06756",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nano-banana-pdf-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/nano-banana-pdf-skill",
    "agentUrl": "https://openagent3.xyz/skills/nano-banana-pdf-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nano-banana-pdf-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nano-banana-pdf-skill/agent.md"
  }
}