Scenario Identity Library logo

Scenario Identity Library

Organization
scenario-labs
scenario-identity-library

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.

Overview

Publisherscenario-labs
Repositoryskills
Skill namescenario-identity-library
Stars
970
Forks
114
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by scenario-labs on GitHub. Read the source before you install it.

Installation

Install the Scenario Identity Library AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/scenario-labs/skills/tree/main/skills/scenario-identity-library
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/scenario-labs/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/skills/scenario-identity-library .claude/skills/scenario-identity-library
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Scenario Identity Library in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Scenario Identity Library on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Scenario Identity Library is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

StageMechanismRule
Briefinterview, written as the must-not-change enumerationbefore anything generates
Anchorhero generation, gated to passuploaded art skips generation
Librarycollection named character: <name> or props: <name>gated images only
SheetGrid Maker assembly of approved shotsrebuild after membership changes
Reusecollections_list prefix match, members via search, references per scenario-consistencyany 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.

Frequently asked questions

What does the Scenario Identity Library AI skill do?

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.

Why use Scenario Identity Library on TypingMind?

Because you install it once and use it with any model. Scenario Identity Library is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Scenario Identity Library in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/scenario-labs/skills/tree/main/skills/scenario-identity-library. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Scenario Identity Library?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Scenario Identity Library?

As many as you like. As long as a model supports skills, you can use Scenario Identity Library with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Scenario Identity Library AI skill free?

Yes. It is published on GitHub by scenario-labs under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇