Scenario Asset Analysis logo

Scenario Asset Analysis

Organization
scenario-labs
scenario-asset-analysis

Use when finished Scenario assets have to give something back: a caption for a dataset or alt text, a reusable style description, a verdict against a brief, a canny, depth, pose, or segmentation control map for the next model, or the asset itself found again by text, tags, or visual similarity and filed into a collection. Keywords: caption, describe, analyze, QA, control map, find similar, reverse image search, semantic search, tag, collection.

Overview

Publisherscenario-labs
Repositoryskills
Skill namescenario-asset-analysis
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 Asset Analysis 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-asset-analysis
  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-asset-analysis .claude/skills/scenario-asset-analysis
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Scenario Asset Analysis 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 Asset Analysis 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 Asset Analysis 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 Asset Analysis

Overview

Four tools read assets back instead of making new ones: three fixed-purpose, one open-ended. With search (default toolset) they answer the questions that come after a batch lands, which is where most of the work actually is: is this on brief, what look is this, what does this show, what can the next model condition on, where did last week's approved version go.

None of them are in the default toolset. Get schemas with scenario_tools_search, then run each through the executor matching its permission: asset_caption and asset_describe are read-class, asset_analyze and asset_detect are write-class. Or reconnect with ?toolsets=full. Connection and scope: see the scenario skill in this repo. 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

NeedToolShape
A caption for one imageasset_caption (read)details_level: action or action+style
A reusable look off one imageasset_describe (read)Returns a full description plus a promptable synthesis
Anything else, in your own wordsasset_analyze (write)instruction plus up to 10 images and 10 text_inputs
A conditioning map for another modelasset_detect (write)modality, one of ten including canny, depth, pose, segmentation

All four bill credits and all four take dry_run: true for an estimate first. Read-class does not mean free.

The four facts that change the plan

  • asset_analyze batches. One call carries up to 10 images against one instruction, so reviewing 200 assets is 20 calls, not 200. num_outputs (1 to 5) is unrelated: it returns several distinct answers to the same instruction, not one answer per image. Ask for a fixed per-image output shape in the instruction so the answers stay parseable.
  • asset_detect strips the background by default. remove_background defaults to true, so a depth or pose map comes back with the frame's context already gone. Set it false whenever the map has to cover the whole image.
  • It reads a render, not the file. On a vector or layered source it cannot confirm what the file is or report its exact values: one call called a 16-path SVG raster, shifted a #101614 fill to #131A18, and missed an off-palette path. Parse the file for exact color and structure; the tool judges what the render shows.
  • Fixed beats flexible when it fits. asset_caption and asset_describe are purpose-built and faster than instructing an LLM to do the same job. Reach for asset_analyze for classification, extraction, comparison, translation, or a verdict against a brief. One carve-out: for a structured pass/warn/fail verdict against a configured brand brief, teams with the Quality Gate add-on have a dedicated tool that stores its verdict and re-reads it free (see scenario-quality-gate); asset_analyze stays the route when the add-on is missing or the brief exists only as prose.

asset_analyze and asset_detect wait up to 180s and then hand back a job_id; carry on with jobs_wait as anywhere else.

Finding an asset again

Retrieval is search with target="assets", and at least one of query, filters, filter, image, or images must be set: an empty call is a 400, not an everything-list.

  • By text. query is keyword matching by default; query_semantic_ratio moves it toward meaning (0.5 to 0.8 suits mood queries like "dark medieval atmosphere", 1 is pure semantic). sort_by (say ["createdAt:desc"]) is ignored while that ratio is above 0, so a newest-first list needs keyword mode.
  • By similarity. image takes one asset id or image URL and returns lookalikes; images takes {"like": [...], "unlike": [...]} to steer with positive and negative examples (the two fields are mutually exclusive). image_semantic_ratio decides what similar means: 1, the default, matches subject and mood; 0 matches image features, the setting for hunting near-duplicates and crops. Add a query beside it for "like these, but more stylized".
  • By structure. filters narrows on kind, tags, model_id, collection_ids, and created_after/created_before, ANDed with everything above.

Worked example: reviewing a batch against a brief

  1. Collect the asset ids from the run (jobs_wait returns them).
  2. asset_analyze with dry_run: true on the first chunk to price the pass.
  3. asset_analyze with images set to 10 ids and an instruction that states the brief and fixes the output: "For each image in order, reply <index>: pass|fail, <reason in under 12 words>, a reason on every line, passes included. Fail anything not centered, not on a plain field, or carrying text." Repeat per chunk. Answers land as text assets (one, or one per image): asset_download them to read the verdicts.
  4. asset_describe on the strongest pass. Its promptable synthesis goes straight into the next batch's prompt, which holds the look without a training run (see scenario-consistency); when the synthesis is only a short title, prompt with the description instead.
  5. File the result: collection_create, then collection_add_assets in chunks of at most 49 ids. asset_add_tags is additive, so tag the failures rather than rebuilding a tag set. The set comes back later with search filters={"collection_ids": [...]}, and its lookalikes with images={"like": [...]}.

Common mistakes

  • One asset_analyze call per asset when 10 fit in a call.
  • Treating num_outputs as a batch size over images.
  • Leaving remove_background at its default on an asset_detect map that must match the source frame.
  • Running asset_analyze or asset_detect through scenario_tool_execute_read: both are write-class and the call is rejected by lane, not by argument.
  • Sending more than 49 ids to collection_add_assets, or one id already in the collection: both fail the whole call, and nothing from that chunk is filed.
  • Asking asset_analyze to produce an image. It returns text; control maps come from asset_detect and final renders from model_run.

Frequently asked questions

What does the Scenario Asset Analysis AI skill do?

Use when finished Scenario assets have to give something back: a caption for a dataset or alt text, a reusable style description, a verdict against a brief, a canny, depth, pose, or segmentation control map for the next model, or the asset itself found again by text, tags, or visual similarity and filed into a collection. Keywords: caption, describe, analyze, QA, control map, find similar, reverse image search, semantic search, tag, collection.

Why use Scenario Asset Analysis on TypingMind?

Because you install it once and use it with any model. Scenario Asset Analysis 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 Asset Analysis in TypingMind?

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

Which AI models can use Scenario Asset Analysis?

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 Asset Analysis?

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

Is the Scenario Asset Analysis 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 👇