character-portrait

Generate consistent character bust portraits for dialogue UI and lore cards.

66|4|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/SummerEngine/summer --skill character-portrait-summerengine
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: character-portrait
Source: https://github.com/SummerEngine/summer/tree/main/library/skills/character-portrait
Command: npx skills add https://github.com/SummerEngine/summer --skill character-portrait-summerengine

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Generating a cast of character portraits one at a time produces inconsistent results — different lighting, angles, and rendering styles that make characters look like they come from different games. This Skill enforces a locked visual anchor so every portrait in a cast shares the same framing, lighting, background, and style. ## Core Features & Use Cases - Locked Anchor System: Defines a reusable framing/lighting/style anchor in .summer/portrait-anchor.md that is appended verbatim to every portrait prompt for cast-wide consistency. - Identity-Preserving Iteration: Uses img2img with referenceImageUrl to tweak expressions or costumes without identity drift, instead of regenerating from scratch. - Engine Integration: Imports generated images via summer_import_from_url and wires them into dialogue UI TextureRect nodes with summer_set_prop. - Use Case: You need dialogue portraits for four party members in a visual-novel-style RPG. The Skill locks the anchor on the first portrait, then generates the remaining three with identical composition, and wires each into your dialogue scene. ## Quick Start Ask your agent to generate a VN-style dialogue portrait for a named character and lock the portrait anchor for the rest of the cast.

Frequently Asked Questions about character-portrait

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate consistent character portraits for a game cast?

Define a locked anchor describing framing, angle, lighting, background, and rendering style, then append it verbatim to every portrait prompt. This Skill stores the anchor in `.summer/portrait-anchor.md` and reuses it for each cast member so all portraits share one visual identity.

How do I change a character portrait's expression without losing identity?

Use img2img by passing the existing portrait's URL as `referenceImageUrl` to `summer_generate_image` with a modified prompt. Regenerating from scratch without a reference produces a different character, causing identity drift.

Can I control the aspect ratio of generated portraits?

No. `summer_generate_image` has no size or aspect argument and returns square 1:1 images. For true portrait framing, generate in the Summer dashboard and import with `summer_import_from_url`, or crop after generation — but keep the choice consistent across the whole cast.

When should I use concept art instead of a locked portrait?

Use concept art when you are still exploring the visual direction and want 3-4 variants for art direction. Switch to this portrait Skill only after the look and cast are locked and you need final, consistent bust images.

Why do my generated portraits look like they are from different games?

This happens when each portrait is prompted ad-hoc without a shared anchor, or when the anchor is edited mid-cast. Write the anchor once, reuse it verbatim for every character, and never change lighting or style partway through the cast.