# Kitesurfing video cutting — agent prompt

Copy the prompt below into your AI agent and replace the video URL.

---

Download and cut this kitesurfing video into individual trick clips:

**VIDEO URL: [PASTE YOUTUBE OR INSTAGRAM URL]**

Use yt-dlp to download the best available quality and FFmpeg to cut/export the clips. If the URL cannot be accessed, ask me for the downloaded file. Never claim to have watched or processed footage you could not access.

Watch the entire video before choosing cuts.

## Cutting rules

- Export one complete trick attempt per clip.
- Include the approach, takeoff, full trick, landing or fall, and a short ride-away.
- Keep approximately 2 seconds before initiation and 2 seconds after the outcome, when the footage allows.
- Completeness matters more than clip length. Never cut mid-rotation or before the landing.
- Keep separate attempts and camera angles as separate clips.
- Keep failed attempts too, labeled clearly.
- Preserve useful slow-motion replays and label them.
- For spoken tutorials, keep each complete explanation as a separate tutorial clip. Also extract individual trick demonstrations where possible.
- Remove unrelated intros, outros, and exact duplicate footage.
- Preserve original aspect ratio, audio, captions, and creator credits. Do not crop out the rider or kite, add effects, or upscale.

## Identification

Name each trick only when confident. Otherwise use `unidentified-trick` and flag it for review. Do not guess an off-camera landing or kite movement.

## Export

- H.264 MP4, yuv420p, fast-start enabled.
- AAC audio when audio exists.
- Preserve source resolution and playback speed.
- Cut accurately; verify the exported boundaries.
- Extract one representative JPG poster per clip.
- Name files consistently: `backroll-001.mp4`, `backroll-001.jpg`, etc.

Create this output folder:

```text
kite-clips/
  clips/
  posters/
  clips.json
  review-needed.md
```

## JSON metadata

Create `clips.json` using this structure:

```json
{
  "sourceUrl": "[ORIGINAL VIDEO URL]",
  "creator": null,
  "sourceTitle": null,
  "clips": [
    {
      "id": "backroll-001",
      "file": "clips/backroll-001.mp4",
      "poster": "posters/backroll-001.jpg",
      "trickName": "Backroll",
      "type": "attempt",
      "startSec": 12.4,
      "endSec": 21.8,
      "durationSec": 9.4,
      "outcome": "successful",
      "slowMotion": false,
      "needsReview": false,
      "notes": ""
    }
  ]
}
```

The JSON values above are examples. Replace them with observed values; use `null` for unknown facts.

- `type`: `attempt`, `demonstration`, or `tutorial`.
- `outcome`: `successful`, `unsuccessful`, `unknown`, or `not-applicable`.
- `startSec` / `endSec`: timestamps in the original video.
- `durationSec`: measured exported duration.

## Verification and delivery

Watch every exported clip to verify that the complete attempt is present and playback works. Check that metadata matches the files and timestamps.

Deliver the folder and a ZIP, plus a short summary of how many clips were created and anything needing review. Process the full video without stopping for approval after each cut.
