How nikolasfaria/video-sharingan works
video-sharingan is a command-line video-analysis tool and agent skill: it turns a reference video into measured edit, camera, focus, look, and audio findings, then produces a recreation brief and comparison gates. The main workflow is orchestrated by scripts/sharingan.py; the README documents the stages and optional standalone commands. Source excerpts confirm several stage implementations and their inputs, but not every orchestration call, so undocumented links are omitted. Outputs are generated artifacts, not repository modules.
Main entry points: sharingan.py CLI workflow · common.py Media helpers · compare.py Render comparison · brief.py Brief generator
Components 17
Workflow orchestration
- CLI workflow
scripts/sharingan.py - Media probe
scripts/probe.py - Media helpers
scripts/common.py
Edit and motion
- Cut detection
scripts/cuts.py - Camera tracking
scripts/camera_track.py - Contact sheets
scripts/contact_sheet.py
Visual and audio analysis
- Focus and framing
scripts/focus_map.py - Optical look
scripts/look.py - Audio analysis
scripts/audio.py
Brief and validation
- Analysis JSON
- Brief generator
scripts/brief.py - Recreation brief
- Render comparison
scripts/compare.py
Other components
- Analyst or agent
- Reference video
- Render analysis
- QC gate report
Connections 25
- Analyst or agent → CLI workflow: runs analysis
README.md - Reference video → CLI workflow: supplies video
README.md - CLI workflow → Media probe: probes media
scripts/sharingan.py - CLI workflow → Cut detection: detects cuts
scripts/sharingan.py - CLI workflow → Camera tracking: tracks camera
scripts/sharingan.py - CLI workflow → Contact sheets: builds sheets
scripts/sharingan.py - CLI workflow → Focus and framing: measures focus
README.md - CLI workflow → Optical look: measures look
README.md - CLI workflow → Audio analysis: analyzes audio
scripts/sharingan.py - CLI workflow → Analysis JSON: writes analysis
scripts/sharingan.py - CLI workflow → Brief generator: renders brief
scripts/sharingan.py - Brief generator → Analysis JSON: reads findings
scripts/brief.py - Brief generator → Recreation brief: writes brief
- Analyst or agent → Render comparison: runs comparison
README.md - Render comparison → Analysis JSON: reads reference
README.md - Render comparison → Render analysis: reads render
README.md - Render comparison → QC gate report: reports gates
README.md - Media probe → Media helpers: uses probe
scripts/probe.py - Cut detection → Media helpers: uses frame helpers
scripts/cuts.py - Camera tracking → Media helpers: uses frame helpers
scripts/camera_track.py - Contact sheets → Media helpers: uses frame helpers
scripts/contact_sheet.py - Focus and framing → Media helpers: uses frame helpers
scripts/focus_map.py - Optical look → Media helpers: uses media probe
scripts/look.py - Audio analysis → Media helpers: uses helpers
scripts/audio.py - Render comparison → Brief generator: derives metrics
scripts/compare.py