{"id":"b328aa5d-117f-44d8-b39f-97acc1167b71","entityType":"agent","slug":"clawhub-andylikescodes-poster-designer","name":"Poster Designer","canonicalUrl":"https://www.xpersona.co/agent/clawhub-andylikescodes-poster-designer","canonicalPath":"/agent/clawhub-andylikescodes-poster-designer","generatedAt":"2026-10-11T01:47:10.731Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T23:22:26.384Z","emptyReason":null},"description":"Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics... Skill: Poster Designer Owner: andylikescodes Summary: Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics... Tags: ai-image:1.0.0, design:1.0.0, latest:1.0.0, marketing:1.0.0, poster:1.0.0 Version history: v1.0.0 | 2026-04-15T03:30:52.970Z | user Initial release: AI-powered poster generation with Gemini API integ","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17aaxm7124m89f8fasetgrsj584mep0:poster-designer","sourceUrl":"https://clawhub.ai/andylikescodes/poster-designer","homepage":"https://clawhub.ai/andylikescodes/skills/poster-designer","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/andylikescodes/poster-designer","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/andylikescodes/skills/poster-designer","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:22:26.384Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:22:26.384Z","emptyReason":null},"stars":null,"forks":null,"downloads":1231,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:22:26.311Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T23:22:26.384Z","lastCrawledAt":"2026-10-10T23:22:26.311Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T23:22:26.311Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-04-15T03:30:52.970Z","changelog":"Initial release: AI-powered poster generation with Gemini API integration. Supports event posters, product showcases, announcements, and social media graphics.","fileCount":9,"zipByteSize":19169}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17aaxm7124m89f8fasetgrsj584mep0:poster-designer","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T01:47:10.729Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-andylikescodes-poster-designer/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T23:22:26.384Z","emptyReason":null},"readme":"Skill: Poster Designer\n\nOwner: andylikescodes\n\nSummary: Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics...\n\nTags: ai-image:1.0.0, design:1.0.0, latest:1.0.0, marketing:1.0.0, poster:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-04-15T03:30:52.970Z | user\n\nInitial release: AI-powered poster generation with Gemini API integration. Supports event posters, product showcases, announcements, and social media graphics.\n\nArchive index:\n\nArchive v1.0.0: 9 files, 19169 bytes\n\nFiles: references/api-docs.md (4581b), references/queue-system.md (1846b), references/rate-limiting.md (630b), references/templates.md (7217b), scripts/compose-poster.js (9945b), scripts/generate-poster.js (13793b), skill-card.md (2584b), SKILL.md (4369b), _meta.json (134b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: poster-designer\ndescription: Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics. Integrates with Gemini image generation API to create visuals based on templates and user content. Use when the user wants to design posters, generate marketing visuals, create promotional materials, or produce image-based content for events, products, or announcements.\n---\n\n# Poster Designer Skill\n\nCreate professional posters and visual designs using AI image generation.\n\n## Quick Start\n\nGenerate a poster:\n\n```\nposter create --type event --title \"Summer Music Festival\" --date \"2026-07-15\"\n```\n\n## Capabilities\n\n- **Event Posters** — Concerts, conferences, meetups, parties\n- **Product Showcases** — E-commerce listings, feature highlights\n- **Announcements** — Launches, openings, special offers\n- **Social Media** — Instagram, Facebook, Twitter graphics\n\n## Usage Patterns\n\n### Interactive Mode\n\nSimply describe what you want:\n\n> \"Create a poster for my band's gig next Friday at the Blue Note\"\n\nThe skill will ask clarifying questions and generate the poster.\n\n### Template Mode\n\nUse predefined templates:\n\n- `event` — General event poster with date/time/location\n- `concert` — Music-focused with band name and setlist\n- `product` — Product showcase with features and pricing\n- `announcement` — News/launch announcement\n- `sale` — Promotional sale poster\n\n### Custom Mode\n\nProvide detailed specifications:\n\n> \"Create a minimalist poster, 1080x1920 (9:16), dark blue background, neon pink text, featuring a geometric guitar illustration\"\n\n## Configuration\n\nSet your Gemini API key:\n\n```bash\nexport GEMINI_API_KEY=\"your-api-key\"\n```\n\nOr create `.env` in the skill directory by copying `.env.example`:\n\n```bash\ncp .env.example .env\n# Edit .env and add your API key\n```\n\n**Security Note:** Never commit your `.env` file or share your API key. Keep it in environment variables or secure secret storage.\n\nGet your API key from: https://makersuite.google.com/app/apikey\n\n## Output Formats\n\n- **PNG** — Default high-quality raster output\n- **With Text Overlay** — Generated image with text composited\n- **Raw + Composite** — Both the base image and final poster\n\n## Design Principles\n\n### Typography\n- Keep text readable (minimum 24pt for important info)\n- Use 2-3 fonts maximum\n- Ensure high contrast between text and background\n\n### Composition\n- Follow the rule of thirds\n- Leave breathing room (don't overcrowd)\n- Use visual hierarchy (most important info largest)\n\n### Color\n- Use complementary or analogous color schemes\n- Ensure accessibility (WCAG AA contrast minimum)\n- Consider brand colors when provided\n\n## API Integration\n\nThe skill uses Gemini image generation API with native multimodal capabilities:\n\n- Model: `gemini-3.1-flash-image-preview` (configurable)\n- Supports aspect ratios: 1:1, 4:3, 16:9, 9:16, 3:4\n- Output sizes: 1K (~1024px), 2K (~2048px), 4K (~3840px)\n\nSee [references/api-docs.md](references/api-docs.md) for detailed API documentation.\n\n## Templates\n\nSee [references/templates.md](references/templates.md) for available templates and customization options.\n\n## Examples\n\n### Event Poster\n\n```\nUser: \"Create a poster for a tech conference on May 15th\"\n\nSkill asks:\n- Event name?\n- Venue?\n- Speaker lineup (optional)?\n- Style preference (modern/minimal/bold)?\n\nThen generates poster with:\n- Compelling headline\n- Date/time/venue prominently displayed\n- Speaker photos or tech-themed visuals\n- QR code placeholder for tickets\n```\n\n### Product Showcase\n\n```\nUser: \"Design a product poster for my new wireless headphones\"\n\nSkill asks:\n- Product name?\n- Key features?\n- Price?\n- Style/tone?\n\nThen generates:\n- Hero product image\n- Feature callouts\n- Price and CTA\n- Brand-appropriate styling\n```\n\n## Error Handling\n\nIf image generation fails:\n1. Retry with exponential backoff (up to 3 attempts)\n2. Provide detailed error message\n3. Offer to adjust prompt and retry\n\n## Security & Safety\n\n- All generated content follows Gemini safety guidelines\n- User content is not stored persistently\n- API keys are never logged or exposed\n- `.env.example` is provided as a template - copy to `.env` and add your key\n- Never commit `.env` files with real credentials\n- Keep API keys in environment variables or secure secret storage\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7fvw45bhqaqb3s041nthdxt984nhkw\",\n  \"slug\": \"poster-designer\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776223852970\n}\n\nFile v1.0.0:references/api-docs.md\n\n# Gemini Image Generation API Reference\n\n## Endpoint\n\n```\nPOST https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent\n```\n\n## Authentication\n\nHeader: `Authorization: Bearer {GEMINI_API_KEY}`\n\nOr query parameter: `key={GEMINI_API_KEY}`\n\n## Supported Models\n\n- `gemini-3.1-flash-image-preview` — **Default**, higher quality image generation (recommended)\n- `gemini-2.5-flash-image` — Faster, lighter weight alternative\n\nNote: These are Gemini models with native image generation capabilities.\n\n## Request Format (Gemini)\n\n```json\n{\n  \"contents\": [{\n    \"role\": \"user\",\n    \"parts\": [{ \"text\": \"Your image generation prompt here\" }]\n  }],\n  \"generationConfig\": {\n    \"responseModalities\": [\"TEXT\", \"IMAGE\"]\n  }\n}\n```\n\n## Response Format (Gemini)\n\n```json\n{\n  \"candidates\": [{\n    \"content\": {\n      \"parts\": [{\n        \"inlineData\": {\n          \"mimeType\": \"image/png\",\n          \"data\": \"base64_encoded_image\"\n        }\n      }]\n    }\n  }]\n}\n```\n\n## Aspect Ratios\n\nGemini supports these aspect ratios natively:\n\n- `1:1` — Square (default)\n- `4:3` — Standard landscape\n- `16:9` — Widescreen\n- `9:16` — Portrait/mobile\n- `3:4` — Portrait\n\nMap to nearest supported ratio when user requests unsupported ratios.\n\n## Image Size Mapping\n\nRequested size → Approximate pixels:\n\n- `1K` → ~1024px on the longer edge\n- `2K` → ~2048px on the longer edge (default)\n- `4K` → ~3840px on the longer edge\n\nNote: Gemini returns images at native resolution based on aspect ratio.\n\n## Prompt Engineering\n\n### Effective Prompt Structure\n\n```\n[Subject] + [Style/Modality] + [Composition] + [Lighting/Mood] + [Technical specs]\n\nExample:\n\"A minimalist event poster for a jazz concert, art deco style, \ncentral illustration of a saxophone with geometric patterns, \nwarm amber lighting on dark navy background, professional print quality\"\n```\n\n### Style Keywords\n\n- Photography: `photorealistic`, `cinematic`, `documentary`\n- Illustration: `vector art`, `watercolor`, `line art`, `minimalist`\n- Design: `flat design`, `material design`, `brutalist`, `art deco`\n- Mood: `vibrant`, `moody`, `elegant`, `playful`, `professional`\n\n### What to Avoid\n\n- Copyrighted characters or brands\n- Specific real people (unless you have rights)\n- Text in the image (Gemini may render garbled text)\n- Overly complex scenes with multiple focal points\n\n## Error Codes\n\n| Code | Meaning | Action |\n|------|---------|--------|\n| 400 | Invalid request | Check prompt for safety violations |\n| 429 | Rate limit | Retry with backoff |\n| 500 | Server error | Retry after delay |\n| 503 | Service unavailable | Retry later |\n\n## Retry Strategy\n\n```javascript\nconst MAX_ATTEMPTS = 3;\nconst BASE_DELAY_MS = 1000;\n\nfor (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {\n  try {\n    return await generateImage(prompt);\n  } catch (error) {\n    if (attempt === MAX_ATTEMPTS) throw error;\n    const delay = BASE_DELAY_MS * Math.pow(2, attempt - 1);\n    await sleep(delay);\n  }\n}\n```\n\n## Rate Limits\n\n- Free tier: 15 requests per minute\n- Paid tier: Varies by model and project\n\nMonitor `x-ratelimit-remaining` header in responses.\n\n## Cost Considerations\n\n- 1K images: ~$0.001-0.003 per image\n- 2K images: ~$0.002-0.006 per image\n- 4K images: ~$0.004-0.012 per image\n\nPrices vary by model tier (Flash vs Pro).\n\n## Reference Image Support\n\nInclude reference images for:\n- Style transfer (\"in the style of this image\")\n- Product placement (\"place this product in the scene\")\n- Background replacement (\"use this background\")\n\nBase64 encode images and include in `parts` array before the text prompt.\n\nExample:\n```json\n{\n  \"contents\": [{\n    \"role\": \"user\",\n    \"parts\": [\n      {\n        \"inline_data\": {\n          \"mime_type\": \"image/jpeg\",\n          \"data\": \"base64_encoded_image_data\"\n        }\n      },\n      {\"text\": \"Create a poster in this style...\"}\n    ]\n  }]\n}\n```\n\n## Safety Filtering\n\nGemini applies safety filters that may:\n- Block certain prompts\n- Blur or refuse generation\n- Return empty results\n\nHandle gracefully by:\n1. Detecting empty/missing image in response\n2. Providing user-friendly error message\n3. Offering to adjust prompt\n\n## API Integration\n\nThe skill uses **Gemini models** with native image generation:\n\n- **Primary**: `gemini-3.1-flash-image-preview` (recommended)\n  - Higher quality image generation\n  - More powerful capabilities\n  \n- **Alternative**: `gemini-2.5-flash-image` (\"Nano Banana\")\n  - Faster, lighter weight\n  - Good for quick drafts\n\nThese models use the standard Gemini API with `responseModalities: [\"TEXT\", \"IMAGE\"]` to enable image generation.\n\nFile v1.0.0:references/queue-system.md\n\n# Job Queue System for Image Generation\n\n## Architecture\n\n```\nUser Request → Queue Manager → Worker Pool → Gemini API\n                    ↓\n              Rate Limiter\n                    ↓\n            Response Handler\n```\n\n## Components\n\n### 1. Queue Manager (Redis/Bull Queue)\n- Stores pending jobs\n- Manages priorities\n- Tracks job status\n\n### 2. Worker Pool\n- Multiple worker processes\n- Max concurrency: 5\n- Auto-scaling based on queue length\n\n### 3. Rate Limiter\n- Per-user tracking\n- Global rate limiting\n- Token bucket algorithm\n\n## Implementation Options\n\n### Option 1: Bull Queue (Redis-based)\n```javascript\nconst Queue = require('bull');\nconst imageQueue = new Queue('image-generation');\n\n// Add job\nimageQueue.add({\n  userId: '5495156302',\n  prompt: '...',\n  priority: 1\n});\n\n// Process\nimageQueue.process(async (job) => {\n  // Generate image\n});\n```\n\n### Option 2: File-based (Simple)\n```javascript\n// Queue file: ~/.openclaw/workspace/.queue/\n// Status: pending, processing, completed, failed\n```\n\n### Option 3: Priority Queue\n- Owner: Priority 1 (0ms delay)\n- Admin: Priority 2 (100ms delay)\n- Manager: Priority 3 (500ms delay)\n- User: Priority 4 (1000ms delay)\n\n## User Experience\n\nWhen overloaded:\n```\n\"您的请求已加入队列，当前位置：第3位，预计等待：45秒\"\n\n(Your request is in queue, position: 3, estimated wait: 45s)\n```\n\n## Scalability\n\nSingle Server:\n- Max 5 concurrent generations\n- Queue up to 100 jobs\n- Auto-retry failed jobs\n\nMulti-Server (Future):\n- Redis shared queue\n- Load balancer\n- Dedicated GPU workers\n\n## Current Recommendation\n\nStart with **Option 2 (File-based)** for simplicity:\n- No Redis dependency\n- Easy to implement\n- Good enough for 10-20 users\n\nUpgrade to **Option 1 (Bull Queue)** when:\n- >20 concurrent users\n- Need real-time status updates\n- Multi-server deployment\n\nFile v1.0.0:references/rate-limiting.md\n\n# Rate Limiting Configuration\n\n## User Rate Limits\n- Max 5 requests per minute per user\n- Max 50 requests per hour per user\n- Queue max 3 concurrent jobs per user\n\n## Global Rate Limits\n- Max 20 concurrent image generations\n- Queue overflow: Wait or reject with message\n\n## Implementation\nUse a simple queue system:\n- Store pending jobs in memory or Redis\n- Process FIFO\n- Notify user of queue position\n\n## User Tiers\n- Free tier: 10 images/day\n- Standard tier: 100 images/day  \n- Pro tier: Unlimited\n\n## Priority System\n- Owner/Admin: Priority 1 (immediate)\n- Manager: Priority 2 (fast queue)\n- User: Priority 3 (standard queue)\n\nFile v1.0.0:references/templates.md\n\n# Poster Templates Reference\n\n## Event Poster Template\n\n### Description\nGeneral-purpose event poster with clear information hierarchy.\n\n### Layout\n- **Header**: Event name (large, bold)\n- **Subheader**: Tagline or event type\n- **Date/Time**: Prominent placement\n- **Location**: Below date or in footer\n- **Visual**: Central illustration or photo\n- **Footer**: Tickets/RSVP info, sponsors, social\n\n### Default Prompt Template\n\n```\nA professional event poster design, [STYLE], featuring:\n- Central [IMAGE_SUBJECT] illustration\n- Clean typography for event details\n- [COLOR_SCHEME] color palette\n- Balanced composition with clear visual hierarchy\n- Modern event poster aesthetic suitable for digital and print\n```\n\n### Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `eventName` | Main event title | \"Summer Music Festival\" |\n| `eventType` | Category | \"Concert\", \"Conference\", \"Workshop\" |\n| `date` | Event date | \"July 15, 2026\" |\n| `time` | Event time | \"7:00 PM\" |\n| `venue` | Location | \"Madison Square Garden\" |\n| `style` | Visual style | \"modern minimalist\", \"bold colorful\", \"elegant\" |\n| `imageSubject` | Central visual | \"musical instruments\", \"city skyline\", \"abstract patterns\" |\n| `colorScheme` | Colors | \"deep blues and golds\", \"vibrant neons on black\" |\n\n## Concert/Music Poster Template\n\n### Description\nMusic-focused poster with band/artist emphasis.\n\n### Layout\n- **Hero**: Band/artist name (largest element)\n- **Visual**: Performance imagery or album art style\n- **Details**: Date, venue, ticket info\n- **Setlist/Features**: Supporting acts, special guests\n- **Footer**: Socials, streaming links\n\n### Default Prompt Template\n\n```\nA dynamic concert poster in [STYLE], featuring:\n- [GENRE]-inspired visual elements\n- [IMAGE_SUBJECT] as central artwork\n- Bold typography suitable for band promotion\n- [COLOR_SCHEME] with high contrast\n- Energetic composition that conveys live music atmosphere\n- Music poster aesthetic inspired by [REFERENCE_STYLE]\n```\n\n### Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `bandName` | Main artist/band | \"The Midnight Echo\" |\n| `genre` | Music genre | \"indie rock\", \"jazz\", \"electronic\" |\n| `venue` | Concert venue | \"The Fillmore\" |\n| `referenceStyle` | Inspiration | \"vintage rock posters\", \"modern electronic\", \"jazz age\" |\n| `imageSubject` | Central visual | \"electric guitar\", \"vinyl records\", \"sound waves\" |\n\n## Product Showcase Template\n\n### Description\nE-commerce style product presentation.\n\n### Layout\n- **Hero**: Product image (high quality, centered)\n- **Headline**: Product name + tagline\n- **Features**: 3-4 key benefits\n- **Price**: Prominent CTA area\n- **Trust**: Reviews, guarantees, shipping info\n\n### Default Prompt Template\n\n```\nA premium product showcase poster for [PRODUCT_TYPE], [STYLE]:\n- Professional product photography style composition\n- [BACKGROUND_TYPE] background\n- Elegant lighting highlighting product features\n- [COLOR_SCHEME] color palette\n- Clean space for text overlay\n- High-end e-commerce aesthetic\n```\n\n### Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `productName` | Product name | \"SonicWave Pro\" |\n| `productType` | Category | \"wireless headphones\", \"smart watch\", \"skincare\" |\n| `style` | Visual style | \"minimalist\", \"lifestyle\", \"technical\" |\n| `backgroundType` | Background | \"clean white\", \"lifestyle scene\", \"gradient\" |\n| `colorScheme` | Colors | \"rose gold and white\", \"matte black and silver\" |\n\n## Sale/Promotional Template\n\n### Description\nHigh-impact promotional poster for discounts and offers.\n\n### Layout\n- **Headline**: Sale announcement (bold, attention-grabbing)\n- **Discount**: Percentage or amount off (largest text)\n- **Visual**: Products or abstract sale imagery\n- **Details**: Dates, exclusions, terms\n- **CTA**: \"Shop Now\", \"Limited Time\" urgency\n\n### Default Prompt Template\n\n```\nAn attention-grabbing sale poster, [STYLE]:\n- Dynamic composition with strong visual impact\n- [COLOR_SCHEME] creating urgency and excitement\n- [IMAGE_SUBJECT] as focal point\n- Space for large bold text overlay\n- High-energy promotional aesthetic\n- Retail advertisement style\n```\n\n### Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `saleType` | Promotion type | \"Flash Sale\", \"Clearance\", \"Black Friday\" |\n| `discount` | Offer amount | \"50% Off\", \"Buy 1 Get 1\" |\n| `colorScheme` | Colors | \"bold red and yellow\", \"electric purple and lime\" |\n| `imageSubject` | Visual | \"exploding confetti\", \"shopping bags\", \"percent sign\" |\n\n## Announcement/Launch Template\n\n### Description\nClean, professional announcement for news and launches.\n\n### Layout\n- **Header**: \"Introducing\" or \"Announcing\"\n- **Main**: Product/service name\n- **Visual**: Teaser image or brand illustration\n- **Details**: Key information, availability\n- **Footer**: Learn more, contact\n\n### Default Prompt Template\n\n```\nA sophisticated announcement poster, [STYLE]:\n- Clean and professional composition\n- [IMAGE_SUBJECT] as central visual\n- [COLOR_SCHEME] conveying innovation and trust\n- Corporate announcement aesthetic\n- Space for clear text hierarchy\n- Modern tech/brand launch style\n```\n\n### Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `announcementType` | Type of news | \"New Product\", \"Now Available\", \"Coming Soon\" |\n| `style` | Visual style | \"corporate\", \"tech startup\", \"luxury\" |\n| `imageSubject` | Visual | \"abstract tech shapes\", \"product reveal\", \"brand logo space\" |\n| `colorScheme` | Colors | \"navy and white\", \"deep purple and silver\" |\n\n## Social Media Templates\n\n### Instagram Post (1:1)\n\n**Prompt**: Square composition optimized for Instagram feed.\n\n### Instagram Story (9:16)\n\n**Prompt**: Vertical composition with safe zones for UI overlays.\n\n### Facebook Event (16:9)\n\n**Prompt**: Widescreen event cover format.\n\n### Twitter/X Post (16:9 or 2:1)\n\n**Prompt**: Horizontal format for timeline visibility.\n\n## Color Schemes Reference\n\n### Professional/Corporate\n- Navy + Gold\n- Slate + White\n- Charcoal + Teal\n\n### Energetic/Youthful\n- Electric Blue + Neon Pink\n- Lime + Charcoal\n- Coral + Mint\n\n### Elegant/Luxury\n- Deep Purple + Silver\n- Burgundy + Gold\n- Black + Rose Gold\n\n### Natural/Organic\n- Sage + Cream\n- Terracotta + Sand\n- Forest + Stone\n\n## Typography Guidelines\n\n### Font Pairings (for text overlay)\n\n- **Modern**: Sans-serif headline + Sans-serif body\n- **Classic**: Serif headline + Sans-serif body\n- **Bold**: Heavy sans-serif headline + Light sans-serif body\n- **Elegant**: Script accent + Serif body\n\n### Sizing Hierarchy\n\n1. **Hero text**: 48-72pt (event name, product name)\n2. **Secondary**: 24-36pt (date, price, tagline)\n3. **Tertiary**: 14-18pt (details, fine print)\n4. **Accent**: 12-14pt (socials, contact)\n\n## Composition Patterns\n\n### Rule of Thirds\nPlace key elements at intersection points.\n\n### Center Focus\nIdeal for product showcases, symmetrical designs.\n\n### Diagonal Energy\nCreates movement, good for concerts and sales.\n\n### Frame Within Frame\nDraws eye to center, adds depth.\n\n### Z-Pattern\nGuides eye: headline → image → CTA (Western reading).\n\n### F-Pattern\nTop-heavy information hierarchy.\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nCreate professional posters and visual designs using Gemini image generation for event posters, product showcases, announcements, and social media graphics.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[andylikescodes](https://clawhub.ai/user/andylikescodes)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to generate poster concepts, production-ready poster images, and optional text overlays for events, products, announcements, promotions, and social media posts.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The composition helper can execute shell commands built from poster text or paths when ImageMagick is available.\n\nMitigation: Do not run the composition helper on untrusted text or file paths until command execution is replaced with argument-based process execution and inputs are sanitized.\n\nRisk: Gemini image generation requires an API key that could be exposed if stored or logged carelessly.\n\nMitigation: Use a protected GEMINI_API_KEY from environment variables or secure secret storage and do not commit .env files.\n\nRisk: The HTML composition fallback can include user-provided poster text.\n\nMitigation: Sanitize or escape fallback HTML content before using it with untrusted poster text.\n\n## Reference(s):\n\n- [Gemini Image Generation API Reference](references/api-docs.md)\n- [Poster Templates Reference](references/templates.md)\n- [Job Queue System for Image Generation](references/queue-system.md)\n- [Rate Limiting Configuration](references/rate-limiting.md)\n- [Gemini API Key Setup](https://makersuite.google.com/app/apikey)\n- [Gemini generateContent API Endpoint](https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands; bundled scripts can produce PNG image files, HTML composition files, and JSON metadata.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a protected GEMINI_API_KEY for image generation; optional composition depends on ImageMagick or falls back to HTML output.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: Poster Designer Owner: andylikescodes Summary: Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics... Tags: ai-image:1.0.0, design:1.0.0, latest:1.0.0, marketing:1.0.0, poster:1.0.0 Version history: v1.0.0 | 2026-04-15T03:30:52.970Z | user Initial release: AI-powered poster generation with Gemini API integ","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"poster create --type event --title \"Summer Music Festival\" --date \"2026-07-15\""},{"language":"bash","snippet":"export GEMINI_API_KEY=\"your-api-key\""},{"language":"bash","snippet":"cp .env.example .env\n# Edit .env and add your API key"},{"language":"text","snippet":"User: \"Create a poster for a tech conference on May 15th\"\n\nSkill asks:\n- Event name?\n- Venue?\n- Speaker lineup (optional)?\n- Style preference (modern/minimal/bold)?\n\nThen generates poster with:\n- Compelling headline\n- Date/time/venue prominently displayed\n- Speaker photos or tech-themed visuals\n- QR code placeholder for tickets"},{"language":"text","snippet":"User: \"Design a product poster for my new wireless headphones\"\n\nSkill asks:\n- Product name?\n- Key features?\n- Price?\n- Style/tone?\n\nThen generates:\n- Hero product image\n- Feature callouts\n- Price and CTA\n- Brand-appropriate styling"},{"language":"text","snippet":"POST https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: poster-designer\ndescription: Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics. Integrates with Gemini image generation API to create visuals based on templates and user content. Use when the user wants to design posters, generate marketing visuals, create promotional materials, or produce image-based content for events, products, or announcements.\n---\n\n# Poster Designer Skill\n\nCreate professional posters and visual designs using AI image generation.\n\n## Quick Start\n\nGenerate a poster:\n\n```\nposter create --type event --title \"Summer Music Festival\" --date \"2026-07-15\"\n```\n\n## Capabilities\n\n- **Event Posters** — Concerts, conferences, meetups, parties\n- **Product Showcases** — E-commerce listings, feature highlights\n- **Announcements** — Launches, openings, special offers\n- **Social Media** — Instagram, Facebook, Twitter graphics\n\n## Usage Patterns\n\n### Interactive Mode\n\nSimply describe what you want:\n\n> \"Create a poster for my band's gig next Friday at the Blue Note\"\n\nThe skill will ask clarifying questions and generate the poster.\n\n### Template Mode\n\nUse predefined templates:\n\n- `event` — General event poster with date/time/location\n- `concert` — Music-focused with band name and setlist\n- `product` — Product showcase with features and pricing\n- `announcement` — News/launch announcement\n- `sale` — Promotional sale poster\n\n### Custom Mode\n\nProvide detailed specifications:\n\n> \"Create a minimalist poster, 1080x1920 (9:16), dark blue background, neon pink text, featuring a geometric guitar illustration\"\n\n## Configuration\n\nSet your Gemini API key:\n\n```bash\nexport GEMINI_API_KEY=\"your-api-key\"\n```\n\nOr create `.env` in the skill directory by copying `.env.example`:\n\n```bash\ncp .env.example .env\n# Edit .env and add your API key\n```\n\n**Security Note:** Never commit your `.env` file or share your API key. Keep it in environment variables or secure secret storage.\n\nGet your API key from: https://makersuite.google.com/app/apikey\n\n## Output Formats\n\n- **PNG** — Default high-quality raster output\n- **With Text Overlay** — Generated image with text composited\n- **Raw + Composite** — Both the base image and final poster\n\n## Design Principles\n\n### Typography\n- Keep text readable (minimum 24pt for important info)\n- Use 2-3 fonts maximum\n- Ensure high contrast between text and background\n\n### Composition\n- Follow the rule of thirds\n- Leave breathing room (don't overcrowd)\n- Use visual hierarchy (most important info largest)\n\n### Color\n- Use complementary or analogous color schemes\n- Ensure accessibility (WCAG AA contrast minimum)\n- Consider brand colors when provided\n\n## API Integration\n\nThe skill uses Gemini image generation API with native multimodal capabilities:\n\n- Model: `gemini-3.1-flash-image-preview` (configurable)\n- Supports aspect ratios: 1:1, 4:3, 16:9, 9:16, 3:4\n- Output sizes: 1K (~1024px), 2K (~2048px), 4K (~3840px)\n\nSee [references/ap"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7fvw45bhqaqb3s041nthdxt984nhkw\",\n  \"slug\": \"poster-designer\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776223852970\n}"},{"path":"references/api-docs.md","content":"# Gemini Image Generation API Reference\n\n## Endpoint\n\n```\nPOST https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent\n```\n\n## Authentication\n\nHeader: `Authorization: Bearer {GEMINI_API_KEY}`\n\nOr query parameter: `key={GEMINI_API_KEY}`\n\n## Supported Models\n\n- `gemini-3.1-flash-image-preview` — **Default**, higher quality image generation (recommended)\n- `gemini-2.5-flash-image` — Faster, lighter weight alternative\n\nNote: These are Gemini models with native image generation capabilities.\n\n## Request Format (Gemini)\n\n```json\n{\n  \"contents\": [{\n    \"role\": \"user\",\n    \"parts\": [{ \"text\": \"Your image generation prompt here\" }]\n  }],\n  \"generationConfig\": {\n    \"responseModalities\": [\"TEXT\", \"IMAGE\"]\n  }\n}\n```\n\n## Response Format (Gemini)\n\n```json\n{\n  \"candidates\": [{\n    \"content\": {\n      \"parts\": [{\n        \"inlineData\": {\n          \"mimeType\": \"image/png\",\n          \"data\": \"base64_encoded_image\"\n        }\n      }]\n    }\n  }]\n}\n```\n\n## Aspect Ratios\n\nGemini supports these aspect ratios natively:\n\n- `1:1` — Square (default)\n- `4:3` — Standard landscape\n- `16:9` — Widescreen\n- `9:16` — Portrait/mobile\n- `3:4` — Portrait\n\nMap to nearest supported ratio when user requests unsupported ratios.\n\n## Image Size Mapping\n\nRequested size → Approximate pixels:\n\n- `1K` → ~1024px on the longer edge\n- `2K` → ~2048px on the longer edge (default)\n- `4K` → ~3840px on the longer edge\n\nNote: Gemini returns images at native resolution based on aspect ratio.\n\n## Prompt Engineering\n\n### Effective Prompt Structure\n\n```\n[Subject] + [Style/Modality] + [Composition] + [Lighting/Mood] + [Technical specs]\n\nExample:\n\"A minimalist event poster for a jazz concert, art deco style, \ncentral illustration of a saxophone with geometric patterns, \nwarm amber lighting on dark navy background, professional print quality\"\n```\n\n### Style Keywords\n\n- Photography: `photorealistic`, `cinematic`, `documentary`\n- Illustration: `vector art`, `watercolor`, `line art`, `minimalist`\n- Design: `flat design`, `material design`, `brutalist`, `art deco`\n- Mood: `vibrant`, `moody`, `elegant`, `playful`, `professional`\n\n### What to Avoid\n\n- Copyrighted characters or brands\n- Specific real people (unless you have rights)\n- Text in the image (Gemini may render garbled text)\n- Overly complex scenes with multiple focal points\n\n## Error Codes\n\n| Code | Meaning | Action |\n|------|---------|--------|\n| 400 | Invalid request | Check prompt for safety violations |\n| 429 | Rate limit | Retry with backoff |\n| 500 | Server error | Retry after delay |\n| 503 | Service unavailable | Retry later |\n\n## Retry Strategy\n\n```javascript\nconst MAX_ATTEMPTS = 3;\nconst BASE_DELAY_MS = 1000;\n\nfor (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {\n  try {\n    return await generateImage(prompt);\n  } catch (error) {\n    if (attempt === MAX_ATTEMPTS) throw error;\n    const delay = BASE_DELAY_MS * Math.pow(2, attempt - 1);\n    await sleep(delay);\n  }\n}\n```\n\n## Rate Limits\n\n- Free tier: 15 requests per minu"},{"path":"references/queue-system.md","content":"# Job Queue System for Image Generation\n\n## Architecture\n\n```\nUser Request → Queue Manager → Worker Pool → Gemini API\n                    ↓\n              Rate Limiter\n                    ↓\n            Response Handler\n```\n\n## Components\n\n### 1. Queue Manager (Redis/Bull Queue)\n- Stores pending jobs\n- Manages priorities\n- Tracks job status\n\n### 2. Worker Pool\n- Multiple worker processes\n- Max concurrency: 5\n- Auto-scaling based on queue length\n\n### 3. Rate Limiter\n- Per-user tracking\n- Global rate limiting\n- Token bucket algorithm\n\n## Implementation Options\n\n### Option 1: Bull Queue (Redis-based)\n```javascript\nconst Queue = require('bull');\nconst imageQueue = new Queue('image-generation');\n\n// Add job\nimageQueue.add({\n  userId: '5495156302',\n  prompt: '...',\n  priority: 1\n});\n\n// Process\nimageQueue.process(async (job) => {\n  // Generate image\n});\n```\n\n### Option 2: File-based (Simple)\n```javascript\n// Queue file: ~/.openclaw/workspace/.queue/\n// Status: pending, processing, completed, failed\n```\n\n### Option 3: Priority Queue\n- Owner: Priority 1 (0ms delay)\n- Admin: Priority 2 (100ms delay)\n- Manager: Priority 3 (500ms delay)\n- User: Priority 4 (1000ms delay)\n\n## User Experience\n\nWhen overloaded:\n```\n\"您的请求已加入队列，当前位置：第3位，预计等待：45秒\"\n\n(Your request is in queue, position: 3, estimated wait: 45s)\n```\n\n## Scalability\n\nSingle Server:\n- Max 5 concurrent generations\n- Queue up to 100 jobs\n- Auto-retry failed jobs\n\nMulti-Server (Future):\n- Redis shared queue\n- Load balancer\n- Dedicated GPU workers\n\n## Current Recommendation\n\nStart with **Option 2 (File-based)** for simplicity:\n- No Redis dependency\n- Easy to implement\n- Good enough for 10-20 users\n\nUpgrade to **Option 1 (Bull Queue)** when:\n- >20 concurrent users\n- Need real-time status updates\n- Multi-server deployment"},{"path":"references/rate-limiting.md","content":"# Rate Limiting Configuration\n\n## User Rate Limits\n- Max 5 requests per minute per user\n- Max 50 requests per hour per user\n- Queue max 3 concurrent jobs per user\n\n## Global Rate Limits\n- Max 20 concurrent image generations\n- Queue overflow: Wait or reject with message\n\n## Implementation\nUse a simple queue system:\n- Store pending jobs in memory or Redis\n- Process FIFO\n- Notify user of queue position\n\n## User Tiers\n- Free tier: 10 images/day\n- Standard tier: 100 images/day  \n- Pro tier: Unlimited\n\n## Priority System\n- Owner/Admin: Priority 1 (immediate)\n- Manager: Priority 2 (fast queue)\n- User: Priority 3 (standard queue)"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics... Skill: Poster Designer Owner: andylikescodes Summary: Create professional posters and visual designs using AI image generation. Supports event posters, product showcases, announcements, and social media graphics... Tags: ai-image:1.0.0, design:1.0.0, latest:1.0.0, marketing:1.0.0, poster:1.0.0 Version history: v1.0.0 | 2026-04-15T03:30:52.970Z | user Initial release: AI-powered poster generation with Gemini API integ","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1215,"uniquenessScore":59,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:22:26.384Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:22:26.384Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:47:10.731Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}