π‘ Summary
An AI-driven tool that generates diverse, conversion-focused ads using a hook-first methodology.
π― Target Audience
π€ AI Roast: βPowerful, but the setup might scare off the impatient.β
Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); API keys/tokens handling and storage; dependency pinning and supply-chain risk. Run with least privilege and audit before enabling in production.
Creative Ad Agent
An AI-powered creative advertising agent that generates conversion-focused ads using a hook-first methodology. Built with the Claude Agent SDK, it analyzes brand websites, extracts factual data, and creates 6 diverse ad concepts with AI-generated images.
Features
- Hook-First Ad Generation - Hooks are mined from research data using proven formulas (hooks = 80% of ad performance)
- Research-Driven - Extracts real data from brand websites: offers, value props, proof points, testimonials
- 6 Diverse Concepts - Each concept uses a different emotional trigger (social proof, urgency, curiosity, etc.)
- AI Image Generation - Creates visuals via fal.ai Nano Banana Pro
- Session Management - Stateful conversations with forking for A/B testing
- Dual Deployment - Local development server + Cloudflare Workers production
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ORCHESTRATOR (Main Agent) β
β β
β βββββββββββββββ ββββββββββββββββββββ βββββββββββββββ β
β β research β β β hook-methodology β β β art-style β β
β β (Agent) β β (Skill) β β (Skill) β β
β βββββββββββββββ ββββββββββββββββββββ βββββββββββββββ β
β β β β β
β research.md hook-bank.md prompts.json β
β β β
β βββββββββββββββ β
β β nano-banana β β
β β (MCP/fal) β β
β βββββββββββββββ β
β β β
β 6 PNG images β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Workflow
- Parse - Extract URL and brand name from request
- Research - Agent fetches homepage, extracts offers/value props/proof points
- Hooks - Skill generates 10+ hooks, selects 6 with diversity matrix
- Art - Skill creates visual prompts for each hook
- Images - MCP generates images via fal.ai
- Complete - Returns 6 ad concepts with images
Quick Start
Prerequisites
- Node.js v20+
- Anthropic API Key
- fal.ai API Key
Installation
# Clone the repository git clone https://github.com/DV0x/creative-ad-agent.git cd creative-ad-agent # Install server dependencies cd server && npm install # Create environment file cp .env.example .env # Edit .env with your API keys
Running Locally
# Start the server cd server npm run dev # Server runs at http://localhost:3001
Generate Ads
curl -X POST http://localhost:3001/generate \ -H "Content-Type: application/json" \ -d '{"prompt": "Create ads for https://example.com"}'
Project Structure
creative-ad-agent/
βββ agent/ # Agent ecosystem
β βββ .claude/
β βββ agents/
β β βββ research.md # Data extraction agent
β βββ skills/
β βββ hook-methodology/
β β βββ SKILL.md # Hook generation skill
β β βββ formulas.md # Hook formula reference
β βββ art-style/
β βββ SKILL.md # Visual prompt skill
β βββ workflows/ # Style-specific workflows
β
βββ server/ # Local Express server
β βββ sdk-server.ts # Main server
β βββ lib/
β βββ ai-client.ts # Claude SDK wrapper
β βββ nano-banana-mcp.ts # fal.ai MCP integration
β βββ session-manager.ts # Session handling
β βββ orchestrator-prompt.ts
β
βββ client/ # React frontend
β βββ src/
β βββ App.tsx
β βββ hooks/useGenerate.ts
β βββ components/
β
βββ creative-agent-cf/ # Cloudflare Workers deployment
β βββ src/ # Worker code
β βββ sandbox/ # Container code
β
βββ docs/ # Documentation
API Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
| /generate | POST | Generate ad campaign |
| /health | GET | Health check |
| /sessions | GET | List active sessions |
| /sessions/:id | GET | Get session info |
| /sessions/:id/continue | POST | Resume session |
| /sessions/:id/fork | POST | Fork for A/B testing |
| /images/:session/:file | GET | Serve generated image |
Hook Methodology
The system uses a research-first approach where every hook is traceable to specific data:
| Hook Type | Emotional Trigger | Example | |-----------|------------------|---------| | Stat/Data | Social Proof | "847 homeowners saved $12,340 last year" | | Story/Result | Empathy + Relief | "Sarah was paying $2,100/mo. Now she pays $1,650" | | FOMO/Urgency | Loss Aversion | "Rates just dropped 0.5%. Lock yours before Friday" | | Curiosity | Intrigue | "The 3-minute check that saved Mark $347/month" | | Call-out | Recognition | "Toronto renters paying $2,500+: You could own for less" | | Contrast/Enemy | Differentiation | "Banks want you confused. We want you approved" |
Art Styles
The default style is Soft Brutalism Clay - neo-brutalist borders with warm clay textures. Additional workflows available:
soft-brutalism-clay.md- Defaultanderson-clay-diorama.md- Wes Anderson-inspired theatrical scenes
Cloudflare Deployment
cd creative-agent-cf # Set secrets wrangler secret put ANTHROPIC_API_KEY wrangler secret put FAL_KEY # Deploy npm run deploy
See docs/cloudflare-deployment-plan.md for detailed instructions.
React Client
cd client npm install npm run dev # Opens at http://localhost:5173
Features:
- Real-time SSE streaming
- Phase progress indicators
- Terminal-style log output
- Image gallery with lightbox
Configuration
| Variable | Required | Description |
|----------|----------|-------------|
| ANTHROPIC_API_KEY | Yes | Claude API key |
| FAL_KEY | Yes | fal.ai image generation key |
| PORT | No | Server port (default: 3001) |
| CLAUDE_CODE_MAX_OUTPUT_TOKENS | No | Token limit (default: 16384) |
Documentation
- ARCHITECTURE.md - Complete system architecture
- docs/cloudflare-deployment-plan.md - Cloudflare deployment
- docs/frontend-design-system.md - UI design specs
- docs/LESSONS_LEARNED.md - Development insights
Tech Stack
- Runtime: Node.js, TypeScript
- AI: Claude Agent SDK, Claude Opus 4.5
- Images: fal.ai Nano Banana Pro
- Server: Express.js
- Client: React, Zustand, Vite, Tailwind CSS
- Production: Cloudflare Workers + Sandbox
Contributing
Contributions are welcome! Please read the existing code patterns and ensure your changes follow the hook-first methodology philosophy.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT License - see LICENSE for details.
Acknowledgments
- Built with Claude Agent SDK
- Image generation by fal.ai
- Hook methodology inspired by conversion copywriting principles
Pros
- Utilizes a research-driven approach for ad creation
- Generates diverse ad concepts to appeal to various emotions
- Integrates AI for image generation, enhancing visual appeal
- Supports both local and cloud deployment options
Cons
- Requires API keys for functionality, which may be a barrier
- Complex setup process for new users
- Dependence on external services for image generation
- Limited documentation on advanced features
Related Skills
pytorch
SβIt's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.β
agno
SβIt promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.β
nuxt-skills
SβIt's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.β
Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.
Copyright belongs to the original author DV0x.
