{"id":"95a4fe73-0e4c-4bbb-a083-3b17f2767d98","entityType":"agent","slug":"clawhub-gxcun17-skywork-design","name":"Skywork Design","canonicalUrl":"https://www.xpersona.co/agent/clawhub-gxcun17-skywork-design","canonicalPath":"/agent/clawhub-gxcun17-skywork-design","generatedAt":"2026-10-09T14:46:41.714Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:31:10.323Z","emptyReason":null},"description":"Skywork Design (skywork) - Generate or edit images via the Skywork Image API. Use for image creation, poster design, logo design, visual asset generation, or...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.8K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s174hwb34r6ncgdm62n09a9tbd83hn5x:skywork-design","sourceUrl":"https://clawhub.ai/gxcun17/skywork-design","homepage":"https://clawhub.ai/gxcun17/skills/skywork-design","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/gxcun17/skywork-design","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/gxcun17/skills/skywork-design","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Skywork Design technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:31:10.323Z","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-09T11:31:10.323Z","emptyReason":null},"stars":null,"forks":null,"downloads":2788,"packageName":null,"latestVersion":"1.0.8","tractionLabel":"2.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:31:10.322Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T11:31:10.323Z","lastCrawledAt":"2026-10-09T11:31:10.322Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T11:31:10.322Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.8","createdAt":"2026-04-10T13:36:04.630Z","changelog":"skywork-design v1.0.8 - Updated API key configuration instructions for clarity. - Minor wording and formatting improvements throughout the documentation. - No functional or workflow changes; usage and capabilities remain the same.","fileCount":15,"zipByteSize":28838},{"version":"1.0.7","createdAt":"2026-04-09T12:06:57.979Z","changelog":"- Updated skill description to mention both the display name and \"skywork\". - Clarified intended usage by explicitly including \"Skywork Design (skywork)\" in the top description. - No changes detected to logic, features, or usage instructions.","fileCount":14,"zipByteSize":27251},{"version":"1.0.6","createdAt":"2026-04-02T02:50:00.946Z","changelog":"Version 1.0.6 — No file changes detected. - No updates or modifications were made in this version. - All functionality and documentation remain unchanged.","fileCount":14,"zipByteSize":27250},{"version":"1.0.5","createdAt":"2026-04-01T13:44:50.609Z","changelog":"**Switched to API-key authentication and revised onboarding instructions.** - Migrated from interactive user-auth to SKYWORK_API_KEY environment variable for authentication. - Updated setup flow: users must now obtain and configure an API key via OpenClaw. - Added clear troubleshooting for auth failures vs benefit errors; only prompt for membership upgrade when appropriate. - Included a detailed API key onboarding guide (references/apikey-fetch.md). - Minor doc improvements and new scripts/constant.py added for configuration support.","fileCount":14,"zipByteSize":27211},{"version":"1.0.4","createdAt":"2026-03-19T13:31:23.642Z","changelog":"- Removed environment variable and config file requirements from metadata; now only Python 3 is required. - Core usage, functionality, and best practices remain unchanged. - No file or feature changes detected; this is a metadata/environment requirement update only.","fileCount":12,"zipByteSize":29001},{"version":"1.0.3","createdAt":"2026-03-19T03:02:36.135Z","changelog":"- Added new required environment variables: SKYWORK_GATEWAY_URL, SKYWORK_API_BASE, SKYWORK_WEB_BASE, and POD_TYPE. - No other user-facing changes.","fileCount":12,"zipByteSize":29077},{"version":"1.0.2","createdAt":"2026-03-19T02:35:29.820Z","changelog":"- Added a metadata section specifying environment variables, required binaries, and token file for configuration. - Updated all usage examples to use python3 directly instead of uv run. - Changed preflight check from requiring uv to requiring python3. - No changes to core features or functionality.","fileCount":12,"zipByteSize":29031},{"version":"1.0.1","createdAt":"2026-03-17T10:53:43.197Z","changelog":"- Update to scripts/generate_image.py; minor code change/refactor. - No changes to usage, authentication, or workflow. - Documentation and usage instructions remain unchanged.","fileCount":12,"zipByteSize":29035}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s174hwb34r6ncgdm62n09a9tbd83hn5x:skywork-design","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s174hwb34r6ncgdm62n09a9tbd83hn5x:skywork-design` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/gxcun17/skywork-design before using production credentials."],"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-gxcun17-skywork-design/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/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-09T14:46:41.711Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gxcun17-skywork-design/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":"medium","updatedAt":"2026-10-09T11:31:10.323Z","emptyReason":null},"readme":"Skill: Skywork Design\n\nOwner: gxcun17\n\nSummary: Skywork Design (skywork) - Generate or edit images via the Skywork Image API. Use for image creation, poster design, logo design, visual asset generation, or...\n\nTags: latest:1.0.8\n\nVersion history:\n\nv1.0.8 | 2026-04-10T13:36:04.630Z | user\n\nskywork-design v1.0.8\n\n- Updated API key configuration instructions for clarity.\n- Minor wording and formatting improvements throughout the documentation.\n- No functional or workflow changes; usage and capabilities remain the same.\n\nv1.0.7 | 2026-04-09T12:06:57.979Z | user\n\n- Updated skill description to mention both the display name and \"skywork\".\n- Clarified intended usage by explicitly including \"Skywork Design (skywork)\" in the top description.\n- No changes detected to logic, features, or usage instructions.\n\nv1.0.6 | 2026-04-02T02:50:00.946Z | user\n\nVersion 1.0.6 — No file changes detected.\n\n- No updates or modifications were made in this version.\n- All functionality and documentation remain unchanged.\n\nv1.0.5 | 2026-04-01T13:44:50.609Z | user\n\n**Switched to API-key authentication and revised onboarding instructions.**\n\n- Migrated from interactive user-auth to SKYWORK_API_KEY environment variable for authentication.\n- Updated setup flow: users must now obtain and configure an API key via OpenClaw.\n- Added clear troubleshooting for auth failures vs benefit errors; only prompt for membership upgrade when appropriate.\n- Included a detailed API key onboarding guide (references/apikey-fetch.md).\n- Minor doc improvements and new scripts/constant.py added for configuration support.\n\nv1.0.4 | 2026-03-19T13:31:23.642Z | user\n\n- Removed environment variable and config file requirements from metadata; now only Python 3 is required.\n- Core usage, functionality, and best practices remain unchanged.\n- No file or feature changes detected; this is a metadata/environment requirement update only.\n\nv1.0.3 | 2026-03-19T03:02:36.135Z | user\n\n- Added new required environment variables: SKYWORK_GATEWAY_URL, SKYWORK_API_BASE, SKYWORK_WEB_BASE, and POD_TYPE.\n- No other user-facing changes.\n\nv1.0.2 | 2026-03-19T02:35:29.820Z | user\n\n- Added a metadata section specifying environment variables, required binaries, and token file for configuration.\n- Updated all usage examples to use python3 directly instead of uv run.\n- Changed preflight check from requiring uv to requiring python3.\n- No changes to core features or functionality.\n\nv1.0.1 | 2026-03-17T10:53:43.197Z | auto\n\n- Update to scripts/generate_image.py; minor code change/refactor.\n- No changes to usage, authentication, or workflow.\n- Documentation and usage instructions remain unchanged.\n\nv1.0.0 | 2026-03-16T11:42:27.457Z | user\n\nInitial release of Skywork Design skill.\n\n- Generate or edit images via Skywork Image API for posters, logos, assets, and more.\n- Supports text-to-image and image-to-image with aspect ratio and resolution options.\n- Step-by-step authentication; prompts user to log in if necessary.\n- Detailed instructions for file naming, prompt creation, resolution, and aspect ratio selection.\n- Provides error handling guidance, upgrade info, and best practices for image requests.\n- Includes scenario guidance for common design use cases.\n\nArchive index:\n\nArchive v1.0.8: 15 files, 28838 bytes\n\nFiles: references/apikey-fetch.md (2696b), scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/constant.py (81b), scripts/generate_image.py (7427b), scripts/skywork_auth.py (284b), skill-card.md (2399b), SKILL.md (7489b), _meta.json (133b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: Skywork Design\ndescription: Skywork Design (skywork) - Generate or edit images via the Skywork Image API. Use for image creation, poster design, logo design, visual asset generation, or image modification requests. Supports text-to-image and image-to-image editing with aspect ratio and resolution control.\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n      env:\n        - SKYWORK_API_KEY\n    primaryEnv: SKYWORK_API_KEY\n---\n\n# Visual Design — Image Generation & Editing\n\nGenerate new images or edit existing ones via the backend image API.\nBe patient, it takes about 2 minutes to generate an image each time.\n\n---\n\n## Prerequisites\n\n### API Key Configuration (Required First)\nThis skill requires a **SKYWORK_API_KEY** to be configured before use.\n\nIf you don't have an API key yet, please visit:\n**https://skywork.ai**\n\nFor detailed setup instructions, see:\n[references/apikey-fetch.md](references/apikey-fetch.md)\n\n## Usage\n\nRun the script using absolute path (do NOT cd to skill directory):\n\n**Generate new image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"description\" --filename \"output.png\" [--aspect-ratio 3:4] [--resolution 1K|2K|4K]\n```\n\n**Edit existing image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"edit instructions\" --filename \"output.png\" --input-image \"source.png\" [--aspect-ratio 3:4] [--resolution 2K]\n```\n\n**Edit with multiple reference images:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"combine these styles\" --filename \"output.png\" -i \"ref1.png\" -i \"ref2.png\"\n```\n\nAlways run from the user's working directory so images save there.\n\n## When to Generate vs Edit\n\n- **Generation** (`--prompt` only): Creating new images from scratch — posters, logos, illustrations, photos, infographics.\n- **Editing** (`--prompt` + `--input-image`): User provides existing image(s) and wants modifications — style changes, element addition/removal, color adjustments, format conversion.\n  - Notice: Edit api supports character resemblance of up to 4 characters and the fidelity of up to 10 objects in a single workflow\n\nIf the user uploads/references images and wants changes, always use `--input-image`.\n\n## Resolution\n\n- **1K** — ~1024px, fast drafts\n- **2K** (default) — ~2048px, good for most deliverables\n- **4K** — ~4096px, final high-res output\n\nMap user requests: \"low/draft\" → 1K, \"normal/medium/2K\" → 2K, \"high-res/hi-res/4K/ultra\" → 4K.\n\n## Aspect Ratio\n\nSupported ratios: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`.\n\nSelection guidance:\n- **1:1** — Social media avatars, icons, album covers\n- **3:4 / 4:3** — General posters, presentations\n- **4:5 / 5:4** — Instagram posts, portraits\n- **9:16 / 16:9** — Mobile stories / desktop wallpapers, video covers\n- **2:3 / 3:2** — Print posters, book covers\n- **21:9** — Ultra-wide banners, cinema format\n\nIf the user doesn't specify, omit `--aspect-ratio` and let the API decide.\n\n## Filename Convention\n\nPattern: `yyyy-mm-dd-hh-mm-ss-descriptive-name.png`\n\nExamples:\n- \"A serene Japanese garden\" → `2026-03-10-14-23-05-japanese-garden.png`\n- \"sunset over mountains\" → `2026-03-10-15-30-12-sunset-mountains.png`\n- Unclear context → `2026-03-10-17-12-48-x9k2.png`\n\n## Preflight\n\n- `command -v python3` (must exist)\n- If editing: verify each `--input-image` file exists\n\n## Common Failures\n\n- `Error: Input image not found:` → wrong path; verify `--input-image` file exists\n- `HTTP error 500` → backend service error; retry or check server status\n- `Request failed: Connection refused` → backend service unavailable; ensure the service is running\n- **Insufficient benefit**: The script or log may show a message like `Insufficient benefit. Please upgrade your account at {url}`, meaning the user's benefit level does not meet the requirement for this skill.\n\n### How to reply when benefit is insufficient\n\nWhen you detect the above, **reply in the user's current language** — do not echo the English message. Use this pattern:\n\n- Convey: \"Sorry, image generation failed. This skill requires upgrading your Skywork membership to use.\" then a single call-to-action link.\n- **Format**: One short sentence in the user's language + a link like `[Upgrade now →](url)` or the equivalent in their language.\n- **URL**: Extract the upgrade URL from the log/script output (e.g. the `at https://...` part).\n\n> Note: Only suggest upgrading when the error is **Insufficient benefit**. For auth errors like `NO_TOKEN` / `INVALID_TOKEN` / `401` / “invalid API key”, keep the error code / raw message and guide users to update `SKYWORK_API_KEY`. **Do not** suggest upgrading membership.\n\n## Output\n\n- Script prints the local file path and the OSS URL.\n- Depending on the platform, use the most appropriate way to deliver the image (e.g. send as image message, display inline, or print the URLs). By default, return both the local path and OSS URL to the user. The OSS URL ensures cross-platform accessibility.\n\n## Design Scenarios\n\nMatch the user's request to a scenario and read the corresponding file for specialized workflow:\n\n- **E-commerce product image**: See [scenarios/e-commerce.md](scenarios/e-commerce.md)\n- **Storyboard**: See [scenarios/storyboard.md](scenarios/storyboard.md)\n- **Infographic**: See [scenarios/infographic.md](scenarios/infographic.md)\n- **Logo**: See [scenarios/logo.md](scenarios/logo.md)\n- **Branding / VI**: See [scenarios/branding.md](scenarios/branding.md)\n- **Brochure**: See [scenarios/brochure.md](scenarios/brochure.md)\n- **Social media**: See [scenarios/social-media.md](scenarios/social-media.md)\n- **Poster**: See [scenarios/poster.md](scenarios/poster.md)\n\n## Prompt Engineering\n\n### Prompts Best Practices\n\nFollow these principles for quality prompts using the image API for generation or editing:\n\n- **Describe the scene, don't just list keywords.** A narrative, descriptive paragraph produces much better results than disconnected words. The model's core strength is deep language understanding.\n  - Weak: \"cat, sunset, beach\"\n  - Strong: \"A ginger tabby cat sitting on a sandy beach at golden hour, facing the camera with soft warm backlighting, shallow depth of field, ocean waves blurred in the background\"\n- **Be hyper-specific.** The more detail you provide, the more control you have. Include all visual details: style, colors, composition, lighting, background, textures.\n- **Provide context and intent.** Explain the purpose of the image — the model's understanding of context influences the output.\n- **Use step-by-step instructions** for complex scenes with many elements. Break the prompt into layers: foreground, middle ground, background.\n- **Use \"semantic negative prompts.\"** Instead of \"no cars,\" describe positively: \"an empty, deserted street with no signs of traffic.\"\n- **Control the camera.** Use photographic and cinematic terms: \"wide-angle shot\", \"macro shot\", \"low-angle perspective\", \"bird's eye view\", \"rule of thirds\", \"shallow depth of field\".\n- **Time perception.** If the result needs real-time timeliness, mention the current time context in the prompt.\n- **Text in images.** Place text content within double quotation marks:\n  > A movie poster with the title \"INCEPTION\" in large silver metallic letters at the top\n- Clearly specify and emphasize the elements that require modification. Describe reference images by their order (first image, second image), not by filename.\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn70ct0m3p4538a9t49cjcwern82ky02\",\n  \"slug\": \"skywork-design\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1775828164630\n}\n\nFile v1.0.8:references/apikey-fetch.md\n\n# Skywork API Key Setup Guide\n\n## SKYWORK_API_KEY Not Configured\n\nWhen the `SKYWORK_API_KEY` environment variable is not set, follow these steps:\n\n### 1. Get API Key\n\nVisit the Skywork website and sign in to your account:\n\n**https://skywork.ai**\n\n- Log in with your Skywork account\n- Open account / Settings / API Key (**https://skywork.ai/?openApiKeySetting=1**)\n- Create or copy your **API key**\n\nIf your organization uses a separate console or test environment, use the URL and credentials your team provides.\n\n### 2. Configure OpenClaw\n\nEdit the OpenClaw configuration file: `~/.openclaw/openclaw.json`\n\nIn current OpenClaw, Skywork skills store the key under `skills.entries.<Skill Name>.apiKey` (not under `env`).\nOpenClaw will inject this value into the skill's `SKYWORK_API_KEY` environment when `primaryEnv` matches.\nAdd or merge the following structure (adjust the skill name to match the installed skill):\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"Skywork Design\": {\n        \"enabled\": true,\n        \"apiKey\": \"your_actual_skywork_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nReplace `\"your_actual_skywork_api_key_here\"` with your real key.\n\nFor multiple Skywork skills, repeat the same `apiKey` field on each skill entry.\n\n### 3. Configure Claude Code\n\nIf you are using Claude Code, use one of these lightweight options:\n\n**Option A — shell environment**\n\nExport the API key before running the skill:\n\n```bash\nexport SKYWORK_API_KEY=\"your_actual_skywork_api_key_here\"\n```\n\nTo persist it across sessions, add the same line to `~/.zshrc` or `~/.bashrc`, then reload the shell.\n\n**Option B — Claude Code settings**\n\nAdd the variable to `~/.claude/settings.json`:\n\n```json\n{\n  \"env\": {\n    \"SKYWORK_API_KEY\": \"your_actual_skywork_api_key_here\"\n  }\n}\n```\n\nUse the method that best matches how you run Claude Code.\n\n### 4. Verify Configuration\n\n```bash\n# Check that the environment variable is available\necho \"$SKYWORK_API_KEY\"\n```\n\nFor OpenClaw, you can also validate the config file:\n\n```bash\ncat ~/.openclaw/openclaw.json | python3 -m json.tool\n```\n\n### 5. Restart OpenClaw\n\n```bash\nopenclaw gateway restart\n```\n\n## Troubleshooting\n\n- Ensure `~/.openclaw/openclaw.json` exists and is valid JSON\n- Ensure `SKYWORK_API_KEY` is available in Claude Code through your shell or `~/.claude/settings.json`\n- Confirm the API key is active and not expired\n- Check Skywork account status, membership, or quota if requests fail with auth or benefit errors\n- Restart OpenClaw after configuration changes\n\n**Recommended**: Use the setup method that matches your runtime. OpenClaw should use the OpenClaw config file; Claude Code can use either the shell environment or `~/.claude/settings.json`.\n\nFile v1.0.8:scenarios/branding.md\n\n# Branding / Visual Identity (VI)\n\n## Triggers\n\nbranding, brand identity, VI, visual identity, brand guidelines, brand kit, brand system, style guide\n\n## Defaults\n\n- **Aspect ratio**: varies per deliverable (see table)\n- **Resolution**: `2K`\n\n## Consistency Strategy\n\nA brand system demands the highest level of visual consistency — every deliverable must feel like it was designed by the same studio in the same session.\n\n**If the user provides a logo or brand assets**:\n1. Use them as `--input-image` for all subsequent deliverables\n2. Extract the visual DNA: primary/secondary colors (describe exact hues), style mood (minimal, playful, corporate, etc.), shape language (rounded, angular, geometric)\n3. Skip logo generation (deliverable 1) and begin from color palette or whichever deliverable is needed\n4. Carry the user's existing visual language — do not reinvent it\n\n**If the user provides NO existing assets**:\n1. Start with brand discovery: ask about industry, target audience, brand personality (3-5 adjectives), competitors to differentiate from\n2. Generate the logo first (following [logo.md](logo.md) guidance) — the logo is the seed from which all other brand elements grow\n3. Once the user approves the logo, derive everything else from it\n\n## Deliverables\n\nGenerate in this order. Each step uses `--input-image` from the previous to maintain consistency.\n\n| # | Deliverable | Ratio | Description |\n|---|---|---|---|\n| 1 | Logo mark | `1:1` | Core brand symbol (see [logo.md](logo.md)) |\n| 2 | Color palette card | `3:2` | Primary, secondary, accent colors with hex values shown as labeled swatches |\n| 3 | Typography showcase | `3:2` | Heading + body font pairing shown in sample text hierarchy |\n| 4 | Pattern / texture | `1:1` | Repeatable brand pattern derived from logo shapes or brand motifs |\n| 5 | Stationery mockup | `3:4` | Business card, letterhead, envelope on a styled flat-lay |\n| 6 | Brand guidelines page | `3:4` | Summary layout showing logo usage rules, color specs, and type hierarchy |\n\nNot all deliverables are always needed. Ask the user which items they want. If unclear, generate deliverables 1-5 (skip the guidelines page unless requested).\n\n## Design Thinking\n\n1. **Brand personality drives everything** — Before any visual work, define 3-5 personality adjectives (e.g., \"bold, modern, trustworthy\"). Every design choice — color, shape, typography — must trace back to these words\n2. **Differentiate, don't decorate** — Research the competitive landscape. If every competitor uses blue and sans-serif, the new brand needs a reason to follow suit or a strategy to stand apart. Ask the user about key competitors\n3. **System over individual pieces** — A brand is not a logo + some colors. It's a system where every element reinforces the others. The pattern echoes the logo shapes; the color palette reflects the logo colors; the typography matches the logo's personality\n4. **Constraint breeds cohesion** — Fewer colors, fewer fonts, fewer design elements = stronger brand recognition. Resist the urge to add variety; embrace deliberate limitation\n5. **Test across touchpoints mentally** — Before finalizing, imagine the brand on a website header, a mobile app icon, a product label, a social media post, and a conference badge. If it breaks at any touchpoint, simplify\n\n## Aesthetics Guidelines\n\n- **Color system**: Define exactly 1 primary color, 1-2 secondary colors, and 1-2 neutral tones. Every color must have a purpose (primary = brand recognition, secondary = accents/CTAs, neutrals = background/text). Describe colors with precise hue names, not just \"blue\" — say \"deep navy blue\" or \"electric cyan\"\n- **Typography pairing**: Choose one display/heading font and one body font. They should contrast in weight/style but share a visual kinship (similar x-height, complementary proportions). Describe the fonts by character: \"geometric sans-serif with uniform stroke width\" not just \"modern font\"\n- **Logo-derived patterns**: Brand patterns should be abstracted from logo geometry — repeated shapes, rotated elements, or deconstructed forms from the mark. This creates subliminal brand recognition without showing the logo itself\n- **Mockup realism**: Stationery and application mockups should feel physically real — paper texture, subtle shadows, realistic perspective. This elevates perceived brand quality. Specify material finish: \"matte uncoated paper\", \"glossy card stock\", \"embossed letterpress\"\n- **Whitespace as brand signal**: Premium brands use generous whitespace; energetic brands can be denser. The amount of whitespace IS a brand decision. Define it and enforce it consistently\n- **Visual rhythm**: Repeated spacing, consistent margins, and aligned elements across all deliverables create the invisible grid that holds a brand together. Describe the layout structure explicitly in each prompt\n\n## Prompt Rules\n\n- Use the **same style descriptors** (color names, style keywords, mood adjectives) across every prompt — copy-paste, don't paraphrase\n- Always pass previous output via `--input-image` when generating subsequent deliverables\n- Describe colors with exact hue names: \"warm coral #FF6B6B\" not just \"red\"\n- Include brand personality adjectives in every prompt: \"reflecting a bold, modern, trustworthy brand identity\"\n- For stationery mockups: specify material, finish, and scene context (\"on a marble desk with soft natural light\")\n\nFile v1.0.8:scenarios/brochure.md\n\n# Brochure\n\n## Triggers\n\nbrochure, pamphlet, leaflet, tri-fold, bi-fold, flyer, booklet, handout\n\n## Defaults\n\n- **Resolution**: `2K`\n\n## Formats & Image Count\n\nGenerate **one image per physical side**, with all panels of that side composed together in a single image.\n\n| Format | Images | Aspect ratio | Description |\n|--------|--------|-------------|-------------|\n| Single page / Flyer | 1 | `3:4` | All content on one image |\n| Bi-fold | 2 | `16:9` | Outside (front + back side by side), Inside (inside-left + inside-right side by side) |\n| Tri-fold | 2 | `21:9` | Outside (3 panels side by side), Inside (3 panels side by side) |\n| Multi-page booklet | 1 per spread | `16:9` | Each 2-page spread as one image |\n\nThis approach ensures visual consistency within each side and reduces generation calls.\n\n## Consistency Strategy\n\nA brochure is a multi-panel system — visual inconsistency between panels destroys professionalism instantly.\n\n**If the user provides brand assets or a reference image** (logo, brand guidelines, existing design):\n1. Use them as `--input-image` for every generation\n2. Extract the visual DNA: color palette, typography style, layout density, mood\n3. Maintain the established brand language — do not introduce new visual elements\n\n**If the user provides NO reference**:\n1. Generate the **outside face first** — this sets the entire visual direction: color palette, typography style, imagery mood, layout density\n2. Do NOT proceed to the inside face until the user approves the outside direction\n3. Use the approved outside face as `--input-image` when generating the inside face\n\n## Workflow\n\n### Step 1: Clarify Scope\n\nBefore generating, confirm with the user:\n- **Format**: single page, bi-fold, tri-fold, or booklet (how many pages?)\n- **Content**: what text/information goes on each panel? (get the actual copy or at minimum the topic per panel)\n- **Tone**: corporate, playful, luxurious, informational, promotional?\n- **Brand assets**: any existing logo, colors, or style to match?\n\n### Step 2: Outside Face\n\nGenerate the outside face as a single image with all panels composed together.\n- **Bi-fold** (`16:9`): left half = back cover, right half = front cover. Name: `...-outside.png`\n- **Tri-fold** (`21:9`): left = back cover, center = front flap, right = front cover. Name: `...-outside.png`\n- The front cover area must be the visual hero — it establishes the design direction\n- Describe the full layout in the prompt: \"a tri-fold brochure outside face, 3 panels side by side separated by subtle fold lines, left panel is the back cover with contact info, center panel is the front flap with a teaser, right panel is the front cover with the main headline and hero image\"\n- Wait for user approval before continuing\n\n### Step 3: Inside Face\n\nGenerate the inside face as a single image, using the outside face as `--input-image`.\n- **Bi-fold** (`16:9`): left = inside-left, right = inside-right. Name: `...-inside.png`\n- **Tri-fold** (`21:9`): left = inside-left, center = inside-center, right = inside-right. Name: `...-inside.png`\n- Describe: \"a tri-fold brochure inside face, 3 panels side by side separated by subtle fold lines, matching the style of the reference image, left panel covers [topic], center panel covers [topic], right panel covers [topic]\"\n\n## Design Thinking\n\n1. **Design for the fold** — In bi-fold and tri-fold formats, the fold line is a real physical constraint. Include subtle fold line indicators in the prompt. Critical content must not straddle the fold. The front panel is the first impression; the first inner panel revealed on opening is the \"aha\" moment\n2. **Sequential storytelling** — A brochure is read in a specific physical order. Design the content flow to match: hook (front cover) → expand (inner panels) → convince (data/testimonials) → act (back cover CTA). Each panel should make the reader want to see the next\n3. **One hero per panel** — Each panel gets one dominant visual or message. Competing elements on the same panel create confusion. If you have 4 key messages and 4 panels, the layout is obvious — one per panel\n4. **Print thinking** — Brochures are physical objects. Design for how they'll be held, folded, and read. Consider that colors look different on paper than on screen — bright neon colors often print poorly; rich, slightly muted tones print beautifully\n5. **The back cover matters** — Many designers neglect it. The back is often the first thing someone sees on a desk or shelf. A clean back with logo, tagline, and contact info reinforces brand presence. Never leave it as an afterthought\n\n## Aesthetics Guidelines\n\n- **Cross-panel color system**: Define a primary background color, a secondary accent, and a text color. Use these consistently across ALL panels. Do not introduce a new color on the inside that wasn't established on the outside\n- **Typography discipline**: One heading font, one body font, applied identically across all panels. Heading size, body size, and line spacing should be uniform. Describe these in every prompt: \"bold sans-serif headings, regular serif body text\"\n- **Image style consistency**: If the outside uses photography, the inside uses photography. If the outside uses illustration, the inside uses illustration. Never mix photographic and illustrated imagery in the same brochure\n- **Layout grid**: All panels should share the same margin width, column structure, and content alignment. Describe the grid: \"each panel has centered single-column layout with generous margins\"\n- **Visual breathing room**: Each panel needs whitespace. For text-heavy panels, increase margins rather than shrink type size. Cramped panels signal amateur design\n- **Print-safe colors**: Avoid pure RGB brights that can't reproduce in CMYK. Specify \"print-ready\" in the prompt. Rich blacks, deep navies, and warm neutrals look premium in print\n\n## Prompt Rules\n\n- Describe ALL panels of the side in a single prompt: \"3 panels side by side, separated by subtle fold lines\"\n- Specify what content goes in each panel by position: \"left panel shows..., center panel shows..., right panel shows...\"\n- Put all text content in double quotes for accurate rendering\n- Always pass the outside face via `--input-image` when generating the inside face\n- Use the same style/mood phrase for both sides — copy-paste, don't paraphrase\n\nFile v1.0.8:scenarios/e-commerce.md\n\n# E-commerce Product Images\n\n## Triggers\n\namazon, product listing, product photo, e-commerce, shopify, product shot, packshot, white background product, marketplace image\n\n## Defaults\n\n- **Aspect ratio**: `1:1`\n- **Resolution**: `4K` (Amazon requires min 1600px on longest side for zoom; recommend 2000px+)\n\n## Image Set\n\nA complete Amazon listing supports up to 7 images. Images are split into **required** (always generate) and **optional** (generate only when the user requests, or when the product clearly benefits from it).\n\nAsk the user for product details, key selling points, and target audience before starting. By default, generate the 3 required images only.\n\n### Required Images (always generate)\n\n#### Image 1: Main Image (Hero Shot)\n\nThe most critical image — determines click-through rate in search results.\n\n- **Pure white background** (RGB 255,255,255) — no gradients, no shadows on background, no off-white\n- **Product only** — absolutely no text, logos, badges, watermarks, props, or accessories not included in the sale\n- **Fill 85%+ of the frame** — the product should feel large and dominant, with minimal white border\n- **Single, clean angle** — front-facing or 3/4 angle that best shows the product's shape and identity\n- **Studio-quality lighting** — soft, even lighting with subtle shadow beneath the product for grounding. No harsh reflections or dark spots\n- **No mannequins** — for apparel, show on a human model or as a clean flat-lay. Ghost mannequin (invisible mannequin) effect is acceptable\n\n#### Image 2: Lifestyle / In-Use Image\n\n- Product shown in a realistic usage context — a person using it, or the product in its natural environment\n- Environment should match the target customer's aspirational setting (modern kitchen, outdoor adventure, minimalist desk, etc.)\n- Warm, natural lighting. The scene should feel authentic, not stock-photo-generic\n- Product must remain the clear focal point — the scene supports but never overwhelms\n\n#### Image 3: Feature Callout Infographic\n\n- Annotated diagram highlighting 4-6 key selling points with callout lines/icons\n- Clean layout: product centered, callout text arranged around it with clear pointers\n- Use short, benefit-driven phrases (not feature specs). E.g., \"Keeps drinks cold 24 hrs\" not \"Double-wall vacuum insulation\"\n- Consistent icon style (all outline or all filled, same line weight)\n- Background: solid white or very light neutral. No busy patterns\n\n### Optional Images (generate when user requests or product needs it)\n\n#### Image 4: Alternate Angle / Back View\n\n- Show the product from a different perspective (back, side, top-down, or 3/4 from the opposite side)\n- Same pure white background and lighting as the main image\n- Reveals details not visible in the hero shot (back panel, ports, closure, label)\n- **When to suggest**: products with functional back/side elements (electronics, bags, furniture)\n\n#### Image 5: Detail / Close-Up Shots\n\n- Macro-level close-ups of materials, textures, stitching, hardware, buttons, or key components\n- Can be a collage of 2-3 close-ups in a grid layout, or a single dramatic close-up\n- Demonstrates build quality and craftsmanship — this image builds trust\n- Same lighting temperature as other images for visual consistency\n- **When to suggest**: products where material quality is a selling point (leather goods, jewelry, textiles, premium hardware)\n\n#### Image 6: Scale / Dimensions Reference\n\n- Show the product next to a common reference object (hand, phone, pen, coin) or with explicit dimension annotations\n- For apparel/wearables: a size chart with clear measurements table\n- For multi-size products: side-by-side comparison of available sizes\n- **When to suggest**: products where size is frequently misjudged (furniture, bags, small accessories, apparel)\n\n#### Image 7: Package Contents / What's in the Box\n\n- Flat-lay or arranged display of everything included: the product, accessories, cables, manuals, packaging\n- Clean white or light background, each item clearly separated and identifiable\n- Optional: small text labels identifying each component\n- **When to suggest**: products that ship with multiple accessories (electronics kits, tool sets, gift boxes)\n\n## Design Thinking\n\n1. **Understand the purchase decision** — What hesitation stops a buyer? Design each image to remove a specific objection (Is it well-made? Will it fit? What's included? How does it look in real life?)\n2. **Design for the search grid first** — The main image competes in a grid of 20+ products at thumbnail size. It must be instantly recognizable, well-lit, and product-dominant. Overly clever compositions fail at thumbnail scale\n3. **Tell a visual story** — The required 3 images cover the core narrative: attract (main) → desire (lifestyle) → understand (features). Optional images deepen the story when needed: explore (angles) → trust (details) → confirm (size) → commit (contents)\n4. **Consistency is professionalism** — All 7 images must feel like they belong to the same listing. Same color temperature, same quality level, same visual language. Mixed styles signal amateur sellers\n5. **Benefit over feature** — Every image should communicate why the customer's life improves, not just what the product is. A lifestyle shot sells the dream; a feature callout sells the solution\n\n## Aesthetics Guidelines\n\n- **Lighting consistency**: Use the same soft, diffused studio lighting across all white-background shots (images 1, 2, 5, 7). Lifestyle shots (image 3) can use warmer natural light but should not clash in color temperature\n- **Color accuracy**: Product colors must look accurate — what the customer sees should match what arrives. Avoid over-saturated or heavily graded images. Describe the exact product color in the prompt\n- **Composition for square format**: Every image will be viewed in 1:1. Center the product with even margins. For infographic images, maintain a clear central anchor with callouts radiating outward\n- **Typography in secondary images**: Use clean, sans-serif fonts. Maximum 2 font sizes (heading + body). Text must be readable at mobile phone size — if a callout requires squinting, it's too small or too wordy\n- **Visual hierarchy in infographics**: The product image dominates; text callouts are secondary. Never let annotations overwhelm the product. Use thin callout lines, not thick arrows\n- **Professional restraint**: No starburst badges, no \"BEST SELLER\" stamps, no red/yellow sale graphics, no clip-art icons. These signal cheap quality. Let the product photography speak\n\n## Prompt Rules\n\n- Main image: specify \"pure white background RGB 255,255,255, studio photography, product centered, soft even lighting, subtle ground shadow\"\n- All images should default to photorealistic style (\"professional product photography\") unless the user or platform context calls for a different approach (e.g., illustrated style for Xiaohongshu)\n- Put all text content in double quotes for accurate rendering\n- Maintain consistent lighting and color temperature across the set — reference the main image with `--input-image` for subsequent shots\n- Describe the product material, color, and finish explicitly (e.g., \"brushed stainless steel with matte black silicone grip\") — do not leave surface details to chance\n\nFile v1.0.8:scenarios/infographic.md\n\n# Infographic\n\n## Triggers\n\ninfographic, data visualization, chart, diagram, flowchart, timeline, statistics, process diagram\n\n## Defaults\n\n- **Aspect ratio**: `2:3` (vertical scroll); use `16:9` for presentation slides\n- **Resolution**: `2K`\n\n## Content Integrity\n\n- **Key information must not be lost**: Core conclusions, key figures, key steps must be preserved from the source\n- **No fabrication**: Do not invent data, conclusions, or causal relationships absent from the original material\n- **No relationship distortion**: Comparisons must not become processes; correlations must not become causations\n- **Data accuracy is non-negotiable**: Numbers, ratios, timeframes, and rankings must be exact\n- **Compress without distortion**: Abbreviation is allowed; altering the original meaning is not\n\n## Design Thinking\n\n1. **Identify the core message** — What is the single takeaway the viewer should remember?\n2. **Choose the right structure** — Match the infographic type (timeline, flowchart, comparison, etc.) to the logical relationship in the content. Do not force data into a mismatched layout\n3. **Establish information hierarchy** — Primary data/conclusion at the top or center; supporting details flow outward or downward\n4. **Group related items** — Use spatial proximity, shared color, or enclosing shapes to signal that items belong together\n5. **Guide the reading path** — Use arrows, numbering, or visual flow (top→bottom, left→right) so the viewer never wonders \"where do I look next?\"\n\n## Aesthetics Guidelines\n\n- **Color palette**: Pick 1 primary + 1-2 accent colors; derive lighter/darker shades from these rather than adding unrelated hues. Ensure sufficient contrast (WCAG AA minimum) between text and background\n- **Typography**: Use no more than 2 font families — one for headings, one for body. Maintain consistent size hierarchy across sections\n- **Icons and decoration**: Icons should serve comprehension, not decoration. Keep the total count proportional to the number of information modules. Use a single, line-weight-consistent icon set — never mix outline, filled, and hand-drawn styles\n- **White space**: Every section needs breathing room. Cramped layouts destroy readability — when in doubt, cut content rather than shrink spacing\n- **Alignment and grid**: All elements should snap to a visible or implied grid. Misaligned text or uneven margins signal low quality instantly\n- **Visual consistency**: Repeated elements (cards, dividers, bullet styles) must look identical throughout. Inconsistency erodes trust in the data\n\n## Prompt Rules\n\n- Specify all text and numbers in double quotes — maximizes text rendering accuracy\n- Specify exact data values — do not let the model invent numbers\n\nFile v1.0.8:scenarios/logo.md\n\n# Logo Design\n\n## Triggers\n\nlogo, brand mark, icon design, app icon, favicon, logomark, logo concept, trademark\n\n## Defaults\n\n- **Aspect ratio**: `1:1`\n- **Resolution**: `2K`\n\n## Design Thinking\n\n1. **Clarify brand essence** — Before generating, ask: What does the brand stand for? What emotion should the mark evoke? (trustworthy, playful, premium, techy…)\n2. **Pick the right logo type** — A tech startup may suit an abstract mark; a bakery fits a pictorial mark; a law firm calls for a lettermark or emblem. Match type to industry and personality\n3. **Start with concept, not style** — Define the core metaphor/symbol first (e.g., \"shield = protection\", \"leaf = growth\"), then explore stylistic variations around that concept\n4. **Design for scalability** — The mark must be recognizable from a billboard down to a 16px favicon. If a detail vanishes at small size, it shouldn't be there\n5. **Test in context** — Mentally place the logo on business cards, app icons, social avatars, and merchandise. A good mark works across all touchpoints\n\n## Aesthetics Guidelines\n\n- **Shape language**: Use deliberate geometric shapes — circles convey friendliness, squares convey stability, triangles convey dynamism. Avoid arbitrary organic blobs unless the brand calls for it\n- **Color restraint**: Limit the palette to 1-3 colors max. Each color should carry meaning (e.g., blue = trust, green = growth). The logo must also work in pure monochrome\n- **Negative space**: Leverage negative space for cleverness and memorability (think FedEx arrow, NBC peacock). Describe negative-space concepts explicitly in the prompt\n- **Symmetry and balance**: Logos benefit from optical balance — either symmetric or deliberately asymmetric with a clear visual anchor. Avoid unintentionally lopsided compositions\n- **Line weight consistency**: Whether thick and bold or thin and elegant, line weights should be uniform throughout. Mixed weights look unfinished\n- **Avoid trends, aim for timeless**: Skip gradients-of-the-year, overly complex 3D effects, or style fads. The best logos are simple enough to age well\n\n## Prompt Rules\n\n- **Solid background** — Always specify a solid color background (e.g., \"on a white background\"). Do not request transparency\n- **Describe the concept, not the outcome** — Write \"a shield formed by two overlapping leaves\" rather than \"a logo that represents security and nature\". Concrete visual descriptions produce better results than abstract adjectives\n- **Specify style explicitly** — State the rendering style: flat vector, geometric minimal, line art, isometric, etc. Without this, models default to inconsistent semi-realistic styles\n- **Constrain complexity** — Describe at most 2-3 visual elements. Every added element increases the chance of muddy composition. If it wouldn't survive at 16x16, remove it from the prompt\n- **State what to avoid** — Use negative constraints to exclude unwanted elements (e.g., \"no photorealistic textures, no busy background\"). Be selective — only exclude what truly conflicts with the concept; over-constraining kills creative possibilities\n- **Anchor the composition** — Specify spatial relationships: \"centered\", \"contained within a circle\", \"symmetrical along the vertical axis\". Without this, models produce off-balance layouts\n- **About Text Render** - Be clear about the text, the font style (descriptively), and the overall design.\n\nFile v1.0.8:scenarios/poster.md\n\n# Poster\n\n## Triggers\n\nposter, banner, event poster, promotional, marketing, movie poster, concert poster, advertising\n\n## Defaults\n\n- **Aspect ratio**: `3:4`\n- **Resolution**: `2K`\n\n## Visual Hierarchy\n\nSpecify this top-to-bottom reading flow in the prompt:\n\n1. **Eye-catcher** — Hero image or bold visual\n2. **Headline** — Main message in large, prominent text\n3. **Supporting info** — Date, location, secondary details\n4. **Call to action** — CTA text, website, QR code area\n\n## Design Thinking\n\n1. **Define the communication goal** — What should the viewer do after seeing this poster? (attend an event, buy a product, feel an emotion, learn something). Every design choice serves this goal\n2. **Identify the single hero element** — A poster has ~2 seconds to grab attention. Decide what dominates: a bold image, a striking headline, or a dramatic color. Never compete for attention with multiple heroes\n3. **Design for viewing distance** — A street poster is read from 3 meters; a social share from 15cm. Scale type and detail accordingly. When in doubt, go bigger and bolder\n4. **Create emotional resonance** — The best posters trigger a feeling before the brain processes the words. Choose imagery, color, and composition that evoke the target emotion (urgency, excitement, elegance, nostalgia)\n5. **Respect the medium** — A concert poster can be raw and experimental; a corporate event poster needs polish. Match the visual style to the audience expectation\n\n## Aesthetics Guidelines\n\n- **Focal point**: Every poster needs one unmistakable focal point. Use scale, contrast, color, or isolation to make it dominant. If you squint and nothing pops, the design fails\n- **Color mood**: Use color psychology intentionally — warm tones (red/orange) for energy and urgency, cool tones (blue/green) for calm and trust, high saturation for youth and fun, muted tones for sophistication. Limit to 2-3 dominant colors plus neutrals\n- **Typography as design**: In posters, type is not just information — it's a visual element. Oversized headlines, creative text placement, and expressive font choices can BE the design. Describe specific type treatments in the prompt (e.g., \"massive bold sans-serif title filling the top third\")\n- **Composition techniques**: Use the rule of thirds, golden ratio, or bold centered symmetry. Describe the layout structure explicitly: \"centered composition with radial symmetry\" or \"off-center subject with text balanced on the opposite side\"\n- **Contrast is everything**: Text must be legible at a glance. If placing text over imagery, specify overlay treatments.\n- **Breathing room**: Resist the urge to fill every corner. Generous margins and whitespace make the key message louder, not quieter\n\n## Prompt Rules\n\n- Clarify design direction before generating — ask user about style, color mood, and tone if unspecified\n- One poster = one clear message\n- Put all text content in double quotes for accurate rendering\n- For a series, use `--input-image` from the first to maintain consistency\n\nFile v1.0.8:scenarios/social-media.md\n\n# Social Media\n\n## Triggers\n\nsocial media, instagram, twitter, X, facebook, linkedin, xiaohongshu, douyin, TikTok, post, story, reels, banner, thumbnail, cover photo, OG image\n\n## Defaults\n\n- **Resolution**: `2K`\n- **Aspect ratio**: depends on platform (see table); default `1:1` if unspecified\n\n## Platform Aspect Ratio Map\n\n| Platform | Format | Aspect ratio |\n|---|---|---|\n| Instagram | Post | `1:1` or `4:5` |\n| Instagram | Story / Reels | `9:16` |\n| Twitter / X | Post image | `16:9` |\n| Facebook | Post | `1:1` or `4:5` |\n| Facebook | Cover photo | `16:9` |\n| LinkedIn | Post | `1:1` or `4:5` |\n| LinkedIn | Banner | `16:9` |\n| Xiaohongshu (RED) | Post | `3:4` |\n| Douyin / TikTok | Cover | `9:16` |\n| YouTube | Thumbnail | `16:9` |\n| Pinterest | Pin | `2:3` |\n\n## Design Thinking\n\n1. **Understand the scroll context** — Your image competes with hundreds of others in a feed. Design for the 0.3-second thumb-stop moment: if the core message isn't instantly clear, the post loses\n2. **Platform personality matters** — Xiaohongshu rewards polished, aspirational aesthetics; Twitter/X favors bold statements and memes; LinkedIn expects professional clarity; Instagram rewards visual beauty. Tailor the visual tone to the platform\n3. **Design for the crop** — Platforms display thumbnails, circular avatars, and cropped previews differently. Keep the hero element centered and away from edges. Mentally preview how the image looks in a feed grid\n4. **Tell a micro-story** — The best social images create curiosity or emotion in a single frame. A before/after, a surprising visual, or a bold statement paired with an arresting image outperforms generic graphics\n5. **Brand consistency across posts** — If creating a series, define a visual system upfront: consistent color palette, layout template, font style. Followers should recognize your brand before reading the handle\n\n## Aesthetics Guidelines\n\n- **Thumb-stop color**: Use bold, saturated colors that pop on both light and dark mode feeds. Avoid muddy mid-tones. Test mentally: would this stand out in a grid of muted photos?\n- **Text hierarchy at phone scale**: On mobile, body text under 14pt equivalent is invisible. Use 2 levels max: a punchy headline and one short supporting line. If you need more text, it belongs in the caption, not the image\n- **Safe zones**: Keep all critical elements (text, faces, key visuals) within the center 80% of the canvas. Platform UI overlays, cropping, and rounded corners eat the edges\n- **Visual consistency for series**: Define a template system — same background color/texture, same text position, same accent color. Describe this template explicitly in the prompt and use `--input-image` to enforce it\n- **Platform-native feel**: The image should feel native to the platform, not like a repurposed print ad. Xiaohongshu posts feel editorial; Instagram Stories feel immersive; LinkedIn posts feel clean and informative. Describe the target platform aesthetic in the prompt\n- **Authenticity over polish**: Overly corporate, stock-photo-style graphics underperform on most platforms. Favor genuine, relatable, or visually surprising imagery. Describe specific scenes rather than generic concepts\n\n## Prompt Rules\n\n- Design for thumb-stopping: clear focal point and strong visual contrast. Adapt color intensity to the platform.\n- Keep text in safe zones — away from edges where platforms crop\n- Put all text content in double quotes for accurate rendering\n- Headlines must be readable at thumbnail size\n- For a series, use `--input-image` from the first post to maintain visual consistency\n\nFile v1.0.8:scenarios/storyboard.md\n\n# Storyboard\n\n## Triggers\n\nstoryboard, scene breakdown, shot list, animatic, shot planning, visual script, frame-by-frame\n\n## Defaults\n\n- **Aspect ratio**: `16:9`\n- **Resolution**: `2K`\n\n## Consistency Strategy\n\nStoryboards live or die on visual consistency — the same characters, locations, and style must carry across every frame.\n\n**If the user provides reference images** (character designs, mood boards, style references):\n1. Use them as `--input-image` for every subsequent frame\n2. Extract and document the visual DNA: art style, color palette, character features, lighting mood\n3. Repeat these descriptors verbatim in every frame prompt\n\n**If the user provides NO reference images**:\n1. Begin with Phase 1 (story breakdown) and Phase 2 (reference sheet generation) below — do NOT skip to frame generation\n2. The reference sheets become the source of truth for all subsequent frames\n\n## Workflow\n\n### Phase 1: Story Breakdown\n\nAnalyze the narrative and produce a shot list before generating any images. Define:\n\n- **Scene count and sequence** — number of frames, scene transitions, pacing\n- **Character bible** — each main character with exact appearance descriptors: name, age, build, hair color/style, skin tone, clothing (color, material, fit), distinguishing features (scars, glasses, accessories). Be exhaustively specific — vague descriptors cause drift\n- **Location directory** — each recurring location with architectural style, lighting conditions, color atmosphere, key props\n- **Art style lock** — choose ONE style phrase and use it verbatim in every prompt (e.g., \"Makoto Shinkai anime style with soft volumetric lighting\" or \"Moebius-inspired line art with flat pastel colors\"). Never paraphrase or vary the style description\n\n### Phase 2: Reference Sheet Generation\n\nGenerate reference sheets **before** any storyboard frames. These anchor visual consistency.\n\n1. **Character sheets**: For each main character — full body, front-facing, neutral pose, plain background. Include 3/4 view and profile if the character appears in many frames. Name: `...-char-[name].png`\n2. **Location sheets**: For each recurring location — wide establishing view with characteristic lighting. Name: `...-location-[name].png`\n3. **Style reference**: If the art style is complex, generate one standalone \"style sample\" frame to use as visual anchor\n\n### Phase 3: Frame-by-Frame Generation\n\nGenerate each frame sequentially. For every frame:\n\n- Pass relevant character/location sheets via `--input-image`\n- For multiple characters in one frame, pass all relevant sheets as multiple `-i` arguments\n- **Copy-paste** the exact character description and style phrase from Phase 1 — do not rephrase\n- Describe the shot composition using cinematic language: camera angle, distance, framing\n- Name: `...-shot-01.png`, `...-shot-02.png`, ...\n\n### Phase 4: Review and Revise\n\nRe-generate inconsistent frames using `--input-image` from both the character sheet and the nearest consistent frame. Reference two anchors simultaneously for maximum consistency.\n\n## Design Thinking\n\n1. **Serve the story, not the art** — Every frame exists to advance the narrative. Ask: what must the viewer understand from this frame? If a frame doesn't convey new information or emotion, it shouldn't exist\n2. **Control pacing through composition** — Wide establishing shots slow the pace and set context; close-ups accelerate emotion and tension; medium shots carry dialogue. Vary shot types to create rhythm\n3. **Plan transitions** — Adjacent frames should flow visually. If frame 5 ends on a character looking right, frame 6 should have the subject of their gaze on the left. Continuity of eye-line and spatial direction matters\n4. **Emotion through camera language** — Low angles convey power/menace; high angles convey vulnerability; Dutch angles convey unease; eye-level conveys neutrality. Choose deliberately\n5. **Less is more** — A 12-frame storyboard that tells a clear story beats a 30-frame board with redundant shots. Edit ruthlessly before generating\n\n## Aesthetics Guidelines\n\n- **Style coherence is absolute**: Every frame must look like it was drawn by the same artist. The style phrase from Phase 1 is sacred — never modify, abbreviate, or \"improve\" it across frames\n- **Color continuity**: Establish a scene-level color palette (warm interiors, cool exteriors, etc.) and maintain it. Dramatic shifts in color should only occur at intentional story beats (e.g., flashback = desaturated, climax = high contrast)\n- **Consistent character scale**: Characters should maintain proportional relationships across frames. If character A is taller than B in frame 1, this must hold in frame 10\n- **Lighting as storytelling**: Match lighting to emotional tone — soft diffused light for calm moments, harsh directional light for conflict, silhouette for mystery. Describe the lighting direction and quality in every frame prompt\n- **Compositional clarity**: Each frame should have a clear focal point. Use the rule of thirds. The viewer's eye should never wander aimlessly — lead it with contrast, positioning, or character gaze direction\n- **Negative space for text/annotation**: If the storyboard will include dialogue or action notes, leave intentional space (typically bottom 15%) for text overlay\n\n## Prompt Rules\n\n- Copy-paste the art style phrase identically into every frame prompt — never paraphrase\n- Copy-paste full character descriptions into each frame where that character appears\n- Always pass reference sheets via `--input-image` — verbal description alone causes drift\n- Use cinematic shot terminology: \"wide shot\", \"close-up\", \"over-the-shoulder\", \"POV shot\", \"two-shot\"\n- Describe lighting direction and quality explicitly: \"warm golden key light from upper left, cool blue fill from right\"\n- When a frame includes dialogue, enclose the spoken text in quotation marks within the prompt (e.g., `a speech bubble saying \"Let's go!\"`). Define the speech bubble style once in Phase 1 (shape, font style) based on the art direction, and reuse that description verbatim across all frames\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nSkywork Design generates or edits images through the Skywork Image API for image creation, poster design, logo design, visual asset generation, and image modification requests.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gxcun17](https://clawhub.ai/user/gxcun17)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDesigners, marketers, developers, and agents use this skill to generate or edit visual assets such as posters, logos, brand materials, social media images, storyboards, brochures, infographics, and e-commerce product images. It is useful when a workflow needs guided prompt construction, aspect ratio and resolution choices, or image-to-image edits using local reference images.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Paid Skywork credentials could be exposed or misused if SKYWORK_API_KEY is stored or printed insecurely.\n\nMitigation: Store SKYWORK_API_KEY in a secret manager or tightly permissioned runtime configuration, avoid printing credential-bearing config, and rotate the key if it is exposed.\n\nRisk: Sensitive prompts or private reference images may be processed by Skywork and returned through an externally hosted URL.\n\nMitigation: Review prompts and input images before use, avoid sending sensitive material unless approved for the Skywork service, and treat hosted result URLs as externally accessible artifacts.\n\n## Reference(s):\n\n- [Skywork Design ClawHub listing](https://clawhub.ai/gxcun17/skills/skywork-design)\n- [Skywork publisher profile](https://clawhub.ai/user/gxcun17)\n- [Skywork website](https://skywork.ai)\n- [API key setup guide](references/apikey-fetch.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and generated image file paths or hosted image URLs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May produce local image files and externally hosted OSS URLs after calling the Skywork API.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata)\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.\n\nArchive v1.0.7: 14 files, 27251 bytes\n\nFiles: references/apikey-fetch.md (1794b), scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/constant.py (81b), scripts/generate_image.py (7427b), scripts/skywork_auth.py (284b), SKILL.md (7499b), _meta.json (133b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: Skywork Design\ndescription: Skywork Design (skywork) - Generate or edit images via the Skywork Image API. Use for image creation, poster design, logo design, visual asset generation, or image modification requests. Supports text-to-image and image-to-image editing with aspect ratio and resolution control.\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n      env:\n        - SKYWORK_API_KEY\n    primaryEnv: SKYWORK_API_KEY\n---\n\n# Visual Design — Image Generation & Editing\n\nGenerate new images or edit existing ones via the backend image API.\nBe patient, it takes about 2 minutes to generate an image each time.\n\n---\n\n## Prerequisites\n\n### API Key Configuration (Required First)\nThis skill requires a **SKYWORK_API_KEY** to be configured in OpenClaw.\n\nIf you don't have an API key yet, please visit:\n**https://skywork.ai**\n\nFor detailed setup instructions, see:\n[references/apikey-fetch.md](references/apikey-fetch.md)\n\n## Usage\n\nRun the script using absolute path (do NOT cd to skill directory):\n\n**Generate new image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"description\" --filename \"output.png\" [--aspect-ratio 3:4] [--resolution 1K|2K|4K]\n```\n\n**Edit existing image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"edit instructions\" --filename \"output.png\" --input-image \"source.png\" [--aspect-ratio 3:4] [--resolution 2K]\n```\n\n**Edit with multiple reference images:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"combine these styles\" --filename \"output.png\" -i \"ref1.png\" -i \"ref2.png\"\n```\n\nAlways run from the user's working directory so images save there.\n\n## When to Generate vs Edit\n\n- **Generation** (`--prompt` only): Creating new images from scratch — posters, logos, illustrations, photos, infographics.\n- **Editing** (`--prompt` + `--input-image`): User provides existing image(s) and wants modifications — style changes, element addition/removal, color adjustments, format conversion.\n  - Notice: Edit api supports character resemblance of up to 4 characters and the fidelity of up to 10 objects in a single workflow\n\nIf the user uploads/references images and wants changes, always use `--input-image`.\n\n## Resolution\n\n- **1K** — ~1024px, fast drafts\n- **2K** (default) — ~2048px, good for most deliverables\n- **4K** — ~4096px, final high-res output\n\nMap user requests: \"low/draft\" → 1K, \"normal/medium/2K\" → 2K, \"high-res/hi-res/4K/ultra\" → 4K.\n\n## Aspect Ratio\n\nSupported ratios: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`.\n\nSelection guidance:\n- **1:1** — Social media avatars, icons, album covers\n- **3:4 / 4:3** — General posters, presentations\n- **4:5 / 5:4** — Instagram posts, portraits\n- **9:16 / 16:9** — Mobile stories / desktop wallpapers, video covers\n- **2:3 / 3:2** — Print posters, book covers\n- **21:9** — Ultra-wide banners, cinema format\n\nIf the user doesn't specify, omit `--aspect-ratio` and let the API decide.\n\n## Filename Convention\n\nPattern: `yyyy-mm-dd-hh-mm-ss-descriptive-name.png`\n\nExamples:\n- \"A serene Japanese garden\" → `2026-03-10-14-23-05-japanese-garden.png`\n- \"sunset over mountains\" → `2026-03-10-15-30-12-sunset-mountains.png`\n- Unclear context → `2026-03-10-17-12-48-x9k2.png`\n\n## Preflight\n\n- `command -v python3` (must exist)\n- If editing: verify each `--input-image` file exists\n\n## Common Failures\n\n- `Error: Input image not found:` → wrong path; verify `--input-image` file exists\n- `HTTP error 500` → backend service error; retry or check server status\n- `Request failed: Connection refused` → backend service unavailable; ensure the service is running\n- **Insufficient benefit**: The script or log may show a message like `Insufficient benefit. Please upgrade your account at {url}`, meaning the user's benefit level does not meet the requirement for this skill.\n\n### How to reply when benefit is insufficient\n\nWhen you detect the above, **reply in the user's current language** — do not echo the English message. Use this pattern:\n\n- Convey: \"Sorry, image generation failed. This skill requires upgrading your Skywork membership to use.\" then a single call-to-action link.\n- **Format**: One short sentence in the user's language + a link like `[Upgrade now →](url)` or the equivalent in their language.\n- **URL**: Extract the upgrade URL from the log/script output (e.g. the `at https://...` part).\n\n> Note: Only suggest upgrading when the error is **Insufficient benefit**. For auth errors like `NO_TOKEN` / `INVALID_TOKEN` / `401` / “invalid API key”, keep the error code / raw message and guide users to update `SKYWORK_API_KEY`. **Do not** suggest upgrading membership.\n\n## Output\n\n- Script prints the local file path and the OSS URL.\n- Depending on the platform, use the most appropriate way to deliver the image (e.g. send as image message, display inline, or print the URLs). By default, return both the local path and OSS URL to the user. The OSS URL ensures cross-platform accessibility.\n\n## Design Scenarios\n\nMatch the user's request to a scenario and read the corresponding file for specialized workflow:\n\n- **E-commerce product image**: See [scenarios/e-commerce.md](scenarios/e-commerce.md)\n- **Storyboard**: See [scenarios/storyboard.md](scenarios/storyboard.md)\n- **Infographic**: See [scenarios/infographic.md](scenarios/infographic.md)\n- **Logo**: See [scenarios/logo.md](scenarios/logo.md)\n- **Branding / VI**: See [scenarios/branding.md](scenarios/branding.md)\n- **Brochure**: See [scenarios/brochure.md](scenarios/brochure.md)\n- **Social media**: See [scenarios/social-media.md](scenarios/social-media.md)\n- **Poster**: See [scenarios/poster.md](scenarios/poster.md)\n\n## Prompt Engineering\n\n### Prompts Best Practices\n\nFollow these principles for quality prompts using the image API for generation or editing:\n\n- **Describe the scene, don't just list keywords.** A narrative, descriptive paragraph produces much better results than disconnected words. The model's core strength is deep language understanding.\n  - Weak: \"cat, sunset, beach\"\n  - Strong: \"A ginger tabby cat sitting on a sandy beach at golden hour, facing the camera with soft warm backlighting, shallow depth of field, ocean waves blurred in the background\"\n- **Be hyper-specific.** The more detail you provide, the more control you have. Include all visual details: style, colors, composition, lighting, background, textures.\n- **Provide context and intent.** Explain the purpose of the image — the model's understanding of context influences the output.\n- **Use step-by-step instructions** for complex scenes with many elements. Break the prompt into layers: foreground, middle ground, background.\n- **Use \"semantic negative prompts.\"** Instead of \"no cars,\" describe positively: \"an empty, deserted street with no signs of traffic.\"\n- **Control the camera.** Use photographic and cinematic terms: \"wide-angle shot\", \"macro shot\", \"low-angle perspective\", \"bird's eye view\", \"rule of thirds\", \"shallow depth of field\".\n- **Time perception.** If the result needs real-time timeliness, mention the current time context in the prompt.\n- **Text in images.** Place text content within double quotation marks:\n  > A movie poster with the title \"INCEPTION\" in large silver metallic letters at the top\n- Clearly specify and emphasize the elements that require modification. Describe reference images by their order (first image, second image), not by filename.\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn70ct0m3p4538a9t49cjcwern82ky02\",\n  \"slug\": \"skywork-design\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1775736417979\n}\n\nFile v1.0.7:references/apikey-fetch.md\n\n# Skywork API Key Setup Guide (OpenClaw)\n\n## SKYWORK_API_KEY Not Configured\n\nWhen the `SKYWORK_API_KEY` environment variable is not set, follow these steps:\n\n### 1. Get API Key\n\nVisit the Skywork website and sign in to your account:\n\n**https://skywork.ai**\n\n- Log in with your Skywork account\n- Open account / Settings / API Key (**https://skywork.ai/?openApiKeySetting=1**)\n- Create or copy your **API key**\n\nIf your organization uses a separate console or test environment, use the URL and credentials your team provides.\n\n### 2. Configure OpenClaw\n\nEdit the OpenClaw configuration file: `~/.openclaw/openclaw.json`\n\nIn current OpenClaw, Skywork skills store the key under `skills.entries.<Skill Name>.apiKey` (not under `env`).\nOpenClaw will inject this value into the skill's `SKYWORK_API_KEY` environment when `primaryEnv` matches.\nAdd or merge the following structure (adjust the skill name to match the installed skill):\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"Skywork Design\": {\n        \"enabled\": true,\n        \"apiKey\": \"your_actual_skywork_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nReplace `\"your_actual_skywork_api_key_here\"` with your real key.\n\nFor multiple Skywork skills, repeat the same `apiKey` field on each skill entry.\n\n### 3. Verify Configuration\n\n```bash\n# Check JSON format\ncat ~/.openclaw/openclaw.json | python3 -m json.tool\n```\n\n### 4. Restart OpenClaw\n\n```bash\nopenclaw gateway restart\n```\n\n## Troubleshooting\n\n- Ensure `~/.openclaw/openclaw.json` exists and is valid JSON\n- Confirm the API key is active and not expired\n- Check Skywork account status, membership, or quota if requests fail with auth or benefit errors\n- Restart OpenClaw after configuration changes\n\n**Recommended**: Use the OpenClaw configuration file for centralized environment management.\n\nFile v1.0.7:scenarios/branding.md\n\n# Branding / Visual Identity (VI)\n\n## Triggers\n\nbranding, brand identity, VI, visual identity, brand guidelines, brand kit, brand system, style guide\n\n## Defaults\n\n- **Aspect ratio**: varies per deliverable (see table)\n- **Resolution**: `2K`\n\n## Consistency Strategy\n\nA brand system demands the highest level of visual consistency — every deliverable must feel like it was designed by the same studio in the same session.\n\n**If the user provides a logo or brand assets**:\n1. Use them as `--input-image` for all subsequent deliverables\n2. Extract the visual DNA: primary/secondary colors (describe exact hues), style mood (minimal, playful, corporate, etc.), shape language (rounded, angular, geometric)\n3. Skip logo generation (deliverable 1) and begin from color palette or whichever deliverable is needed\n4. Carry the user's existing visual language — do not reinvent it\n\n**If the user provides NO existing assets**:\n1. Start with brand discovery: ask about industry, target audience, brand personality (3-5 adjectives), competitors to differentiate from\n2. Generate the logo first (following [logo.md](logo.md) guidance) — the logo is the seed from which all other brand elements grow\n3. Once the user approves the logo, derive everything else from it\n\n## Deliverables\n\nGenerate in this order. Each step uses `--input-image` from the previous to maintain consistency.\n\n| # | Deliverable | Ratio | Description |\n|---|---|---|---|\n| 1 | Logo mark | `1:1` | Core brand symbol (see [logo.md](logo.md)) |\n| 2 | Color palette card | `3:2` | Primary, secondary, accent colors with hex values shown as labeled swatches |\n| 3 | Typography showcase | `3:2` | Heading + body font pairing shown in sample text hierarchy |\n| 4 | Pattern / texture | `1:1` | Repeatable brand pattern derived from logo shapes or brand motifs |\n| 5 | Stationery mockup | `3:4` | Business card, letterhead, envelope on a styled flat-lay |\n| 6 | Brand guidelines page | `3:4` | Summary layout showing logo usage rules, color specs, and type hierarchy |\n\nNot all deliverables are always needed. Ask the user which items they want. If unclear, generate deliverables 1-5 (skip the guidelines page unless requested).\n\n## Design Thinking\n\n1. **Brand personality drives everything** — Before any visual work, define 3-5 personality adjectives (e.g., \"bold, modern, trustworthy\"). Every design choice — color, shape, typography — must trace back to these words\n2. **Differentiate, don't decorate** — Research the competitive landscape. If every competitor uses blue and sans-serif, the new brand needs a reason to follow suit or a strategy to stand apart. Ask the user about key competitors\n3. **System over individual pieces** — A brand is not a logo + some colors. It's a system where every element reinforces the others. The pattern echoes the logo shapes; the color palette reflects the logo colors; the typography matches the logo's personality\n4. **Constraint breeds cohesion** — Fewer colors, fewer fonts, fewer design elements = stronger brand recognition. Resist the urge to add variety; embrace deliberate limitation\n5. **Test across touchpoints mentally** — Before finalizing, imagine the brand on a website header, a mobile app icon, a product label, a social media post, and a conference badge. If it breaks at any touchpoint, simplify\n\n## Aesthetics Guidelines\n\n- **Color system**: Define exactly 1 primary color, 1-2 secondary colors, and 1-2 neutral tones. Every color must have a purpose (primary = brand recognition, secondary = accents/CTAs, neutrals = background/text). Describe colors with precise hue names, not just \"blue\" — say \"deep navy blue\" or \"electric cyan\"\n- **Typography pairing**: Choose one display/heading font and one body font. They should contrast in weight/style but share a visual kinship (similar x-height, complementary proportions). Describe the fonts by character: \"geometric sans-serif with uniform stroke width\" not just \"modern font\"\n- **Logo-derived patterns**: Brand patterns should be abstracted from logo geometry — repeated shapes, rotated elements, or deconstructed forms from the mark. This creates subliminal brand recognition without showing the logo itself\n- **Mockup realism**: Stationery and application mockups should feel physically real — paper texture, subtle shadows, realistic perspective. This elevates perceived brand quality. Specify material finish: \"matte uncoated paper\", \"glossy card stock\", \"embossed letterpress\"\n- **Whitespace as brand signal**: Premium brands use generous whitespace; energetic brands can be denser. The amount of whitespace IS a brand decision. Define it and enforce it consistently\n- **Visual rhythm**: Repeated spacing, consistent margins, and aligned elements across all deliverables create the invisible grid that holds a brand together. Describe the layout structure explicitly in each prompt\n\n## Prompt Rules\n\n- Use the **same style descriptors** (color names, style keywords, mood adjectives) across every prompt — copy-paste, don't paraphrase\n- Always pass previous output via `--input-image` when generating subsequent deliverables\n- Describe colors with exact hue names: \"warm coral #FF6B6B\" not just \"red\"\n- Include brand personality adjectives in every prompt: \"reflecting a bold, modern, trustworthy brand identity\"\n- For stationery mockups: specify material, finish, and scene context (\"on a marble desk with soft natural light\")\n\nFile v1.0.7:scenarios/brochure.md\n\n# Brochure\n\n## Triggers\n\nbrochure, pamphlet, leaflet, tri-fold, bi-fold, flyer, booklet, handout\n\n## Defaults\n\n- **Resolution**: `2K`\n\n## Formats & Image Count\n\nGenerate **one image per physical side**, with all panels of that side composed together in a single image.\n\n| Format | Images | Aspect ratio | Description |\n|--------|--------|-------------|-------------|\n| Single page / Flyer | 1 | `3:4` | All content on one image |\n| Bi-fold | 2 | `16:9` | Outside (front + back side by side), Inside (inside-left + inside-right side by side) |\n| Tri-fold | 2 | `21:9` | Outside (3 panels side by side), Inside (3 panels side by side) |\n| Multi-page booklet | 1 per spread | `16:9` | Each 2-page spread as one image |\n\nThis approach ensures visual consistency within each side and reduces generation calls.\n\n## Consistency Strategy\n\nA brochure is a multi-panel system — visual inconsistency between panels destroys professionalism instantly.\n\n**If the user provides brand assets or a reference image** (logo, brand guidelines, existing design):\n1. Use them as `--input-image` for every generation\n2. Extract the visual DNA: color palette, typography style, layout density, mood\n3. Maintain the established brand language — do not introduce new visual elements\n\n**If the user provides NO reference**:\n1. Generate the **outside face first** — this sets the entire visual direction: color palette, typography style, imagery mood, layout density\n2. Do NOT proceed to the inside face until the user approves the outside direction\n3. Use the approved outside face as `--input-image` when generating the inside face\n\n## Workflow\n\n### Step 1: Clarify Scope\n\nBefore generating, confirm with the user:\n- **Format**: single page, bi-fold, tri-fold, or booklet (how many pages?)\n- **Content**: what text/information goes on each panel? (get the actual copy or at minimum the topic per panel)\n- **Tone**: corporate, playful, luxurious, informational, promotional?\n- **Brand assets**: any existing logo, colors, or style to match?\n\n### Step 2: Outside Face\n\nGenerate the outside face as a single image with all panels composed together.\n- **Bi-fold** (`16:9`): left half = back cover, right half = front cover. Name: `...-outside.png`\n- **Tri-fold** (`21:9`): left = back cover, center = front flap, right = front cover. Name: `...-outside.png`\n- The front cover area must be the visual hero — it establishes the design direction\n- Describe the full layout in the prompt: \"a tri-fold brochure outside face, 3 panels side by side separated by subtle fold lines, left panel is the back cover with contact info, center panel is the front flap with a teaser, right panel is the front cover with the main headline and hero image\"\n- Wait for user approval before continuing\n\n### Step 3: Inside Face\n\nGenerate the inside face as a single image, using the outside face as `--input-image`.\n- **Bi-fold** (`16:9`): left = inside-left, right = inside-right. Name: `...-inside.png`\n- **Tri-fold** (`21:9`): left = inside-left, center = inside-center, right = inside-right. Name: `...-inside.png`\n- Describe: \"a tri-fold brochure inside face, 3 panels side by side separated by subtle fold lines, matching the style of the reference image, left panel covers [topic], center panel covers [topic], right panel covers [topic]\"\n\n## Design Thinking\n\n1. **Design for the fold** — In bi-fold and tri-fold formats, the fold line is a real physical constraint. Include subtle fold line indicators in the prompt. Critical content must not straddle the fold. The front panel is the first impression; the first inner panel revealed on opening is the \"aha\" moment\n2. **Sequential storytelling** — A brochure is read in a specific physical order. Design the content flow to match: hook (front cover) → expand (inner panels) → convince (data/testimonials) → act (back cover CTA). Each panel should make the reader want to see the next\n3. **One hero per panel** — Each panel gets one dominant visual or message. Competing elements on the same panel create confusion. If you have 4 key messages and 4 panels, the layout is obvious — one per panel\n4. **Print thinking** — Brochures are physical objects. Design for how they'll be held, folded, and read. Consider that colors look different on paper than on screen — bright neon colors often print poorly; rich, slightly muted tones print beautifully\n5. **The back cover matters** — Many designers neglect it. The back is often the first thing someone sees on a desk or shelf. A clean back with logo, tagline, and contact info reinforces brand presence. Never leave it as an afterthought\n\n## Aesthetics Guidelines\n\n- **Cross-panel color system**: Define a primary background color, a secondary accent, and a text color. Use these consistently across ALL panels. Do not introduce a new color on the inside that wasn't established on the outside\n- **Typography discipline**: One heading font, one body font, applied identically across all panels. Heading size, body size, and line spacing should be uniform. Describe these in every prompt: \"bold sans-serif headings, regular serif body text\"\n- **Image style consistency**: If the outside uses photography, the inside uses photography. If the outside uses illustration, the inside uses illustration. Never mix photographic and illustrated imagery in the same brochure\n- **Layout grid**: All panels should share the same margin width, column structure, and content alignment. Describe the grid: \"each panel has centered single-column layout with generous margins\"\n- **Visual breathing room**: Each panel needs whitespace. For text-heavy panels, increase margins rather than shrink type size. Cramped panels signal amateur design\n- **Print-safe colors**: Avoid pure RGB brights that can't reproduce in CMYK. Specify \"print-ready\" in the prompt. Rich blacks, deep navies, and warm neutrals look premium in print\n\n## Prompt Rules\n\n- Describe ALL panels of the side in a single prompt: \"3 panels side by side, separated by subtle fold lines\"\n- Specify what content goes in each panel by position: \"left panel shows..., center panel shows..., right panel shows...\"\n- Put all text content in double quotes for accurate rendering\n- Always pass the outside face via `--input-image` when generating the inside face\n- Use the same style/mood phrase for both sides — copy-paste, don't paraphrase\n\nFile v1.0.7:scenarios/e-commerce.md\n\n# E-commerce Product Images\n\n## Triggers\n\namazon, product listing, product photo, e-commerce, shopify, product shot, packshot, white background product, marketplace image\n\n## Defaults\n\n- **Aspect ratio**: `1:1`\n- **Resolution**: `4K` (Amazon requires min 1600px on longest side for zoom; recommend 2000px+)\n\n## Image Set\n\nA complete Amazon listing supports up to 7 images. Images are split into **required** (always generate) and **optional** (generate only when the user requests, or when the product clearly benefits from it).\n\nAsk the user for product details, key selling points, and target audience before starting. By default, generate the 3 required images only.\n\n### Required Images (always generate)\n\n#### Image 1: Main Image (Hero Shot)\n\nThe most critical image — determines click-through rate in search results.\n\n- **Pure white background** (RGB 255,255,255) — no gradients, no shadows on background, no off-white\n- **Product only** — absolutely no text, logos, badges, watermarks, props, or accessories not included in the sale\n- **Fill 85%+ of the frame** — the product should feel large and dominant, with minimal white border\n- **Single, clean angle** — front-facing or 3/4 angle that best shows the product's shape and identity\n- **Studio-quality lighting** — soft, even lighting with subtle shadow beneath the product for grounding. No harsh reflections or dark spots\n- **No mannequins** — for apparel, show on a human model or as a clean flat-lay. Ghost mannequin (invisible mannequin) effect is acceptable\n\n#### Image 2: Lifestyle / In-Use Image\n\n- Product shown in a realistic usage context — a person using it, or the product in its natural environment\n- Environment should match the target customer's aspirational setting (modern kitchen, outdoor adventure, minimalist desk, etc.)\n- Warm, natural lighting. The scene should feel authentic, not stock-photo-generic\n- Product must remain the clear focal point — the scene supports but never overwhelms\n\n#### Image 3: Feature Callout Infographic\n\n- Annotated diagram highlighting 4-6 key selling points with callout lines/icons\n- Clean layout: product centered, callout text arranged around it with clear pointers\n- Use short, benefit-driven phrases (not feature specs). E.g., \"Keeps drinks cold 24 hrs\" not \"Double-wall vacuum insulation\"\n- Consistent icon style (all outline or all filled, same line weight)\n- Background: solid white or very light neutral. No busy patterns\n\n### Optional Images (generate when user requests or product needs it)\n\n#### Image 4: Alternate Angle / Back View\n\n- Show the product from a different perspective (back, side, top-down, or 3/4 from the opposite side)\n- Same pure white background and lighting as the main image\n- Reveals details not visible in the hero shot (back panel, ports, closure, label)\n- **When to suggest**: products with functional back/side elements (electronics, bags, furniture)\n\n#### Image 5: Detail / Close-Up Shots\n\n- Macro-level close-ups of materials, textures, stitching, hardware, buttons, or key components\n- Can be a collage of 2-3 close-ups in a grid layout, or a single dramatic close-up\n- Demonstrates build quality and craftsmanship — this image builds trust\n- Same lighting temperature as other images for visual consistency\n- **When to suggest**: products where material quality is a selling point (leather goods, jewelry, textiles, premium hardware)\n\n#### Image 6: Scale / Dimensions Reference\n\n- Show the product next to a common reference object (hand, phone, pen, coin) or with explicit dimension annotations\n- For apparel/wearables: a size chart with clear measurements table\n- For multi-size products: side-by-side comparison of available sizes\n- **When to suggest**: products where size is frequently misjudged (furniture, bags, small accessories, apparel)\n\n#### Image 7: Package Contents / What's in the Box\n\n- Flat-lay or arranged display of everything included: the product, accessories, cables, manuals, packaging\n- Clean white or light background, each item clearly separated and identifiable\n- Optional: small text labels identifying each component\n- **When to suggest**: products that ship with multiple accessories (electronics kits, tool sets, gift boxes)\n\n## Design Thinking\n\n1. **Understand the purchase decision** — What hesitation stops a buyer? Design each image to remove a specific objection (Is it well-made? Will it fit? What's included? How does it look in real life?)\n2. **Design for the search grid first** — The main image competes in a grid of 20+ products at thumbnail size. It must be instantly recognizable, well-lit, and product-dominant. Overly clever compositions fail at thumbnail scale\n3. **Tell a visual story** — The required 3 images cover the core narrative: attract (main) → desire (lifestyle) → understand (features). Optional images deepen the story when needed: explore (angles) → trust (details) → confirm (size) → commit (contents)\n4. **Consistency is professionalism** — All 7 images must feel like they belong to the same listing. Same color temperature, same quality level, same visual language. Mixed styles signal amateur sellers\n5. **Benefit over feature** — Every image should communicate why the customer's life improves, not just what the product is. A lifestyle shot sells the dream; a feature callout sells the solution\n\n## Aesthetics Guidelines\n\n- **Lighting consistency**: Use the same soft, diffused studio lighting across all white-background shots (images 1, 2, 5, 7). Lifestyle shots (image 3) can use warmer natural light but should not clash in color temperature\n- **Color accuracy**: Product colors must look accurate — what the customer sees should match what arrives. Avoid over-saturated or heavily graded images. Describe the exact product color in the prompt\n- **Composition for square format**: Every image will be viewed in 1:1. Center the product with even margins. For infographic images, maintain a clear central anchor with callouts radiating outward\n- **Typography in secondary images**: Use clean, sans-serif fonts. Maximum 2 font sizes (heading + body). Text must be readable at mobile phone size — if a callout requires squinting, it's too small or too wordy\n- **Visual hierarchy in infographics**: The product image dominates; text callouts are secondary. Never let annotations overwhelm the product. Use thin callout lines, not thick arrows\n- **Professional restraint**: No starburst badges, no \"BEST SELLER\" stamps, no red/yellow sale graphics, no clip-art icons. These signal cheap quality. Let the product photography speak\n\n## Prompt Rules\n\n- Main image: specify \"pure white background RGB 255,255,255, studio photography, product centered, soft even lighting, subtle ground shadow\"\n- All images should default to photorealistic style (\"professional product photography\") unless the user or platform context calls for a different approach (e.g., illustrated style for Xiaohongshu)\n- Put all text content in double quotes for accurate rendering\n- Maintain consistent lighting and color temperature across the set — reference the main image with `--input-image` for subsequent shots\n- Describe the product material, color, and finish explicitly (e.g., \"brushed stainless steel with matte black silicone grip\") — do not leave surface details to chance\n\nFile v1.0.7:scenarios/infographic.md\n\n# Infographic\n\n## Triggers\n\ninfographic, data visualization, chart, diagram, flowchart, timeline, statistics, process diagram\n\n## Defaults\n\n- **Aspect ratio**: `2:3` (vertical scroll); use `16:9` for presentation slides\n- **Resolution**: `2K`\n\n## Content Integrity\n\n- **Key information must not be lost**: Core conclusions, key figures, key steps must be preserved from the source\n- **No fabrication**: Do not invent data, conclusions, or causal relationships absent from the original material\n- **No relationship distortion**: Comparisons must not become processes; correlations must not become causations\n- **Data accuracy is non-negotiable**: Numbers, ratios, timeframes, and rankings must be exact\n- **Compress without distortion**: Abbreviation is allowed; altering the original meaning is not\n\n## Design Thinking\n\n1. **Identify the core message** — What is the single takeaway the viewer should remember?\n2. **Choose the right structure** — Match the infographic type (timeline, flowchart, comparison, etc.) to the logical relationship in the content. Do not force data into a mismatched layout\n3. **Establish information hierarchy** — Primary data/conclusion at the top or center; supporting details flow outward or downward\n4. **Group related items** — Use spatial proximity, shared color, or enclosing shapes to signal that items belong together\n5. **Guide the reading path** — Use arrows, numbering, or visual flow (top→bottom, left→right) so the viewer never wonders \"where do I look next?\"\n\n## Aesthetics Guidelines\n\n- **Color palette**: Pick 1 primary + 1-2 accent colors; derive lighter/darker shades from these rather than adding unrelated hues. Ensure sufficient contrast (WCAG AA minimum) between text and background\n- **Typography**: Use no more than 2 font families — one for headings, one for body. Maintain consistent size hierarchy across sections\n- **Icons and decoration**: Icons should serve comprehension, not decoration. Keep the total count proportional to the number of information modules. Use a single, line-weight-consistent icon set — never mix outline, filled, and hand-drawn styles\n- **White space**: Every section needs breathing room. Cramped layouts destroy readability — when in doubt, cut content rather than shrink spacing\n- **Alignment and grid**: All elements should snap to a visible or implied grid. Misaligned text or uneven margins signal low quality instantly\n- **Visual consistency**: Repeated elements (cards, dividers, bullet styles) must look identical throughout. Inconsistency erodes trust in the data\n\n## Prompt Rules\n\n- Specify all text and numbers in double quotes — maximizes text rendering accuracy\n- Specify exact data values — do not let the model invent numbers\n\nFile v1.0.7:scenarios/logo.md\n\n# Logo Design\n\n## Triggers\n\nlogo, brand mark, icon design, app icon, favicon, logomark, logo concept, trademark\n\n## Defaults\n\n- **Aspect ratio**: `1:1`\n- **Resolution**: `2K`\n\n## Design Thinking\n\n1. **Clarify brand essence** — Before generating, ask: What does the brand stand for? What emotion should the mark evoke? (trustworthy, playful, premium, techy…)\n2. **Pick the right logo type** — A tech startup may suit an abstract mark; a bakery fits a pictorial mark; a law firm calls for a lettermark or emblem. Match type to industry and personality\n3. **Start with concept, not style** — Define the core metaphor/symbol first (e.g., \"shield = protection\", \"leaf = growth\"), then explore stylistic variations around that concept\n4. **Design for scalability** — The mark must be recognizable from a billboard down to a 16px favicon. If a detail vanishes at small size, it shouldn't be there\n5. **Test in context** — Mentally place the logo on business cards, app icons, social avatars, and merchandise. A good mark works across all touchpoints\n\n## Aesthetics Guidelines\n\n- **Shape language**: Use deliberate geometric shapes — circles convey friendliness, squares convey stability, triangles convey dynamism. Avoid arbitrary organic blobs unless the brand calls for it\n- **Color restraint**: Limit the palette to 1-3 colors max. Each color should carry meaning (e.g., blue = trust, green = growth). The logo must also work in pure monochrome\n- **Negative space**: Leverage negative space for cleverness and memorability (think FedEx arrow, NBC peacock). Describe negative-space concepts explicitly in the prompt\n- **Symmetry and balance**: Logos benefit from optical balance — either symmetric or deliberately asymmetric with a clear visual anchor. Avoid unintentionally lopsided compositions\n- **Line weight consistency**: Whether thick and bold or thin and elegant, line weights should be uniform throughout. Mixed weights look unfinished\n- **Avoid trends, aim for timeless**: Skip gradients-of-the-year, overly complex 3D effects, or style fads. The best logos are simple enough to age well\n\n## Prompt Rules\n\n- **Solid background** — Always specify a solid color background (e.g., \"on a white background\"). Do not request transparency\n- **Describe the concept, not the outcome** — Write \"a shield formed by two overlapping leaves\" rather than \"a logo that represents security and nature\". Concrete visual descriptions produce better results than abstract adjectives\n- **Specify style explicitly** — State the rendering style: flat vector, geometric minimal, line art, isometric, etc. Without this, models default to inconsistent semi-realistic styles\n- **Constrain complexity** — Describe at most 2-3 visual elements. Every added element increases the chance of muddy composition. If it wouldn't survive at 16x16, remove it from the prompt\n- **State what to avoid** — Use negative constraints to exclude unwanted elements (e.g., \"no photorealistic textures, no busy background\"). Be selective — only exclude what truly conflicts with the concept; over-constraining kills creative possibilities\n- **Anchor the composition** — Specify spatial relationships: \"centered\", \"contained within a circle\", \"symmetrical along the vertical axis\". Without this, models produce off-balance layouts\n- **About Text Render** - Be clear about the text, the font style (descriptively), and the overall design.\n\nFile v1.0.7:scenarios/poster.md\n\n# Poster\n\n## Triggers\n\nposter, banner, event poster, promotional, marketing, movie poster, concert poster, advertising\n\n## Defaults\n\n- **Aspect ratio**: `3:4`\n- **Resolution**: `2K`\n\n## Visual Hierarchy\n\nSpecify this top-to-bottom reading flow in the prompt:\n\n1. **Eye-catcher** — Hero image or bold visual\n2. **Headline** — Main message in large, prominent text\n3. **Supporting info** — Date, location, secondary details\n4. **Call to action** — CTA text, website, QR code area\n\n## Design Thinking\n\n1. **Define the communication goal** — What should the viewer do after seeing this poster? (attend an event, buy a product, feel an emotion, learn something). Every design choice serves this goal\n2. **Identify the single hero element** — A poster has ~2 seconds to grab attention. Decide what dominates: a bold image, a striking headline, or a dramatic color. Never compete for attention with multiple heroes\n3. **Design for viewing distance** — A street poster is read from 3 meters; a social share from 15cm. Scale type and detail accordingly. When in doubt, go bigger and bolder\n4. **Create emotional resonance** — The best posters trigger a feeling before the brain processes the words. Choose imagery, color, and composition that evoke the target emotion (urgency, excitement, elegance, nostalgia)\n5. **Respect the medium** — A concert poster can be raw and experimental; a corporate event poster needs polish. Match the visual style to the audience expectation\n\n## Aesthetics Guidelines\n\n- **Focal point**: Every poster needs one unmistakable focal point. Use scale, contrast, color, or isolation to make it dominant. If you squint and nothing pops, the design fails\n- **Color mood**: Use color psychology intentionally — warm tones (red/orange) for energy and urgency, cool tones (blue/green) for calm and trust, high saturation for youth and fun, muted tones for sophistication. Limit to 2-3 dominant colors plus neutrals\n- **Typography as design**: In posters, type is not just information — it's a visual element. Oversized headlines, creative text placement, and expressive font choices can BE the design. Describe specific type treatments in the prompt (e.g., \"massive bold sans-serif title filling the top third\")\n- **Composition techniques**: Use the rule of thirds, golden ratio, or bold centered symmetry. Describe the layout structure explicitly: \"centered composition with radial symmetry\" or \"off-center subject with text balanced on the opposite side\"\n- **Contrast is everything**: Text must be legible at a glance. If placing text over imagery, specify overlay treatments.\n- **Breathing room**: Resist the urge to fill every corner. Generous margins and whitespace make the key message louder, not quieter\n\n## Prompt Rules\n\n- Clarify design direction before generating — ask user about style, color mood, and tone if unspecified\n- One poster = one clear message\n- Put all text content in double quotes for accurate rendering\n- For a series, use `--input-image` from the first to maintain consistency\n\nFile v1.0.7:scenarios/social-media.md\n\n# Social Media\n\n## Triggers\n\nsocial media, instagram, twitter, X, facebook, linkedin, xiaohongshu, douyin, TikTok, post, story, reels, banner, thumbnail, cover photo, OG image\n\n## Defaults\n\n- **Resolution**: `2K`\n- **Aspect ratio**: depends on platform (see table); default `1:1` if unspecified\n\n## Platform Aspect Ratio Map\n\n| Platform | Format | Aspect ratio |\n|---|---|---|\n| Instagram | Post | `1:1` or `4:5` |\n| Instagram | Story / Reels | `9:16` |\n| Twitter / X | Post image | `16:9` |\n| Facebook | Post | `1:1` or `4:5` |\n| Facebook | Cover photo | `16:9` |\n| LinkedIn | Post | `1:1` or `4:5` |\n| LinkedIn | Banner | `16:9` |\n| Xiaohongshu (RED) | Post | `3:4` |\n| Douyin / TikTok | Cover | `9:16` |\n| YouTube | Thumbnail | `16:9` |\n| Pinterest | Pin | `2:3` |\n\n## Design Thinking\n\n1. **Understand the scroll context** — Your image competes with hundreds of others in a feed. Design for the 0.3-second thumb-stop moment: if the core message isn't instantly clear, the post loses\n2. **Platform personality matters** — Xiaohongshu rewards polished, aspirational aesthetics; Twitter/X favors bold statements and memes; LinkedIn expects professional clarity; Instagram rewards visual beauty. Tailor the visual tone to the platform\n3. **Design for the crop** — Platforms display thumbnails, circular avatars, and cropped previews differently. Keep the hero element centered and away from edges. Mentally preview how the image looks in a feed grid\n4. **Tell a micro-story** — The best social images create curiosity or emotion in a single frame. A before/after, a surprising visual, or a bold statement paired with an arresting image outperforms generic graphics\n5. **Brand consistency across posts** — If creating a series, define a visual system upfront: consistent color palette, layout template, font style. Followers should recognize your brand before reading the handle\n\n## Aesthetics Guidelines\n\n- **Thumb-stop color**: Use bold, saturated colors that pop on both light and dark mode feeds. Avoid muddy mid-tones. Test mentally: would this stand out in a grid of muted photos?\n- **Text hierarchy at phone scale**: On mobile, body text under 14pt equivalent is invisible. Use 2 levels max: a punchy headline and one short supporting line. If you need more text, it belongs in the caption, not the image\n- **Safe zones**: Keep all critical elements (text, faces, key visuals) within the center 80% of the canvas. Platform UI overlays, cropping, and rounded corners eat the edges\n- **Visual consistency for series**: Define a template system — same background color/texture, same text position, same accent color. Describe this template explicitly in the prompt and use `--input-image` to enforce it\n- **Platform-native feel**: The image should feel native to the platform, not like a repurposed print ad. Xiaohongshu posts feel editorial; Instagram Stories feel immersive; LinkedIn posts feel clean and informative. Describe the target platform aesthetic in the prompt\n- **Authenticity over polish**: Overly corporate, stock-photo-style graphics underperform on most platforms. Favor genuine, relatable, or visually surprising imagery. Describe specific scenes rather than generic concepts\n\n## Prompt Rules\n\n- Design for thumb-stopping: clear focal point and strong visual contrast. Adapt color intensity to the platform.\n- Keep text in safe zones — away from edges where platforms crop\n- Put all text content in double quotes for accurate rendering\n- Headlines must be readable at thumbnail size\n- For a series, use `--input-image` from the first post to maintain visual consistency\n\nFile v1.0.7:scenarios/storyboard.md\n\n# Storyboard\n\n## Triggers\n\nstoryboard, scene breakdown, shot list, animatic, shot planning, visual script, frame-by-frame\n\n## Defaults\n\n- **Aspect ratio**: `16:9`\n- **Resolution**: `2K`\n\n## Consistency Strategy\n\nStoryboards live or die on visual consistency — the same characters, locations, and style must carry across every frame.\n\n**If the user provides reference images** (character designs, mood boards, style references):\n1. Use them as `--input-image` for every subsequent frame\n2. Extract and document the visual DNA: art style, color palette, character features, lighting mood\n3. Repeat these descriptors verbatim in every frame prompt\n\n**If the user provides NO reference images**:\n1. Begin with Phase 1 (story breakdown) and Phase 2 (reference sheet generation) below — do NOT skip to frame generation\n2. The reference sheets become the source of truth for all subsequent frames\n\n## Workflow\n\n### Phase 1: Story Breakdown\n\nAnalyze the narrative and produce a shot list before generating any images. Define:\n\n- **Scene count and sequence** — number of frames, scene transitions, pacing\n- **Character bible** — each main character with exact appearance descriptors: name, age, build, hair color/style, skin tone, clothing (color, material, fit), distinguishing features (scars, glasses, accessories). Be exhaustively specific — vague descriptors cause drift\n- **Location directory** — each recurring location with architectural style, lighting conditions, color atmosphere, key props\n- **Art style lock** — choose ONE style phrase and use it verbatim in every prompt (e.g., \"Makoto Shinkai anime style with soft volumetric lighting\" or \"Moebius-inspired line art with flat pastel colors\"). Never paraphrase or vary the style description\n\n### Phase 2: Reference Sheet Generation\n\nGenerate reference sheets **before** any storyboard frames. These anchor visual consistency.\n\n1. **Character sheets**: For each main character — full body, front-facing, neutral pose, plain background. Include 3/4 view and profile if the character appears in many frames. Name: `...-char-[name].png`\n2. **Location sheets**: For each recurring location — wide establishing view with characteristic lighting. Name: `...-location-[name].png`\n3. **Style reference**: If the art style is complex, generate one standalone \"style sample\" frame to use as visual anchor\n\n### Phase 3: Frame-by-Frame Generation\n\nGenerate each frame sequentially. For every frame:\n\n- Pass relevant character/location sheets via `--input-image`\n- For multiple characters in one frame, pass all relevant sheets as multiple `-i` arguments\n- **Copy-paste** the exact character description and style phrase from Phase 1 — do not rephrase\n- Describe the shot composition using cinematic language: camera angle, distance, framing\n- Name: `...-shot-01.png`, `...-shot-02.png`, ...\n\n### Phase 4: Review and Revise\n\nRe-generate inconsistent frames using `--input-image` from both the character sheet and the nearest consistent frame. Reference two anchors simultaneously for maximum consistency.\n\n## Design Thinking\n\n1. **Serve the story, not the art** — Every frame exists to advance the narrative. Ask: what must the viewer understand from this frame? If a frame doesn't convey new information or emotion, it shouldn't exist\n2. **Control pacing through composition** — Wide establishing shots slow the pace and set context; close-ups accelerate emotion and tension; medium shots carry dialogue. Vary shot types to create rhythm\n3. **Plan transitions** — Adjacent frames should flow visually. If frame 5 ends on a character looking right, frame 6 should have the subject of their gaze on the left. Continuity of eye-line and spatial direction matters\n4. **Emotion through camera language** — Low angles convey power/menace; high angles convey vulnerability; Dutch angles convey unease; eye-level conveys neutrality. Choose deliberately\n5. **Less is more** — A 12-frame storyboard that tells a clear story beats a 30-frame board with redundant shots. Edit ruthlessly before generating\n\n## Aesthetics Guidelines\n\n- **Style coherence is absolute**: Every frame must look like it was drawn by the same artist. The style phrase from Phase 1 is sacred — never modify, abbreviate, or \"improve\" it across frames\n- **Color continuity**: Establish a scene-level color palette (warm interiors, cool exteriors, etc.) and maintain it. Dramatic shifts in color should only occur at intentional story beats (e.g., flashback = desaturated, climax = high contrast)\n- **Consistent character scale**: Characters should maintain proportional relationships across frames. If character A is taller than B in frame 1, this must hold in frame 10\n- **Lighting as storytelling**: Match lighting to emotional tone — soft diffused light for calm moments, harsh directional light for conflict, silhouette for mystery. Describe the lighting direction and quality in every frame prompt\n- **Compositional clarity**: Each frame should have a clear focal point. Use the rule of thirds. The viewer's eye should never wander aimlessly — lead it with contrast, positioning, or character gaze direction\n- **Negative space for text/annotation**: If the storyboard will include dialogue or action notes, leave intentional space (typically bottom 15%) for text overlay\n\n## Prompt Rules\n\n- Copy-paste the art style phrase identically into every frame prompt — never paraphrase\n- Copy-paste full character descriptions into each frame where that character appears\n- Always pass reference sheets via `--input-image` — verbal description alone causes drift\n- Use cinematic shot terminology: \"wide shot\", \"close-up\", \"over-the-shoulder\", \"POV shot\", \"two-shot\"\n- Describe lighting direction and quality explicitly: \"warm golden key light from upper left, cool blue fill from right\"\n- When a frame includes dialogue, enclose the spoken text in quotation marks within the prompt (e.g., `a speech bubble saying \"Let's go!\"`). Define the speech bubble style once in Phase 1 (shape, font style) based on the art direction, and reuse that description verbatim across all frames\n\nArchive v1.0.6: 14 files, 27250 bytes\n\nFiles: references/apikey-fetch.md (1794b), scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/constant.py (81b), scripts/generate_image.py (7427b), scripts/skywork_auth.py (284b), SKILL.md (7479b), _meta.json (133b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: Skywork Design\ndescription: Generate or edit images via backend Skywork Image API. Use for any image creation, poster design, logo design, visual asset generation, or image modification request. Supports text-to-image and image-to-image editing with aspect ratio and resolution control.\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n      env:\n        - SKYWORK_API_KEY\n    primaryEnv: SKYWORK_API_KEY\n---\n\n# Visual Design — Image Generation & Editing\n\nGenerate new images or edit existing ones via the backend image API.\nBe patient, it takes about 2 minutes to generate an image each time.\n\n---\n\n## Prerequisites\n\n### API Key Configuration (Required First)\nThis skill requires a **SKYWORK_API_KEY** to be configured in OpenClaw.\n\nIf you don't have an API key yet, please visit:\n**https://skywork.ai**\n\nFor detailed setup instructions, see:\n[references/apikey-fetch.md](references/apikey-fetch.md)\n\n## Usage\n\nRun the script using absolute path (do NOT cd to skill directory):\n\n**Generate new image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"description\" --filename \"output.png\" [--aspect-ratio 3:4] [--resolution 1K|2K|4K]\n```\n\n**Edit existing image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"edit instructions\" --filename \"output.png\" --input-image \"source.png\" [--aspect-ratio 3:4] [--resolution 2K]\n```\n\n**Edit with multiple reference images:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"combine these styles\" --filename \"output.png\" -i \"ref1.png\" -i \"ref2.png\"\n```\n\nAlways run from the user's working directory so images save there.\n\n## When to Generate vs Edit\n\n- **Generation** (`--prompt` only): Creating new images from scratch — posters, logos, illustrations, photos, infographics.\n- **Editing** (`--prompt` + `--input-image`): User provides existing image(s) and wants modifications — style changes, element addition/removal, color adjustments, format conversion.\n  - Notice: Edit api supports character resemblance of up to 4 characters and the fidelity of up to 10 objects in a single workflow\n\nIf the user uploads/references images and wants changes, always use `--input-image`.\n\n## Resolution\n\n- **1K** — ~1024px, fast drafts\n- **2K** (default) — ~2048px, good for most deliverables\n- **4K** — ~4096px, final high-res output\n\nMap user requests: \"low/draft\" → 1K, \"normal/medium/2K\" → 2K, \"high-res/hi-res/4K/ultra\" → 4K.\n\n## Aspect Ratio\n\nSupported ratios: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`.\n\nSelection guidance:\n- **1:1** — Social media avatars, icons, album covers\n- **3:4 / 4:3** — General posters, presentations\n- **4:5 / 5:4** — Instagram posts, portraits\n- **9:16 / 16:9** — Mobile stories / desktop wallpapers, video covers\n- **2:3 / 3:2** — Print posters, book covers\n- **21:9** — Ultra-wide banners, cinema format\n\nIf the user doesn't specify, omit `--aspect-ratio` and let the API decide.\n\n## Filename Convention\n\nPattern: `yyyy-mm-dd-hh-mm-ss-descriptive-name.png`\n\nExamples:\n- \"A serene Japanese garden\" → `2026-03-10-14-23-05-japanese-garden.png`\n- \"sunset over mountains\" → `2026-03-10-15-30-12-sunset-mountains.png`\n- Unclear context → `2026-03-10-17-12-48-x9k2.png`\n\n## Preflight\n\n- `command -v python3` (must exist)\n- If editing: verify each `--input-image` file exists\n\n## Common Failures\n\n- `Error: Input image not found:` → wrong path; verify `--input-image` file exists\n- `HTTP error 500` → backend service error; retry or check server status\n- `Request failed: Connection refused` → backend service unavailable; ensure the service is running\n- **Insufficient benefit**: The script or log may show a message like `Insufficient benefit. Please upgrade your account at {url}`, meaning the user's benefit level does not meet the requirement for this skill.\n\n### How to reply when benefit is insufficient\n\nWhen you detect the above, **reply in the user's current language** — do not echo the English message. Use this pattern:\n\n- Convey: \"Sorry, image generation failed. This skill requires upgrading your Skywork membership to use.\" then a single call-to-action link.\n- **Format**: One short sentence in the user's language + a link like `[Upgrade now →](url)` or the equivalent in their language.\n- **URL**: Extract the upgrade URL from the log/script output (e.g. the `at https://...` part).\n\n> Note: Only suggest upgrading when the error is **Insufficient benefit**. For auth errors like `NO_TOKEN` / `INVALID_TOKEN` / `401` / “invalid API key”, keep the error code / raw message and guide users to update `SKYWORK_API_KEY`. **Do not** suggest upgrading membership.\n\n## Output\n\n- Script prints the local file path and the OSS URL.\n- Depending on the platform, use the most appropriate way to deliver the image (e.g. send as image message, display inline, or print the URLs). By default, return both the local path and OSS URL to the user. The OSS URL ensures cross-platform accessibility.\n\n## Design Scenarios\n\nMatch the user's request to a scenario and read the corresponding file for specialized workflow:\n\n- **E-commerce product image**: See [scenarios/e-commerce.md](scenarios/e-commerce.md)\n- **Storyboard**: See [scenarios/storyboard.md](scenarios/storyboard.md)\n- **Infographic**: See [scenarios/infographic.md](scenarios/infographic.md)\n- **Logo**: See [scenarios/logo.md](scenarios/logo.md)\n- **Branding / VI**: See [scenarios/branding.md](scenarios/branding.md)\n- **Brochure**: See [scenarios/brochure.md](scenarios/brochure.md)\n- **Social media**: See [scenarios/social-media.md](scenarios/social-media.md)\n- **Poster**: See [scenarios/poster.md](scenarios/poster.md)\n\n## Prompt Engineering\n\n### Prompts Best Practices\n\nFollow these principles for quality prompts using the image API for generation or editing:\n\n- **Describe the scene, don't just list keywords.** A narrative, descriptive paragraph produces much better results than disconnected words. The model's core strength is deep language understanding.\n  - Weak: \"cat, sunset, beach\"\n  - Strong: \"A ginger tabby cat sitting on a sandy beach at golden hour, facing the camera with soft warm backlighting, shallow depth of field, ocean waves blurred in the background\"\n- **Be hyper-specific.** The more detail you provide, the more control you have. Include all visual details: style, colors, composition, lighting, background, textures.\n- **Provide context and intent.** Explain the purpose of the image — the model's understanding of context influences the output.\n- **Use step-by-step instructions** for complex scenes with many elements. Break the prompt into layers: foreground, middle ground, background.\n- **Use \"semantic negative prompts.\"** Instead of \"no cars,\" describe positively: \"an empty, deserted street with no signs of traffic.\"\n- **Control the camera.** Use photographic and cinematic terms: \"wide-angle shot\", \"macro shot\", \"low-angle perspective\", \"bird's eye view\", \"rule of thirds\", \"shallow depth of field\".\n- **Time perception.** If the result needs real-time timeliness, mention the current time context in the prompt.\n- **Text in images.** Place text content within double quotation marks:\n  > A movie poster with the title \"INCEPTION\" in large silver metallic letters at the top\n- Clearly specify and emphasize the elements that require modification. Describe reference images by their order (first image, second image), not by filename.\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn70ct0m3p4538a9t49cjcwern82ky02\",\n  \"slug\": \"skywork-design\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1775098200946\n}\n\nFile v1.0.6:references/apikey-fetch.md\n\n# Skywork API Key Setup Guide (OpenClaw)\n\n## SKYWORK_API_KEY Not Configured\n\nWhen the `SKYWORK_API_KEY` environment variable is not set, follow these steps:\n\n### 1. Get API Key\n\nVisit the Skywork website and sign in to your account:\n\n**https://skywork.ai**\n\n- Log in with your Skywork account\n- Open account / Settings / API Key (**https://skywork.ai/?openApiKeySetting=1**)\n- Create or copy your **API key**\n\nIf your organization uses a separate console or test environment, use the URL and credentials your team provides.\n\n### 2. Configure OpenClaw\n\nEdit the OpenClaw configuration file: `~/.openclaw/openclaw.json`\n\nIn current OpenClaw, Skywork skills store the key under `skills.entries.<Skill Name>.apiKey` (not under `env`).\nOpenClaw will inject this value into the skill's `SKYWORK_API_KEY` environment when `primaryEnv` matches.\nAdd or merge the following structure (adjust the skill name to match the installed skill):\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"Skywork Design\": {\n        \"enabled\": true,\n        \"apiKey\": \"your_actual_skywork_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nReplace `\"your_actual_skywork_api_key_here\"` with your real key.\n\nFor multiple Skywork skills, repeat the same `apiKey` field on each skill entry.\n\n### 3. Verify Configuration\n\n```bash\n# Check JSON format\ncat ~/.openclaw/openclaw.json | python3 -m json.tool\n```\n\n### 4. Restart OpenClaw\n\n```bash\nopenclaw gateway restart\n```\n\n## Troubleshooting\n\n- Ensure `~/.openclaw/openclaw.json` exists and is valid JSON\n- Confirm the API key is active and not expired\n- Check Skywork account status, membership, or quota if requests fail with auth or benefit errors\n- Restart OpenClaw after configuration changes\n\n**Recommended**: Use the OpenClaw configuration file for centralized environment management.\n\nFile v1.0.6:scenarios/branding.md\n\n# Branding / Visual Identity (VI)\n\n## Triggers\n\nbranding, brand identity, VI, visual identity, brand guidelines, brand kit, brand system, style guide\n\n## Defaults\n\n- **Aspect ratio**: varies per deliverable (see table)\n- **Resolution**: `2K`\n\n## Consistency Strategy\n\nA brand system demands the highest level of visual consistency — every deliverable must feel like it was designed by the same studio in the same session.\n\n**If the user provides a logo or brand assets**:\n1. Use them as `--input-image` for all subsequent deliverables\n2. Extract the visual DNA: primary/secondary colors (describe exact hues), style mood (minimal, playful, corporate, etc.), shape language (rounded, angular, geometric)\n3. Skip logo generation (deliverable 1) and begin from color palette or whichever deliverable is needed\n4. Carry the user's existing visual language — do not reinvent it\n\n**If the user provides NO existing assets**:\n1. Start with brand discovery: ask about industry, target audience, brand personality (3-5 adjectives), competitors to differentiate from\n2. Generate the logo first (following [logo.md](logo.md) guidance) — the logo is the seed from which all other brand elements grow\n3. Once the user approves the logo, derive everything else from it\n\n## Deliverables\n\nGenerate in this order. Each step uses `--input-image` from the previous to maintain consistency.\n\n| # | Deliverable | Ratio | Description |\n|---|---|---|---|\n| 1 | Logo mark | `1:1` | Core brand symbol (see [logo.md](logo.md)) |\n| 2 | Color palette card | `3:2` | Primary, secondary, accent colors with hex values shown as labeled swatches |\n| 3 | Typography showcase | `3:2` | Heading + body font pairing shown in sample text hierarchy |\n| 4 | Pattern / texture | `1:1` | Repeatable brand pattern derived from logo shapes or brand motifs |\n| 5 | Stationery mockup | `3:4` | Business card, letterhead, envelope on a styled flat-lay |\n| 6 | Brand guidelines page | `3:4` | Summary layout showing logo usage rules, color specs, and type hierarchy |\n\nNot all deliverables are always needed. Ask the user which items they want. If unclear, generate deliverables 1-5 (skip the guidelines page unless requested).\n\n## Design Thinking\n\n1. **Brand personality drives everything** — Before any visual work, define 3-5 personality adjectives (e.g., \"bold, modern, trustworthy\"). Every design choice — color, shape, typography — must trace back to these words\n2. **Differentiate, don't decorate** — Research the competitive landscape. If every competitor uses blue and sans-serif, the new brand needs a reason to follow suit or a strategy to stand apart. Ask the user about key competitors\n3. **System over individual pieces** — A brand is not a logo + some colors. It's a system where every element reinforces the others. The pattern echoes the logo shapes; the color palette reflects the logo colors; the typography matches the logo's personality\n4. **Constraint breeds cohesion** — Fewer colors, fewer fonts, fewer design elements = stronger brand recognition. Resist the urge to add variety; embrace deliberate limitation\n5. **Test across touchpoints mentally** — Before finalizing, imagine the brand on a website header, a mobile app icon, a product label, a social media post, and a conference badge. If it breaks at any touchpoint, simplify\n\n## Aesthetics Guidelines\n\n- **Color system**: Define exactly 1 primary color, 1-2 secondary colors, and 1-2 neutral tones. Every color must have a purpose (primary = brand recognition, secondary = accents/CTAs, neutrals = background/text). Describe colors with precise hue names, not just \"blue\" — say \"deep navy blue\" or \"electric cyan\"\n- **Typography pairing**: Choose one display/heading font and one body font. They should contrast in weight/style but share a visual kinship (similar x-height, complementary proportions). Describe the fonts by character: \"geometric sans-serif with uniform stroke width\" not just \"modern font\"\n- **Logo-derived patterns**: Brand patterns should be abstracted from logo geometry — repeated shapes, rotated elements, or deconstructed forms from the mark. This creates subliminal brand recognition without showing the logo itself\n- **Mockup realism**: Stationery and application mockups should feel physically real — paper texture, subtle shadows, realistic perspective. This elevates perceived brand quality. Specify material finish: \"matte uncoated paper\", \"glossy card stock\", \"embossed letterpress\"\n- **Whitespace as brand signal**: Premium brands use generous whitespace; energetic brands can be denser. The amount of whitespace IS a brand decision. Define it and enforce it consistently\n- **Visual rhythm**: Repeated spacing, consistent margins, and aligned elements across all deliverables create the invisible grid that holds a brand together. Describe the layout structure explicitly in each prompt\n\n## Prompt Rules\n\n- Use the **same style descriptors** (color names, style keywords, mood adjectives) across every prompt — copy-paste, don't paraphrase\n- Always pass previous output via `--input-image` when generating subsequent deliverables\n- Describe colors with exact hue names: \"warm coral #FF6B6B\" not just \"red\"\n- Include brand personality adjectives in every prompt: \"reflecting a bold, modern, trustworthy brand identity\"\n- For stationery mockups: specify material, finish, and scene context (\"on a marble desk with soft natural light\")\n\nFile v1.0.6:scenarios/brochure.md\n\n# Brochure\n\n## Triggers\n\nbrochure, pamphlet, leaflet, tri-fold, bi-fold, flyer, booklet, handout\n\n## Defaults\n\n- **Resolution**: `2K`\n\n## Formats & Image Count\n\nGenerate **one image per physical side**, with all panels of that side composed together in a single image.\n\n| Format | Images | Aspect ratio | Description |\n|--------|--------|-------------|-------------|\n| Single page / Flyer | 1 | `3:4` | All content on one image |\n| Bi-fold | 2 | `16:9` | Outside (front + back side by side), Inside (inside-left + inside-right side by side) |\n| Tri-fold | 2 | `21:9` | Outside (3 panels side by side), Inside (3 panels side by side) |\n| Multi-page booklet | 1 per spread | `16:9` | Each 2-page spread as one image |\n\nThis approach ensures visual consistency within each side and reduces generation calls.\n\n## Consistency Strategy\n\nA brochure is a multi-panel system — visual inconsistency between panels destroys professionalism instantly.\n\n**If the user provides brand assets or a reference image** (logo, brand guidelines, existing design):\n1. Use them as `--input-image` for every generation\n2. Extract the visual DNA: color palette, typography style, layout density, mood\n3. Maintain the established brand language — do not introduce new visual elements\n\n**If the user provides NO reference**:\n1. Generate the **outside face first** — this sets the entire visual direction: color palette, typography style, imagery mood, layout density\n2. Do NOT proceed to the inside face until the user approves the outside direction\n3. Use the approved outside face as `--input-image` when generating the inside face\n\n## Workflow\n\n### Step 1: Clarify Scope\n\nBefore generating, confirm with the user:\n- **Format**: single page, bi-fold, tri-fold, or booklet (how many pages?)\n- **Content**: what text/information goes on each panel? (get the actual copy or at minimum the topic per panel)\n- **Tone**: corporate, playful, luxurious, informational, promotional?\n- **Brand assets**: any existing logo, colors, or style to match?\n\n### Step 2: Outside Face\n\nGenerate the outside face as a single image with all panels composed together.\n- **Bi-fold** (`16:9`): left half = back cover, right half = front cover. Name: `...-outside.png`\n- **Tri-fold** (`21:9`): left = back cover, center = front flap, right = front cover. Name: `...-outside.png`\n- The front cover area must be the visual hero — it establishes the design direction\n- Describe the full layout in the prompt: \"a tri-fold brochure outside face, 3 panels side by side separated by subtle fold lines, left panel is the back cover with contact info, center panel is the front flap with a teaser, right panel is the front cover with the main headline and hero image\"\n- Wait for user approval before continuing\n\n### Step 3: Inside Face\n\nGenerate the inside face as a single image, using the outside face as `--input-image`.\n- **Bi-fold** (`16:9`): left = inside-left, right = inside-right. Name: `...-inside.png`\n- **Tri-fold** (`21:9`): left = inside-left, center = inside-center, right = inside-right. Name: `...-inside.png`\n- Describe: \"a tri-fold brochure inside face, 3 panels side by side separated by subtle fold lines, matching the style of the reference image, left panel covers [topic], center panel covers [topic], right panel covers [topic]\"\n\n## Design Thinking\n\n1. **Design for the fold** — In bi-fold and tri-fold formats, the fold line is a real physical constraint. Include subtle fold line indicators in the prompt. Critical content must not straddle the fold. The front panel is the first impression; the first inner panel revealed on opening is the \"aha\" moment\n2. **Sequential storytelling** — A brochure is read in a specific physical order. Design the content flow to match: hook (front cover) → expand (inner panels) → convince (data/testimonials) → act (back cover CTA). Each panel should make the reader want to see the next\n3. **One hero per panel** — Each panel gets one dominant visual or message. Competing elements on the same panel create confusion. If you have 4 key messages and 4 panels, the layout is obvious — one per panel\n4. **Print thinking** — Brochures are physical objects. Design for how they'll be held, folded, and read. Consider that colors look different on paper than on screen — bright neon colors often print poorly; rich, slightly muted tones print beautifully\n5. **The back cover matters** — Many designers neglect it. The back is often the first thing someone sees on a desk or shelf. A clean back with logo, tagline, and contact info reinforces brand presence. Never leave it as an afterthought\n\n## Aesthetics Guidelines\n\n- **Cross-panel color system**: Define a primary background color, a secondary accent, and a text color. Use these consistently across ALL panels. Do not introduce a new color on the inside that wasn't established on the outside\n- **Typography discipline**: One heading font, one body font, applied identically across all panels. Heading size, body size, and line spacing should be uniform. Describe these in every prompt: \"bold sans-serif headings, regular serif body text\"\n- **Image style consistency**: If the outside uses photography, the inside uses photography. If the outside uses illustration, the inside uses illustration. Never mix photographic and illustrated imagery in the same brochure\n- **Layout grid**: All panels should share the same margin width, column structure, and content alignment. Describe the grid: \"each panel has centered single-column layout with generous margins\"\n- **Visual breathing room**: Each panel needs whitespace. For text-heavy panels, increase margins rather than shrink type size. Cramped panels signal amateur design\n- **Print-safe colors**: Avoid pure RGB brights that can't reproduce in CMYK. Specify \"print-ready\" in the prompt. Rich blacks, deep navies, and warm neutrals look premium in print\n\n## Prompt Rules\n\n- Describe ALL panels of the side in a single prompt: \"3 panels side by side, separated by subtle fold lines\"\n- Specify what content goes in each panel by position: \"left panel shows..., center panel shows..., right panel shows...\"\n- Put all text content in double quotes for accurate rendering\n- Always pass the outside face via `--input-image` when generating the inside face\n- Use the same style/mood phrase for both sides — copy-paste, don't paraphrase\n\nFile v1.0.6:scenarios/e-commerce.md\n\n# E-commerce Product Images\n\n## Triggers\n\namazon, product listing, product photo, e-commerce, shopify, product shot, packshot, white background product, marketplace image\n\n## Defaults\n\n- **Aspect ratio**: `1:1`\n- **Resolution**: `4K` (Amazon requires min 1600px on longest side for zoom; recommend 2000px+)\n\n## Image Set\n\nA complete Amazon listing supports up to 7 images. Images are split into **required** (always generate) and **optional** (generate only when the user requests, or when the product clearly benefits from it).\n\nAsk the user for product details, key selling points, and target audience before starting. By default, generate the 3 required images only.\n\n### Required Images (always generate)\n\n#### Image 1: Main Image (Hero Shot)\n\nThe most critical image — determines click-through rate in search results.\n\n- **Pure white background** (RGB 255,255,255) — no gradients, no shadows on background, no off-white\n- **Product only** — absolutely no text, logos, badges, watermarks, props, or accessories not included in the sale\n- **Fill 85%+ of the frame** — the product should feel large and dominant, with minimal white border\n- **Single, clean angle** — front-facing or 3/4 angle that best shows the product's shape and identity\n- **Studio-quality lighting** — soft, even lighting with subtle shadow beneath the product for grounding. No harsh reflections or dark spots\n- **No mannequins** — for apparel, show on a human model or as a clean flat-lay. Ghost mannequin (invisible mannequin) effect is acceptable\n\n#### Image 2: Lifestyle / In-Use Image\n\n- Product shown in a realistic usage context — a person using it, or the product in its natural environment\n- Environment should match the target customer's aspirational setting (modern kitchen, outdoor adventure, minimalist desk, etc.)\n- Warm, natural lighting. The scene should feel authentic, not stock-photo-generic\n- Product must remain the clear focal point — the scene supports but never overwhelms\n\n#### Image 3: Feature Callout Infographic\n\n- Annotated diagram highlighting 4-6 key selling points with callout lines/icons\n- Clean layout: product centered, callout text arranged around it with clear pointers\n- Use short, benefit-driven phrases (not feature specs). E.g., \"Keeps drinks cold 24 hrs\" not \"Double-wall vacuum insulation\"\n- Consistent icon style (all outline or all filled, same line weight)\n- Background: solid white or very light neutral. No busy patterns\n\n### Optional Images (generate when user requests or product needs it)\n\n#### Image 4: Alternate Angle / Back View\n\n- Show the product from a different perspective (back, side, top-down, or 3/4 from the opposite side)\n- Same pure white background and lighting as the main image\n- Reveals details not visible in the hero shot (back panel, ports, closure, label)\n- **When to suggest**: products with functional back/side elements (electronics, bags, furniture)\n\n#### Image 5: Detail / Close-Up Shots\n\n- Macro-level close-ups of materials, textures, stitching, hardware, buttons, or key components\n- Can be a collage of 2-3 close-ups in a grid layout, or a single dramatic close-up\n- Demonstrates build quality and craftsmanship — this image builds trust\n- Same lighting temperature as other images for visual consistency\n- **When to suggest**: products where material quality is a selling point (leather goods, jewelry, textiles, premium hardware)\n\n#### Image 6: Scale / Dimensions Reference\n\n- Show the product next to a common reference object (hand, phone, pen, coin) or with explicit dimension annotations\n- For apparel/wearables: a size chart with clear measurements table\n- For multi-size products: side-by-side comparison of available sizes\n- **When to suggest**: products where size is frequently misjudged (furniture, bags, small accessories, apparel)\n\n#### Image 7: Package Contents / What's in the Box\n\n- Flat-lay or arranged display of everything included: the product, accessories, cables, manuals, packaging\n- Clean white or light background, each item clearly separated and identifiable\n- Optional: small text labels identifying each component\n- **When to suggest**: products that ship with multiple accessories (electronics kits, tool sets, gift boxes)\n\n## Design Thinking\n\n1. **Understand the purchase decision** — What hesitation stops a buyer? Design each image to remove a specific objection (Is it well-made? Will it fit? What's included? How does it look in real life?)\n2. **Design for the search grid first** — The main image competes in a grid of 20+ products at thumbnail size. It must be instantly recognizable, well-lit, and product-dominant. Overly clever compositions fail at thumbnail scale\n3. **Tell a visual story** — The required 3 images cover the core narrative: attract (main) → desire (lifestyle) → understand (features). Optional images deepen the story when needed: explore (angles) → trust (details) → confirm (size) → commit (contents)\n4. **Consistency is professionalism** — All 7 images must feel like they belong to the same listing. Same color temperature, same quality level, same visual language. Mixed styles signal amateur sellers\n5. **Benefit over feature** — Every image should communicate why the customer's life improves, not just what the product is. A lifestyle shot sells the dream; a feature callout sells the solution\n\n## Aesthetics Guidelines\n\n- **Lighting consistency**: Use the same soft, diffused studio lighting across all white-background shots (images 1, 2, 5, 7). Lifestyle shots (image 3) can use warmer natural light but should not clash in color temperature\n- **Color accuracy**: Product colors must look accurate — what the customer sees should match what arrives. Avoid over-saturated or heavily graded images. Describe the exact product color in the prompt\n- **Composition for square format**: Every image will be viewed in 1:1. Center the product with even margins. For infographic images, maintain a clear central anchor with callouts radiating outward\n- **Typography in secondary images**: Use clean, sans-serif fonts. Maximum 2 font sizes (heading + body). Text must be readable at mobile phone size — if a callout requires squinting, it's too small or too wordy\n- **Visual hierarchy in infographics**: The product image dominates; text callouts are secondary. Never let annotations overwhelm the product. Use thin callout lines, not thick arrows\n- **Professional restraint**: No starburst badges, no \"BEST SELLER\" stamps, no red/yellow sale graphics, no clip-art icons. These signal cheap quality. Let the product photography speak\n\n## Prompt Rules\n\n- Main image: specify \"pure white background RGB 255,255,255, studio photography, product centered, soft even lighting, subtle ground shadow\"\n- All images should default to photorealistic style (\"professional product photography\") unless the user or platform context calls for a different approach (e.g., illustrated style for Xiaohongshu)\n- Put all text content in double quotes for accurate rendering\n- Maintain consistent lighting and color temperature across the set — reference the main image with `--input-image` for subsequent shots\n- Describe the product material, color, and finish explicitly (e.g., \"brushed stainless steel with matte black silicone grip\") — do not leave surface details to chance\n\nFile v1.0.6:scenarios/infographic.md\n\n# Infographic\n\n## Triggers\n\ninfographic, data visualization, chart, diagram, flowchart, timeline, statistics, process diagram\n\n## Defaults\n\n- **Aspect ratio**: `2:3` (vertical scroll); use `16:9` for presentation slides\n- **Resolution**: `2K`\n\n## Content Integrity\n\n- **Key information must not be lost**: Core conclusions, key figures, key steps must be preserved from the source\n- **No fabrication**: Do not invent data, conclusions, or causal relationships absent from the original material\n- **No relationship distortion**: Comparisons must not become processes; correlations must not become causations\n- **Data accuracy is non-negotiable**: Numbers, ratios, timeframes, and rankings must be exact\n- **Compress without distortion**: Abbreviation is allowed; altering the original meaning is not\n\n## Design Thinking\n\n1. **Identify the core message** — What is the single takeaway the viewer should remember?\n2. **Choose the right structure** — Match the infographic type (timeline, flowchart, comparison, etc.) to the logical relationship in the content. Do not force data into a mismatched layout\n3. **Establish information hierarchy** — Primary data/conclusion at the top or center; supporting details flow outward or downward\n4. **Group related items** — Use spatial proximity, shared color, or enclosing shapes to signal that items belong together\n5. **Guide the reading path** — Use arrows, numbering, or visual flow (top→bottom, left→right) so the viewer never wonders \"where do I look next?\"\n\n## Aesthetics Guidelines\n\n- **Color palette**: Pick 1 primary + 1-2 accent colors; derive lighter/darker shades from these rather than adding unrelated hues. Ensure sufficient contrast (WCAG AA minimum) between text and background\n- **Typography**: Use no more than 2 font families — one for headings, one for body. Maintain consistent size hierarchy across sections\n- **Icons and decoration**: Icons should serve comprehension, not decoration. Keep the total count proportional to the number of information modules. Use a single, line-weight-consistent icon set — never mix outline, filled, and hand-drawn styles\n- **White space**: Every section needs breathing room. Cramped layouts destroy readability — when in doubt, cut content rather than shrink spacing\n- **Alignment and grid**: All elements should snap to a visible or implied grid. Misaligned text or uneven margins signal low quality instantly\n- **Visual consistency**: Repeated elements (cards, dividers, bullet styles) must look identical throughout. Inconsistency erodes trust in the data\n\n## Prompt Rules\n\n- Specify all text and numbers in double quotes — maximizes text rendering accuracy\n- Specify exact data values — do not let the model invent numbers\n\nFile v1.0.6:scenarios/logo.md\n\n# Logo Design\n\n## Triggers\n\nlogo, brand mark, icon design, app icon, favicon, logomark, logo concept, trademark\n\n## Defaults\n\n- **Aspect ratio**: `1:1`\n- **Resolution**: `2K`\n\n## Design Thinking\n\n1. **Clarify brand essence** — Before generating, ask: What does the brand stand for? What emotion should the mark evoke? (trustworthy, playful, premium, techy…)\n2. **Pick the right logo type** — A tech startup may suit an abstract mark; a bakery fits a pictorial mark; a law firm calls for a lettermark or emblem. Match type to industry and personality\n3. **Start with concept, not style** — Define the core metaphor/symbol first (e.g., \"shield = protection\", \"leaf = growth\"), then explore stylistic variations around that concept\n4. **Design for scalability** — The mark must be recognizable from a billboard down to a 16px favicon. If a detail vanishes at small size, it shouldn't be there\n5. **Test in context** — Mentally place the logo on business cards, app icons, social avatars, and merchandise. A good mark works across all touchpoints\n\n## Aesthetics Guidelines\n\n- **Shape language**: Use deliberate geometric shapes — circles convey friendliness, squares convey stability, triangles convey dynamism. Avoid arbitrary organic blobs unless the brand calls for it\n- **Color restraint**: Limit the palette to 1-3 colors max. Each color should carry meaning (e.g., blue = trust, green = growth). The logo must also work in pure monochrome\n- **Negative space**: Leverage negative space for cleverness and memorability (think FedEx arrow, NBC peacock). Describe negative-space concepts explicitly in the prompt\n- **Symmetry and balance**: Logos benefit from optical balance — either symmetric or deliberately asymmetric with a clear visual anchor. Avoid unintentionally lopsided compositions\n- **Line weight consistency**: Whether thick and bold or thin and elegant, line weights should be uniform throughout. Mixed weights look unfinished\n- **Avoid trends, aim for timeless**: Skip gradients-of-the-year, overly complex 3D effects, or style fads. The best logos are simple enough to age well\n\n## Prompt Rules\n\n- **Solid background** — Always specify a solid color background (e.g., \"on a white background\"). Do not request transparency\n- **Describe the concept, not the outcome** — Write \"a shield formed by two overlapping leaves\" rather than \"a logo that represents security and nature\". Concrete visual descriptions produce better results than abstract adjectives\n- **Specify style explicitly** — State the rendering style: flat vector, geometric minimal, line art, isometric, etc. Without this, models default to inconsistent semi-realistic styles\n- **Constrain complexity** — Describe at most 2-3 visual elements. Every added element increases the chance of muddy composition. If it wouldn't survive at 16x16, remove it from the prompt\n- **State what to avoid** — Use negative constraints to exclude unwanted elements (e.g., \"no photorealistic textures, no busy background\"). Be selective — only exclude what truly conflicts with the concept; over-constraining kills creative possibilities\n- **Anchor the composition** — Specify spatial relationships: \"centered\", \"contained within a circle\", \"symmetrical along the vertical axis\". Without this, models produce off-balance layouts\n- **About Text Render** - Be clear about the text, the font style (descriptively), and the overall design.\n\nFile v1.0.6:scenarios/poster.md\n\n# Poster\n\n## Triggers\n\nposter, banner, event poster, promotional, marketing, movie poster, concert poster, advertising\n\n## Defaults\n\n- **Aspect ratio**: `3:4`\n- **Resolution**: `2K`\n\n## Visual Hierarchy\n\nSpecify this top-to-bottom reading flow in the prompt:\n\n1. **Eye-catcher** — Hero image or bold visual\n2. **Headline** — Main message in large, prominent text\n3. **Supporting info** — Date, location, secondary details\n4. **Call to action** — CTA text, website, QR code area\n\n## Design Thinking\n\n1. **Define the communication goal** — What should the viewer do after seeing this poster? (attend an event, buy a product, feel an emotion, learn something). Every design choice serves this goal\n2. **Identify the single hero element** — A poster has ~2 seconds to grab attention. Decide what dominates: a bold image, a striking headline, or a dramatic color. Never compete for attention with multiple heroes\n3. **Design for viewing distance** — A street poster is read from 3 meters; a social share from 15cm. Scale type and detail accordingly. When in doubt, go bigger and bolder\n4. **Create emotional resonance** — The best posters trigger a feeling before the brain processes the words. Choose imagery, color, and composition that evoke the target emotion (urgency, excitement, elegance, nostalgia)\n5. **Respect the medium** — A concert poster can be raw and experimental; a corporate event poster needs polish. Match the visual style to the audience expectation\n\n## Aesthetics Guidelines\n\n- **Focal point**: Every poster needs one unmistakable focal point. Use scale, contrast, color, or isolation to make it dominant. If you squint and nothing pops, the design fails\n- **Color mood**: Use color psychology intentionally — warm tones (red/orange) for energy and urgency, cool tones (blue/green) for calm and trust, high saturation for youth and fun, muted tones for sophistication. Limit to 2-3 dominant colors plus neutrals\n- **Typography as design**: In posters, type is not just information — it's a visual element. Oversized headlines, creative text placement, and expressive font choices can BE the design. Describe specific type treatments in the prompt (e.g., \"massive bold sans-serif title filling the top third\")\n- **Composition techniques**: Use the rule of thirds, golden ratio, or bold centered symmetry. Describe the layout structure explicitly: \"centered composition with radial symmetry\" or \"off-center subject with text balanced on the opposite side\"\n- **Contrast is everything**: Text must be legible at a glance. If placing text over imagery, specify overlay treatments.\n- **Breathing room**: Resist the urge to fill every corner. Generous margins and whitespace make the key message louder, not quieter\n\n## Prompt Rules\n\n- Clarify design direction before generating — ask user about style, color mood, and tone if unspecified\n- One poster = one clear message\n- Put all text content in double quotes for accurate rendering\n- For a series, use `--input-image` from the first to maintain consistency\n\nFile v1.0.6:scenarios/social-media.md\n\n# Social Media\n\n## Triggers\n\nsocial media, instagram, twitter, X, facebook, linkedin, xiaohongshu, douyin, TikTok, post, story, reels, banner, thumbnail, cover photo, OG image\n\n## Defaults\n\n- **Resolution**: `2K`\n- **Aspect ratio**: depends on platform (see table); default `1:1` if unspecified\n\n## Platform Aspect Ratio Map\n\n| Platform | Format | Aspect ratio |\n|---|---|---|\n| Instagram | Post | `1:1` or `4:5` |\n| Instagram | Story / Reels | `9:16` |\n| Twitter / X | Post image | `16:9` |\n| Facebook | Post | `1:1` or `4:5` |\n| Facebook | Cover photo | `16:9` |\n| LinkedIn | Post | `1:1` or `4:5` |\n| LinkedIn | Banner | `16:9` |\n| Xiaohongshu (RED) | Post | `3:4` |\n| Douyin / TikTok | Cover | `9:16` |\n| YouTube | Thumbnail | `16:9` |\n| Pinterest | Pin | `2:3` |\n\n## Design Thinking\n\n1. **Understand the scroll context** — Your image competes with hundreds of others in a feed. Design for the 0.3-second thumb-stop moment: if the core message isn't instantly clear, the post loses\n2. **Platform personality matters** — Xiaohongshu rewards polished, aspirational aesthetics; Twitter/X favors bold statements and memes; LinkedIn expects professional clarity; Instagram rewards visual beauty. Tailor the visual tone to the platform\n3. **Design for the crop** — Platforms display thumbnails, circular avatars, and cropped previews differently. Keep the hero element centered and away from edges. Mentally preview how the image looks in a feed grid\n4. **Tell a micro-story** — The best social images create curiosity or emotion in a single frame. A before/after, a surprising visual, or a bold statement paired with an arresting image outperforms generic graphics\n5. **Brand consistency across posts** — If creating a series, define a visual system upfront: consistent color palette, layout template, font style. Followers should recognize your brand before reading the handle\n\n## Aesthetics Guidelines\n\n- **Thumb-stop color**: Use bold, saturated colors that pop on both light and dark mode feeds. Avoid muddy mid-tones. Test mentally: would this stand out in a grid of muted photos?\n- **Text hierarchy at phone scale**: On mobile, body text under 14pt equivalent is invisible. Use 2 levels max: a punchy headline and one short supporting line. If you need more text, it belongs in the caption, not the image\n- **Safe zones**: Keep all critical elements (text, faces, key visuals) within the center 80% of the canvas. Platform UI overlays, cropping, and rounded corners eat the edges\n- **Visual consistency for series**: Define a template system — same background color/texture, same text position, same accent color. Describe this template explicitly in the prompt and use `--input-image` to enforce it\n- **Platform-native feel**: The image should feel native to the platform, not like a repurposed print ad. Xiaohongshu posts feel editorial; Instagram Stories feel immersive; LinkedIn posts feel clean and informative. Describe the target platform aesthetic in the prompt\n- **Authenticity over polish**: Overly corporate, stock-photo-style graphics underperform on most platforms. Favor genuine, relatable, or visually surprising imagery. Describe specific scenes rather than generic concepts\n\n## Prompt Rules\n\n- Design for thumb-stopping: clear focal point and strong visual contrast. Adapt color intensity to the platform.\n- Keep text in safe zones — away from edges where platforms crop\n- Put all text content in double quotes for accurate rendering\n- Headlines must be readable at thumbnail size\n- For a series, use `--input-image` from the first post to maintain visual consistency\n\nFile v1.0.6:scenarios/storyboard.md\n\n# Storyboard\n\n## Triggers\n\nstoryboard, scene breakdown, shot list, animatic, shot planning, visual script, frame-by-frame\n\n## Defaults\n\n- **Aspect ratio**: `16:9`\n- **Resolution**: `2K`\n\n## Consistency Strategy\n\nStoryboards live or die on visual consistency — the same characters, locations, and style must carry across every frame.\n\n**If the user provides reference images** (character designs, mood boards, style references):\n1. Use them as `--input-image` for every subsequent frame\n2. Extract and document the visual DNA: art style, color palette, character features, lighting mood\n3. Repeat these descriptors verbatim in every frame prompt\n\n**If the user provides NO reference images**:\n1. Begin with Phase 1 (story breakdown) and Phase 2 (reference sheet generation) below — do NOT skip to frame generation\n2. The reference sheets become the source of truth for all subsequent frames\n\n## Workflow\n\n### Phase 1: Story Breakdown\n\nAnalyze the narrative and produce a shot list before generating any images. Define:\n\n- **Scene count and sequence** — number of frames, scene transitions, pacing\n- **Character bible** — each main character with exact appearance descriptors: name, age, build, hair color/style, skin tone, clothing (color, material, fit), distinguishing features (scars, glasses, accessories). Be exhaustively specifi\n\nArchive v1.0.5: 14 files, 27211 bytes\n\nFiles: references/apikey-fetch.md (1690b), scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/constant.py (81b), scripts/generate_image.py (7427b), scripts/skywork_auth.py (284b), SKILL.md (7479b), _meta.json (133b)\n\nArchive v1.0.4: 12 files, 29001 bytes\n\nFiles: scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/generate_image.py (7303b), scripts/skywork_auth.py (9875b), SKILL.md (7644b), _meta.json (133b)\n\nArchive v1.0.3: 12 files, 29077 bytes\n\nFiles: scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/generate_image.py (7303b), scripts/skywork_auth.py (9875b), SKILL.md (7851b), _meta.json (133b)\n\nArchive v1.0.2: 12 files, 29031 bytes\n\nFiles: scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/generate_image.py (7303b), scripts/skywork_auth.py (9875b), SKILL.md (7748b), _meta.json (133b)\n\nArchive v1.0.1: 12 files, 29035 bytes\n\nFiles: scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/generate_image.py (7397b), scripts/skywork_auth.py (9875b), SKILL.md (7570b), _meta.json (133b)\n\nArchive v1.0.0: 12 files, 28994 bytes\n\nFiles: scenarios/branding.md (5427b), scenarios/brochure.md (6363b), scenarios/e-commerce.md (7325b), scenarios/infographic.md (2747b), scenarios/logo.md (3424b), scenarios/poster.md (3044b), scenarios/social-media.md (3604b), scenarios/storyboard.md (6117b), scripts/generate_image.py (7302b), scripts/skywork_auth.py (9875b), SKILL.md (7570b), _meta.json (133b)","readmeExcerpt":"Skill: Skywork Design Owner: gxcun17 Summary: Skywork Design (skywork) - Generate or edit images via the Skywork Image API. Use for image creation, poster design, logo design, visual asset generation, or... Tags: latest:1.0.8 Version history: v1.0.8 | 2026-04-10T13:36:04.630Z | user skywork-design v1.0.8 - Updated API key configuration instructions for clarity. - Minor wording and formatting improvements throughout t","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python3 <SKILL_DIR>/scripts/generate_image.py --prompt \"description\" --filename \"output.png\" [--aspect-ratio 3:4] [--resolution 1K|2K|4K]"},{"language":"bash","snippet":"python3 <SKILL_DIR>/scripts/generate_image.py --prompt \"edit instructions\" --filename \"output.png\" --input-image \"source.png\" [--aspect-ratio 3:4] [--resolution 2K]"},{"language":"bash","snippet":"python3 <SKILL_DIR>/scripts/generate_image.py --prompt \"combine these styles\" --filename \"output.png\" -i \"ref1.png\" -i \"ref2.png\""},{"language":"json","snippet":"{\n  \"skills\": {\n    \"entries\": {\n      \"Skywork Design\": {\n        \"enabled\": true,\n        \"apiKey\": \"your_actual_skywork_api_key_here\"\n      }\n    }\n  }\n}"},{"language":"bash","snippet":"export SKYWORK_API_KEY=\"your_actual_skywork_api_key_here\""},{"language":"json","snippet":"{\n  \"env\": {\n    \"SKYWORK_API_KEY\": \"your_actual_skywork_api_key_here\"\n  }\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: Skywork Design\ndescription: Skywork Design (skywork) - Generate or edit images via the Skywork Image API. Use for image creation, poster design, logo design, visual asset generation, or image modification requests. Supports text-to-image and image-to-image editing with aspect ratio and resolution control.\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n      env:\n        - SKYWORK_API_KEY\n    primaryEnv: SKYWORK_API_KEY\n---\n\n# Visual Design — Image Generation & Editing\n\nGenerate new images or edit existing ones via the backend image API.\nBe patient, it takes about 2 minutes to generate an image each time.\n\n---\n\n## Prerequisites\n\n### API Key Configuration (Required First)\nThis skill requires a **SKYWORK_API_KEY** to be configured before use.\n\nIf you don't have an API key yet, please visit:\n**https://skywork.ai**\n\nFor detailed setup instructions, see:\n[references/apikey-fetch.md](references/apikey-fetch.md)\n\n## Usage\n\nRun the script using absolute path (do NOT cd to skill directory):\n\n**Generate new image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"description\" --filename \"output.png\" [--aspect-ratio 3:4] [--resolution 1K|2K|4K]\n```\n\n**Edit existing image:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"edit instructions\" --filename \"output.png\" --input-image \"source.png\" [--aspect-ratio 3:4] [--resolution 2K]\n```\n\n**Edit with multiple reference images:**\n```bash\npython3 <SKILL_DIR>/scripts/generate_image.py --prompt \"combine these styles\" --filename \"output.png\" -i \"ref1.png\" -i \"ref2.png\"\n```\n\nAlways run from the user's working directory so images save there.\n\n## When to Generate vs Edit\n\n- **Generation** (`--prompt` only): Creating new images from scratch — posters, logos, illustrations, photos, infographics.\n- **Editing** (`--prompt` + `--input-image`): User provides existing image(s) and wants modifications — style changes, element addition/removal, color adjustments, format conversion.\n  - Notice: Edit api supports character resemblance of up to 4 characters and the fidelity of up to 10 objects in a single workflow\n\nIf the user uploads/references images and wants changes, always use `--input-image`.\n\n## Resolution\n\n- **1K** — ~1024px, fast drafts\n- **2K** (default) — ~2048px, good for most deliverables\n- **4K** — ~4096px, final high-res output\n\nMap user requests: \"low/draft\" → 1K, \"normal/medium/2K\" → 2K, \"high-res/hi-res/4K/ultra\" → 4K.\n\n## Aspect Ratio\n\nSupported ratios: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`.\n\nSelection guidance:\n- **1:1** — Social media avatars, icons, album covers\n- **3:4 / 4:3** — General posters, presentations\n- **4:5 / 5:4** — Instagram posts, portraits\n- **9:16 / 16:9** — Mobile stories / desktop wallpapers, video covers\n- **2:3 / 3:2** — Print posters, book covers\n- **21:9** — Ultra-wide banners, cinema format\n\nIf the user doesn't specify, omit `--aspect-ratio` and let the API decide.\n\n## Filename Convention\n\nPatter"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70ct0m3p4538a9t49cjcwern82ky02\",\n  \"slug\": \"skywork-design\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1775828164630\n}"},{"path":"references/apikey-fetch.md","content":"# Skywork API Key Setup Guide\n\n## SKYWORK_API_KEY Not Configured\n\nWhen the `SKYWORK_API_KEY` environment variable is not set, follow these steps:\n\n### 1. Get API Key\n\nVisit the Skywork website and sign in to your account:\n\n**https://skywork.ai**\n\n- Log in with your Skywork account\n- Open account / Settings / API Key (**https://skywork.ai/?openApiKeySetting=1**)\n- Create or copy your **API key**\n\nIf your organization uses a separate console or test environment, use the URL and credentials your team provides.\n\n### 2. Configure OpenClaw\n\nEdit the OpenClaw configuration file: `~/.openclaw/openclaw.json`\n\nIn current OpenClaw, Skywork skills store the key under `skills.entries.<Skill Name>.apiKey` (not under `env`).\nOpenClaw will inject this value into the skill's `SKYWORK_API_KEY` environment when `primaryEnv` matches.\nAdd or merge the following structure (adjust the skill name to match the installed skill):\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"Skywork Design\": {\n        \"enabled\": true,\n        \"apiKey\": \"your_actual_skywork_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nReplace `\"your_actual_skywork_api_key_here\"` with your real key.\n\nFor multiple Skywork skills, repeat the same `apiKey` field on each skill entry.\n\n### 3. Configure Claude Code\n\nIf you are using Claude Code, use one of these lightweight options:\n\n**Option A — shell environment**\n\nExport the API key before running the skill:\n\n```bash\nexport SKYWORK_API_KEY=\"your_actual_skywork_api_key_here\"\n```\n\nTo persist it across sessions, add the same line to `~/.zshrc` or `~/.bashrc`, then reload the shell.\n\n**Option B — Claude Code settings**\n\nAdd the variable to `~/.claude/settings.json`:\n\n```json\n{\n  \"env\": {\n    \"SKYWORK_API_KEY\": \"your_actual_skywork_api_key_here\"\n  }\n}\n```\n\nUse the method that best matches how you run Claude Code.\n\n### 4. Verify Configuration\n\n```bash\n# Check that the environment variable is available\necho \"$SKYWORK_API_KEY\"\n```\n\nFor OpenClaw, you can also validate the config file:\n\n```bash\ncat ~/.openclaw/openclaw.json | python3 -m json.tool\n```\n\n### 5. Restart OpenClaw\n\n```bash\nopenclaw gateway restart\n```\n\n## Troubleshooting\n\n- Ensure `~/.openclaw/openclaw.json` exists and is valid JSON\n- Ensure `SKYWORK_API_KEY` is available in Claude Code through your shell or `~/.claude/settings.json`\n- Confirm the API key is active and not expired\n- Check Skywork account status, membership, or quota if requests fail with auth or benefit errors\n- Restart OpenClaw after configuration changes\n\n**Recommended**: Use the setup method that matches your runtime. OpenClaw should use the OpenClaw config file; Claude Code can use either the shell environment or `~/.claude/settings.json`."},{"path":"scenarios/branding.md","content":"# Branding / Visual Identity (VI)\n\n## Triggers\n\nbranding, brand identity, VI, visual identity, brand guidelines, brand kit, brand system, style guide\n\n## Defaults\n\n- **Aspect ratio**: varies per deliverable (see table)\n- **Resolution**: `2K`\n\n## Consistency Strategy\n\nA brand system demands the highest level of visual consistency — every deliverable must feel like it was designed by the same studio in the same session.\n\n**If the user provides a logo or brand assets**:\n1. Use them as `--input-image` for all subsequent deliverables\n2. Extract the visual DNA: primary/secondary colors (describe exact hues), style mood (minimal, playful, corporate, etc.), shape language (rounded, angular, geometric)\n3. Skip logo generation (deliverable 1) and begin from color palette or whichever deliverable is needed\n4. Carry the user's existing visual language — do not reinvent it\n\n**If the user provides NO existing assets**:\n1. Start with brand discovery: ask about industry, target audience, brand personality (3-5 adjectives), competitors to differentiate from\n2. Generate the logo first (following [logo.md](logo.md) guidance) — the logo is the seed from which all other brand elements grow\n3. Once the user approves the logo, derive everything else from it\n\n## Deliverables\n\nGenerate in this order. Each step uses `--input-image` from the previous to maintain consistency.\n\n| # | Deliverable | Ratio | Description |\n|---|---|---|---|\n| 1 | Logo mark | `1:1` | Core brand symbol (see [logo.md](logo.md)) |\n| 2 | Color palette card | `3:2` | Primary, secondary, accent colors with hex values shown as labeled swatches |\n| 3 | Typography showcase | `3:2` | Heading + body font pairing shown in sample text hierarchy |\n| 4 | Pattern / texture | `1:1` | Repeatable brand pattern derived from logo shapes or brand motifs |\n| 5 | Stationery mockup | `3:4` | Business card, letterhead, envelope on a styled flat-lay |\n| 6 | Brand guidelines page | `3:4` | Summary layout showing logo usage rules, color specs, and type hierarchy |\n\nNot all deliverables are always needed. Ask the user which items they want. If unclear, generate deliverables 1-5 (skip the guidelines page unless requested).\n\n## Design Thinking\n\n1. **Brand personality drives everything** — Before any visual work, define 3-5 personality adjectives (e.g., \"bold, modern, trustworthy\"). Every design choice — color, shape, typography — must trace back to these words\n2. **Differentiate, don't decorate** — Research the competitive landscape. If every competitor uses blue and sans-serif, the new brand needs a reason to follow suit or a strategy to stand apart. Ask the user about key competitors\n3. **System over individual pieces** — A brand is not a logo + some colors. It's a system where every element reinforces the others. The pattern echoes the logo shapes; the color palette reflects the logo colors; the typography matches the logo's personality\n4. **Constraint breeds cohesion** — Fewer colors, fewer fonts, fewer design elements = st"},{"path":"scenarios/brochure.md","content":"# Brochure\n\n## Triggers\n\nbrochure, pamphlet, leaflet, tri-fold, bi-fold, flyer, booklet, handout\n\n## Defaults\n\n- **Resolution**: `2K`\n\n## Formats & Image Count\n\nGenerate **one image per physical side**, with all panels of that side composed together in a single image.\n\n| Format | Images | Aspect ratio | Description |\n|--------|--------|-------------|-------------|\n| Single page / Flyer | 1 | `3:4` | All content on one image |\n| Bi-fold | 2 | `16:9` | Outside (front + back side by side), Inside (inside-left + inside-right side by side) |\n| Tri-fold | 2 | `21:9` | Outside (3 panels side by side), Inside (3 panels side by side) |\n| Multi-page booklet | 1 per spread | `16:9` | Each 2-page spread as one image |\n\nThis approach ensures visual consistency within each side and reduces generation calls.\n\n## Consistency Strategy\n\nA brochure is a multi-panel system — visual inconsistency between panels destroys professionalism instantly.\n\n**If the user provides brand assets or a reference image** (logo, brand guidelines, existing design):\n1. Use them as `--input-image` for every generation\n2. Extract the visual DNA: color palette, typography style, layout density, mood\n3. Maintain the established brand language — do not introduce new visual elements\n\n**If the user provides NO reference**:\n1. Generate the **outside face first** — this sets the entire visual direction: color palette, typography style, imagery mood, layout density\n2. Do NOT proceed to the inside face until the user approves the outside direction\n3. Use the approved outside face as `--input-image` when generating the inside face\n\n## Workflow\n\n### Step 1: Clarify Scope\n\nBefore generating, confirm with the user:\n- **Format**: single page, bi-fold, tri-fold, or booklet (how many pages?)\n- **Content**: what text/information goes on each panel? (get the actual copy or at minimum the topic per panel)\n- **Tone**: corporate, playful, luxurious, informational, promotional?\n- **Brand assets**: any existing logo, colors, or style to match?\n\n### Step 2: Outside Face\n\nGenerate the outside face as a single image with all panels composed together.\n- **Bi-fold** (`16:9`): left half = back cover, right half = front cover. Name: `...-outside.png`\n- **Tri-fold** (`21:9`): left = back cover, center = front flap, right = front cover. Name: `...-outside.png`\n- The front cover area must be the visual hero — it establishes the design direction\n- Describe the full layout in the prompt: \"a tri-fold brochure outside face, 3 panels side by side separated by subtle fold lines, left panel is the back cover with contact info, center panel is the front flap with a teaser, right panel is the front cover with the main headline and hero image\"\n- Wait for user approval before continuing\n\n### Step 3: Inside Face\n\nGenerate the inside face as a single image, using the outside face as `--input-image`.\n- **Bi-fold** (`16:9`): left = inside-left, right = inside-right. Name: `...-inside.png`\n- **Tri-fold** (`21:9`): left = inside-left, c"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2134,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:31:10.323Z","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-09T11:31:10.323Z","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-09T14:46:41.714Z","emptyReason":null},"items":[{"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":"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-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","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"}]}}}