Skip to content
Back to skills

Super Pdf

ASecurity

Generate boardroom-grade PDF reports via an HTML design system + WeasyPrint — the same template family that produced the admired CloudGO review/architecture PDFs (kicker cover with chips strip + meta table, §N numbered section spine, navy comparison tables, colored callouts, pills, stat cards, running footer with page numbers). Use whenever asked for a beautiful/professional PDF, "báo cáo PDF đẹp", super pdf, review verdict PDF, architecture doc PDF, tài liệu giao sếp/khách, or "PDF như bản r...

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
developmentrustgobash

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 17, 2026

npx -y skills add 8-Sync-Dev/8sync --skill super-pdf --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Super Pdf?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Super Pdf
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/8-sync-dev-super-pdf/badge)](https://www.skillsdirectory.com/skills/8-sync-dev-super-pdf)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: super-pdf
description: Generate boardroom-grade PDF reports via an HTML design system + WeasyPrint — the same template family that produced the admired CloudGO review/architecture PDFs (kicker cover with chips strip + meta table, §N numbered section spine, navy comparison tables, colored callouts, pills, stat cards, running footer with page numbers). Use whenever asked for a beautiful/professional PDF, "báo cáo PDF đẹp", super pdf, review verdict PDF, architecture doc PDF, tài liệu giao sếp/khách, or "PDF như bản review MR".
---

# super-pdf — HTML design system → PDF A4

Turn notes/markdown into a **cited, sharp PDF**. The template IS the design system:
copy `references/report-template.html`, **keep the `<style>` block byte-identical**,
swap only the body. One command renders; one raster pass verifies.

## 1. Pipeline

```
content ready ─► cp references/report-template.html /tmp/<slug>.html
             ─► swap body content (keep CSS + component classes)
             ─► scripts/build.sh /tmp/<slug>.html [out.pdf]
             ─► pdftoppm -png -r 96 → LOOK at cover / table page / last page
             ─► cp *.pdf ~/Downloads/ (or the project's outdir)
```

```bash
~/.omp/skills/super-pdf/scripts/build.sh /tmp/my-report.html /tmp/my-report.pdf
# rendered -> /tmp/my-report.pdf
# pages: N        ← a report is 2–10 pages; a jump means a broken page-break
```

WeasyPrint runs via `uv run --with weasyprint` — no permanent install, no network
after the first dependency pull.

## 2. Content rules (the part that makes it "đẹp")

1. **§0 là kết luận.** Busy reader reads only §0. One bold verdict sentence (in a
   `.callout`) + 3–6 evidence bullets. Front-load everything.
2. **Numbered spine.** Every `h2` carries `<span class="n">§N</span>` — manual numbering,
   never auto. `h3` for sub-points, no span.
3. **Cover = 5 blocks, in order:** `.chips` strip (2–4 category chips, uppercase —
   omit when there is nothing to classify) → `.kicker` (loại tài liệu · phạm vi) →
   `h1` (conclusion-oriented title) → `.sub` (one line) → orange `.rule` → `.meta`
   table (Chuẩn bị cho / Người soạn / Ngày / Phạm vi) → `.tagbox` (central question,
   verbatim).
4. **Numbers trace to a source.** No invented figures; the `.cap` of a `.stat` names
   its origin. Citations by publisher + title + bare domain.
5. **Comparison = `table.cmp`**: `th.axis` left column, `.pill` per cell
   (`p-red`/`p-amber`/`p-green` = Yếu/TB/Tốt), `td.win` on the winner column.
6. **Never split a block ugly:** `class="avoid-break"` on every table and stat row.

## 3. Design tokens (live in the template `<style>`)

| Token | Value | Use |
|---|---|---|
| Navy | `#0f2b46` | headings, table head, strong, chip border |
| Orange | `#d47a1e` | `.rule`, `h2 .n`, stat numbers, default callout |
| Body | `#1f2733` on white, Liberation Sans 9.7pt, justified | prose |
| Page | A4 `20mm 18mm 18mm 18mm` | footer left brand · center classification · right `Trang N/M`; `@page :first` blanks it |
| `.chips` | row of bordered uppercase navy chips | cover category strip (optional) |
| `.callout` | amber default; `.blue` `#10618f` · `.green` `#1c7c54` · `.red` `#c0392b` + uppercase `.lbl` | verdict / context / pass / risk |
| `.stats` | flex row of `.stat` → `.big` number + `.cap` source | headline metrics |
| `.quote` | italic, left rule | pull-quotes |

## 4. Gotchas — each already paid for once

- `WARNING: Deprecated -weasy-hyphens: none` is **harmless** — leave it (it disables
  hyphenation for Vietnamese).
- Fonts render via **fontconfig aliases** (Liberation Sans↔Arial) — no font files;
  keep the fallback chain in `font-family`.
- **Emoji glyphs silently render as empty boxes** — replace with text (`**BẪY**`,
  `PASS`) instead of trusting a symbol.
- **Vietnamese + `pdftotext` grep**: extracted text is often NFD-normalized; grep an
  ASCII-safe substring or NFC-normalize both sides before concluding "didn't render".
- **Long tables + `page-break-inside: avoid`**: if a no-break table is taller than a
  page, WeasyPrint overflows it — split the table instead.

## 5. Verify before "done" (mandatory)

```bash
pdftoppm -png -r 96 out.pdf /tmp/pg   # cover + 1 table page + last page
```

Then actually LOOK (read the PNGs; route through zai-vision if the model cannot see):
pills/colors render, tables inside margins, footer page numbers present (not on
cover), no orphaned headings at page bottom. Only then deliver.

Files in this skill

  • SKILL.md4.5 KB
  • references/report-template.html8.3 KB
  • scripts/build.sh638 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.