transilience-report-style
Transilience Report Style
Turns a structured findings JSON into a branded A4 PDF (light theme by default — modern/minimal; --theme dark fallback; brand gradient rule, boxed code/samples, framed screenshots, colour-coded severity + CVSS-score, findings cards, severity metrics) — the standard Transilience deliverable. The generator is data-driven: you assemble one JSON, run one command. Design system: formats/transilience-report-style/SKILL.md §0 (theme/palette).
When to use
- A pentest / vuln-assessment / network-scan / compliance engagement is finished and validated and needs its PDF deliverable.
- You already have findings (ideally validated) with severity + CVSS + evidence + remediation.
How to use (3 steps)
-
Write
report_data.jsonmatchingreference/report-data-schema.json. Onlyengagementandfindingsare required; every other key (executive_summary, metrics, sections, cve_register, coverage_table, attack_pattern_coverage, ruled_out, tools_used, roadmap, disclaimer) is an optional section that is skipped if absent. Seereference/example-report-data.jsonfor a minimal working file.- Internal-only sections: a
sections[]entry with"internal": trueis retained inreport_data.json(kept as the internal record) but is never rendered into the client PDF. Use it for internal QA logs such as blind-validation / independent-reproduction verdict tables — these must not appear in any client-facing PDF.
- Internal-only sections: a
-
Run the generator:
python3 reference/generate_report.py <report_data.json> -o reports/My-Report.pdfFonts + logo are auto-discovered from
formats/transilience-report-style/. Override with--assets <dir>if running outside the repo. Requiresreportlab(pip install reportlab).