[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aed7290b-0e65-437e-a0c5-b229a63afb00":3,"$f_3jI46UfG2mTCyW7vvjQzn20LJHc53OSwPZaafr1R2M":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"aed7290b-0e65-437e-a0c5-b229a63afb00","seo-image-gen","生成SEO相关的图像，如OG卡片、英雄图像、schema资产、产品视觉和信息图表。当图像生成是SEO工作流程或内容发布任务的一部分时使用。","cat_writing_article","mod_writing","sickn33,writing","---\nname: seo-image-gen\ndescription: \"Generate SEO-focused images such as OG cards, hero images, schema assets, product visuals, and infographics. Use when image generation is part of an SEO workflow or content publishing task.\"\nrisk: unknown\nsource: \"https:\u002F\u002Fgithub.com\u002FAgriciDaniel\u002Fclaude-seo\"\ndate_added: \"2026-03-21\"\nargument-hint: \"[og|hero|product|infographic|custom|batch] \u003Cdescription>\"\nuser-invokable: true\nallowed-tools:\n  - Read\n  - Grep\n  - Glob\n  - Bash\n  - WebFetch\n  - Write\n---\n\n# SEO Image Gen: AI Image Generation for SEO Assets (Extension)\n\nGenerate production-ready images for SEO use cases using Gemini's image generation\nvia the banana Creative Director pipeline. Maps SEO needs to optimized domain modes,\naspect ratios, and resolution defaults.\n\n## When to Use\n- Use when generating OG images, hero images, schema visuals, infographics, or similar SEO assets.\n- Use when image generation is part of a broader SEO or publishing workflow.\n- Use only when the required image-generation extension is available.\n\n## Architecture Note\n\nThis skill has two components with distinct roles:\n- **SKILL.md** (this file): Handles interactive `\u002Fseo image-gen` commands for generating images\n- **Agent** (`agents\u002Fseo-image-gen.md`): Audit-only analyst spawned during `\u002Fseo audit` to assess existing OG\u002Fsocial images and produce a generation plan (never auto-generates)\n\n## Prerequisites\n\nThis skill requires the banana extension to be installed:\n```bash\n.\u002Fextensions\u002Fbanana\u002Finstall.sh\n```\n\n**Check availability:** Before using any image generation tool, verify the MCP server\nis connected by checking if `gemini_generate_image` or `set_aspect_ratio` tools are\navailable. If tools are not available, inform the user the extension is not installed\nand provide install instructions.\n\n## Quick Reference\n\n| Command | What it does |\n|---------|-------------|\n| `\u002Fseo image-gen og \u003Cdescription>` | Generate OG\u002Fsocial preview image (1200x630 feel) |\n| `\u002Fseo image-gen hero \u003Cdescription>` | Blog hero image (widescreen, dramatic) |\n| `\u002Fseo image-gen product \u003Cdescription>` | Product photography (clean, white BG) |\n| `\u002Fseo image-gen infographic \u003Cdescription>` | Infographic visual (vertical, data-heavy) |\n| `\u002Fseo image-gen custom \u003Cdescription>` | Custom image with full Creative Director pipeline |\n| `\u002Fseo image-gen batch \u003Cdescription> [N]` | Generate N variations (default: 3) |\n\n## SEO Image Use Cases\n\nEach use case maps to pre-configured banana parameters:\n\n| Use Case | Aspect Ratio | Resolution | Domain Mode | Notes |\n|----------|-------------|------------|-------------|-------|\n| **OG\u002FSocial Preview** | `16:9` | `1K` | Product or UI\u002FWeb | Clean, professional, text-friendly |\n| **Blog Hero** | `16:9` | `2K` | Cinema or Editorial | Dramatic, atmospheric, editorial quality |\n| **Schema Image** | `4:3` | `1K` | Product | Clean, descriptive, schema ImageObject |\n| **Social Square** | `1:1` | `1K` | UI\u002FWeb | Platform-optimized square |\n| **Product Photo** | `4:3` | `2K` | Product | White background, studio lighting |\n| **Infographic** | `2:3` | `4K` | Infographic | Data-heavy, vertical layout |\n| **Favicon\u002FIcon** | `1:1` | `512` | Logo | Minimal, scalable, recognizable |\n| **Pinterest Pin** | `2:3` | `2K` | Editorial | Tall vertical card |\n\n## Generation Pipeline\n\nFor every generation request:\n\n1. **Identify use case** from command or context (og, hero, product, etc.)\n2. **Apply SEO defaults** from the use cases table above\n3. **Set aspect ratio** via `set_aspect_ratio` MCP tool\n4. **Construct Reasoning Brief** using the banana Creative Director pipeline:\n   - Load `references\u002Fprompt-engineering.md` for the 6-component system\n   - Apply domain mode emphasis (Subject 30%, Style 25%, Context 15%, etc.)\n   - Be SPECIFIC and VISCERAL: describe what the camera sees\n5. **Generate** via `gemini_generate_image` MCP tool\n6. **Post-generation SEO checklist** (see below)\n\n### Check for Presets\n\nIf the user mentions a brand or has SEO presets configured:\n```bash\npython3 ~\u002F.claude\u002Fskills\u002Fseo-image-gen\u002Fscripts\u002Fpresets.py list\n```\nLoad matching preset and apply as defaults. Also check `references\u002Fseo-image-presets.md`\nfor SEO-specific preset templates.\n\n## Post-Generation SEO Checklist\n\nAfter every successful generation, guide the user on:\n\n1. **Alt text**:Write descriptive, keyword-rich alt text for the generated image\n2. **File naming**:Rename to SEO-friendly format: `keyword-description-widthxheight.webp`\n3. **WebP conversion**:Convert to WebP for optimal page speed:\n   ```bash\n   magick output.png -quality 85 output.webp\n   ```\n4. **File size**:Target under 200KB for hero images, under 100KB for thumbnails\n5. **Schema markup**:Suggest `ImageObject` schema for the generated image:\n   ```json\n   {\n     \"@type\": \"ImageObject\",\n     \"url\": \"https:\u002F\u002Fexample.com\u002Fimages\u002Fkeyword-description.webp\",\n     \"width\": 1200,\n     \"height\": 630,\n     \"caption\": \"Descriptive caption with target keyword\"\n   }\n   ```\n6. **OG meta tags**:For social preview images, remind about:\n   ```html\n   \u003Cmeta property=\"og:image\" content=\"https:\u002F\u002Fexample.com\u002Fimages\u002Fog-image.webp\" \u002F>\n   \u003Cmeta property=\"og:image:width\" content=\"1200\" \u002F>\n   \u003Cmeta property=\"og:image:height\" content=\"630\" \u002F>\n   \u003Cmeta property=\"og:image:alt\" content=\"Descriptive alt text\" \u002F>\n   ```\n\n## Cost Awareness\n\nImage generation costs money. Be transparent:\n- Show estimated cost before generating (especially for batch)\n- Log every generation: `python3 ~\u002F.claude\u002Fskills\u002Fseo-image-gen\u002Fscripts\u002Fcost_tracker.py log --model MODEL --resolution RES --prompt \"brief\"`\n- Run `cost_tracker.py summary` if user asks about usage\n\nApproximate costs (gemini-3.1-flash):\n- 512: ~$0.02\u002Fimage\n- 1K resolution: ~$0.04\u002Fimage\n- 2K resolution: ~$0.08\u002Fimage\n- 4K resolution: ~$0.16\u002Fimage\n\n## Model Routing\n\n| Scenario | Model | Why |\n|----------|-------|-----|\n| OG images, social previews | `gemini-3.1-flash-image-preview` @ 1K | Fast, cost-effective |\n| Hero images, product photos | `gemini-3.1-flash-image-preview` @ 2K | Quality + detail |\n| Infographics with text | `gemini-3.1-flash-image-preview` @ 2K, thinking: high | Better text rendering |\n| Quick drafts | `gemini-2.5-flash-image` @ 512 | Rapid iteration |\n\n## Error Handling\n\n| Error | Resolution |\n|-------|-----------|\n| MCP not configured | Run `.\u002Fextensions\u002Fbanana\u002Finstall.sh` |\n| API key invalid | New key at https:\u002F\u002Faistudio.google.com\u002Fapikey |\n| Rate limited (429) | Wait 60s, retry. Free tier: ~10 RPM \u002F ~500 RPD |\n| `IMAGE_SAFETY` | Rephrase prompt - see `references\u002Fprompt-engineering.md` Safety section |\n| MCP unavailable | Fall back: `python3 ~\u002F.claude\u002Fskills\u002Fseo-image-gen\u002Fscripts\u002Fgenerate.py --prompt \"...\" --aspect-ratio \"16:9\"` |\n| Extension not installed | Show install instructions: `.\u002Fextensions\u002Fbanana\u002Finstall.sh` |\n\n## Cross-Skill Integration\n\n- **seo-images** (analysis) feeds into **seo-image-gen** (generation): audit results from `\u002Fseo images` identify missing or low-quality images; use those findings to drive `\u002Fseo image-gen` commands\n- **seo-audit** spawns the seo-image-gen **agent** (not this skill) to analyze OG\u002Fsocial images across the site and produce a prioritized generation plan\n- **seo-schema** can consume generated images: after generation, suggest `ImageObject` schema markup pointing to the new assets\n\n## Reference Documentation\n\nLoad on-demand. Do NOT load all at startup:\n- `references\u002Fprompt-engineering.md`:6-component system, domain modes, templates\n- `references\u002Fgemini-models.md`:Model specs, rate limits, capabilities\n- `references\u002Fmcp-tools.md`:MCP tool parameters and responses\n- `references\u002Fpost-processing.md`:ImageMagick\u002FFFmpeg pipeline recipes\n- `references\u002Fcost-tracking.md`:Pricing, usage tracking\n- `references\u002Fpresets.md`:Brand preset management\n- `references\u002Fseo-image-presets.md`:SEO-specific preset templates\n\n## Response Format\n\nAfter generating, always provide:\n1. **Image path**:where it was saved\n2. **Crafted prompt**:show what was sent to the API (educational)\n3. **Settings**:model, aspect ratio, resolution\n4. **SEO checklist**:alt text suggestion, file naming, WebP conversion\n5. **Schema snippet**:ImageObject or og:image markup if applicable\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,227,2079,"2026-05-16 13:39:37",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"写作研究","writing","mdi-pencil-outline","从学术写作到创意文案，让 AI 成为你的专属写作助手",1,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"文章写作","article","mdi-file-document-edit-outline","博客、新闻稿、自媒体文章等",61,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"bd1121d9-3b19-42b6-972e-a46f1edcd1c3","1.0.0","seo-image-gen.zip",3644,"uploads\u002Fskills\u002Faed7290b-0e65-437e-a0c5-b229a63afb00\u002Fseo-image-gen.zip","188dd46d63346d49456d739aef021c9d18fe6703790714e2e32d70844025834c","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":8464}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]