PDF Marketing Report Generator
Generate a polished PDF marketing report with score gauges, charts, comparison tables, findings, and a prioritized action plan using scripts/generate_pdf_report.py.
Invocation Triggers
Use this skill when the user:
- Runs
/market report-pdf or /market report-pdf <domain>.
- Wants a PDF version of a marketing report.
- Needs a client presentation, email attachment, prospect report, or sales collateral.
- Asks for a polished report, client-ready report, visual report, charts, score gauges, or branded PDF.
Use Markdown report generation instead when the user wants iterative editing, internal notes, version control, or a text-first deliverable.
Required Input Contract
Collect or infer:
- Target URL, brand name, report date, and output filename.
- Existing audit outputs and marketing findings.
- Scores for the six PDF categories.
- Executive summary.
- 5-10 prioritized findings with severity.
- Quick wins, medium-term actions, and strategic actions.
- Competitor data when available.
- Whether estimates are allowed or only verified data should be used.
If no prior data exists, recommend /market audit <url> first. If the user still wants a PDF, analyze the provided URL or user-provided data and clearly label assumptions.
Source Data Discovery
Check for:
MARKETING-AUDIT.md
LANDING-CRO.md
SEO-AUDIT.md
BRAND-VOICE.md
COMPETITOR-ANALYSIS.md
FUNNEL-ANALYSIS.md
SOCIAL-AUDIT.md
EMAIL-AUDIT.md
AD-AUDIT.md
Core PDF Workflow
- Collect available source data.
- Build the expected JSON data structure.
- Validate required fields, score ranges, findings, action tiers, and optional competitor fields.
- Write JSON to a temporary file.
- Verify
reportlab is available or install only with user approval when needed.
- Run
python3 scripts/generate_pdf_report.py <json-file> <output-pdf>.
- Verify the PDF exists and report filename, location, size, and page expectations.
- Clean up temporary JSON unless the user wants to keep it.
See pdf-workflow.md for detailed commands and script behavior.
Required JSON Contract
The generator expects:
url: full target URL.
date: report date.
brand_name: company or brand name.
overall_score: integer from 0 to 100.
executive_summary: 2-4 concise sentences.
categories: exactly six score objects.
findings: severity/finding objects.
quick_wins, medium_term, strategic: action item arrays.
competitors: optional array of up to three competitors.
See json-schema-and-fields.md for full schema and field-level assembly guidance.
Safety and Quality Constraints
- Do not invent scores, competitors, metrics, revenue, tool output, or findings.
- Label assumptions and confidence when source data is incomplete.
- Do not include secrets, credentials, API keys, tokens, session records, private context, local absolute paths, or personal identifiers.
- Use placeholders for missing client data.
- Every score must be justifiable with source evidence or labeled assumptions.
- Round scores to whole numbers; decimals imply false precision.
- Keep executive summary tight and client-facing.
- PDF reports are sales/client-facing deliverables; polish and accuracy matter.
Validation Rules
Before completion:
- Validate JSON parses.
- Confirm required fields are present.
- Confirm all scores are numeric integers from 0 to 100.
- Confirm each finding has severity and evidence-backed text.
- Confirm action tiers are specific and actionable.
- Confirm the PDF file exists after generation.
- Report file path, file size, and any skipped optional sections.
- Do not claim PDF generation succeeded without checking the output file.
See troubleshooting-and-validation.md for detailed checks and failure modes.
Output Expectations
Create:
MARKETING-REPORT-<domain>.pdf in the project root, unless the user requests another location.
Report:
- Source files used.
- Output PDF filename and size.
- Score summary.
- Optional sections included or skipped.
- Validation performed.
- Any assumptions, missing data, or follow-up recommendations.
Minimal Examples
/market report-pdf example.com
Generate a client-ready PDF from MARKETING-AUDIT.md and COMPETITOR-ANALYSIS.md.
Create a prospect PDF report using the audit files and label any estimated scores.
Reference Map
- Detailed workflow, data collection, script invocation, cleanup: pdf-workflow.md
- Full JSON schema and field assembly guide: json-schema-and-fields.md
- PDF page contents, colors, score-to-color mapping, output expectations: pdf-output-reference.md
- Troubleshooting and validation checks: troubleshooting-and-validation.md
- Integration workflow and public-safe examples: examples-and-integration.md
1---2name: market-report-pdf3description: PDF marketing report generator producing branded PDFs with score gauges, charts, and comparison tables.4---56# PDF Marketing Report Generator78Generate a polished PDF marketing report with score gauges, charts, comparison tables, findings, and a prioritized action plan using `scripts/generate_pdf_report.py`.910## Invocation Triggers1112Use this skill when the user:1314- Runs `/market report-pdf` or `/market report-pdf <domain>`.15- Wants a PDF version of a marketing report.16- Needs a client presentation, email attachment, prospect report, or sales collateral.17- Asks for a polished report, client-ready report, visual report, charts, score gauges, or branded PDF.1819Use Markdown report generation instead when the user wants iterative editing, internal notes, version control, or a text-first deliverable.2021## Required Input Contract2223Collect or infer:2425- Target URL, brand name, report date, and output filename.26- Existing audit outputs and marketing findings.27- Scores for the six PDF categories.28- Executive summary.29- 5-10 prioritized findings with severity.30- Quick wins, medium-term actions, and strategic actions.31- Competitor data when available.32- Whether estimates are allowed or only verified data should be used.3334If no prior data exists, recommend `/market audit <url>` first. If the user still wants a PDF, analyze the provided URL or user-provided data and clearly label assumptions.3536## Source Data Discovery3738Check for:3940- `MARKETING-AUDIT.md`41- `LANDING-CRO.md`42- `SEO-AUDIT.md`43- `BRAND-VOICE.md`44- `COMPETITOR-ANALYSIS.md`45- `FUNNEL-ANALYSIS.md`46- `SOCIAL-AUDIT.md`47- `EMAIL-AUDIT.md`48- `AD-AUDIT.md`4950## Core PDF Workflow51521. Collect available source data.532. Build the expected JSON data structure.543. Validate required fields, score ranges, findings, action tiers, and optional competitor fields.554. Write JSON to a temporary file.565. Verify `reportlab` is available or install only with user approval when needed.576. Run `python3 scripts/generate_pdf_report.py <json-file> <output-pdf>`.587. Verify the PDF exists and report filename, location, size, and page expectations.598. Clean up temporary JSON unless the user wants to keep it.6061See [pdf-workflow.md](references/pdf-workflow.md) for detailed commands and script behavior.6263## Required JSON Contract6465The generator expects:6667- `url`: full target URL.68- `date`: report date.69- `brand_name`: company or brand name.70- `overall_score`: integer from 0 to 100.71- `executive_summary`: 2-4 concise sentences.72- `categories`: exactly six score objects.73- `findings`: severity/finding objects.74- `quick_wins`, `medium_term`, `strategic`: action item arrays.75- `competitors`: optional array of up to three competitors.7677See [json-schema-and-fields.md](references/json-schema-and-fields.md) for full schema and field-level assembly guidance.7879## Safety and Quality Constraints8081- Do not invent scores, competitors, metrics, revenue, tool output, or findings.82- Label assumptions and confidence when source data is incomplete.83- Do not include secrets, credentials, API keys, tokens, session records, private context, local absolute paths, or personal identifiers.84- Use placeholders for missing client data.85- Every score must be justifiable with source evidence or labeled assumptions.86- Round scores to whole numbers; decimals imply false precision.87- Keep executive summary tight and client-facing.88- PDF reports are sales/client-facing deliverables; polish and accuracy matter.8990## Validation Rules9192Before completion:9394- Validate JSON parses.95- Confirm required fields are present.96- Confirm all scores are numeric integers from 0 to 100.97- Confirm each finding has severity and evidence-backed text.98- Confirm action tiers are specific and actionable.99- Confirm the PDF file exists after generation.100- Report file path, file size, and any skipped optional sections.101- Do not claim PDF generation succeeded without checking the output file.102103See [troubleshooting-and-validation.md](references/troubleshooting-and-validation.md) for detailed checks and failure modes.104105## Output Expectations106107Create:108109- `MARKETING-REPORT-<domain>.pdf` in the project root, unless the user requests another location.110111Report:112113- Source files used.114- Output PDF filename and size.115- Score summary.116- Optional sections included or skipped.117- Validation performed.118- Any assumptions, missing data, or follow-up recommendations.119120## Minimal Examples121122```text123/market report-pdf example.com124Generate a client-ready PDF from MARKETING-AUDIT.md and COMPETITOR-ANALYSIS.md.125Create a prospect PDF report using the audit files and label any estimated scores.126```127128## Reference Map129130- Detailed workflow, data collection, script invocation, cleanup: [pdf-workflow.md](references/pdf-workflow.md)131- Full JSON schema and field assembly guide: [json-schema-and-fields.md](references/json-schema-and-fields.md)132- PDF page contents, colors, score-to-color mapping, output expectations: [pdf-output-reference.md](references/pdf-output-reference.md)133- Troubleshooting and validation checks: [troubleshooting-and-validation.md](references/troubleshooting-and-validation.md)134- Integration workflow and public-safe examples: [examples-and-integration.md](references/examples-and-integration.md)