# Video Ingest

> Teaches the agent to process, ingest, analyze, and compare WebM, MP4, and GIF video recordings using vision-memory-mcp and state-memory-mcp.

- Skill: `putervision/video-ingest` (Agent Skill)
- Install (CLI): `npx skillmds@latest add putervision/video-ingest`
- Raw SKILL.md: https://api.skillmd.com/api/skills/putervision/video-ingest/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: putervision (https://skillmd.com/u/putervision)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/putervision/video-ingest

---


# Video Frame Digesting & Temporal Memory Skill (video-ingest)

This skill provides step-by-step guidance, best practices, and operational patterns for digesting WebM, MP4, and GIF video recordings using `@putervision/vision-memory-mcp`.

---

## 1. When to Use Video Ingestion

Use video ingestion whenever you encounter:
- **E2E Playwright / Cypress / Selenium Test Artifacts**: Recorded `.webm` screenchunks or `.mp4` test run videos.
- **Bug Reproduction Videos**: User-uploaded screen recordings demonstrating UI glitches or crashes.
- **UI Walkthrough Recordings**: Demonstrations of complex multi-step user workflows.
- **Visual Regression Diagnostics**: Comparing a passing baseline video run against a failing test run.

---

## 2. Ingestion Strategies & Parameter Tuning

| Scenario | Recommended Parameters | Why |
| -------- | ---------------------- | --- |
| **Action Event Timestamps** *(Highest Precision)* | `action_timestamps: [1.2, 3.5, 7.0]` | Samples keyframes at exact interaction timestamps (clicks, types, navigation events) from test runners or state-memory logs. |
| **Dynamic UI / Animations** | `scene_threshold: 0.3`, `fps: 1` | Combines scene-change detection (`gt(scene,0.3)`) with 1 fps background sampling to capture major screen transitions without frame bloat. |
| **High-Speed Test Runs** | `fps: 2` or `fps: 5` | Increases frame rate sampling for rapidly switching UI test steps. |
| **Long Screen Recordings** | `fps: 0.5`, `scene_threshold: 0.4` | Lowers sampling rate to conserve storage while extracting unique keyframe states. |

---

## 3. Mandatory Dual-MCP Evidence Workflow

When diagnosing bugs or linking test runs to task nodes:

1. **Ingest Video**: Call `manage_video` (`action: "ingest"`) with file path and action timestamps.
2. **Extract Evidence Payload**: Read the returned `evidence_payload` containing `source_video_id`, `frame_range`, and `timestamps_ms`.
3. **Build Evidence Pack**: Call `create_evidence_pack` linking `keyframe_state_ids` with `state-memory-mcp` task or blocker node IDs.
4. **Compare Trajectories (On Failure)**: Call `compare_states(video_a_id: "...", video_b_id: "...")` to pinpoint exact frame divergence points.

---

## 4. CLI Quick Reference

```bash
# Ingest WebM / MP4 video recording with custom category
vision-memory-mcp video ingest ./recording.webm --category e2e_test

# Ingest with explicit action timestamps
vision-memory-mcp video ingest ./bug.mp4 --category bug_repro --action-timestamps 1.2,3.5,8.0

# Inspect chronological timeline & keyframes for a video ID
vision-memory-mcp video inspect vid_d7fc21c0ad52f861

# List all ingested video memory records
vision-memory-mcp video list
```

---

## 5. Consolidated Video MCP Tools Reference

- `manage_video` (`action: "ingest"`): Ingests video file/base64, extracts keyframes, dHash deduplicates, and generates CLIP vector embeddings.
- `manage_video` (`action: "timeline"`): Fetches step-by-step keyframes, exact timestamps (`timestamp_ms`), OCR snippets, and grounded target handles.
- `manage_video` (`action: "search"`): Searches video memory by description query, category, tags, or file path.
- `compare_states` (`video_a_id`, `video_b_id`): Calculates similarity score between two recordings and pinpoints exact timestamp divergence.
- `create_evidence_pack`: Produces an immutable, cryptographically hashable evidence pack payload linking keyframes to task graph nodes.

