agentCLAWHUBUnverified

PDF Report

Generate clean A4 PDF reports from structured JSON using Jinja2 and WeasyPrint. Use when the user needs a formatted PDF document — analytical summary, data r... Skill: PDF Report Owner: 0xvespertine Summary: Generate clean A4 PDF reports from structured JSON using Jinja2 and WeasyPrint. Use when the user needs a formatted PDF document — analytical summary, data r... Tags: latest:1.0.1 Version history: v1.0.1 | 2026-04-04T18:08:01.178Z | user v1.0.1 — Security hardening + publish readiness - Chart image paths from JSON are now validated against the workspace boundary (paths o

OpenClaw

Rank

62

Safety

84

Downloads

1.1k

Updated

Oct 11, 2026

Version

1.0.1

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 11, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 11, 2026
Adoption signal
1.1K downloadsadoption · observed Oct 11, 2026
Latest release
1.0.1release · observed Apr 4, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s1741t73nrt7q2vnxcrxcxxtjh83hfew:pdf-report
  1. Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-0xvespertine-pdf-report/snapshot"

Documentation

CLAWHUB

8,504 characters of source documentation, loaded on request.

Extracted files

3 files captured from the source.

SKILL.md

---
name: pdf-report
version: 1.0.1
description: Generate clean A4 PDF reports from structured JSON using Jinja2 and WeasyPrint. Use when the user needs a formatted PDF document — analytical summary, data report, or chart-based export — from workspace data.
metadata: { "openclaw": { "emoji": "PDF", "requires": { "bins": ["python3"] } } }
---

# PDF Report

Generate a clean A4 PDF from structured JSON data.

## Setup

Install system dependencies (WeasyPrint requires these):

```bash
# Ubuntu/Debian
sudo apt-get install -y libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev libcairo2
```

Create a virtual environment and install Python dependencies (one-time):

```bash
python3 -m venv ~/.openclaw/workspace/.venv_pdf
~/.openclaw/workspace/.venv_pdf/bin/pip install weasyprint jinja2
```

## Quick start

```bash
~/.openclaw/workspace/.venv_pdf/bin/python skills/pdf-report/scripts/render_pdf.py \
  --input exports/report-data.json \
  --output exports/pdfs/report.pdf
```

## Inputs

- `--input` path to a JSON file inside the workspace
- `--output` path to the PDF output inside the workspace
- Optional: `--template-file` custom Jinja2 template path inside the workspace
- Optional: `--html-out` write the rendered HTML for debugging

## Expected JSON shape

```json
{
  "title": "Monthly Report",
  "subtitle": "Summary by region",
  "generated_at": "2026-03-23 10:00",
  "summary": ["Key point 1", "Key point 2"],
  "sections": [
    {
      "title": "Sales by category",
      "lead": "National overview",
      "items": ["Observation 1", "Observation 2"],
      "table": {
        "headers": ["Category", "Amount", "Share"],
        "rows": [["Electronics", "12 450", "45%"]]
      },
      "charts": [
        {
          "title": "Distribution by category",
          "src": "exports/charts/category.png",
          "caption": "Source: sales database"
        }
      ],
      "note": "Data as of 31/12/2025"
    }
  ],
  "footer": "Company Name — Department"
}
```

## Notes

- All file paths (CLI arguments and `charts[].src` in JSON) must stay inside the workspace. Paths outside the workspace are rejected.
- Missing chart images produce a warning to stderr but do not block PDF generation.
- Use `chart-mpl` first when a section needs chart images, then reference those image paths in `charts[].src`.
- Output directories are created automatically.
- Default template: `skills/pdf-report/templates/report.html`
- Dedicated venv: `~/.openclaw/workspace/.venv_pdf/` (weasyprint + jinja2)
- Pages are numbered automatically (bottom-right: "1 / 3").

## Custom templates

Use `--template-file` to provide your own Jinja2 HTML template. Note that relative asset paths inside custom templates (images, CSS) resolve from the **workspace root**, not the template's directory. Use workspace-root-relative paths for any referenced assets.

_meta.json

{
  "ownerId": "kn71mmn1vst817r9622exn54vn83fw03",
  "slug": "pdf-report",
  "version": "1.0.1",
  "publishedAt": 1775326081178
}

skill-card.md

## Description:

Generates clean A4 PDF reports from structured JSON using Jinja2 and WeasyPrint for analytical summaries, data reports, and chart-based exports.

This skill is ready for commercial/non-commercial use.

## Publisher:

[0xvespertine](https://clawhub.ai/user/0xvespertine)

### License/Terms of Use:

MIT-0

## Use Case:

Developers, analysts, and agent operators use this skill to turn workspace JSON data into formatted A4 PDF reports with summaries, sections, tables, charts, footers, and optional debug HTML.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: Custom Jinja2 templates can affect rendered HTML and PDF output more broadly than ordinary report data.

Mitigation: Use only trusted custom templates and review template content before rendering.

Risk: PDF generation and template rendering may run in an environment with access to local files or sensitive environment variables.

Mitigation: Run the skill in a low-privilege or isolated workspace and avoid exposing sensitive environment variables during rendering.

Risk: Unpinned Python dependencies or system package installation can change host behavior over time.

Mitigation: Pin Python dependencies before production use and approve the sudo system package install only after reviewing the host changes.

## Reference(s):


## Skill Output:

**Output Type(s):** [Files, Shell commands, Configuration instructions, Guidance]

**Output Format:** [PDF file, optional HTML file, and JSON status output]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Requires python3 plus WeasyPrint and Jinja2 dependencies; all input, output, template, and chart paths are constrained to the workspace.]

## Skill Version(s):

1.0.1 (source: frontmatter and server release metadata)

## Ethical Considerations:

Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
Github ReposUpdated 2d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/0xvespertine/skills/pdf-report",
      "sourceUrl": "https://clawhub.ai/0xvespertine/skills/pdf-report",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T12:44:38.170Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-0xvespertine-pdf-report/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-0xvespertine-pdf-report/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T12:44:38.170Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.1K downloads",
      "href": "https://clawhub.ai/0xvespertine/pdf-report",
      "sourceUrl": "https://clawhub.ai/0xvespertine/pdf-report",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T12:44:38.170Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.1",
      "href": "https://clawhub.ai/0xvespertine/pdf-report",
      "sourceUrl": "https://clawhub.ai/0xvespertine/pdf-report",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-04-04T18:08:01.178Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-0xvespertine-pdf-report/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-0xvespertine-pdf-report/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.1",
      "description": "v1.0.1 — Security hardening + publish readiness - Chart image paths from JSON are now validated against the workspace boundary (paths outside are rejected) - Missing chart images produce a warning instead of silent broken images - Workspace root detection is now resilient (OPENCLAW_WORKSPACE env var > marker file walk > fallback) - Added Setup section with system deps, venv creation, and pip install - Added automatic page numbering (bottom-right: \"1 / 3\") - Documented custom template base_url behavior",
      "href": "https://clawhub.ai/0xvespertine/pdf-report",
      "sourceUrl": "https://clawhub.ai/0xvespertine/pdf-report",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-04-04T18:08:01.178Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 11, 2026.

Sponsored

Ads related to PDF Report and adjacent AI workflows.