Skip to content
Back to skills

Using Character Library

ASecurity

Catalog and reuse recurring characters and items across pieces: when the user asks about a person or product by name, or analysis surfaces a subject worth saving. Covers when to suggest saving, disambiguation, and linking assets.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 19, 2026
ai-agents

Works with

  • cli

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add Nagellabs/libi --skill using-character-library --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Using Character Library?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Using Character Library
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nagellabs-using-character-library/badge)](https://www.skillsdirectory.com/skills/nagellabs-using-character-library)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: using-character-library
description: "Catalog and reuse recurring characters and items across pieces: when the user asks about a person or product by name, or analysis surfaces a subject worth saving. Covers when to suggest saving, disambiguation, and linking assets."
---

# Using the character and item library

libi keeps a cross-piece catalogue of **characters** (people and figures, real or fictional) and **items**
(products, props, recurring set pieces). Both have the same shape and the same actions (`list`, `get`, `create`,
`update`, `delete`, `link`, `unlink`) on two tools: `libi.character` for characters, `libi.catalog_item` for items; if the subject talks or has
agency it is a character. A character's voice sample (a clean audio file) is linked like any asset with `libi.character({ action: "link", characterId, fileId })`, so the same voice carries to other pieces. It applies to every kind of video, not just product ads.

Be proactive in both directions: catalogue central recurring subjects as you find them, and bring up existing
entries when they are relevant, without waiting for "do we have a Jessica already?".

## Rules

- **Central recurring subjects are saved without asking; unclear ones are asked.** Save when a subject is plainly
  the recurring focus (the presenter, the advertised product, a named character who reappears). Ask when it
  is genuinely unclear whether the user wants it kept, for example someone who appears once.
- **Never catalogue background noise.** One-off extras, generic objects the user has shown no interest in, and
  strangers' faces in a busy frame stay out whatever your confidence. This is a quality and privacy guard.
- **Check before creating.** Names are unique within a catalogue (a character and an item may share one), so
  `libi.character({ action: "list", query })` / `libi.catalog_item({ action: "list", query })` first; the subject may already exist.
- **Show the representative image after creating**, so the user can confirm the right region was cropped, with
  one short line ("Cataloged **Jessica** as a recurring character; reuse her any time"). Create from an
  analysis frame you already have: `fromAsset: { fileId, bbox, frameTime? }`.
- **Deleting a catalogue entry keeps the files.** `deleteAssets: true` also deletes every linked file and needs
  the user's explicit confirmation first.

## When to look

- **After an analysis pass**, review the names you set (`people[].name`, `subjects[].name`) and apply the rules
  above to each.
- **At the start of a piece**, when the brief mentions a person or product that might be cataloged ("the same
  guy as last time"), search by name or description and offer a match inline (image, name, one line of context)
  as the reference or seed for generation, or to link to a piece asset. If they decline, carry on with a fresh
  subject. Use `representativeImageUrl` as the reference image.
- **"Use Jessica in this piece":** one match, use it; several, show a numbered list with each image and a short
  description and ask which; none, say so and offer to create one from a video or image they provide.
- **A tracked subject** that is a catalogue entry: pass its `subjectId` to `libi.track` action `compute`
  (`using-object-tracking`).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.