pov-life-slice

Officialneta-search/pov-life-slice
Use it in Cohub

Paste this into your agent's chat — it fetches the skill and follows it.

Use the skill: pov-life-slice. Run `npx -y @neta-art/neta-search-cli@latest skills use neta-search/pov-life-slice --via site` and follow what it prints. Read its complete output, redirecting it to a temporary file first if necessary, and resolve relative paths from the skill directory it prints.
Use in Neta Studio Open it in Neta Studio and see what people made with it.
Install from a terminal
npx -y @neta-art/neta-search-cli@latest skills use neta-search/pov-life-slice
Summary

A 15-second video that drops you into one moment inside your world.

  • First-person or close third-person vertical short showing one small, believable moment.
  • The person tries something, the world answers—a reaction, a rule, a surprise on camera.
  • Works best with a character doing something specific in a place that feels alive around them.
  • Dialogue and sound are built into the moment; background noise and reactions make the world feel real.
  • Delivers the finished video in one turn when you name the person, place, and what happens.
SKILL.md
# POV Life Slice

A 15-second vertical short, shot first-person or close third-person, that drops the viewer
into one believable moment inside a world.

POV is a content template — it decides what the short IS. The production SOP lives in the
`generate` skill, read it before generating anything: its `playbooks/video.md` is the video
SOP, and it routes into the skill's `references/video/` (concept, production, pitch-board,
boards/director-markup). The plan block below fills the script table — the shot-by-shot
table (Shot / Time / Scene / Action & camera / Sound) that `generate`'s `playbooks/video.md`
defines in its alignment package.

Language: every reply, the plan block and the script table are written in the user's
language (a Chinese ask gets Chinese prose from the first reply to the handover), even
though this skill is written in English. Spoken lines and any on-screen text keep the
wording the user gave; the video prompt itself may be in English.

## The shape

Think of this as a short sketch from someone's life in that world — the kind of moment a
social video would actually show: small, everyday, believable, and a little bit fun. Not a
trailer. Not a tour of the setting. Not a lore dump.

This shape is the default, not a rule. The user's idea always wins: if their request points
somewhere else, follow it, and keep only what still fits. When the idea is vague, this is
the shape to fall back on.

The person in the moment can be anyone — a hero, a nobody, a creature, an outsider. What
makes the video work is the same either way: the person wants or does something small, and
the world answers in its own way. The meeting of the two is the content.

# why this framing: it stops the video from becoming a postcard of the world or a
# worker-bee cliché. Any character, any world, one believable exchange — that is the
# general case.

## The plan — a written stage

Write the plan as text and show it in the alignment package BEFORE generating any reference
image or pitch board. Do not run this silently and do not skip ahead to visuals: the package
opens with this block, and the script table is filled from it.

```text
# ———— the exchange ————
person = whose eyes we are looking through, and who else is in the moment
want   = the small thing this person is trying to do
# why: the person exists through what they do — not through what they are
answer = what the world does back, on camera — a rule, a reaction, a consequence, a surprise
limit  = what the person cannot see or know    # why: what they miss keeps the world bigger
# why: this exchange is the whole video. Without an answer, it is a still life.

# ———— the moment ————
reason = what the viewer gets from watching this
# why: it must be something concrete to see, hear, learn, or feel — the IP, the world,
# the style, or the format alone is not a reason
moment = one exact action, discovery, spoken line, reaction, or change that delivers it
# why: friction is enough; conflict is optional. If a fight or a twist is invented only to
# make the video look busy, cut it.

# ———— sound, part of the moment ————
# why: the world feels alive through what you hear, and the video model only renders what
# you actually write down
speech = dialogue | voiceover | no_speech, per beat, written into the script table
sound  = what the viewer hears — music, voices, effects; when it enters, when it changes
# dialogue:  the exact line, who says it, and the visible action it connects to
# voiceover: the exact line; cut it if it only repeats what the camera already shows
# no_speech: write "No spoken words, no dialogue, no narration" AND name the background sound
# why: "murmur" is not sound design. "Tavern music, people talking and laughing,
# tankards clinking" is. If you would not trust the sentence, neither will the model.

# ———— the world is alive around the person ————
# within the first 3 seconds: 2-3 small things that tell a fan this is that world,
# each doing something on camera — no explanation, no captions
# the world keeps living around the person: people react, move, or speak where the moment
# needs them. A quiet one-person moment is fine — alive does not mean crowded.
```

## Give words time to happen

When a moment has dialogue, build each spoken line into a visible window in the script
table. Do not stack a line beside a list of actions and hope they all fit.

```text
for each spoken line:
    before = the visible action that opens the line
    during = what the speaker's body or hands do while the words are spoken
    after  = the visible action or reaction that closes the line
    time   = enough uninterrupted seconds to say the exact words at a natural pace

    write the action and the line in that order in the same shot or in continuous shots
    # why: the model needs to know when speech starts, what can happen under it, and when
    # the next action may begin

keep each continuous passage to no more than 2 core action beats
# why: fifteen seconds can hold several details, but not several full actions competing
# with a line of dialogue

if a hand, body, or object must make contact:
    write the completed contact: "her hand wraps around the rail" or
    "his fingers close on the wand"
    do not stop at "reaches toward," "moves close," or "approaches"
# why: near-contact leaves the event unfinished and gives the model permission to miss it
```

Example: "As his hands lower the wand, he says, 'This one remembers you.' The wand enters
the viewer's open hand as he continues, 'So hold it carefully.' His fingers release it."

pass the filled plan to the script table.

## From plan to a delivered video

What this skill delivers is one video Work — the 15-second short itself, made in this turn.
Reference images and the pitch board are only inputs: a turn that ends on stills, a board,
or a "shall I go ahead?" has not delivered the short.

```text
if the ask already names the person, the place, and what happens:
    # most POV asks do — the user has already set the direction
    the plan + script table, shown in the reply, ARE the alignment
    skip the pitch board, do not stop for a yes, go on to the video in the same turn
    # why: this replaces the playbook's "package, then one yes" for a pointed ask only;
    # stopping there hands the user pictures when they asked for a video
else (the idea is vague):
    one question per the playbook, then the same road after the answer

anchors — spend on the video, not around it:
    reuse every ready card cover as a reference_image first
    make a new reference image only for an on-camera character or prop with no ready
    cover whose look would otherwise drift — two new images at most
    # why: each extra still costs credits the video itself needs
```

Delivery:
- Submit the video `--async` with `--work-title "<short title>"` — a name you give the piece
  in the user's language (the moment, not the prompt's first words), and poll
  `generate status` per the playbook until it is `ready`. Any re-render or repair with
  `--target-work` must pass the same `--work-title` again, or the Work falls back to the
  prompt's opening words as its title.
- The Work to hand over is the one the **video** submit created: take its id from that
  command's own output (`itemId=works/work_<id>.json`; its `mediaArtifactId` is the `video_…`
  asset). Works made for reference images are not the delivery.
- Embed the `<video>` as `production.md` says, then hand that Work over on its own line through
  `interaction-components` as a `work` target — not a link to the .mp4 or a downloaded copy.
- Poll budget spent: say it is still generating and still hand over that Work, so the user can
  open it when it lands. Never call it finished.