portrait
Generate and validate one character portrait for a UI display slot as a ready-to-load Texture2D.
Install / Use
npx skills add RandallLiuXin/GodotMaker --skill portraitInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
OtherSupported Platforms
Tags
Our assessment of portrait
portrait scores 82/100 on our quality scale, 244th of 287 Other skills we index.
Its SKILL.md is 6.5 KB long, split into 5 sections with 1 code example: a thorough specification that gives an agent plenty to work with.
It has 557 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated 5 days ago, so portrait is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
portrait compared with similar skills
All 4 of these similar skills score higher than portrait; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| portrait (this skill)by RandallLiuXin | 82 | 557 | 5d ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 36d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 36d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 137.2k | 13d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 137.2k | 13d ago | SKILL.md |
Frequently asked questions
- How do I install portrait?
- Run
npx skills add RandallLiuXin/GodotMaker --skill portrait. The install tabs above show the steps for each supported agent. - Which AI agents does portrait work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is portrait safe to use?
- It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is portrait still maintained?
- The repository was last updated 5 days ago, so portrait is actively maintained.
Skill content
View source on GitHubname: portrait description: Generate and validate one character portrait for a UI display slot as a ready-to-load Texture2D.
Portrait Asset
Use this skill for one character or creature portrait shown in a UI display
slot: a character-select card, dialogue bust, profile panel, or roster entry.
The subject is the character itself, framed for a display slot larger than its
gameplay frames. Do not use it for gameplay actor animation (use
character-bundle), scenic backgrounds or maps (use background-map), or
portrait frames, card frames, and other UI chrome (use card-kit or ui-kit).
Invocation
Accept one asset request matching the shared Asset Skill request schema in
.godotmaker/asset-runtime/schema/asset-skill-request.schema.json. Require
asset_type to be portrait. Run
standalone_validation.compile_and_validate() before returning it. The runner
checks the family binding and stable path at L0, the PNG at L1, the registered
single -> Texture2D route at L2, and real headless Godot load plus Texture2D
structure at L3/L4; it overwrites rather than trusts caller-supplied validation.
It begins from the shared result schema and checker, then proves the result.
This skill can be invoked directly or by an orchestrator; its request and
result are identical in both cases. Do not read or write ASSETS.md, tags,
stage state, generated manifests, or dispatch state.
Identity, Reference, and Provider Contract
Carry every visual rule stated in brief into the prompt as written; it is
the visual specification for this portrait. References are optional and
condition those rules with concrete identity, palette, and continuity — they
never outrank or extend them, and a contradiction between the two is a STOP
with a blocker naming the reference role, its path, and the rule.
A character identity anchor, such as the canonical image recorded in a
character-bundle result, enters only as a canonical request reference. It
is provider input and provenance: it is never copied into outputs, never
registered, and never replaced by an extra generated anchor. With no
references, generate the portrait from the brief alone.
With one or more references, validate every declared local path is a readable
image, preserve its canonical or style role, and send the actual image to
the selected provider. A textual path, a prompt-only description, or a silently
omitted reference is a failure. Resolve a request res:// reference against
the project root before provider dispatch, while retaining the request path and
role in provenance.
Use exactly the declared provider (native, codex, gemini, openai, grok, or wan).
Do not substitute another provider. Read its provider document before source
generation. If it cannot execute its declared image-attachment path for every
reference, STOP with validation.passed: false and create no final runtime
asset. For Codex, record the same provider_trace shape the provider document
requires, with every attached identity anchor in referenced_image_paths.
For every attempt, retain these project-local records under
.godotmaker/asset-generation/:
prompts/<asset_id>.txtwith the display slot size and aspect, framing (bust, half body, or full body), facing, expression, reference roles, and identity invariants to preserve.sources/<asset_id>_source.png, the unmodified provider or user source.reports/<asset_id>_source.json, recording provider, model, reasoning where the runtime exposes it, real reference attachments with roles, source path, and provider trace or failure.reports/<asset_id>_finalize.json, the deterministic finalization report.reports/<asset_id>_validation.json, written by the validation runner on a fully passing ladder. Do not edit it; run validation again after any regeneration.
The visual source may only be a selected provider output or a user-provided source/reference. Never create art with Pillow, System.Drawing, ImageMagick, SVG, canvas, Godot drawing, inline scripts, color blocks, placeholders, or fake atlases. Project-owned deterministic tools may only process an existing real image.
Produce
-
Use the brief and any identity anchor to establish who is shown, the framing, facing, expression, and the display slot's aspect.
-
Generate one portrait source with exactly one subject and no UI frame, labels, logos, watermarks, or text. Keep the subject's identity consistent with the anchor when one is supplied.
-
Run the existing deterministic finalizer; do not reimplement it:
python tools/asset_image_finalize.py \ --source .godotmaker/asset-generation/sources/<asset_id>_source.png \ --out assets/generated/portrait/<asset_id>/<asset_id>.png \ --label <asset_id> \ --require-aspect <WIDTH:HEIGHT> \ --resize <WIDTHxHEIGHT> \ --report .godotmaker/asset-generation/reports/<asset_id>_finalize.jsonThe source aspect must pass before resizing. On failure, keep the attempt incomplete and do not claim the portrait is complete.
-
Keep the raw source, final PNG, provider report, and finalize report as provenance. This Skill never writes manifests itself.
-
Verify that Godot can import and load that PNG as
Texture2D. WhenGM_EVAL_GODOT_PATHorGODOT_BINis configured, invoke that exact executable; otherwise invoke the project-configuredgodotcommand.
Godot's normal PNG import is the native resource path for this family; do not
create a redundant .tres merely to wrap the image.
Result
Return the shared generic result with exactly one runtime output and no
reference output:
{
"asset_type": "portrait",
"outputs": [{
"role": "runtime",
"name": "<asset_id>",
"path": "res://assets/generated/portrait/<asset_id>/<asset_id>.png",
"godot_type": "Texture2D"
}],
"sources": [{
"path": "res://assets/generated/portrait/<asset_id>/<asset_id>.png",
"layout": "single"
}],
"previews": [],
"validation": {
"passed": true,
"levels": {"L0": true, "L1": true, "L2": true, "L3": true, "L4": true}
}
}
Use the requested stable asset id in every path. A failed aspect, import, or
load check must return validation.passed: false with an explanatory note;
never claim a failed portrait is complete. Provider/reference failure must
return the same failed result with no runtime output.
Emit that generic result JSON directly as the final response, including for a
STOP. Do not write ASSET_RESULT.json, a manifest, or a linked result file in
place of returning the JSON: direct callers consume the response itself.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
137.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
137.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
