zubair-trabzada/ai-marketing-claude/market-report-pdf
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install zubair-trabzada/ai-marketing-claude/market-report-pdfSKILL.md
PDF Marketing Report Generator
Skill Purpose
Generate a professional, visually polished PDF marketing report using the Python script scripts/generate_pdf_report.py. This skill collects all available audit and analysis data, structures it into the expected JSON format, invokes the script, and produces a branded PDF with score gauges, bar charts, comparison tables, findings, and a prioritized action plan.
When to Use
- User wants a PDF version of the marketing report (not just Markdown)
- User is preparing a deliverable for a client presentation
- User asks for a "polished report", "client-ready report", or "PDF report"
- User wants a visual report with charts and scores
- Triggered by
/market report-pdfor/market report-pdf <domain>
When to Use PDF vs Markdown
| Format | Best For | Pros | Cons | |
|---|---|---|---|---|
| Client presentations, email attachments, sales collateral | Professional appearance, consistent formatting, visual charts, printable | Harder to edit, requires Python script | ||
| Markdown | Internal use, quick reference, iterative editing, version control | Easy to edit, readable in any editor, git-friendly | Less visually polished, no charts |
Rule of thumb: If the report is going to a client or prospect, use PDF. If it is for internal use or further editing, use Markdown.
How to Execute
Step 1: Collect All Available Data
Gather data from all previous skill runs. Check for these files in the project directory:
Primary data sources:
MARKETING-AUDIT.md-- Overall audit resultsLANDING-CRO.md-- Landing page conversion analysisSEO-AUDIT.md-- SEO findingsBRAND-VOICE.md-- Brand voice analysisCOMPETITOR-ANALYSIS.md-- Competitor comparison dataFUNNEL-ANALYSIS.md-- Funnel analysisSOCIAL-AUDIT.md-- Social media auditEMAIL-AUDIT.md-- Email marketing auditAD-AUDIT.md-- Advertising audit
If no previous data exists:
- Recommend the user run
/market audit <url>first for the best results - If the user insists on generating a report without prior audits, analyze the provided URL directly and build the data structure from scratch
- Use the analyze_page.py script to gather automated data:
python scripts/analyze_page.py <url>
Step 2: Build the JSON Data Structure
The scripts/generate_pdf_report.py script expects a JSON file as input with this exact structure:
Step 3: Field-by-Field Data Assembly Guide
url (string, required)
The target website URL. Use the full URL including protocol.
date (string, required)
The report generation date. Format: "Month DD, YYYY" (e.g., "March 1, 2026").
brand_name (string, required)
The company or brand name. Used in competitor comparison table headers.
overall_score (integer, 0-100, required)
The weighted average of all category scores. Calculate as:
executive_summary (string, required)
A 2-4 sentence summary covering:
- Current marketing health assessment
- Top 1-2 most impactful findings
- Estimated revenue impact of implementing recommendations
- Recommended first step
Keep it concise and impactful. This appears on the cover page right below the score gauge.
categories (object, required)
Exactly 6 categories with their scores. The categories map to these evaluation areas:
| Category | What It Measures | Scoring Guidance | |
|---|---|---|---|
| Content & Messaging | Copy quality, value proposition, headline clarity, CTA text, brand voice consistency | 80+: Clear, benefit-driven, specific. 60-79: Adequate but generic. <60: Vague, feature-focused, unclear | |
| Conversion Optimization | Social proof, form design, CTA placement, objection handling, urgency | 80+: Multiple proof types, optimized forms, clear CTAs. 60-79: Some elements present. <60: Missing critical elements | |
| SEO & Discoverability | Title tags, meta descriptions, headers, schema, internal linking, page speed | 80+: Fully optimized. 60-79: Mostly present with gaps. <60: Major issues or missing elements | |
| Competitive Positioning | Differentiation, pricing clarity, comparison content, market awareness | 80+: Clear positioning, comparison pages exist. 60-79: Some differentiation. <60: No clear positioning | |
| Brand & Trust | Design quality, trust badges, security indicators, professional appearance | 80+: Modern design, trust signals throughout. 60-79: Adequate design. <60: Outdated or unprofessional | |
| Growth & Strategy | Lead capture, email marketing, content strategy, acquisition channels | 80+: Multi-channel strategy in place. 60-79: Some channels active. <60: No clear growth strategy |
findings (array, required)
An array of finding objects, each with severity and finding fields.
Severity levels:
Critical-- Directly losing revenue or customers. Fix immediately.High-- Significant impact on growth. Fix within 1-2 weeks.Medium-- Meaningful improvement opportunity. Fix within 1 month.Low-- Nice-to-have improvement. Fix when time allows.
Writing effective findings:
- Be specific: "Homepage headline says 'Welcome to Our Platform'" not "Headline needs improvement"
- Quantify impact: "Missing meta descriptions on 8 of 12 landing pages"
- Reference benchmarks: "Page load time is 4.2s (benchmark: under 2s)"
- Include evidence: "No testimonials found on homepage, pricing page, or signup page"
Aim for 5-10 findings. Order from most to least severe.
quick_wins (array, required)
3-5 action items that can be implemented within one week with minimal effort. Each should be a specific, actionable instruction.
Good quick win: "Rewrite the homepage headline from 'Welcome to Our Platform' to 'Cut Your Reporting Time by 75% -- Automated Analytics for Growth Teams'"
Bad quick win: "Improve the headline" (too vague)
medium_term (array, required)
3-5 action items requiring 1-3 months to implement. These are more involved but have high impact.
strategic (array, required)
3-5 action items requiring 3-6 months. These are foundational changes that require planning and sustained effort.
competitors (array, optional)
Up to 3 competitor objects for the comparison table. If no competitor data is available, omit this field -- the script will skip the competitor section.
Step 4: Write the JSON File
Save the assembled data as a temporary JSON file:
Step 5: Invoke the PDF Generator Script
Prerequisites check: First, verify that reportlab is installed:
Generate the report:
Replace <domain> with the target website's domain name (without protocol or www), using hyphens instead of dots. For example:
example.combecomesMARKETING-REPORT-example-com.pdfmyapp.iobecomesMARKETING-REPORT-myapp-io.pdf
Demo mode (no arguments): Running the script without arguments generates a sample report with placeholder data:
Step 6: Verify the Output
After generation, verify the PDF was created:
Report the file path and size to the user.
Step 7: Clean Up
Remove the temporary JSON file:
PDF Report Contents
The generated PDF includes the following pages:
Page 1: Cover Page
- Report title: "Marketing Audit Report"
- Target URL
- Generation date
- Overall score gauge (circular visualization with color coding)
- Grade letter (A+ through F)
- Executive summary paragraph
Page 2: Score Breakdown
- Horizontal bar chart showing all 6 category scores with color coding
- Score table with category names, scores, weights, and status labels
- Color coding: Green (80+), Blue (60-79), Yellow (40-59), Red (<40)
Page 3: Key Findings
- Findings table with severity labels and descriptions
- Color-coded severity indicators (Critical = red, High = orange, Medium = yellow, Low = blue)
- Findings ordered from most to least severe
Page 4: Prioritized Action Plan
- Quick Wins section (This Week)
- Medium-Term section (1-3 Months)
- Strategic section (3-6 Months)
- Numbered action items in each tier
Page 5: Competitive Landscape (if competitor data provided)
- Comparison table with client vs up to 3 competitors
- Rows: Positioning, Pricing, Social Proof, Content
Final Page: Methodology
- Scoring methodology explanation
- Category weights and measurement criteria
- Footer: "Generated by AI Marketing Suite for Claude Code"
Color Scheme
The PDF uses a professional color palette:
| Element | Color | Hex Code | |
|---|---|---|---|
| Primary (headers, titles) | Dark Navy | #1B2A4A | |
| Accent (links, highlights) | Blue | #2D5BFF | |
| Highlight (attention) | Orange | #FF6B35 | |
| Success (high scores) | Green | #00C853 | |
| Warning (medium scores) | Amber | #FFB300 | |
| Danger (low scores, critical) | Red | #FF1744 | |
| Light background | Light Gray | #F5F7FA | |
| Body text | Dark Gray | #2C3E50 | |
| Secondary text | Medium Gray | #7F8C9B | |
| Borders | Light Border | #E0E6ED |
Score-to-Color Mapping
- 80-100: Green (#00C853) -- Strong performance
- 60-79: Blue (#2D5BFF) -- Solid with room to improve
- 40-59: Amber (#FFB300) -- Needs attention
- 0-39: Red (#FF1744) -- Critical issues
Troubleshooting
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/market-report-pdf/SKILL.md
Popularity
- Repository stars
- 340
- Repository forks
- 172
- 7-day trend score
- 29
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/zubair-trabzada/ai-marketing-claude/market-report-pdf)