Skip to main content
skill CX Codex

scenario-identity-library — Claude Code skill: characters and props

Runs a character or prop from brief to reusable library: interview, anchor image, a collection of approved shots, and a turnaround sheet.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add scenario-labs/skills --skill scenario-identity-library -a claude-code
Open on GitHub

What scenario-identity-library does

The skill covers the whole lifecycle of a named identity in Scenario. It starts with an interview: what the thing is, silhouette and proportions, palette by name or hex, two or three signature details, rendering style, and which views the set needs. Those answers become the must-not-change enumeration that every later image restates.

Then comes the hero image — a neutral full view on a plain background, nothing extra in frame. It goes through the gate in scenario-quality-gate with a round cap fixed up front, three by default. Already have art? Generation is skipped and your drawing or photo becomes the uploaded anchor. Approved shots land in a collection named character: <name> or props: <name> via collection_create and collection_add_assets. Only gated images get in, because every future run samples that pool as reference truth — one off-model member poisons every pull after it.

The character sheet is assembly, not generation: Grid Maker (model_scenario-grid-maker) packs approved shots into one image, and the order of the images array is the layout. Rebuild the sheet after membership changes instead of editing it. Connection and look-holding live in the sibling skills scenario and scenario-consistency; if they are missing, the skill asks you to install them.

What it helps with

  • build an approved image library for a character
  • keep a hero recognizable across every generated shot
  • assemble a turnaround sheet from accepted images
  • generate new views on top of an existing anchor
  • redo a design after a wardrobe or age change

Example prompts for the agent

  • create a new character from a brief: courier robot, copper shell, cracked headlamp
  • assemble a character sheet from Nima's approved shots
  • generate more images of this character in profile

How to install scenario-identity-library

1Skills CLI (Vercel)

npx skills add scenario-labs/skills --skill scenario-identity-library -a claude-code

2Manually: put the files in place

~/.claude/skills/scenario-identity-library/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/scenario-identity-library/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about scenario-identity-library

How do I install scenario-identity-library in Claude?

Run npx skills add scenario-labs/skills --skill scenario-identity-library -a claude-code. The skill lands at ~/.claude/skills/scenario-identity-library/SKILL.md.

What does scenario-identity-library do?

It takes a character or prop through an interview, hero generation, a quality gate, and files approved shots into a named collection. Then it assembles a turnaround sheet and pulls the library back out for new images.

Does it need other skills to work?

Yes. Connection and look-holding sit in scenario and scenario-consistency, and verdicts run through scenario-quality-gate. If they are missing, the skill asks you to install them with npx skills add scenario-labs/skills --skill <name>.

Source text

SKILL.md · MIT
---
name: scenario-identity-library
description: "Use when a named character or prop must become a reusable identity in Scenario: creating a character or prop from a brief or interview, building its approved image collection (character: <name> or props: <name>), assembling a character sheet or turnaround, or generating new images of an established one. Triggers include create a new character, design a prop, character sheet, turnaround, more images of this character. Keywords: character design, identity, library, collection, grid."
license: MIT
---

# Scenario Identity Library

## Overview

A game or brand runs on named identities: characters and props that must stay recognizable in every
image that ships. This skill runs that lifecycle end to end: interview a brief, generate and gate a
hero image, file approved shots in a named collection, assemble a sheet, and pull the library back
out for new images. The per-image mechanics live in siblings and are not repeated here: connection
and the core loop in `scenario`, holding a look with references in `scenario-consistency`, pass/fail
verdicts in `scenario-quality-gate`. If a sibling skill named here is missing from your available
skills, ask the user to install it (`npx skills add scenario-labs/skills --skill <name>`);
unattended, proceed from tool schemas and flag the gap.

## Quick reference

| Stage   | Mechanism                                                                                    | Rule                             |
| ------- | -------------------------------------------------------------------------------------------- | -------------------------------- |
| Brief   | interview, written as the must-not-change enumeration                                        | before anything generates        |
| Anchor  | hero generation, gated to pass                                                               | uploaded art skips generation    |
| Library | collection named `character: <name>` or `props: <name>`                                      | gated images only                |
| Sheet   | Grid Maker assembly of approved shots                                                        | rebuild after membership changes |
| Reuse   | `collections_list` prefix match, members via `search`, references per `scenario-consistency` | any later session                |

## From interview to anchor

Interview before generating: the answers become the baseline enumeration every later image restates
(`scenario-consistency`), so a gap here becomes drift later. Ask what it is, silhouette and
proportions, palette by name or hex, two or three signature details that make it recognizable (the
cracked headlamp, the brass buckle), the rendering style, and which views the set needs: a full view
alone gives a reference slot too little detail to hold close-ups, so an identity that will be shot
close also needs a straight-on close view of the face or signature detail and an exact profile.
Non-interactive runs take what the task supplies and flag the rest. A user who already has art skips
generation: their drawing or photo is the uploaded anchor, per `scenario-consistency`.

Pick one reference-capable model for the whole identity before the first run (`recommend`, then the
schema gate in `scenario-consistency`): every later view rides its reference field, so a model
without one disqualifies itself here, not at view three. Generate the hero, a neutral full view on a
plain background (a reference slot isolates identity best from an uncluttered anchor: nothing beyond
the brief in frame, no text), then gate it per `scenario-quality-gate` with a round cap fixed up
front (its default is three); absent that skill and the gate itself, review against the brief
enumeration, same cap. The hero is the anchor everything else cites.

## The library is a named collection

`collection_create` with the exact name `character: <name>` or `props: <name>`, then
`collection_add_assets` for the hero (catalog tools, write lane; the create call takes the name plus
the scope pair, and no description field). The name is the registry key: collections are not a
`search` target, so a later session finds the library by paging `collections_list` (read lane) and
matching the prefix, then pulls members with `search` (`target="assets"`,
`filters={"collection_ids": [...]}` plus a `tags` filter for the views wanted, which keeps filed
sheets out of reference pulls). Admission is the gate: only passing images enter, because every
future generation samples this pool as reference truth, and one off-model member poisons every pull
after it. Build out the views baseline-plus-delta, one `model_run` per view, gate each, file each
pass tagged with its view (`asset_add_tags`: `hero`, `back`, and so on), so a later session can tell
the members apart. A redesign (new wardrobe, haircut, age) rewrites the brief enumeration and needs
a new hero off the old (`scenario-consistency`): rebuild views and sheet from it, and
`collection_remove_assets` the superseded members before the next pull, or one pull feeds both
versions into the reference field.

## Sheets are assembly, not generation

Scenario's Grid Maker packs approved shots into one sheet image: its id is the fixed first-party
`model_scenario-grid-maker` (Scenario's single deterministic tool for the job, so discovery would
only re-derive it); read its schema with `model_schema_get`. At this writing it takes `images` (a
file array capped at 100; wrap even a lone asset) plus layout fields: `columns`, `rows` computed
from the count when unset, `padding`, `backgroundColor`, and a fixed `cellRatio` list (`auto`
default). It has no prompt field: order the `images` array in reading order, because the array is
the layout. The sheet is itself an asset, filed ungated (it assembles already-approved shots, it is
not a generation): tag it (`asset_add_tags`, say `sheet`), file it, and rebuild it after membership
changes rather than editing it: pull the view-tagged members only (never a bare member list, or an
old sheet becomes a grid cell), and swap the old sheet out with `collection_remove_assets`. It
serves humans, and it serves as a one-slot reference packing the whole turnaround when a model is
slot-starved; with slots to spare, prefer the individual approved shots.

## Worked example: Nima, courier robot

1. The interview yields the brief: rounded silhouette, copper shell, one cracked headlamp, canvas
   satchel, cel shading; views front, back, left, three-quarter.
2. `recommend` with the brief's own words; `model_schema_get` confirms a true reference field (else
   the next candidate); `model_run` the hero, `jobs_wait` whenever `model_run` returns a `job_id`
   without assets, gate per `scenario-quality-gate`, iterate to pass.
3. `collection_create` `"character: Nima"`; `collection_add_assets` the hero, tagged `hero`.
4. Three more views, baseline-plus-delta with the hero in the reference field, gated, filed on pass
   with their view tags.
5. Run Grid Maker on the view-tagged members (this session already holds the ids; a just-filed asset
   can trail the `search` index) with `images` as [front, back, left, three-quarter] and
   `columns: 4`; tag the output `sheet` and file it.
6. Weeks later, "Nima in a rainy alley": `collections_list` finds `character: Nima`, members come
   from `search`, the `hero`-tagged member and two on-model shots ride the reference field, prompt
   per `scenario-consistency`.

## Common mistakes

- Generating before interviewing: a vague brief cannot be enumerated, and the library inherits the
  drift.
- Admitting ungated images: a failed image iterates per `scenario-quality-gate` or never enters.
- Prompting Grid Maker or expecting it to generate: it arranges its `images` input, nothing more;
  generation belongs to the view runs.
- Passing the sheet as an img2img `image`: composition lock (`scenario-consistency`); a sheet rides
  a true reference slot only.
- Free-form collection names: `Nima stuff` is unfindable by convention; the `character: ` and
  `props: ` prefixes are the lookup contract.
- A different model per view: reference behavior differs per family; one schema-checked model
  carries the whole identity.

© scenario-labs · MIT · scenario-labs/skills

Similar skills

Everything for AI and ML →

From the same set68

scenario-asset-analysis Extracts style prompts and control maps from Scenario assets, plus searches catalogs by similarity. Helpful for QA reviews on image batches and conditioning downstream models. CX Codex +1 435installs scenario-model-training Walks a custom model through Scenario MCP: base model pick, dataset, epochs, previews and launch. CX Codex +1 445installs scenario-blender-rigging A skill for rigging a character, creature or prop in Blender through Python: Rigify metarig, weights, IK/FK, face rig. CX Codex +1 446installs scenario-blender-animation This skill animates characters and objects in Blender using Python scripts. It handles stepped blocking, curve editing, lip sync, and camera-space motion arcs. CX Codex +1 425installs scenario-meshy The skill walks your agent through the Meshy toolchain on Scenario: mesh generation, retexturing, remeshing, UV unwrap, rigging and animation. Useful when you need GLB files for an engine. CX Codex +1 433installs scenario-blender-texturing-shading A skill for texturing and look-dev in Blender: builds PBR materials from texture sets, drives wear and grime through masks, and sorts out color spaces. CX Codex +1 430installs scenario-inspiration A skill for creative tasks with no direction yet: it gathers references, proposes concepts to pick between, and turns the pick into a moodboard. CX Codex +1 429installs scenario-rodin A skill for generating 3D assets with Rodin Hyper3D models on Scenario via MCP. Use it when you need characters or objects from images or a text prompt. CX Codex +1 422installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor