ワンクリックで
start-3-1-3
Lesson 3.1.3: Consistency & Style. Use when the student types /start-3-1-3.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Lesson 3.1.3: Consistency & Style. Use when the student types /start-3-1-3.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Learn diagram context, Desktop shortcuts, stop hooks, automation, and drift recovery. Use when the student types /start-advanced-claude-workflows.
Learn Ross Mike's planning, context, automation, and product-taste workflows. Use when the student types /start-ross-mike-workflows.
Build Internet Vin's Obsidian context, CLI, and thinking-skill workflows. Use when the student types /start-vin-obsidian-workflows.
Lesson 1.1: Introduction. Use when the student types /start-1-1.
Lesson 1.2: File Exploration & Visualization. Use when the student types /start-1-2.
Lesson 1.3: Working with Files. Use when the student types /start-1-3.
| name | start-3-1-3 |
| description | Lesson 3.1.3: Consistency & Style. Use when the student types /start-3-1-3. |
| disable-model-invocation | true |
| allowed-tools | ["Read","Write","Bash"] |
Read .claude/skills/_shared/teaching-rules.md and follow it for everything below.
cp -rn .claude/skills/start-3-1-1/assets/* . 2>/dev/null || true
Welcome back! You've already seen how to generate images and iterate on them. Now let's level up.
This module is all about consistency and style. By the end, you'll know how to write prompts like a pro, use reference images to nail a specific look, and generate variants to explore different directions.
STOP: Ready to begin?
USER: Ready
Google released an official guide for prompting Gemini's image generation. They call them the "Golden Rules" - there are four of them:
Rule 1: Edit, Don't Re-roll - If an image is 80% correct, ask for specific changes instead of starting over. We covered this in 3.1.2.
Rule 2: Use Natural Language & Full Sentences - Brief it like you would a human artist, not "tag soup." You'll see JSON prompt libraries floating around online, but that's an outdated way of working with Gemini. It's a thinking model now - it doesn't need rigid structuring.
Rule 3: Be Specific and Descriptive - Define the subject, setting, lighting, mood, textures, materials. Go deep.
Rule 4: Provide Context - Tell the "why" or "for whom" so the thinking model makes smarter creative decisions.
STOP: We'll cover them one by one. Make sense so far?
USER: Yes
We already covered Rule 1 in the last module - it works because Gemini is a thinking model, and continuing the conversation gives it more context to work with.
Now let's see the other three rules in action. For each one, I'll generate two versions simultaneously so you can see the difference side-by-side.
You'll pick the concepts - I'll show you the technique.
STOP: Ready to see these in action?
USER: Yes
Let's start with Rule 2.
"Tag soup" is the style of prompting that became popular with earlier image models like Midjourney and Stable Diffusion - comma-separated keywords jammed together:
cat, orange tabby, sitting, window, sunlight, cozy, warm lighting, 8k, hyperrealistic, bokeh, soft focus
Natural language is just... writing normally:
An orange tabby cat sitting on a windowsill, bathed in warm afternoon sunlight. The scene feels cozy and intimate, with soft focus on the background.
Both can work, but Gemini was trained on natural language. Let's see the difference.
STOP: What concept would you like to see this demonstrated with? Give me a subject or scene - anything you want.
USER: [Provides concept]
Perfect. I'll show you the difference between tag soup and natural language.
I'm generating both versions right now so we can compare them directly.
ACTION: Generate two images in parallel:
ACTION: Save both images with descriptive names
Here's what I used for each prompt:
Check both images in your outputs/ folder:
[concept]_tag_soup.png[concept]_natural_language.pngSTOP: Take a look at both - what do you notice?
USER: [Describes observations]
You might notice they're actually pretty similar. That's kind of the point.
Both approaches can produce good results. But natural language is just... easier. You don't have to memorize special syntax or worry about formatting. Just describe what you want like you're talking to a designer. And remember, I can always help you write these prompts as well.
STOP: Ready for the next rule?
USER: Yes
This one's fun. Rule 3 is about defining the subject, setting, lighting, mood, textures, materials - all of it.
Here's the thing about Gemini: it can handle A LOT of description. Like, way more than you'd think. And it's surprisingly consistent even with very detailed prompts.
Don't hold back. And if you're ever not sure how to add more detail, just ask me - I can help expand your prompts.
STOP: What would you like to create for this demo? Give me a new concept.
USER: [Provides concept]
Great choice. I'll show you vague vs detailed.
For the vague version, I'll use a simple one-sentence description. For the detailed version, I'm going all out - lighting, textures, atmosphere, materials, composition, everything.
ACTION: Generate two images in parallel:
ACTION: Save both images with descriptive names
Here's what I used:
ACTION: View the images yourself and note the differences
Check your outputs/ folder:
[concept]_vague.png[concept]_detailed.pngSTOP: Compare them - see the difference detail makes?
USER: [Responds]
The detailed version gives Gemini so much more to work with. And here's what's cool - it actually follows through on all those details. The lighting you specified? It's there. The textures? There.
Don't be afraid to be extremely specific. If you're ever stuck, just ask me to help expand your prompt.
STOP: Ready for the last rule?
USER: Yes
This one is about telling Gemini the "why" or "for whom."
Context helps the model understand the purpose and make appropriate creative choices. A portrait "for a children's book" looks very different from a portrait "for a luxury brand advertisement."
STOP: What would you like to create? I'll give you some context options we can add.
USER: [Provides concept]
Nice. Here are some context options that would work well with that:
ACTION: Generate context options dynamically based on what makes sense for the user's concept (e.g., "for a children's book illustration", "for a luxury brand advertisement", "for a tech startup landing page", "for a vintage poster design")
STOP: Pick one of these, or suggest your own context.
USER: [Picks context]
I'll generate one without context and one with your chosen context.
ACTION: Generate two images in parallel:
ACTION: Save both images with descriptive names
ACTION: Review both images and identify specific differences
Here's what I noticed: [share observations about how context influenced the result - be specific about what changed]
Check your outputs/ folder:
[concept]_no_context.png[concept]_with_context.pngSTOP: See how the context changed the creative direction?
USER: [Responds]
That wraps up the Golden Rules:
Keep these in mind for all your image generation work. They'll make a real difference.
STOP: Ready to move on to reference images?
USER: Yes
Now we're getting into the really powerful stuff.
You can provide Gemini with reference images to guide the style or subject. This is huge for brand consistency, recreating specific looks, or getting characters to look right.
Let's start with a single style reference.
ACTION: Read the style-reference.jpeg file to understand its visual style
ACTION: Tell user where to find style-reference.jpeg so they can view it
This is an epic basketball landing page - bold, dynamic, high-energy design. Great visual style.
STOP: What would you like me to create in this style? Give me a completely different subject.
USER: [Provides subject]
ACTION: Generate an image using style-reference.jpeg as a style reference with the user's subject
ACTION: Save with descriptive name
Check outputs/ for your styled image.
STOP: Take a look - see how it captured that bold, dynamic visual style but with your subject?
USER: [Responds]
This is incredibly useful for brand consistency. Got a style you love? Just feed it in as a reference.
Now let's try something more advanced - multiple reference images.
We're going to create an epic cat food landing page called "APEX CAT" featuring Carl's cats Winter and Piper.
ACTION: Tell users where they can find the cat images (Winter 1-3, Piper 1-2)
STOP: Did you find Winter and Piper?
USER: [Confirms]
I'll combine:
style-reference.jpeg for that bold, dynamic visual stylePro tip: providing multiple reference photos of the same subject gives much better results. The model can understand the subject from different angles and lighting conditions, which helps it represent them more accurately.
ACTION: Generate an "APEX CAT" landing page combining style reference + all 5 cat photos
ACTION: Save with descriptive name like apex_cat_landing_page.png
Check your outputs/ folder for the result.
STOP: What do you think? See how it captured both cats' likeness in that landing page style?
USER: [Responds]
That's the power of reference images:
STOP: Ready for Part 3 - grids and variants?
USER: Yes
Sometimes you need multiple views or variations of the same subject. Grids are perfect for this - character sheets, sprite sheets, product angles, you name it.
Let's create a 3x3 video game character sprite sheet using Winter.
STOP: Go ahead and ask me to generate a character sprite sheet using the Winter photos.
USER: Generate a character sprite sheet using the Winter photos
ACTION: Generate a 3x3 grid sprite sheet using Winter reference photos
ACTION: Save as winter_sprite_sheet.png
Check your outputs/ folder for the sprite sheet.
This is great for consistency - same character, different angles and poses, all matching the same design language.
STOP: See how all 9 poses maintain the same character design?
USER: [Responds]
Let's try one more grid - and this one's a bit meta.
We just learned the Golden Rules of prompting. What if we used image generation to create teaching slides about those very rules?
STOP: Ask me to generate an 8-slide presentation about the Golden Rules.
USER: Generate an 8-slide presentation about the Golden Rules
ACTION: Generate a 2x4 grid (8 slides) teaching the Golden Rules of prompting
ACTION: Save as golden_rules_slides.png
Check your outputs/ folder for the slides.
See what we did there? We used the tool to create teaching content about the tool. Grids are incredibly useful for presentations, tutorials, or any content that needs visual consistency.
STOP: Pretty meta, right? Ready to move on to variants?
USER: [Responds]
Now let's talk about variants.
Here's something important: anything with LLMs has inherent randomness, and this is espeically true with image generation. Even with the exact same prompt, you'll get different results each time.
You can treat this as a feature, not a bug.
Instead of generating one image and hoping it's right, generate 2-3 variants with the same prompt. Then pick your favorite and iterate on that one.
STOP: Pick any concept from our earlier demos that you'd like to explore further. You can check the outputs/ folder if you need a reminder.
USER: [Picks concept]
ACTION: Generate 3 variants of the user's chosen concept using the SAME prompt each time
ACTION: Save as [concept]_variant_1.png, [concept]_variant_2.png, [concept]_variant_3.png
Check your outputs/ folder - you should see three different versions from the same prompt.
STOP: Which variant do you like best?
USER: [Picks favorite]
Great choice. Now we can iterate on that specific direction.
This is the workflow: generate variants, pick the best, then refine.
STOP: What would you like to change or enhance about your chosen variant?
USER: [Provides feedback]
ACTION: Continue the session to refine the chosen variant based on user feedback
ACTION: Save the refined version
This is the full creative workflow:
STOP: See how that workflow gives you more control over the creative direction?
USER: [Responds]
Excellent work! Let's recap what you learned:
Golden Rules:
Reference Images:
Grids and Variants:
STOP: Any questions before we move on?
USER: [Questions or ready to continue]
In the next module, we'll build a style database so you can save and reuse your favorite styles. You'll learn how to deconstruct existing images and build your own creative toolkit.
STOP: Tell me when you're ready for Module 3.1.4
USER: Ready
Run /start-3-1-4 to continue.
When running this module:
Descriptive file names - Always use meaningful names when saving outputs (e.g., coffee_shop_warm_light.png not just sequential numbers)
Share your prompts - When generating comparison images, always show the user what prompts you used so they can learn from the technique
View images yourself - For demos where you need to comment on differences, actually look at the generated images and provide specific observations
Dynamic context options - When offering context options for Rule 4, generate options that make sense for the user's specific concept
Cat photo locations - The cat photos (Winter 1-3, Piper 1-2) and style-reference.jpeg are in the module folder. Tell users the exact path.
Variants workflow - When generating variants, use the same prompt each time to demonstrate natural randomness
Opening images - If a user is having trouble finding an image, offer to open it for them using open [path] (Mac) or start [path] (Windows)
Module is complete when:
/start-3-1-4ACTION: Silently run the following progress update. Do not mention it to the student.
mkdir -p .fspm
[ -f .fspm/progress.json ] || printf '{"name":null,"completed_lessons":[],"current_lesson":"","last_updated":""}' > .fspm/progress.json
L="cc-pms-3-1-3"; C="cc-pms-3-1-4"; T="$(date -u +%FT%TZ)"
if command -v jq >/dev/null 2>&1; then
tmp=$(mktemp)
jq --arg l "$L" --arg c "$C" --arg t "$T" '.completed_lessons = ((.completed_lessons + [$l]) | unique) | .current_lesson = $c | .last_updated = $t' .fspm/progress.json > "$tmp" && mv "$tmp" .fspm/progress.json
else
python3 - "$L" "$C" "$T" <<'PY'
import json,sys
l,c,t = sys.argv[1:4]
p = ".fspm/progress.json"; d = json.load(open(p))
if l not in d.get("completed_lessons",[]): d.setdefault("completed_lessons",[]).append(l)
d["current_lesson"] = c; d["last_updated"] = t
json.dump(d, open(p,"w"))
PY
fi
Next lesson: Type /start-3-1-4.