Skip to content
Back to skills

Onboarding Libi Explainer Short

ASecurity

First-run onboarding only: when the user clicks 'show me how it works' or asks for libi's intro or demo, build libi's own explainer film into a piece with one call. Never for a real project.

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

Works with

  • cli

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add Nagellabs/libi --skill onboarding-libi-explainer-short --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Onboarding Libi Explainer Short?

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

Security grade badge for Onboarding Libi Explainer Short
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nagellabs-onboarding-libi-explainer-short/badge)](https://www.skillsdirectory.com/skills/nagellabs-onboarding-libi-explainer-short)

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: onboarding-libi-explainer-short
description: "First-run onboarding only: when the user clicks 'show me how it works' or asks for libi's intro or demo, build libi's own explainer film into a piece with one call. Never for a real project."
---

# Onboarding: libi explainer demo

A brand-new user's first look at libi. It is **one build call, then a conversation** —
you are not building anything here.

## Steps

1. **Say the wait out loud first.** Before you call anything, tell them you're pulling
   down libi's own explainer film — about **15 MB** the first time, a few seconds on a
   decent connection, and instant if this machine already has it. Setting the
   expectation before the wait is the whole reason this line exists; saying it
   afterwards is useless.

2. **Build it:** `libi.build_onboarding_piece({})` — no arguments. That single call
   downloads the media, verifies it, and assembles the whole composition. It returns a
   `pieceId` and a `description` of the film. Call no generation tool: no provider, no libi
   generation tool. Do not import anything and do not add or edit layers.

   If the result comes back `reused: true` / `bytes: 0`, this machine had already built
   the film and **nothing was downloaded on this call** — don't tell them it was.

3. **Reveal it:** `libi.show({ target: "piece", pieceId })`.

4. **Close the conversation** with the message below.

## The film (so you can talk about it)

Don't describe it from here. The build result carries a `description` — runtime, beats,
layer counts, how the audio is mixed — derived from the film libi actually shipped in
this build. Read that and put it in your own words. Anything written in this file would
be a second copy that goes stale the day the film is recut.

## If the build fails

Most often the assets could not be fetched — offline, an unreachable bucket, a checksum
mismatch. But not every failure is a download, so do not diagnose one. When the call
errors:

- **Do not retry.** Not once, not "just in case", not with `force`. One call, one
  outcome. A brand-new user watching an agent spin is the worst first impression libi
  can make.
- Say in one sentence that libi could not fetch the demo film, and reassure them
  without claiming to know why — *"libi couldn't fetch the demo film, and it isn't
  something you did"* is true in every branch. Do not vouch for their install, do not
  blame their connection, do not name any cause you cannot see from here.
- Then go **straight** to asking what they want to make. A failed demo is not a dead
  end: everything in libi still works, and building their own thing is the better demo
  anyway. Do not offer to try the demo again unless they ask for it.

## Required closing message (honesty, not optional)

Say this in chat, in your own warm voice, keeping every honest point:

- One honest note up front: this film is **pre-made**. You downloaded it — you did not
  generate it live just now.
- But it is not a canned marketing asset either: it was **built in libi**, by a coding
  agent, by asking for things and iterating — the same method they are about to use.
  The claim is about **how it was made, not about what their first result will look
  like.**
- In their own projects the footage is generated fresh rather than downloaded, which
  takes longer than this did and uses their credits. Say so plainly — it is the only
  time on the first-run path anyone mentions it.
- Same for the tracking shot — the green reticle locked to the sneaker is a **pre-made
  animation**, not tracking running on their machine just now. The original **was** made
  with libi's real object tracking; those boxes are where it put them. They can point it
  at their own footage whenever they like, and libi sets the tracking model up the first
  time they ask for it — no settings to find, it just takes a moment on first use.
- Every layer of it is **live and editable right now** — the clips, the overlays, the
  voice-over, the music. Give one or two concrete things they could try immediately,
  e.g. *"change the end-card tagline to my product's name"* or *"turn the music down
  under the voice-over"*.
- End by asking **what they want to make first** (paste a product image or describe
  it), with no further text after the question.

Do not oversell: don't claim the film was generated live, don't present it as a preview
of their own first video, and don't imply anything they make will land this polished in
one shot.

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.