Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Pdf Report

v1.0.2

Generate a polished PDF report or summary from findings, data, or tables gathered earlier in the conversation. Use when the user asks to "make a PDF", "gener...

0· 41·0 current·0 all-time
byBryan Seitz@seitzbg

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for seitzbg/skeet-pdf-report.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Pdf Report" (seitzbg/skeet-pdf-report) from ClawHub.
Skill page: https://clawhub.ai/seitzbg/skeet-pdf-report
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: typst
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install skeet-pdf-report

ClawHub CLI

Package manager switcher

npx clawhub@latest install skeet-pdf-report
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The skill's stated purpose (produce a PDF via Typst) matches the instructions, but the SKILL.md says two templates "ship with this skill" and live next to the SKILL.md while the package contains only SKILL.md (no templates). That mismatch means the agent's runtime won't find the promised templates unless the environment already provides them or the user supplies them.
!
Instruction Scope
Instructions tell the agent to read template files next to SKILL.md, write a .typ source next to the output PDF, and run 'typst compile'. They also recommend using 'pdftotext -l 1' or 'typst query' for page counts and suggest 'xdg-open' to open the PDF. SKILL.md does not declare pdftotext or xdg-open as required, and the template/working-path assumptions may not hold in the runtime environment. The instructions also hardcode a linuxbrew path for typst which may not exist on all systems.
Install Mechanism
No install spec is present (instruction-only). This minimizes persistent installation risk because no archives/binaries are downloaded or written by the skill itself.
Credentials
The skill declares no required environment variables, no credentials, and no config paths. That aligns with its stated function of generating local PDFs.
Persistence & Privilege
The skill is not 'always: true' and does not request elevated or persistent privileges. It writes output files (PDF and .typ) in the current working directory per its instructions, which is expected behavior for a report generator.
What to consider before installing
This skill appears coherent at a high level (it creates Typst source and runs typst to make PDFs) but has practical inconsistencies you should resolve before use: - Templates missing: SKILL.md says templates ship with the skill, but the package contains only SKILL.md. Provide the expected templates (templates/summary.typ and templates/report.typ) or edit the instructions to point to templates you control. - Typst binary: Ensure 'typst' is installed and on PATH or available at the hardcoded linuxbrew path. If not, install Typst or adjust the path in the instructions. - Undeclared tools: The instructions mention 'pdftotext' and 'xdg-open' for page counts and opening files but don't declare them. Install these if you want those features, or accept that page count reporting may be limited. - File safety: The skill will write a .typ source and a PDF to the current working directory and may overwrite similarly named files (it suggests appending '-2', etc.). Run it in a directory where writing files is safe and where no sensitive files might be accidentally included. - Operational check: Before trusting it on sensitive data, run a test with non-sensitive sample content to confirm where templates are read from and where outputs land. If you want this skill to be usable out of the box, ask the publisher to include the template files and to either declare any auxiliary binaries or remove references to them. If you control the environment and can supply the templates and binaries, the skill is reasonable for local PDF generation.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📄 Clawdis
Binstypst
latestvk971zdpn85s3n0gn1kfhe43gq185nykb
41downloads
0stars
1versions
Updated 1d ago
v1.0.2
MIT-0

pdf-report

Turn gathered conversation content (findings, data, tables) into a clean PDF via Typst. Two templates ship with this skill — pick one, fill it in, compile.

When to invoke

Trigger on any of:

  • "make a PDF" / "create a PDF" / "export to PDF"
  • "generate a report" / "write up a report"
  • "summarize this as a PDF" / "PDF summary"
  • "export these findings/results"

If the user says "export" or "deliverable" without specifying format and the context has tabular data or distinct findings, ask once whether they want PDF before invoking.

Inputs to gather

Before writing any Typst, confirm or infer:

  1. Title — ask if not obvious. Keep short (≤ 60 chars).
  2. Subtitle / author — optional; leave blank or omit if unknown.
  3. Content scope — exactly which findings/tables/sections from the conversation belong in the document. Do not invent data the user did not provide.
  4. Output path — default ./report-YYYY-MM-DD.pdf in cwd. If a file with that name exists, append -2, -3, etc.

Pick a template

TemplateUse when
templates/summary.typ1–3 sections, executive summary, ≤ ~3 pages. Default.
templates/report.typ3+ distinct sections, title page + TOC desired, or user said "report".

Both live next to this SKILL.md. Read the chosen one, then write a new .typ file at <output>.typ (next to the target PDF) with placeholders replaced and example tables swapped for real data.

Authoring rules

  • Tables: always use #table() with table.header(...). Right-align numeric columns. Preserve the precision the user gave you — do not round.
  • Long tables: table.header(repeat: true, ...) repeats headers on page breaks automatically (Typst 0.12+).
  • Special characters in cell text: wrap in [...] content blocks; escape #, $, @, \ if they appear literally.
  • Adapt freely: add or drop sections to match the content. Keep the page setup, font sizing, and heading shows from the template — those define the look.
  • No watermarks. Do not add "Generated by AI", "Claude", "Qwen", or similar. The user does not want it.

Compile

typst compile <output>.typ <output>.pdf

typst is at /home/linuxbrew/.linuxbrew/bin/typst (linuxbrew). If it's not on PATH in the current shell, use the full path.

Error handling

If compile fails:

  1. Read the error — Typst errors include file, line, and a usually-clear hint.
  2. Fix the .typ source and retry once.
  3. If it still fails, stop. Show the user:
    • the error output,
    • the path to the .typ source so they can edit directly.

Do not loop indefinitely on errors.

Reporting back

On success, tell the user:

  • output PDF path (absolute),
  • page count (from pdftotext -l 1 or just typst query — or simply state "compiled successfully" if neither is convenient),
  • that the .typ source is kept alongside for future tweaks.

Offer to open it (xdg-open <path>) but do not open without confirmation.

Quick reference: minimal Typst patterns

// Two-column table with numeric right-align
#table(
  columns: (auto, auto),
  align: (left, right),
  stroke: 0.5pt + gray,
  inset: 7pt,
  table.header([*Name*], [*Count*]),
  [alpha], [42],
  [beta],  [108],
)

// Bullet list
- one
- two
- three

// Inline emphasis
This is *bold* and this is _italic_ and this is `mono`.

// Math (inline and block)
The energy is $E = m c^2$.
$ integral_0^infinity e^(-x^2) dif x = sqrt(pi) / 2 $

// Image
#figure(image("plot.png", width: 80%), caption: [A plot.])

Comments

Loading comments...