# Market Report Pdf

> A Claude skill from zubair-trabzada/ai-marketing-claude.

- **Type:** Skill
- **Install:** `agentstack add skill-zubair-trabzada-ai-marketing-claude-market-report-pdf`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [zubair-trabzada](https://agentstack.voostack.com/s/zubair-trabzada)
- **Installs:** 0
- **Category:** [Communication](https://agentstack.voostack.com/c/communication)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [zubair-trabzada](https://github.com/zubair-trabzada)
- **Source:** https://github.com/zubair-trabzada/ai-marketing-claude/tree/main/skills/market-report-pdf
- **Website:** https://www.skool.com/aiworkshop

## Install

```sh
agentstack add skill-zubair-trabzada-ai-marketing-claude-market-report-pdf
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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-pdf` or `/market report-pdf `

## When to Use PDF vs Markdown

| Format | Best For | Pros | Cons |
|---|---|---|---|
| **PDF** | 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 results
- `LANDING-CRO.md` -- Landing page conversion analysis
- `SEO-AUDIT.md` -- SEO findings
- `BRAND-VOICE.md` -- Brand voice analysis
- `COMPETITOR-ANALYSIS.md` -- Competitor comparison data
- `FUNNEL-ANALYSIS.md` -- Funnel analysis
- `SOCIAL-AUDIT.md` -- Social media audit
- `EMAIL-AUDIT.md` -- Email marketing audit
- `AD-AUDIT.md` -- Advertising audit

**If no previous data exists:**
1. Recommend the user run `/market audit ` first for the best results
2. If the user insists on generating a report without prior audits, analyze the provided URL directly and build the data structure from scratch
3. Use the analyze_page.py script to gather automated data: `python scripts/analyze_page.py `

### Step 2: Build the JSON Data Structure
The `scripts/generate_pdf_report.py` script expects a JSON file as input with this exact structure:

```json
{
  "url": "https://example.com",
  "date": "March 1, 2026",
  "brand_name": "Example Co",
  "overall_score": 62,
  "executive_summary": "A 2-4 sentence summary of the overall marketing health, key opportunities, and estimated revenue impact of implementing recommendations.",
  "categories": {
    "Content & Messaging": {
      "score": 68,
      "weight": "25%"
    },
    "Conversion Optimization": {
      "score": 52,
      "weight": "20%"
    },
    "SEO & Discoverability": {
      "score": 74,
      "weight": "20%"
    },
    "Competitive Positioning": {
      "score": 48,
      "weight": "15%"
    },
    "Brand & Trust": {
      "score": 70,
      "weight": "10%"
    },
    "Growth & Strategy": {
      "score": 55,
      "weight": "10%"
    }
  },
  "findings": [
    {
      "severity": "Critical",
      "finding": "Description of the most important finding"
    },
    {
      "severity": "High",
      "finding": "Description of a high-priority finding"
    },
    {
      "severity": "Medium",
      "finding": "Description of a medium-priority finding"
    },
    {
      "severity": "Low",
      "finding": "Description of a lower-priority finding"
    }
  ],
  "quick_wins": [
    "First quick win action item",
    "Second quick win action item",
    "Third quick win action item"
  ],
  "medium_term": [
    "First medium-term action item",
    "Second medium-term action item",
    "Third medium-term action item"
  ],
  "strategic": [
    "First strategic action item",
    "Second strategic action item",
    "Third strategic action item"
  ],
  "competitors": [
    {
      "name": "Competitor A",
      "positioning": "Their market position",
      "pricing": "Their pricing model",
      "social_proof": "Their trust signals",
      "content": "Their content approach"
    },
    {
      "name": "Competitor B",
      "positioning": "Their market position",
      "pricing": "Their pricing model",
      "social_proof": "Their trust signals",
      "content": "Their content approach"
    }
  ]
}
```

### 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:
```
overall_score = (content * 0.25) + (conversion * 0.20) + (seo * 0.20) + (competitive * 0.15) + (brand * 0.10) + (growth * 0.10)
```

#### `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.  /tmp/report_data.json /dev/null || pip3 install reportlab
```

**Generate the report:**
```bash
python3 scripts/generate_pdf_report.py /tmp/report_data.json "MARKETING-REPORT-.pdf"
```

Replace `` with the target website's domain name (without protocol or www), using hyphens instead of dots. For example:
- `example.com` becomes `MARKETING-REPORT-example-com.pdf`
- `myapp.io` becomes `MARKETING-REPORT-myapp-io.pdf`

**Demo mode (no arguments):**
Running the script without arguments generates a sample report with placeholder data:
```bash
python3 scripts/generate_pdf_report.py
# Creates: MARKETING-REPORT-sample.pdf
```

### Step 6: Verify the Output
After generation, verify the PDF was created:
```bash
ls -la "MARKETING-REPORT-.pdf"
```

Report the file path and size to the user.

### Step 7: Clean Up
Remove the temporary JSON file:
```bash
rm /tmp/report_data.json
```

## 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 (` -- Generates comprehensive audit data
2. Run `/market competitors ` -- Adds competitor comparison data
3. Run `/market seo ` -- Adds detailed SEO findings
4. Run `/market landing ` -- Adds CRO analysis
5. Run `/market report-pdf ` -- Compiles everything into a PDF

The PDF report skill will automatically look for output files from these skills and incorporate their data into the report JSON.

## Output
- **File:** `MARKETING-REPORT-.pdf`
- **Location:** Project root directory
- **Size:** Typically 200KB-500KB depending on content volume
- **Pages:** 5-7 pages depending on whether competitor data and additional sections are included

## Key Principles
- The PDF report is the most client-facing deliverable in the toolkit. Quality matters.
- Always verify the JSON data is complete and accurate before generating. Garbage in, garbage out.
- Use the PDF for initial client impressions and sales conversations. Follow up with the more detailed Markdown report if the client engages.
- Every score should be justifiable. If a client asks "why did I get a 52 in Conversion Optimization?", the findings should provide clear evidence.
- Round scores to whole numbers. Decimals imply false precision.
- Keep the executive summary tight -- 2-4 sentences maximum. Clients skim cover pages.
- If generating for a prospect (not yet a client), the report serves as a sales tool. Make the opportunities compelling and the action plan achievable.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [zubair-trabzada](https://github.com/zubair-trabzada)
- **Source:** [zubair-trabzada/ai-marketing-claude](https://github.com/zubair-trabzada/ai-marketing-claude)
- **License:** MIT
- **Homepage:** https://www.skool.com/aiworkshop

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-zubair-trabzada-ai-marketing-claude-market-report-pdf
- Seller: https://agentstack.voostack.com/s/zubair-trabzada
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
