Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Image Prompt Engineer

ASecurity

Methodology for writing high-quality image generation prompts across any generator — Midjourney, DALL-E/GPT-Image-2, Stable Diffusion, Flux, Higgsfield, Leonardo, Ideogram. Covers prompt structure, per-generator parameters, style modifier vocabulary, negative prompts, multi-subject composition, and iterative refinement. Use when writing, improving, or troubleshooting an image generation prompt for any tool or any subject (not just photography, not just UI mockups). Triggers on: 'write an imag...

3 stars
0 votes
0 copies
0 views
Added 9/29/2026
ai-agentsgodatabasefrontend

Security Analysis

A100/100

Scanned 9/29/2026

$npx -y skills add Tekkiiiii/the-agency --skill image-prompt-engineer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Image Prompt Engineer?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Image Prompt Engineer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tekkiiiii-image-prompt-engineer/badge)](https://www.skillsdirectory.com/skills/tekkiiiii-image-prompt-engineer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: image-prompt-engineer
description: "Methodology for writing high-quality image generation prompts across any generator — Midjourney, DALL-E/GPT-Image-2, Stable Diffusion, Flux, Higgsfield, Leonardo, Ideogram. Covers prompt structure, per-generator parameters, style modifier vocabulary, negative prompts, multi-subject composition, and iterative refinement. Use when writing, improving, or troubleshooting an image generation prompt for any tool or any subject (not just photography, not just UI mockups). Triggers on: 'write an image prompt', 'Midjourney prompt', 'DALL-E prompt', 'Stable Diffusion prompt', 'image generation prompt', 'improve this prompt', 'negative prompt'."
---

# Image Prompt Engineer — Prompt Methodology Skill

Teaches HOW to write a great image-generation prompt, for any generator and any subject.
This is a methodology skill, not a lookup library — it gives the structure, vocabulary,
and per-generator parameter syntax needed to construct a prompt from scratch or fix one
that isn't producing the right result.

**Not in scope here:** a curated database of ready-made prompts (see `gpt-image-prompts`
skill for 476+ examples you can browse/search/adapt), and not UI-screenshot-specific
composition rules (see `imagegen-frontend-web` / `imagegen-frontend-mobile` for those).
This skill is the general-purpose methodology underneath all three.

## When to use this skill

- Asked to write an image prompt and no existing curated prompt fits the need
- Asked to improve, debug, or extend an existing prompt that isn't producing the right output
- Building a prompt for a generator not covered by another skill (Stable Diffusion, Flux,
  Higgsfield, Leonardo, Ideogram, etc.)
- Any agent (Image Prompt Engineer, AI Video Producer, content writers, design agents)
  needs to produce or QA an image-generation prompt

## Core Methodology — The Five-Layer Prompt Structure

Every effective image prompt is built in layers, ordered most-important-first. Most
generators weight earlier tokens more heavily, so put what matters most up front.

1. **Subject** — who/what is in frame, with concrete (not vague) descriptors
   - Bad: "a woman"  →  Good: "a woman in her 30s with curly red hair, wearing a tailored navy blazer"
2. **Action / Composition** — pose, framing, what's happening, where elements sit
   - Subject position (centered, rule-of-thirds, foreground/background), interaction with environment
3. **Environment / Setting** — location, time of day, weather, background treatment
4. **Lighting** — source, direction, quality, color temperature (this is the single highest-leverage
   lever for photorealism and mood — never leave it implicit)
5. **Style / Technical** — art style or photography genre, camera/lens specs if photoreal,
   color grade, quality boosters, generator-specific parameters (always last)

**Template:**
```
[Subject, concrete details] + [action/pose/composition] + [environment/setting] +
[lighting: source, direction, quality, color temp] + [style/medium] +
[technical: lens/camera OR art-style specifics] + [quality boosters] + [generator params]
```

Concrete beats vague every time. "Shallow depth of field, f/1.8 bokeh" beats "blurry
background" — name the mechanism, not the visual effect, because generators were trained
on photography/art captions that use mechanism-language.

## Per-Generator Parameter Reference

### Midjourney
Parameters go at the end of the prompt, each prefixed `--`.
| Param | Purpose | Common values |
|---|---|---|
| `--ar` | Aspect ratio | `16:9`, `1:1`, `9:16`, `3:2` |
| `--v` | Model version | `6.1`, `6`, `niji 6` (anime) |
| `--style` | Style preset | `raw` (less opinionated/more literal), `cute`, `scenic` (niji) |
| `--stylize` (`--s`) | How strongly MJ's house aesthetic is applied | `0`–`1000`, default `100` |
| `--chaos` (`--c`) | Variation between the 4 grid outputs | `0`–`100` |
| `--weird` (`--w`) | Unusual/experimental aesthetics | `0`–`3000` |
| `--no` | Negative prompt (exclude elements) | `--no text, watermark` |
| `--seed` | Reproducibility | any integer |
| `::` weighting | Emphasize/de-emphasize a term | `red hair::2 blue eyes::1` |

### DALL-E / GPT-Image-2
No bracket-parameter syntax — everything is natural language. Precision comes from
explicit, plain-English description rather than tokens.
- Specify aspect/composition in words: "wide cinematic shot," "square product photo on white background"
- Specify lighting and perspective explicitly — the model follows literal descriptions well
- Style is steered by naming a medium/genre directly: "isometric vector illustration,"
  "35mm analog film photo," "studio Ghibli-style animation still"
- No native negative-prompt field — exclusions must be phrased positively
  ("clean background" instead of "no clutter") or stated as a constraint in the sentence
  ("no text or logos anywhere in the image")
- See `gpt-image-prompts` skill for 476+ tested examples across 5 categories in this exact style

### Stable Diffusion (and forks: SDXL, SD3, Automatic1111/ComfyUI workflows)
Token-weighted, supports a true negative-prompt field.
| Param | Purpose | Notes |
|---|---|---|
| CFG Scale | How strictly the output follows the prompt | `7`–`12` typical; higher = more literal, less creative |
| Sampler | Denoising algorithm | `DPM++ 2M Karras`, `Euler a`, `DDIM` — affects detail/speed tradeoff |
| Steps | Denoising iterations | `20`–`40` typical; diminishing returns past ~40 |
| Negative prompt | Separate field listing what to avoid | `blurry, deformed hands, extra fingers, watermark, low quality` |
| `(token:1.3)` weighting | Emphasize a term | Higher number = stronger pull |
| LoRA / embedding tags | Style or subject fine-tune reference | `<lora:name:0.8>` |

### Flux (FLUX.1, Flux Pro/Dev)
Natural-language-first like DALL-E, but rewards longer, highly detailed descriptive
paragraphs over keyword-stacking. Strong photorealism — lean on real photography
vocabulary (lens, film stock, lighting setup) rather than generic quality tags.

### Higgsfield
Built for motion/video-adjacent generation — prompts need a motion/camera-move layer
in addition to the static-image layers above.
| Concept | Purpose | Examples |
|---|---|---|
| Motion style | How the subject/scene moves | `subtle parallax`, `slow zoom in`, `dynamic action` |
| Camera move | Virtual camera behavior | `dolly in`, `orbit left`, `static lockoff`, `handheld shake` |
| Reference image/motion | Anchor to an uploaded asset | use `motion_control` for recast/puppeteer/motion-transfer |
- Use `models_explore(action:'recommend')` to pick the right Higgsfield model for the goal before generating.

### Leonardo AI
Preset-driven — prompt is plain language, but model/preset choice carries a lot of the
style weight (PhotoReal, Illustration, Anime presets each interpret the same prompt differently).
Supports negative prompt field and an "Elements" (LoRA-like) system for style consistency.

### Ideogram
Strongest of the mainstream generators at rendering legible text-in-image — if the
deliverable needs accurate on-image typography (posters, signage, logos with text),
prefer Ideogram and state the exact text in quotes within the prompt.

## Style Modifier Vocabulary

**Lighting terms:** golden hour, blue hour, overcast diffused light, hard direct sunlight,
softbox key light, rim/edge light, Rembrandt lighting, butterfly lighting, split lighting,
volumetric light/god rays, neon practical lighting, chiaroscuro, backlit silhouette,
high-key (bright, low contrast), low-key (dark, high contrast)

**Camera/lens terms:** 35mm/50mm/85mm focal length, wide-angle distortion, telephoto
compression, shallow depth of field (f/1.4–f/2.8), deep focus (f/8–f/16), bokeh, macro,
low angle / high angle / bird's-eye / worm's-eye, Dutch tilt, tilt-shift, anamorphic
lens flare, long exposure, motion blur

**Art style terms:** isometric, flat vector illustration, watercolor, oil painting,
cel-shaded anime, photorealistic, hyperrealistic, claymation, low-poly 3D, brutalist,
art nouveau, cyberpunk, vaporwave, minimalist, maximalist, editorial photography,
documentary photography, fine art print

**Quality boosters (use sparingly — generator-dependent, can be redundant on newer models):**
"highly detailed," "8k," "sharp focus," "professional photography," "award-winning" —
on modern models (Midjourney v6+, GPT-Image-2, Flux) these add less than they used to;
concrete descriptive language outperforms generic quality tags. Prefer specificity over boosters.

## Negative Prompt Patterns

Only Midjourney (`--no`), Stable Diffusion (negative field), and Leonardo have a true
negative-prompt mechanism. For DALL-E/GPT-Image-2/Flux, rephrase exclusions as positive
constraints inside the main prompt.

Common negative-prompt targets:
- Anatomy failures: `deformed hands, extra fingers, asymmetric eyes, malformed limbs`
- Unwanted artifacts: `watermark, text, logo, signature, blurry, low quality, jpeg artifacts`
- Composition failures: `cropped, out of frame, duplicate, cluttered background`
- Style leakage: name the unwanted style explicitly if the model keeps drifting toward it
  (e.g., `--no anime` if a photoreal prompt keeps returning illustrated results)

## Multi-Subject / Scene Composition Rules

1. **Establish a clear hierarchy** — name the primary subject first, secondary subjects after,
   with explicit spatial relationships ("in the foreground... behind her, slightly blurred...")
2. **Cap subject count realistically** — most generators degrade past 2-3 named subjects with
   distinct described attributes; complex group scenes need either acceptance of some
   randomness or multiple generation + compositing passes
3. **Use weighting/emphasis** to keep the hierarchy from collapsing (Midjourney `::`,
   SD `(token:1.3)`) — without it, generators often give equal visual weight to all
   mentioned elements regardless of prompt order
4. **Describe interactions, not just co-presence** — "two people shaking hands" generates
   more coherently than "two people, a handshake" as a bolted-on fragment
5. **One scene, one lighting setup** — conflicting lighting descriptions for different
   subjects in the same frame is a common cause of incoherent results

## Iterative Refinement Pattern

1. **Generate a baseline** with the core 5-layer prompt — don't over-specify on attempt 1
2. **Diagnose the gap** — is it composition, style, lighting, or a specific element wrong?
   Change ONE layer at a time; changing everything at once makes it impossible to learn
   what worked
3. **Reuse the seed** (where supported — Midjourney `--seed`, SD seed field) when refining
   composition/style without wanting the whole image to change
4. **Escalate specificity, not length** — replace vague terms with concrete ones rather
   than padding the prompt with more adjectives
5. **When stuck after 3 iterations**, suspect a structural conflict (e.g., asking for both
   "soft diffused light" and "dramatic hard shadows") rather than a wording problem —
   re-read the prompt for contradictions before adding more detail
6. **Document what worked** — once a prompt pattern produces a reliable result for a
   recurring need, that's a candidate to add to the `gpt-image-prompts` library rather
   than rediscovering it each time

## Workflow

1. Identify the target generator (if unspecified, ask or default to GPT-Image-2/natural language)
2. Identify the subject type — is this photography-style (use the Image Prompt Engineer
   agent's genre patterns for portrait/product/landscape/fashion), a UI mockup (route to
   `imagegen-frontend-web`/`imagegen-frontend-mobile` instead), or general/illustrative
   (use this skill's five-layer structure directly)
3. Build the prompt layer by layer: subject → action/composition → environment → lighting → style/technical
4. Apply the generator's parameter syntax from the reference table above
5. Add negative-prompt exclusions if the generator supports them; otherwise fold exclusions
   in as positive constraints
6. If multiple subjects, apply the composition rules above
7. Generate, diagnose gaps against the 5 layers, refine one layer at a time
8. Run critique-imageprompt on the final prompt before delivery — invoke the critique-imageprompt
   agent or paste the prompt into the critique checklist below. Address any FAIL or NEEDS WORK
   findings before finalizing.

## Cross-References

- **`gpt-image-prompts` skill** — 476+ curated, production-tested GPT-Image-2 prompt examples
  across 5 categories. Use it to find a ready-made starting point; use this skill to adapt,
  extend, or troubleshoot it, or to write one from scratch for a different generator.
- **`imagegen-frontend-web` / `imagegen-frontend-mobile` skills** — narrower, UI-screenshot-specific
  composition rules (one-image-per-section, hero composition bias, app-native UI patterns).
  Route there first for website/app design-reference image tasks; this skill is the
  general fallback for everything else.
- **Image Prompt Engineer agent** (`{agency-root}/agents/design/design-image-prompt-engineer.md`) —
  an autonomous agent specializing in photography-genre prompts (portrait, product, landscape,
  fashion) with deep genre-specific templates. Spawn that agent for hands-on photography prompt
  production; read this skill directly when you (or any agent) need the general cross-generator
  methodology, non-photography styles, or a generator the agent's templates don't cover
  (Higgsfield, Leonardo, Ideogram, Stable Diffusion parameter tuning).
- **`critique-imageprompt` agent** (`{agency-root}/agents/critiques/critique-imageprompt.md`) —
  scores any prompt produced with this methodology against character consistency, layer
  completeness, specificity, style coherence, generator fit, and negative-prompt coverage.
  Invoke before delivery (Workflow step 8) or use the Quick Critique Checklist below for an
  inline self-check without spawning an agent.

## Quick Critique Checklist

Before finalizing any image prompt, verify:

☐ Character attributes are concrete and complete (not "a woman" — name every visible trait)
☐ If multi-image series: exact same attribute phrases reused verbatim across all prompts
☐ Per-generator consistency mechanism in place (--cref, LoRA, seed, exact-match phrasing)
☐ All 5 layers present: subject / composition / environment / lighting / style
☐ Lighting is EXPLICIT — source, direction, quality, color temp (never left implicit)
☐ No style contradictions (lighting, medium, art style all coherent)
☐ Generator parameter syntax correct for target tool
☐ Negative prompts present (if supported) covering anatomy + artifacts + composition

Attribution

TekkiiiiiTekkiiiii
View sourceSee grades on GitHubMore from Tekkiiiii →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →