foyonaczy/aelionbot/pdf-workbench

Claude Code and agent skill by foyonaczy/aelionbot

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Create, inspect, merge, split, or export PDF files; verify rendered pages and deliver the actual document.

Install

npx vskill@latest install foyonaczy/aelionbot/pdf-workbench

SKILL.md

PDF workbench

Use the requested document format and page size. For an existing PDF, inspect page count, text, and layout before editing; preserve the original.

Choose the shortest reliable route

  • For a new report, use the document-writing skill and export from Writer. For a deck, use presentation-design and export from Impress. For an existing office file, use scripts/office_export.py here.
  • The work computer includes LibreOffice, Poppler, and pypdf. Check their actual availability on older installations. Use pypdf for merging, page selection, metadata, and forms; it does not render pages or reliably extract scanned text.
  • For layouts best expressed as HTML/CSS, create self-contained HTML and print with the available browser, or import it into Writer. Browser and Writer pagination differ: inspect the result from the chosen route.
  • Use ReportLab only if available or deliberately installed for this task; it is not a guaranteed bundled dependency. Embed fonts with coverage for the document's characters.

Export and check

After materializing this skill:

sh
python3 "$SKILL_DIR/scripts/office_export.py" output/report.odt --format pdf --out-dir output/pdf
pdftoppm -png -r 100 output/pdf/report.pdf output/preview
pdftotext -layout output/pdf/report.pdf output/extracted.txt

SKILL_DIR means the actual vmPath returned by skill_materialize, not a preconfigured environment variable. The export helper uses a separate temporary LibreOffice profile, refuses to overwrite an existing result, checks the result exists, and does not close the user's office windows. Pick a new output directory for revisions.

Inspect rendered pages for clipped text, broken glyphs, blank or duplicate pages, page breaks, table overflow, and inconsistent headers. Text extraction checks content, not appearance. Open the PDF in the work computer browser or use available image inspection tools on rendered previews. For a long document, inspect a contact sheet plus detailed pages around tables and section breaks; state any uninspected portion if it affects confidence.

Deliver the requested PDF and, when useful, its editable source. Report page count and meaningful verification, not implementation logs.

Aelion workspace and delivery

  • Read incoming files with attachment_read; use attachment_save for binary files and use its returned path.
  • python_execute and python_session run in the Linux work computer. file_read, file_write, file_patch, list_directory, find_files, search_files, and exec_command default to the user's selected local project; pass location vm only for the work computer under the current Bot's workspace. These are different filesystems. Never assume a host path exists in the VM. view_image reads host paths only: to look at a PNG or PDF rendered in the VM, open it in the work-computer browser with computer and inspect the screenshot. open_preview shows a file to the user; it is not a check you performed.
  • Read supporting files with skill_file_read. Before running a bundled script in the VM, call skill_materialize for this skill and use its returned vmPath; quote that path in shell commands. Keep generated files in the Bot workspace, outside the materialized skill directory.
  • Open Writer, Calc, Impress, or the work-computer browser with computer (action: open_app) only when this task needs that application. For an existing document, pass its workspace-relative path. Inspect screenshots before coordinate actions and use the latest returned observationId. Do not open a desktop app in place of search, web_read, file tools, or an edit in the selected host project.
  • Final files belong in message_attach using attachments: [{path: "output/actual-file.ext"}]. This also works for a final group or private-chat reply. When explicitly sending a separate collaboration message, bot_send_message and group_send_message accept the same attachment entries. Attach only useful deliverables, not every intermediate preview.
  • Discover an omitted tool with tool_search; use only tools actually available. A missing optional library does not justify changing VM networking or using another Bot's files. Prefer existing applications and libraries; report an actual missing dependency if no suitable route exists.

Security

  • Security scanPassed, 96 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/foyonaczy/aelionbot/pdf-workbench/badge)](https://verified-skill.com/skills/foyonaczy/aelionbot/pdf-workbench)

Something wrong with this skill or its page? Tell us.