content-asset-creator
Creates beautiful, branded HTML content assets — industry reports, landing pages, comparison sheets, one-pagers — from structured data. Uses Gamma API (preferred), v0.dev Platform API, or a self-hosted HTML template system with Tailwind CSS. Outputs self-contained HTML files that can be hosted as web pages or converted to PDF.
Best use case
content-asset-creator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Creates beautiful, branded HTML content assets — industry reports, landing pages, comparison sheets, one-pagers — from structured data. Uses Gamma API (preferred), v0.dev Platform API, or a self-hosted HTML template system with Tailwind CSS. Outputs self-contained HTML files that can be hosted as web pages or converted to PDF.
Teams using content-asset-creator should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/content-asset-creator/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How content-asset-creator Compares
| Feature / Agent | content-asset-creator | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Creates beautiful, branded HTML content assets — industry reports, landing pages, comparison sheets, one-pagers — from structured data. Uses Gamma API (preferred), v0.dev Platform API, or a self-hosted HTML template system with Tailwind CSS. Outputs self-contained HTML files that can be hosted as web pages or converted to PDF.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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:**
```yaml
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
```bash
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.
```bash
# 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:**
```html
<!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:
```bash
# 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
```json
{
"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.Related Skills
content-repurposer
Take a long-form asset (blog post, webinar, podcast, LinkedIn article) and generate 10+ derivative pieces ready to publish: LinkedIn posts, tweets/X threads, email snippets, short-form hooks, and pull-quotes. Pure reasoning skill — no scripts, no scraping. Use when a founder or marketer has created one piece of content and needs to distribute it across multiple channels without writing each variant from scratch.
competitor-content-tracker
Monitor competitor content across blogs, LinkedIn, and Twitter/X on a recurring basis. Surfaces new posts, trending topics, and content gaps you can own. Chains blog-scraper, linkedin-profile-post-scraper, and twitter-scraper. Use when you want a weekly digest of what competitors are publishing and which topics are generating engagement.
seo-content-engine
Build and run an SEO content engine: audit current state, identify gaps, build keyword architecture, generate content calendar, draft content.
seo-content-audit
Comprehensive SEO footprint analysis. Catalogs all content, pulls real SEO metrics (via Apify Semrush/Ahrefs scrapers or free web search probes), runs competitor analysis, builds topic/keyword and content-type gap matrices, and produces a prioritized recommendations report. The complete SEO audit for any company.
kol-content-monitor
Track what key opinion leaders (KOLs) in your space are posting on LinkedIn and Twitter/X. Surfaces trending narratives, high-engagement topics, and early signals of emerging conversations before they peak. Chains linkedin-profile-post-scraper and twitter-mention-tracker. Use when a marketing team wants to ride trends rather than create them from scratch, or when a founder wants to know which topics are resonating with their audience.
content-brief-factory
Generate detailed, differentiated content briefs at scale. Each brief includes SERP analysis, competing page breakdown, unique angles from real customer language (reviews, Reddit), internal linking plan, and SERP feature targets. Batch mode produces 10-50 briefs in one run. Crushes generic "keyword density" briefs from tools like Surfer or Clearscope.
site-content-catalog
Crawl a website's sitemap and blog index to build a complete content inventory. Lists every page with URL, title, publish date, content type, and topic cluster. Groups content by category and topic. Optionally deep-reads top N pages for quality analysis and funnel stage tagging. Use before SEO audits, content gap analysis, or brand voice extraction.
orthogonal-skill-creator
Create, structure, and package agent skills. Use when designing new skills, updating existing skills, or helping users build skills with scripts, references, and assets. Triggers on requests to create skills, write SKILL.md files, or structure skill directories.
orthogonal-scrapecreators
Social media scraping - Instagram, TikTok, LinkedIn, and X/Twitter profiles, posts, and content
orthogonal-get-brand-assets
Get company logos, brand colors, fonts, and style guides
competitor-monitoring-system
Set up and run ongoing competitive intelligence monitoring for a client. Tracks competitor content, ads, reviews, social, and product moves.
client-packet-engine
Batch client packet generator. Takes company names/URLs, runs intelligence + strategy generation, presents strategies for human selection, executes selected strategies in pitch-packet mode (no live campaigns or paid enrichment), and packages into local delivery packets.