xiaohongshu
xiaohongshu
ingest-movie
Locate NZBGeek releases with subtitle-rich movie files, auto-tag rage/anger/humor cues, and emit PersonaPlex-ready JSON for Horus Theory-of-Mind benchmarks.
Full skill instructions
Use this skill whenever we need cinematic emotional exemplars (respect, humor, regret, anger, rage, etc.) for PersonaPlex.
It enforces a subtitle-first workflow:
.srt/.sup files with stage directions.run.sh search "<title>"NZBD_GEEK_API_KEY) and prints size/date/link.subs, CC, or SDH.run.sh scenes find --subtitle <file.srt> (--query "text" | --tag laugh)rage, shout, laugh, etc.).--video movie.mkv to see ready-to-copy ffmpeg -ss ... -to ... snippets.run.sh scenes quality --subtitle <file.srt> [--strict]--strict to fail on warnings (for CI pipelines).run.sh scenes analyze --subtitle <file.srt> [--verbose] [--output-json report.json]run.sh scenes extract --subtitle <file.srt> --tag rage --video movie.mkv --clip-dir ./clips--clip-dir automatically runs ffmpeg to produce numbered .mkv clips plus .srt subtitle snippets per match.run.sh transcribe movie_clip.mkv --emotion rage --scene "..."ffmpeg, runs Whisper (default medium), and joins the output with the matching .srt.*_persona.json containing:
video_id, movie title, scene notes, ISO timestamp.laugh, rage, whisper_candidate, etc.).horus_lore_ingest.py emotion --input <dir> --emotion rage.Do we still need the movie if we have subtitles?
Yes for PersonaPlex: subtitles help us find the right windows, but Whisper + rhythm features require the actual audio to model tone, pacing, and breath. Usescenes extract --subtitle-onlywhen scouting, then transcribe once the clip is cut.
| Variable | Purpose |
|---|---|
NZB_GEEK_API_KEY (or NZBD_GEEK_API_KEY) | Auth for NZBGeek search |
NZB_GEEK_BASE_URL (or NZBD_GEEK_BASE_URL) | Override for private Usenet proxies |
WHISPER_BIN | Path to Whisper CLI (defaults to ~/.local/bin/whisper) |
FFMPEG_BIN | Path to ffmpeg (defaults to /usr/bin/ffmpeg) |
AUDIO_RMS_THRESHOLD | Base RMS threshold for audio intensity tags (default 0.2) |
AUDIO_RMS_WINDOW_SEC | Window size in seconds for RMS scanning (default 0.5) |
Audio intensity tagging automatically installs
numpy+soundfileviauv. If either import ever fails, the CLI logs a warning and continues without those tags so ingestion still works.
# 1. Find a release that ships with SDH subtitles
cd /home/graham/workspace/experiments/pi-mono/.pi/skills/ingest-movie
./run.sh search "There Will Be Blood"
# 2. Extract rage windows from the downloaded subtitles
./run.sh scenes extract \
--subtitle "/home/graham/Downloads/media/movies/There Will Be Blood (2007)/blood.en.srt" \
--tag rage \
--video "/home/graham/Downloads/media/movies/There Will Be Blood (2007)/There.Will.Be.Blood.2007.PROPER.1080p.BluRay.x264-ELBOWDOWN.mkv" \
--clip-dir "./clips/there_will_be_blood_rage" \
--output-json "./clips/there_will_be_blood_rage/scenes.json"
# 3. Transcribe one of the clips with subtitles + metadata baked in
./run.sh transcribe ./clips/there_will_be_blood_rage/clip_01.mkv \
--subtitle ./clips/there_will_be_blood_rage/clip_01.srt \
--emotion rage \
--movie-title "There Will Be Blood" \
--scene "Most explosive confrontation" \
--characters "Daniel Plainview,Eli Sunday"
For automated Horus persona training, use the batch commands to process multiple movies at once.
run.sh batch discover [--subtitles]Scan media directories to create an inventory of available movies.
./run.sh batch discover --subtitles
# Shows: Title | Size | Subtitle availability (✓ SDH, ✓, ✗)
run.sh batch plan [--emotion rage,sorrow] [--include-unavailable]Create a processing manifest from built-in emotion-movie mappings (dogpile research).
./run.sh batch plan --emotion camaraderie
# Creates batch_manifest.json with ready/needs_subtitle/not_in_library status
run.sh batch run --manifest batch_manifest.json [--dry-run]Execute batch processing: extract → clip → transcribe → persona JSON.
./run.sh batch run --manifest batch_manifest.json --dry-run # Preview
./run.sh batch run --manifest batch_manifest.json # Execute
run.sh batch statusShow status of processed emotion exemplars.
./run.sh batch status
# Shows: Emotion | Movies | Clips | Personas
The batch system includes curated movie-emotion mappings from dogpile research:
| Emotion | Actor Model | Movies |
|---|---|---|
| rage | Daniel Day-Lewis | There Will Be Blood, Sicario, No Country for Old Men |
| anger | Al Pacino / Marlon Brando | The Godfather, Heat, Apocalypse Now |
| sorrow | Russell Crowe / Ken Watanabe | Gladiator, The Last Samurai, Schindler's List |
| regret | George Carlin | YouTube standup, Full Metal Jacket |
| camaraderie | Javier Bardem / Tom Hanks | Dune, Dune Part Two, Band of Brothers, Saving Private Ryan, Fury |
These commands are designed for easy use by project agents (like Horus) with integration into dogpile for research and agent-inbox for cross-project communication.
run.sh agent recommend <emotion> [--actor MODEL] [--library PATH]Research movies with emotional scenes for TTS training. Returns abstracts, balanced reviews, and scene recommendations for agent evaluation.
# Research rage movies with DDL intensity
./run.sh agent recommend rage --actor "DDL" --library /mnt/storage12tb/media/movies
# Output includes:
# - Actor model and voice tone for the emotion
# - BDI patterns (Belief/Desire/Intention) to match
# - Dogpile research results with movie abstracts and reviews
# - Local library availability check
# - Instructions for agent to respond with APPROVED/QUEUE/SKIP decisions
run.sh agent quick --movie PATH --emotion EMO --scene "desc" --timestamp "HH:MM:SS-HH:MM:SS"Single-step extraction that consolidates the 6-step manual workflow:
./run.sh agent quick \
--movie "/mnt/storage12tb/media/movies/Troy (2004)" \
--emotion rage \
--scene "Achilles beach landing" \
--timestamp "01:15:30-01:17:00" \
--output /path/to/persona/exemplars/rage/
run.sh agent discover <library_path> [--emotion EMO] [--query TEXT]Discover emotion-matching scenes in local media library by scanning subtitles.
./run.sh agent discover /mnt/storage12tb/media/movies --emotion rage
# Outputs matching scenes with timestamps, ready for extraction
run.sh agent inventory [--emotion EMO] [--json]Show inventory of processed clips across all sessions.
./run.sh agent inventory
# Shows: Total clips, movies processed, clips per emotion, threshold status
run.sh agent request --to PROJECT --emotion EMO --desc "description"Send clip extraction request to another project via agent-inbox.
./run.sh agent request --to ingest-movie --emotion rage --desc "Need betrayal fury scenes" --count 5
run.sh agent recommend-book [--movie TITLE] [--emotion EMO] [--library PATH]Recommend books to read before processing a movie for emotion extraction.
# Find source material for a specific movie
./run.sh agent recommend-book --movie "Dune"
# Find thematically related books for an emotion
./run.sh agent recommend-book --emotion rage --library ~/library/books
# Combined: find books related to movie AND emotion
./run.sh agent recommend-book --movie "There Will Be Blood" --emotion rage
Why read before watching?
See /consume_common/WORKFLOW.md for the complete book-before-movie pipeline.
Automatically acquire movies from curated emotion mappings using Radarr.
All downloads enforce:
Configure in Radarr UI before using:
Settings > Profiles > Quality Profiles - Add "Horus TTS" profile:
Settings > Custom Formats - Add "SDH Subtitles":
Settings > Profiles > "Horus TTS" - Set custom format scores:
run.sh acquire radarr [--preset horus_standard] [--emotion rage,sorrow]Add missing movies to Radarr with enforced constraints.
# Use the recommended preset (1080p, 15GB max, English, SDH subs)
./run.sh acquire radarr --preset horus_standard
# Preview what would be added
./run.sh acquire radarr --preset horus_standard --dry-run
# Add only specific emotions
./run.sh acquire radarr --preset horus_standard --emotion rage,anger
Use /dogpile with the movie_scenes preset for comprehensive movie research:
cd /home/graham/workspace/experiments/pi-mono/.pi/skills/dogpile
./run.sh search "war movies betrayal scenes DDL intensity" --preset movie_scenes
The movie_scenes preset searches:
Horus Agent ingest-movie Skill
| |
|-- /dogpile "rage movies" ------------------>
|<-- Movie recommendations with reviews ------|
| |
|-- "APPROVED: Troy - Achilles scene" ------->
| |
| ./run.sh agent quick |
| --movie Troy |
| --emotion rage |
| --timestamp 01:15-01:17 |
| |
|<-- Persona JSON created, inventory updated -|
| |
|-- Import to ArangoDB knowledge graph ------>
./sanity.sh # Verifies Typer CLI + scenes helpers load
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience