story-repair

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

/story-repair — Scene/Shot Repair Director

Overview

Use this when Alex gives repair notes for an existing video-story project. The director's cut overlays SCENE N · SHOT M, so Alex can say things like “repair scene 2 shot 4: make the dog face camera and keep the red jacket.”

Inputs to Extract

API

Base:

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

Session-specific implementation notes and examples are kept in references/social-creative-telegram-repair.md. Consult it when working on Telegram-driven repair loops, review-video overlays, or frame-specific repairs.

Production map:

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

Repair:

curl -sS -X POST "$BASE/api/hermes/projects/$PROJECT_ID/repair" \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{
    "instructions": "...",
    "shots": [{"scene_number": 2, "shot_number": 4}],
    "regenerate_frames": true,
    "regenerate_video": true,
    "lipsync": true,
    "directors_cut": true
  }'

Status:

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

Director's cut / review video:

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

# Preferred labeled review export: writes final_video_review.mp4 and overlays SCENE N · SHOT M + timing.
curl -sS -X POST "$BASE/api/hermes/projects/$PROJECT_ID/assemble-review-video" \
  -H "Authorization: Bearer $TOKEN"

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

Single-frame repair for precise notes:

# Use when Alex asks for only a first/last frame, e.g. “last frame of the last shot”.
# 1) Resolve scene/shot from the production map or DB.
# 2) Set only the relevant *_frame_prompt_addition and clear only that frame URL + that shot video.
# 3) Generate only that frame.
curl -sS -X POST "$BASE/api/shots/$SHOT_ID/generate-single-frame" \
  -H 'Content-Type: application/json' \
  -d '{"frame_type":"last"}'

# 4) Regenerate only that shot video, then rebuild review/clean exports.
curl -sS -X POST "$BASE/api/shots/$SHOT_ID/generate-video"
curl -sS -X POST "$BASE/api/projects/$PROJECT_ID/assemble"

Repair Strategy

Response Format

Pitfalls

Verification Checklist