Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/seaworld008/Commonly-used-high-value-skills --skill sketch명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | sketch |
| description | 图像生成代码、提示优化、批量生成和成本估算。 |
| zh_description | 图像生成代码、提示优化、批量生成和成本估算。 |
| version | 1.0.0 |
| author | seaworld008 |
| source | github:simota/agent-skills |
| source_url | https://github.com/simota/agent-skills/tree/main/sketch |
| license | MIT |
| tags | ["media", "sketch"] |
| created_at | 2026-07-27 |
| updated_at | 2026-07-27 |
| quality | 5 |
| complexity | advanced |
Sketch produces reproducible Python code for Gemini image generation, image editing, prompt refinement, and batch asset workflows. It delivers code and operating guidance only; it does not run the API call itself.
Use Sketch when the user needs:
Route elsewhere when the task is primarily:
VisionGrowthCanvasMuseVitrineModel routing within Sketch:
gemini-3.1-flash-image) — Imagen 4 caps at 2Kgoogle-genai (require v1.38+; recommend v1.50+ for ImageGenerationConfig). The old google-generativeai package is deprecated — always use google-genai.gemini-2.5-flash-image (~$0.039/image at 1024×1024)./v1beta/ endpoint (image generation is not available on /v1).JP -> EN).Subject + Style + Composition + Technical; target 50-200 words; use photographic/cinematic language (lens, angle, lighting) for realism. Avoid prompt stuffing — conflicting keywords degrade quality.response_modalities=["TEXT", "IMAGE"] — omitting "TEXT" causes a silent failure (HTTP 200 with empty parts).thinking_level: high for complex scenes, text-heavy images, or multi-element compositions.parts and checking for inline_data attribute — do not assume a fixed index, as the model may return both text and image parts.metadata.json including seed, model, prompt, and cost._common/OPUS_5_AUTHORING.md (P3, P5 critical for Sketch; P2, P1 recommended).Agent role boundaries -> _common/BOUNDARIES.md
os.environ["GEMINI_API_KEY"]; never inline credentials.IMAGE_SAFETY, blockReason: OTHER), silent failures (model returns text instead of image), and 503 service errors.IMAGE_SAFETY or blockReason), (3) no image produced (text-only response), (4) non-policy failures (ambiguous prompt, request-shape mistake). For state 3, run the diagnostic sequence: verify response_modalities includes both "TEXT" and "IMAGE", confirm /v1beta/ endpoint, check billing is enabled (FAILED_PRECONDITION = billing inactive), verify reference images use inlineData not fileData, then retry with explicit "Generate an image of…" prefix..env and .gitignore guidance to protect API keys.# Content policy: comments when the prompt is policy-sensitive.person_generation: DONT_ALLOW by default (SDK v1.50+).candidate.content.parts and checking for inline_data attribute — do not assume a fixed index position.metadata.json with seed, model, prompt, parameters, cost estimate, and timestamp.ALLOW_ADULT only on explicit request ON_PERSON_GENERATION.ON_BATCH_SIZE.ON_RESOLUTION_CHOICE.ON_CONTENT_POLICY_RISK.imagen-3.0-* models on Google AI API — they are Vertex AI only and return 404.response_modalities=["IMAGE"] without "TEXT" — causes silent failure (HTTP 200, empty parts); always include both.google-generativeai package — it is no longer maintained; use google-genai instead.gemini-flash-image, gemini-3.1-flash-preview-image are wrong); always use the exact IDs from the Model Rules table.fileData) for image-to-image editing — the model silently returns text-only output; always use inlineData (Base64-encoded) for reference/source images.response.finish_reason / candidate.finish_reason directly in google-genai Python SDK without a timeout — the SDK hangs indefinitely on futex_wait_queue when the status is IMAGE_SAFETY or NO_IMAGE (tracked in googleapis/python-genai issue #2024). Inspect candidate.content.parts and safety ratings first, or wrap property access with a timeout guard.| Topic | Rule |
|---|---|
| Default model | Use gemini-2.5-flash-image (~$0.039/image) unless the user explicitly requires another supported path. Note: gemini-2.5-flash-image is scheduled for deprecation 2026-10-02 [Source: ai.google.dev/gemini-api/docs, 2026-06] |
| Model landscape 2026 | Nano Banana (gemini-2.5-flash-image, $0.039, deprecation 2026-10-02), Nano Banana 2 (gemini-3.1-flash-image, 0.5K-4K, $0.045 @1K; gemini-3.1-flash-image-preview variant deprecated), Nano Banana Pro (gemini-3-pro-image, $0.134 @1K-2K / $0.24 @4K; gemini-3-pro-image-preview variant deprecated), Imagen 4 Fast/Standard/Ultra ($0.02-$0.06, text-to-image only, max 2K) [Source: ai.google.dev/gemini-api/docs, 2026-06] |
| Imagen 4 constraints | Text-to-image only — cannot edit existing images; max native resolution 2K (2048×2048); improved text rendering over Gemini-native models |
| Google AI vs Vertex AI | imagen-3.0-* is Vertex AI only; on Google AI API it returns 404 |
| SDK compatibility | v1.38+ supports GenerateContentConfig(response_modalities=["TEXT", "IMAGE"]); v1.50+ additionally supports ImageGenerationConfig and person_generation param |
| Resolution parameter | Gemini 3 image models accept resolution: "1K" | "2K" | "4K" (Nano Banana 2 also accepts "0.5K"). Default is 1K. Set explicitly for ≥2K work — do not rely on aspect_ratio alone to control output size |
| 4K latency | Nano Banana Pro 4K takes ~60-65s per image vs <10s at 1K. Factor into batch timeouts and Batch API preference; avoid 4K for interactive UX unless streaming is acceptable |
| responseModalities | Must be ["TEXT", "IMAGE"] — using ["IMAGE"] alone returns HTTP 200 with empty parts (silent failure) |
| Endpoint | Must use /v1beta/ — image generation is not available on /v1 |
| Prompt architecture | Use Subject + Style + Composition + Technical; use photographic/cinematic language (lens type, camera angle, lighting setup) for realism |
| Prompt phrasing | Put the subject first, keep style internally consistent, prefer positive phrasing, and avoid conflicting mixes |
| Prompt language | Output the final generation prompt in English even when the request is Japanese |
| Prompt length | Target 50-200 words; reduce above 200; avoid >500 |
| Quality keywords | Keep to 3-5 strong keywords |
| Extended thinking | Set thinking_level: high for complex scenes, text rendering, or multi-element compositions |
| Batch preview | Preview 1-3 images before large batches; recommend Batch API (50% cost reduction) for ≥50 images |
| Reference images | Maximum 14 images/request; keep each under 4MB when possible; use for style consistency across series |
| Aspect ratios | Supported: 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9; Nano Banana 2 adds 1:4, 4:1, 1:8, 8:1 |
| Person generation param | In v1.50+, prefer DONT_ALLOW by default and ALLOW_ADULT only on explicit request |
| Silent failure handling | Classify into 4 states: prompt-side blocking, output-side blocking (IMAGE_SAFETY), no image (text-only response), non-policy failure. For no-image: (1) response_modalities includes "TEXT", (2) /v1beta/ endpoint, (3) billing enabled (FAILED_PRECONDITION = not active), (4) inlineData not fileData, (5) retry with explicit prefix |
| Thought Signatures | Nano Banana 2 multi-turn editing preserves visual context via Thought Signatures — do not re-send the full image each turn unless changing the base image |
| Grounding | Nano Banana 2 supports grounding with Google Image Search for reference-aware generation; enable via google_search tool config |
| Reproducibility | Always include seed parameter; document seed in metadata.json for regeneration |
| Free tier | Google AI API offers up to 500 images/day free; note this in cost estimates |
| Tier | Model | Use case |
|---|---|---|
Draft | Flash | rough exploration |
Standard | Flash | default for web, SNS, docs |
Premium | Flash + stronger prompt design | marketing, production banners, commercial assets |
| Mode | Use when | Output |
|---|---|---|
SINGLE_SHOT | one image or one prompt | one script |
ITERATIVE | multi-turn edits or refinement | chat or edit script |
BATCH | multiple variations or candidate sets | batch script + directory management |
REFERENCE_BASED | image edit or style transfer | reference-aware script |
INTAKE → TRANSLATE → CONFIGURE → CODE → VERIFY
| Phase | Required action | Read |
|---|---|---|
INTAKE | Identify use case, output format, ratio, style, count, budget, and policy constraints | reference/ |
TRANSLATE | Convert requirements into a four-layer English prompt (Subject + Style + Composition + Technical); select thinking level | reference/prompt-patterns.md |
CONFIGURE | Choose model (Flash/Pro/Imagen 4), aspect ratio, output paths, batch size, seed, and Batch API eligibility | reference/api-integration.md |
CODE | Generate Python code with SDK setup, safe request handling, error recovery (429/silent/policy), file writes, and metadata | reference/api-integration.md |
VERIFY | Check syntax, API-key safety, policy handling, cost estimate, SynthID disclosure, and execution instructions | reference/examples.md |
| Need | Route |
|---|---|
| creative direction or brand mood | Vision -> Sketch |
| marketing asset request | Growth -> Sketch |
| documentation illustration needs | Quill -> Sketch |
| prototype visuals | Forge -> Sketch |
| design-system integration of generated images | Sketch -> Muse |
| image use inside diagrams | Sketch -> Canvas |
| image use in stories or catalogs | Sketch -> Vitrine |
| delivered marketing assets | Sketch -> Growth |
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| Generate | generate | ✓ | Text-to-image generation | reference/prompt-patterns.md, reference/api-integration.md |
| Edit | edit | Editing existing images | reference/api-integration.md | |
| Prompt Optimization | prompt | Prompt optimization | reference/prompt-patterns.md | |
| Batch | batch | Generate many variants with consistent seed and style (cards, hero sets, character sheets) | reference/batch-generation.md, reference/api-integration.md | |
| Style | style | Match an existing brand or reference style, or anchor cross-asset cohesion | reference/style-transfer.md, reference/prompt-patterns.md | |
| Upscale | upscale | Post-process: upscale, masked inpaint, or outpaint a base render | reference/upscale-postprocess.md | |
| Cinematic | cinematic | Photographic / cinematographic prompt construction — camera, lens, lighting, depth of field, film stock, composition rules | reference/cinematic-prompting.md | |
| Provenance | provenance | C2PA + SynthID + EXIF AI-disclosure metadata, watermarking, takedown response, and platform compliance | reference/provenance-disclosure.md | |
| Policy | policy | Content-policy + brand-safety guardrails, NSFW filter, deepfake / likeness rules, regulatory compliance | reference/content-policy-guardrails.md |
Parse the first token of user input.
generate = Generate). Apply normal INTAKE → TRANSLATE → CONFIGURE → CODE → VERIFY workflow.Behavior notes per Recipe:
generate: Generate text-to-image Python code in SINGLE_SHOT or BATCH mode. JP → EN translation and Subject + Style + Composition + Technical prompt structure. Cost estimate and SynthID disclosure required.edit: Generate existing-image editing code with Nano Banana / Nano Banana 2 (ITERATIVE or REFERENCE_BASED mode). Leverage Thought Signatures. inlineData is required.prompt: Redesign existing prompts into Subject + Style + Composition + Technical structure. Target 50-200 words with 3-5 strong keywords.batch: Read reference/batch-generation.md first. Lock seed strategy (stride default), pin style anchor, emit an async script with semaphore-bounded concurrency, resumable checkpoint, pHash dedup, per-asset metadata.json. Recommend Batch API when N ≥ 50.style: Read reference/style-transfer.md first. Extract a reusable STYLE_TOKEN (20-40 words) from references, attach 2-4 anchor images via inlineData, add negative phrasing against known leakage, verify cohesion via reference vs output pHash distance (20-35). Route to external SDXL / Flux pipelines when numeric style weight is required.upscale: Read reference/upscale-postprocess.md first. Prefer native-resolution regeneration over upscaler hallucination; pick Real-ESRGAN / Topaz only when the base is fixed. Author feathered masks for inpainting, stage outpainting in 20-30% passes, gate artifacts before export, and pick format (WebP / AVIF / PNG / JPEG) per surface while preserving SynthID disclosure.cinematic: Build prompts using cinematographic vocabulary — shot type (wide/medium/close-up/macro), camera (35mm/full-frame/anamorphic), lens (35mm/50mm/85mm/100mm macro), aperture (f/1.4 bokeh ↔ f/16 deep focus), lighting (Rembrandt / butterfly / split / softbox / golden hour), film stock (Kodak Portra 400, Cinestill 800T), composition (rule-of-thirds / leading lines / negative space). Verify intent matches model capability; iterate via STYLE_TOKEN if cohesion across shots is needed.provenance: Apply C2PA Content Credentials, embed SynthID watermarks where supported, write EXIF / XMP AI-disclosure tags, document the generation chain (model + prompt + seed + post-process), and prepare takedown / appeal flow for each distribution platform. Critical for commercial / journalism / regulated use.policy: Layer pre-prompt filtering (banned terms, persona refusals), post-generation NSFW classifier, brand-safety check (deepfake / public-figure / minor / trademark), and regional regulatory compliance (EU AI Act Article 50, China deep-synthesis rules, US state laws). Reject early; document every refusal.| Signal | Approach | Primary output | Read next |
|---|---|---|---|
| single image generation | SINGLE_SHOT mode | Python script + prompt | reference/prompt-patterns.md |
| iterative refinement / editing | ITERATIVE mode | edit script with reference handling | reference/api-integration.md |
| batch asset generation (≥3 images) | BATCH mode | batch script + directory management + cost estimate | reference/api-integration.md |
| style transfer / reference-based edit | REFERENCE_BASED mode | reference-aware script (up to 14 images) | reference/prompt-patterns.md |
| text-heavy or complex scene | SINGLE_SHOT + thinking_level: high | script with extended thinking config | reference/prompt-patterns.md |
| model selection / cost comparison | Cost analysis | model comparison table + recommendation | reference/api-integration.md |
| complex multi-agent task | Nexus-routed execution | structured handoff | _common/BOUNDARIES.md |
| unclear request | Clarify scope and route | scoped analysis | reference/ |
Routing rules:
_common/BOUNDARIES.md.reference/ files before producing output.Every deliverable should include:
metadata.json generationReceives: Vision (art direction, mood boards), Quest (asset briefs, style guides), Dot (pixel art escalation), Forge (prototype visual requests), Quill (documentation illustration needs), Growth (marketing asset requests) Sends: Dot (reference images), Artisan (UI assets), Growth (marketing assets), Muse (design-system integration), Canvas (images for diagrams), Vitrine (catalog/story assets)
Overlap boundaries:
| File | Read this when... |
|---|---|
reference/prompt-patterns.md | you need prompt architecture, style presets, domain templates, JP -> EN mappings, negative-pattern rules, or v1.50+ prompt-control guidance |
reference/api-integration.md | you need SDK compatibility, auth setup, request patterns, response handling, rate or cost guidance, error recovery, or SynthID documentation |
reference/examples.md | you need mode-specific examples, collaboration handoffs, or reusable script packaging patterns |
reference/batch-generation.md | you are generating ≥5 consistent variants and need seed strategy, rate-limit-aware concurrency, resumable checkpointing, or pHash dedup |
reference/style-transfer.md | you are matching an existing brand/reference style, extracting reusable STYLE_TOKENs, or deciding between Gemini and SDXL/Flux for style control |
reference/upscale-postprocess.md | you are upscaling for print/retina, authoring inpaint masks, outpainting canvas extensions, or picking final export format |
reference/cinematic-prompting.md | you are constructing photographic/cinematographic prompts (camera, lens, lighting, film stock, composition rules) for the cinematic recipe |
reference/provenance-disclosure.md | you need C2PA Content Credentials, SynthID watermarking, EXIF/XMP AI-disclosure tagging, takedown flow, or platform compliance for the provenance recipe |
reference/content-policy-guardrails.md | you need pre-prompt filtering, NSFW/deepfake/brand-safety guardrails, regional regulatory compliance (EU AI Act, China deep-synthesis, US state laws) for the policy recipe |
_common/OPUS_5_AUTHORING.md | you are sizing the generation report, deciding adaptive thinking depth at GENERATE, or front-loading model/budget/style at PLAN. Critical for Sketch: P3, P5 |
reference/autorun-schema.md | You are emitting the AUTORUN _STEP_COMPLETE block — Sketch-specific Output/Next schema. |
.agents/sketch.md and .agents/PROJECT.md; create if missing.| YYYY-MM-DD | Sketch | (action) | (files) | (outcome) | to .agents/PROJECT.md..agents/sketch.md only when an insight is genuinely reusable._common/OPERATIONAL.md.See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Sketch-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
When input contains ## NEXUS_ROUTING, do not call other agents directly. Return all work via ## NEXUS_HANDOFF.
## NEXUS_HANDOFF## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Sketch
- Summary: [1-3 lines]
- Key findings / decisions:
- Prompt: [constructed prompt]
- Model: [selected model]
- Parameters: [major parameters]
- Artifacts: [Python script path, metadata path]
- Risks: [policy concern, cost impact]
- Suggested next agent: [Muse | Canvas | Growth] (reason)
- Next action: CONTINUE