Content asset creator

Creates beautiful, branded HTML content assets — industry reports, landing pages, comparison sheets, one-pagers — from structured data.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/content/capabilities/content-asset-creator#main ~/.claude/skills/content-asset-creator

For one project only, change the path to .claude/skills/content-asset-creator.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text259 lines
content-asset-creator/SKILL.md259 lines8.8 KBpushed 96d agoRawView on GitHub

Content Asset Creator

Generates beautiful, branded content assets (reports, landing pages, one-pagers) from structured data. Designed for producing lead magnets, industry reports, and marketing collateral programmatically.

Quick Start

Create a 2-page industry report for Juicebox about "The State of AI Recruiting in 2026".
Use these data points: [list stats]. Brand: Juicebox blue, clean modern design.

Inputs

  • Asset type (required) — report, landing-page, comparison, one-pager
  • Content data (required) — structured data for the asset (title, sections, stats, narrative)
  • Brand config (optional) — colors, fonts, logo URL. Defaults to Juicebox brand.
  • Output — HTML file path (default: output/[asset-type]-[date].html)

Asset Types

1. Industry Report (2-3 pages)

A data-forward document with stats, narrative sections, and visualizations.

Input structure:

type: report
title: "The State of AI Recruiting — 2026"
subtitle: "Data-driven insights on how AI is transforming talent acquisition"
brand:
  name: "Juicebox"
  primary_color: "#4F46E5"  # Indigo/blue
  secondary_color: "#10B981"  # Green accent
  font: "Inter"
  logo_url: "https://juicebox.ai/logo.svg"
sections:
  - type: hero-stat
    stat: "93%"
    label: "of recruiters plan to increase AI use in 2026"
    source: "LinkedIn Talent Solutions"
  - type: narrative
    title: "The AI Recruiting Revolution"
    body: "AI adoption in recruiting jumped from 26% to 43% in just two years..."
  - type: stat-grid
    stats:
      - { value: "800M+", label: "Profiles searchable by AI" }
      - { value: "47%", label: "Reduction in time-to-fill" }
      - { value: "10x", label: "Cheaper than LinkedIn Recruiter" }
  - type: comparison-table
    headers: ["Feature", "Traditional", "AI-Powered"]
    rows:
      - ["Search method", "Boolean keywords", "Natural language"]
      - ["Data sources", "1 (LinkedIn)", "60+ sources"]
  - type: cta
    headline: "See AI recruiting in action"
    body: "Try PeopleGPT free — search 800M+ profiles in natural language"
    button_text: "Get Started Free"
    button_url: "https://juicebox.ai"
footer:
  text: "© 2026 Juicebox. Data sources cited throughout."

2. Landing Page (single page with CTA)

A single-page marketing asset with a headline, value props, and email capture.

3. Comparison Page (side-by-side)

A visual comparison of two products (e.g., Juicebox vs LinkedIn Recruiter).

4. One-Pager (quick reference)

A dense, single-page reference sheet (e.g., "PeopleGPT Prompt Library").

Step-by-Step Process

Step 1: Choose Generation Method

Check which tools are available (in priority order):

  1. Gamma API (preferred) — If GAMMA_API_KEY is set, use Gamma Generate API v1.0 (GA since Nov 2025). Requires Pro account ($16/mo). Can create presentations, documents, and web pages programmatically. Supports 60+ languages, up to 100K token input. Rate limit: hundreds per hour.
  2. v0.dev Platform API — If V0_API_KEY is set, use Vercel's v0 Platform API (beta). Requires Premium ($20/mo) or Team plan. Generates React + Tailwind code from prompts. Best for landing pages and interactive web content.
  3. Self-hosted HTML — Fallback: generate HTML directly using Tailwind CSS templates. No external dependency. Full control over output.

Step 2A: Gamma API Generation (Preferred)

Gamma's Generate API v1.0 creates presentations, documents, and web pages from text prompts.

API docs: https://developers.gamma.app/docs/getting-started

curl -X POST https://api.gamma.app/v1/generate \
  -H "Authorization: Bearer $GAMMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "<structured content prompt>",
    "format": "document",
    "theme": "<optional theme ID>"
  }'

Tips for Gamma:

  • List your available themes first: GET /v1/themes
  • Can share via email programmatically
  • Supports creating from templates: use POST /v1/generate-from-template
  • Output can be viewed as a hosted Gamma page or exported

Step 2B: v0.dev Platform API Generation

v0's Platform API generates React + Tailwind code from natural language prompts.

API docs: https://v0.app/docs/api/platform/overview

The workflow: prompt → project → code files → deployment. Output is deployable to Vercel instantly.

# Create a project with a prompt
curl -X POST https://api.v0.dev/v1/projects \
  -H "Authorization: Bearer $V0_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Create a professional industry report page with..."
  }'

Tips for v0:

  • Best for interactive web pages and landing pages
  • Output is React/Next.js + Tailwind — can be deployed or converted to static HTML
  • Usage-based billing on top of subscription

Step 2C: Self-Hosted HTML Generation (Fallback)

Generate a self-contained HTML file:

  1. Load the template for the asset type
  2. Inject content from the structured data
  3. Apply brand styles (colors, fonts, logo)
  4. Generate data visualizations using inline SVG or CSS
  5. Output as a single HTML file with all styles inlined

HTML Template Structure:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>{{ title }}</title>
  <script src="https://cdn.tailwindcss.com"></script>
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
  <script>
    tailwind.config = {
      theme: {
        extend: {
          colors: {
            brand: '{{ primary_color }}',
            accent: '{{ secondary_color }}'
          },
          fontFamily: {
            sans: ['Inter', 'sans-serif']
          }
        }
      }
    }
  </script>
  <style>
    /* Print styles for PDF conversion */
    @media print {
      .page-break { page-break-before: always; }
      body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    }
  </style>
</head>
<body class="font-sans bg-white text-gray-900">
  <!-- Content sections generated here -->
</body>
</html>

Section Templates:

  • hero-stat: Large stat number with label and source
  • narrative: Title + body text in clean typography
  • stat-grid: 3-4 stats in a responsive grid
  • comparison-table: Side-by-side table with highlighting
  • chart: Simple bar/donut chart using CSS or inline SVG
  • cta: Call-to-action block with button
  • footer: Branded footer with disclaimers

Step 3: Output

Save the HTML file:

clients/<client>/strategies/<strategy>/content/[asset-name].html

Optionally convert to PDF:

# Using playwright/puppeteer (if installed)
npx playwright screenshot output.html output.pdf --format=pdf

Or provide instructions for manual PDF conversion (print to PDF from browser).

Brand Configurations

Juicebox Brand

{
  "name": "Juicebox",
  "primary_color": "#4F46E5",
  "secondary_color": "#10B981",
  "accent_color": "#F59E0B",
  "background": "#FFFFFF",
  "text_color": "#111827",
  "font_heading": "Inter",
  "font_body": "Inter",
  "logo_url": "https://juicebox.ai/logo.svg"
}

Save brand configs at: skills/content-asset-creator/brands/[client].json

Tips

  • Keep reports to 2-3 pages max. Busy recruiters won't read more.
  • Lead with the biggest, most surprising stat. Make it impossible to scroll past.
  • Every section should have exactly ONE key takeaway. Don't dilute with multiple messages.
  • The CTA should feel natural, not bolted on. The data should lead to the conclusion that the reader needs your product.
  • For PDF distribution: test that the HTML prints well before sending. Use @media print styles.
  • For web distribution: add Open Graph meta tags so it looks good when shared on LinkedIn/Twitter.

Dependencies

  • Tailwind CSS (via CDN — no build step)
  • Google Fonts (via CDN)
  • Optional: Gamma API key (GAMMA_API_KEY) — Requires Gamma Pro account ($16/mo). API v1.0 GA. Docs: https://developers.gamma.app
  • Optional: v0.dev API key (V0_API_KEY) — Requires v0 Premium ($20/mo). Platform API (beta). Docs: https://v0.app/docs/api/platform/overview
  • Optional: Playwright/Puppeteer for PDF conversion

Templates

Templates are stored at skills/content-asset-creator/templates/:

  • report.html — Industry report template
  • landing-page.html — Landing page with email capture
  • comparison.html — Product comparison page
  • one-pager.html — Quick reference sheet

Each template accepts the content data structure defined above.

1---
2name: content-asset-creator
3description: >
4 Creates beautiful, branded HTML content assets — industry reports, landing pages,
5 comparison sheets, one-pagers — from structured data. Uses Gamma API (preferred),
6 v0.dev Platform API, or a self-hosted HTML template system with Tailwind CSS.
7 Outputs self-contained HTML files that can be hosted as web pages or converted to PDF.
8---
9 
10# Content Asset Creator
11 
12Generates beautiful, branded content assets (reports, landing pages, one-pagers) from structured data. Designed for producing lead magnets, industry reports, and marketing collateral programmatically.
13 
14## Quick Start
15 
16```
17Create a 2-page industry report for Juicebox about "The State of AI Recruiting in 2026".
18Use these data points: [list stats]. Brand: Juicebox blue, clean modern design.
19```
20 
21## Inputs
22 
23- **Asset type** (required) — `report`, `landing-page`, `comparison`, `one-pager`
24- **Content data** (required) — structured data for the asset (title, sections, stats, narrative)
25- **Brand config** (optional) — colors, fonts, logo URL. Defaults to Juicebox brand.
26- **Output** — HTML file path (default: `output/[asset-type]-[date].html`)
27 
28## Asset Types
29 
30### 1. Industry Report (2-3 pages)
31 
32A data-forward document with stats, narrative sections, and visualizations.
33 
34**Input structure:**
35```yaml
36type: report
37title: "The State of AI Recruiting — 2026"
38subtitle: "Data-driven insights on how AI is transforming talent acquisition"
39brand:
40 name: "Juicebox"
41 primary_color: "#4F46E5" # Indigo/blue
42 secondary_color: "#10B981" # Green accent
43 font: "Inter"
44 logo_url: "https://juicebox.ai/logo.svg"
45sections:
46 - type: hero-stat
47 stat: "93%"
48 label: "of recruiters plan to increase AI use in 2026"
49 source: "LinkedIn Talent Solutions"
50 - type: narrative
51 title: "The AI Recruiting Revolution"
52 body: "AI adoption in recruiting jumped from 26% to 43% in just two years..."
53 - type: stat-grid
54 stats:
55 - { value: "800M+", label: "Profiles searchable by AI" }
56 - { value: "47%", label: "Reduction in time-to-fill" }
57 - { value: "10x", label: "Cheaper than LinkedIn Recruiter" }
58 - type: comparison-table
59 headers: ["Feature", "Traditional", "AI-Powered"]
60 rows:
61 - ["Search method", "Boolean keywords", "Natural language"]
62 - ["Data sources", "1 (LinkedIn)", "60+ sources"]
63 - type: cta
64 headline: "See AI recruiting in action"
65 body: "Try PeopleGPT free — search 800M+ profiles in natural language"
66 button_text: "Get Started Free"
67 button_url: "https://juicebox.ai"
68footer:
69 text: "© 2026 Juicebox. Data sources cited throughout."
70```
71 
72### 2. Landing Page (single page with CTA)
73 
74A single-page marketing asset with a headline, value props, and email capture.
75 
76### 3. Comparison Page (side-by-side)
77 
78A visual comparison of two products (e.g., Juicebox vs LinkedIn Recruiter).
79 
80### 4. One-Pager (quick reference)
81 
82A dense, single-page reference sheet (e.g., "PeopleGPT Prompt Library").
83 
84## Step-by-Step Process
85 
86### Step 1: Choose Generation Method
87 
88Check which tools are available (in priority order):
89 
901. **Gamma API** (preferred) — If `GAMMA_API_KEY` is set, use Gamma Generate API v1.0 (GA since Nov 2025). Requires Pro account ($16/mo). Can create presentations, documents, and web pages programmatically. Supports 60+ languages, up to 100K token input. Rate limit: hundreds per hour.
912. **v0.dev Platform API** — If `V0_API_KEY` is set, use Vercel's v0 Platform API (beta). Requires Premium ($20/mo) or Team plan. Generates React + Tailwind code from prompts. Best for landing pages and interactive web content.
923. **Self-hosted HTML** — Fallback: generate HTML directly using Tailwind CSS templates. No external dependency. Full control over output.
93 
94### Step 2A: Gamma API Generation (Preferred)
95 
96Gamma's Generate API v1.0 creates presentations, documents, and web pages from text prompts.
97 
98**API docs:** https://developers.gamma.app/docs/getting-started
99 
100```bash
101curl -X POST https://api.gamma.app/v1/generate \
102 -H "Authorization: Bearer $GAMMA_API_KEY" \
103 -H "Content-Type: application/json" \
104 -d '{
105 "prompt": "<structured content prompt>",
106 "format": "document",
107 "theme": "<optional theme ID>"
108 }'
109```
110 
111**Tips for Gamma:**
112- List your available themes first: `GET /v1/themes`
113- Can share via email programmatically
114- Supports creating from templates: use `POST /v1/generate-from-template`
115- Output can be viewed as a hosted Gamma page or exported
116 
117### Step 2B: v0.dev Platform API Generation
118 
119v0's Platform API generates React + Tailwind code from natural language prompts.
120 
121**API docs:** https://v0.app/docs/api/platform/overview
122 
123The workflow: prompt → project → code files → deployment. Output is deployable to Vercel instantly.
124 
125```bash
126# Create a project with a prompt
127curl -X POST https://api.v0.dev/v1/projects \
128 -H "Authorization: Bearer $V0_API_KEY" \
129 -H "Content-Type: application/json" \
130 -d '{
131 "prompt": "Create a professional industry report page with..."
132 }'
133```
134 
135**Tips for v0:**
136- Best for interactive web pages and landing pages
137- Output is React/Next.js + Tailwind — can be deployed or converted to static HTML
138- Usage-based billing on top of subscription
139 
140### Step 2C: Self-Hosted HTML Generation (Fallback)
141 
142Generate a self-contained HTML file:
143 
1441. **Load the template** for the asset type
1452. **Inject content** from the structured data
1463. **Apply brand styles** (colors, fonts, logo)
1474. **Generate data visualizations** using inline SVG or CSS
1485. **Output** as a single HTML file with all styles inlined
149 
150**HTML Template Structure:**
151```html
152<!DOCTYPE html>
153<html lang="en">
154<head>
155 <meta charset="UTF-8">
156 <meta name="viewport" content="width=device-width, initial-scale=1.0">
157 <title>{{ title }}</title>
158 <script src="https://cdn.tailwindcss.com"></script>
159 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
160 <script>
161 tailwind.config = {
162 theme: {
163 extend: {
164 colors: {
165 brand: '{{ primary_color }}',
166 accent: '{{ secondary_color }}'
167 },
168 fontFamily: {
169 sans: ['Inter', 'sans-serif']
170 }
171 }
172 }
173 }
174 </script>
175 <style>
176 /* Print styles for PDF conversion */
177 @media print {
178 .page-break { page-break-before: always; }
179 body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
180 }
181 </style>
182</head>
183<body class="font-sans bg-white text-gray-900">
184 <!-- Content sections generated here -->
185</body>
186</html>
187```
188 
189**Section Templates:**
190 
191- `hero-stat`: Large stat number with label and source
192- `narrative`: Title + body text in clean typography
193- `stat-grid`: 3-4 stats in a responsive grid
194- `comparison-table`: Side-by-side table with highlighting
195- `chart`: Simple bar/donut chart using CSS or inline SVG
196- `cta`: Call-to-action block with button
197- `footer`: Branded footer with disclaimers
198 
199### Step 3: Output
200 
201Save the HTML file:
202```
203clients/<client>/strategies/<strategy>/content/[asset-name].html
204```
205 
206Optionally convert to PDF:
207```bash
208# Using playwright/puppeteer (if installed)
209npx playwright screenshot output.html output.pdf --format=pdf
210```
211 
212Or provide instructions for manual PDF conversion (print to PDF from browser).
213 
214## Brand Configurations
215 
216### Juicebox Brand
217```json
218{
219 "name": "Juicebox",
220 "primary_color": "#4F46E5",
221 "secondary_color": "#10B981",
222 "accent_color": "#F59E0B",
223 "background": "#FFFFFF",
224 "text_color": "#111827",
225 "font_heading": "Inter",
226 "font_body": "Inter",
227 "logo_url": "https://juicebox.ai/logo.svg"
228}
229```
230 
231Save brand configs at: `skills/content-asset-creator/brands/[client].json`
232 
233## Tips
234 
235- Keep reports to 2-3 pages max. Busy recruiters won't read more.
236- Lead with the biggest, most surprising stat. Make it impossible to scroll past.
237- Every section should have exactly ONE key takeaway. Don't dilute with multiple messages.
238- The CTA should feel natural, not bolted on. The data should lead to the conclusion that the reader needs your product.
239- For PDF distribution: test that the HTML prints well before sending. Use `@media print` styles.
240- For web distribution: add Open Graph meta tags so it looks good when shared on LinkedIn/Twitter.
241 
242## Dependencies
243 
244- Tailwind CSS (via CDN — no build step)
245- Google Fonts (via CDN)
246- Optional: Gamma API key (`GAMMA_API_KEY`) — Requires Gamma Pro account ($16/mo). API v1.0 GA. Docs: https://developers.gamma.app
247- Optional: v0.dev API key (`V0_API_KEY`) — Requires v0 Premium ($20/mo). Platform API (beta). Docs: https://v0.app/docs/api/platform/overview
248- Optional: Playwright/Puppeteer for PDF conversion
249 
250## Templates
251 
252Templates are stored at `skills/content-asset-creator/templates/`:
253- `report.html` — Industry report template
254- `landing-page.html` — Landing page with email capture
255- `comparison.html` — Product comparison page
256- `one-pager.html` — Quick reference sheet
257 
258Each template accepts the content data structure defined above.
259 

Discussion

Alternatives

Also in Styling & layout