Avatar location
Cloud-based agent skills for creating AI avatar talking-head videos and short-form reels (skills.sh format)
npx -y skills add puntorigen/avatar-skills --skill avatar-locationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 27 days oldThe repository was created 27 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create a new LOCATION (a look) for an existing avatar — keep its IDENTITY (face, gestures, cloned voice, talking_profile) but vary the LOOK: wardrobe + environment + light, optionally incorporating asset references (a logo on a shirt/jacket, a prop in the scene). Generates an identity-anchored hero still + camera angles under <avatar>/locations/<loc>/, selectable later per reel and per scene by avatar-reel-composer, so one avatar can appear in many looks without re-making it. The avatar's DEFAULT location is just what exists today (top-level scene.json + angles/) and is untouched. Use when the user wants to "dress" an avatar differently, put it in another setting/room, give it a wardrobe/scene variant, add a branded outfit (logo on the shirt) or a prop, create reel looks, or asks for avatar locations / outfits / wardrobes / environments / "otro ambiente" / "otra ropa" for an avatar.
SKILL.md
6.2 KB, as published. Nobody here has run it
avatar-location
Give one avatar multiple looks. A location = wardrobe + environment + light
bundled together, on the same subject (identity). It reuses the avatar's existing
identity (face, gestures, cloned voice, talking_profile) and only re-dresses /
re-rooms it, producing a new identity-anchored hero + camera angles. Reels then pick a
look per-reel and/or per-scene via avatar-reel-composer's location field.
The avatar's default location is what exists today — the top-level
scene.json+angles/. It is never modified; locations are purely additive underlocations/<loc>/.
When to use
- "Dress the avatar differently" / "put them in another room/setting" / "otra ropa, otro ambiente".
- A branded outfit (stamp a logo on the shirt) or a prop in the scene → use
--asset. - Build several reel looks for the same person; cut between looks within a reel.
Setup
Keys are inherited from sibling skills (Replicate for gpt-image-2; Gemini only for
--generator gemini). Check with scripts/setup_key.py --show. Install deps once:
pip3 install -r scripts/requirements.txt. Requires an existing avatar with a
scene.json (a subject) and an identity anchor (refs/<slug>_hero_master.png, as
produced by avatar-invent or create_avatar.py).
Workflow (idempotent stage machine — mirrors avatar-invent)
scripts/create_location.py <avatar-dir> <loc-name> runs: author → hero → angles →
record, resuming where it left off. It pauses once after author for a review
checkpoint before any paid generation (skip with --no-review).
# 1) Author + review: seed the LOOK (subject is copied from the avatar; you edit
# wardrobe/scene/light). Stops for review before spending.
python3 ~/.cursor/skills/avatar-location/scripts/create_location.py nora studio_night \
--setting studio \
--brief "evening content studio, moody teal key light, black turtleneck"
# ...edit nora/locations/studio_night/scene.json (wardrobe/scene/light/assets), then:
# 2) Re-run to generate the identity-anchored hero + angles (PAID: ~1 hero + ~5 angles).
python3 ~/.cursor/skills/avatar-location/scripts/create_location.py nora studio_night
# Inspect looks (default + locations):
python3 ~/.cursor/skills/avatar-location/scripts/list_locations.py nora
# 3) Use it in a reel (avatar-reel-composer storyboard):
# top-level "location": "studio_night" (reel default look)
# or per scene "location": "studio_night" (override one scene)
Asset references (logo / prop)
Pass an image to stamp/place, with a placement instruction. Assets are copied into
locations/<loc>/assets/, recorded in the look's scene.json assets[], and attached
as gpt-image-2 references to both the hero and the angles (so the logo/prop stays
crisp and consistent across angle re-renders):
python3 ~/.cursor/skills/avatar-location/scripts/create_location.py doki-monster brand_tee \
--asset doki-monster/brand/logo-primary.png \
--asset-placement "printed large and centered on the chest of the white t-shirt" \
--setting studio --no-review
Repeat --asset/--asset-placement (paired by order) for multiple assets. Keep it to
~1–2 assets so gpt-image-2 doesn't drop the identity anchor.
Seeding the look
The author stage fills wardrobe/scene/light, falling back to the avatar's own look
so every field is non-empty (a valid no-op even with --no-review). Sources, in order
of specificity: explicit --wardrobe/--scene/--light > --brief (free text, seeded
into the setting; refine at the checkpoint) > --setting <keyword> (reuses avatar-invent
presets: office/home/studio/street/outdoors/kitchen/cafe/gym/clinic). --from-image PATH
saves a look reference that's attached to the hero generation.
Cheap validation (no spend)
generate_hero.py --print-prompt/generate_angles.py --print-promptshow the prompts.- Scout angles at
--quality low, then re-run athighfor finals (--force-stage angles). compose_reel.py <storyboard with location> --dry-runprints the resolved angle per talking-head scene (with@ <loc>), confirming the look before any generation.
Key flags
--name, --style (default: avatar's), -ar/--aspect-ratio, --generator,
--quality {low,medium,high,auto}, --moves a,b,c (default: presets), --no-review,
--force-stage {hero,angles}, --status.
Output (under <avatar>/locations/<loc>/)
location.json # record: name, brief, source, status, style, look, assets, angles
scene.json # subject (copied) + NEW wardrobe/scene/light (+ assets[])
assets/ # copies of the asset refs (logo.png, prop.png, ...)
refs/<slug>__<loc>_hero.png (+ _hero_master.png[, look_reference.*])
angles/<slug>__<loc>_<move>_916.png
Also merges a locations registry into <avatar>/avatar.json (additive; preserved when
invent_avatar.py is re-run). <slug> = <avatar>__<loc>.
See REFERENCE.md for the data model, stage details and gotchas.
Reuses (does not duplicate)
avatar-invent/scripts/generate_hero.py—--anchor-identity --ref <hero_master> [--ref <asset>…].avatar-camera-angles/scripts/generate_angles.py—--ref <location hero> [--ref <asset>…].avatar-reel-composerconsumes a location via the storyboardlocationfield.