story

/home/avalon/.hermes/skills/software-development/story/SKILL.md · raw

/story — Hermes Story Director

Overview

This skill turns Hermes into a cinematic director/operator for Alex's video-story app. /story is the normal mode: ask lightweight clarifying questions when the creative brief is underspecified, then orchestrate story creation through the self-hosted app at video-story.apps.poofc.com / local port 4015.

The user may attach many Telegram reference images. Use all relevant reference image paths surfaced in the message under Story reference image local paths; do not arbitrarily cap the set. Hermes decides whether each image is a character, location/set, prop, mood/style, wardrobe, or continuity reference.

Operating Principles

When to Ask Questions

Ask if any of these would materially change the output:

Do not ask if the user says “yolo,” “just make it,” “surprise me,” or gives a clear vibe.

API Base

Use local API from the VPS when possible:

BASE=http://localhost:4015
TOKEN="$HERMES_AUTOMATION_TOKEN"

Auth header:

-H "Authorization: Bearer $TOKEN"

If the token env is not present, inspect the PM2/env setup rather than asking Alex.

Normal Production Workflow

  1. Read the brief + references - Identify story premise, genre, runtime, visual style, characters, locations, props. - If Telegram image local paths are present, keep all relevant paths.

  2. Ask concise questions if needed - Ask as a director, not a form. - Example: “Before I roll: do you want this as (A) dreamy trailer, (B) funny ad, or (C) dark cinematic short?”

  3. Create and run the story with references attached first - Prefer a multipart POST to /api/hermes/projects/create-and-run with field images for every relevant Telegram reference path. The backend stores these project references before generation begins, so frames can use them for continuity. - Include a detailed prompt that embeds the director's decisions, reference interpretation, desired continuity, and “create a reviewable director's cut.” - Use auto_yolo=true unless deliberately staging the project manually.

  4. Assign/reference-map after analysis - Fetch /api/hermes/projects/:id/production-map and assign refs with /api/hermes/references/:referenceId/assignment when obvious. - If more refs arrive after creation, POST multipart images to /api/hermes/projects/:id/references with field images.

  5. Monitor pipeline - Poll existing Hermes create/run status endpoint and project activity. - If video generation stalls/fails, use repair rather than abandoning.

  6. Assemble director's cut - POST /api/hermes/projects/:id/assemble-directors-cut. - Poll /api/hermes/projects/:id/directors-cut until ready. - Director's cut overlays SCENE N · SHOT M on each clip.

  7. Report back - Include: project link, director's cut link/path, final video link if ready, and what references were used for what. - Ask Alex for repair notes using scene/shot labels.

Useful Calls

Multipart create/run with refs:

curl -sS -X POST "$BASE/api/hermes/projects/create-and-run" \
  -H "Authorization: Bearer $TOKEN" \
  -F "prompt=$(cat prompt.txt)" \
  -F "duration_target=90" \
  -F "style=cinematic, reference-driven, consistent characters" \
  -F "auto_yolo=true" \
  $(printf -- "-F images=@%q " /path/to/ref1.jpg /path/to/ref2.jpg)

JSON create/run without files:

curl -sS -X POST "$BASE/api/hermes/projects/create-and-run" \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d @payload.json

Upload refs:

curl -sS -X POST "$BASE/api/hermes/projects/$PROJECT_ID/references" \
  -H "Authorization: Bearer $TOKEN" \
  $(printf -- "-F images=@%q " /path/to/ref1.jpg /path/to/ref2.jpg) \
  -F "notes=Telegram references interpreted by Hermes director"

Director cut:

curl -sS -X POST "$BASE/api/hermes/projects/$PROJECT_ID/assemble-directors-cut" \
  -H "Authorization: Bearer $TOKEN"

curl -sS "$BASE/api/hermes/projects/$PROJECT_ID/directors-cut" \
  -H "Authorization: Bearer $TOKEN"

Common Pitfalls

  1. Asking too many questions. Normal mode asks only if the answer changes the project.
  2. Dropping references. If ten images are provided, consider all ten. State any API-imposed cap before ignoring images.
  3. No review handles. Always provide scene/shot labels or a director's cut so Alex can say “repair scene 2 shot 4.”
  4. Final-only output. The director's cut is the review artifact; final clean cut can come after repairs.

Verification Checklist