Build a generalized video skill extraction library that converts narrated video into:
- structured skill steps,
- visually grounded enrichment,
- timeline-ready metadata for editors and robotics workflows.
- End-to-end CLI pipeline:
transcribetranscript-parsetranscript-chunksteps-extract(AI)frames-extractsteps-enrich(heuristic / ai-direct / ai)markdown-render
- PydanticAI-based model calling with explicit OpenAI-compatible provider wiring.
- Two-pass enrichment in
--mode ai:- frame selection
- signal extraction (before/after/change fields)
- Retry/backoff + jitter + telemetry:
parse_errorstransient_recoveredunresolved_final
- Stepwise progress logging for long enrich runs.
- Quality gates stable:
- lint + tests + coverage (
>=90%).
- lint + tests + coverage (
- Package/CLI rename complete:
- package:
video_skill_extractor - CLI:
video-skill
- package:
- Reduce
sampling_planvalidation churn (still largest error source). - Improve strict structured compliance for reasoning outputs.
- Add stage-specific timeout tuning for image-heavy calls.
- Improve fallback behavior diagnostics in error manifest.
- Add run-level summary file (
*.run_report.json) with per-stage stats. - Add optional per-step latency histogram output.
- Add
--quiet-progresstoggle for CI usage.
- Add deterministic run-id/version stamping in output metadata.
- Add golden smoke fixtures for
aimode output shape.
- Add dependency:
OpenTimelineIO. - Implement
timeline-otiocommand from enriched steps. - Define and freeze metadata namespace (e.g.
com.corememory.edit.*). - Export
.otiofirst; add.otiozoption.
- Define
editplanschema. - Define
textpackschema (headline, bullets, emphasis). - Define
asset_manifestschema. - Attach template bindings and confidence metadata.
- Create Resolve materializer script prototype.
- Map OTIO markers/metadata -> editable title/gfx inserts.
- Add pilot template set (3 templates):
- lower_third
- step_callout
- highlight_box
- Build benchmark harness for narration/timeline ablations.
- Implement 4-condition ladder:
- video-only
- video+ASR
- +timeline structure
- +evidence/confidence
- Add boundary jitter robustness tests.
- Define canonical sidecar schema v1 for timeline semantics.
- Add OTIO + sidecar alignment docs for reproducibility.
- Add robotics semantic fields:
- action verbs
- object references
- state_before/state_after
- success signals
- Add ROS-friendly export adapter from sidecar metadata.
- Add simulation-only test harness for narrated skill videos.
- Add
OpenTimelineIOdependency and scaffoldtimeline-otiocommand. - Freeze OTIO metadata namespace + key list in docs.
- Implement
chapters-generatefrom enriched steps. - Implement
clips-selectfor short tutorial candidate ranking. - Implement
textpack-generate(headline, bullets, emphasis terms). - Add
run_report.jsongeneration to enrichment runs. - Tighten
sampling_planprompt/output to reduce retry churn. - Add stage-level timeout config knobs in
config.json. - Add long-class acceptance fixture and expected output checks.
- Run full regression on
lesson1+zac-game+ one long-form class sample.
- Convert long classes (e.g., 3-hour recordings) into:
- a chaptered long-form course cut
- a set of short tutorial clips
- Keep outputs editor-friendly and deterministic.
-
chapters-generatecommand from enriched steps:- outputs YouTube chapter timestamps + titles
- optional markdown chapter sheet
-
clips-selectcommand:- ranks step windows for short-form potential
- supports target durations (30–60s, 60–120s, 2–5m)
- emits
shorts_manifest.jsonl
-
textpack-generatecommand:- per-step headline, bullets, emphasis keywords
- on-screen text constraints for animation overlays
-
pipeline-courseorchestration command:- parse -> chunk -> extract -> frames -> enrich -> chapters -> clips -> textpack
- Chapter coverage: >=95% of enriched steps mapped to chapter ranges.
- Shorts precision: >=80% human-accepted clips in top-ranked batch.
- Textpack readability constraints enforced (char/line limits).
- Add
OpenTimelineIOdependency andtimeline-otiocommand. - Freeze metadata namespace and mapping doc.
- Ship
chapters-generatewith regression tests. - Add
run_report.jsontelemetry output.
- Implement
clips-selectscoring/ranking. - Implement
textpack-generateon transcript+enriched context. - Add fixtures for long-form class input and acceptance tests.
- Add
.otiozexport option and manifest bundling. - Produce editor handoff bundle (
.otio, manifests, markdown, clip list). - Pilot on one 3-hour class and measure keep/delete/edit rates.