I gave my coding agent my basketball videos and asked it to be my coach
说明与用途
一位业余篮球联赛球员构建了一个名为sports-video-coach的CLI工具,将原始篮球视频转化为带有片段和旁白的教练页面,以及带有定格画面、球圈和字幕的视频。CLI通过退出码3将帧片交给代理,代理编写review.json,CLI渲染输出结果。篮球是内置运动项目,包含球员追踪功能;其他运动项目使用通用模式,无追踪功能。
问题
A basketball player in an adult rec league has phone video of shooting drills and game plays but no coach, no film watchers, and no way to turn raw video into a coaching page with clips, narration, and subtitles.
结果
The CLI lets the user give their coding agent basketball video and get back a coaching page with clips and narration plus a video with freeze frames, rings, and subtitles. The agent pointed out that 9 of 11 set shots and 7 of 19 jump shots went in, and that all 8 jump shots in the last ten minutes missed, which the user had not noticed.
工作流
- Run
sports-video-coach run drill.mp4 --sport basketballto split the video into frame sheets and hand them to the agent - Agent opens the contact sheets, writes review.json using the guide
sports-video-coach guide review, and runs the same command again - If the review is too short, the run refuses to build a page and says why; the agent fixes it and reruns
- A rerun skips already-done steps and flags later steps that are now out of date so they can be redone or kept with --accept
证据
I play in an adult rec basketball league. Nobody coaches us and nobody watches film. What we do have is a lot of phone video that nobody opens again.
On one session it pointed out that my set shots went 9 of 11, my jump shots 7 of 19, and the 8 jump shots in the last ten minutes all missed. I hadn't noticed that at all.
Video goes in, you get a coaching page with clips and narration, and a video with freeze frames, rings and subtitles.
Exit code 3 means 'your turn'. The agent opens the contact sheets, writes review.json (the guide is sports-video-coach guide review), and runs the same command again. Exit 1 means a step failed and names its log, 0 means done.
If the review is too short, the run refuses to build a page and says why: review.json: needs a moments list with at least 3 entries
Basketball is the sport I built it for. It has player tracking and pulls the league box score, but tracking needs a GPU. Any other sport goes through generic: no tracking, just the agent looking at frame sheets.
- 记录日期: 2026-10-23T12:11:07.515Z