Skip to content
109 changes: 109 additions & 0 deletions skills/videodb-skills/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
name: videodb-skills
description: The only video skill your agent needs — upload any video, connect real-time streams, search inside by what was said or shown, build complex editing workflows with overlays, generate AI media, add subtitles, and get instant streaming links.
origin: ECC
---

# VideoDB Skills

The only video skill your agent needs. Upload any video, connect real-time streams, search inside by what was said or shown, build complex editing workflows with overlays, generate AI media, add subtitles, and get instant streaming links — all via the VideoDB Python SDK.

## When to Activate

- Uploading or ingesting videos from YouTube URLs, web URLs, or local files
- Searching spoken words or visual scenes across video content
- Generating transcripts or auto-styling subtitles
- Editing clips — trim, combine, multi-timeline composition
- Adding overlays — text, images, audio, music
- Generating AI media — images, video, music, sound effects, voiceovers
- Transcoding — resolution, codec, bitrate, FPS changes
- Reframing video for social platforms (vertical, square, etc.)
- Real-time screen or audio capture with AI transcription
- Getting playable HLS streaming links for any output

## Setup

```bash
# Install the skill
npx skills add video-db/skills

# Or setup manually
pip install "videodb[capture]" python-dotenv
export VIDEO_DB_API_KEY=sk-xxx
```

Run `/videodb setup` inside your agent for guided setup ($20 free credits, no credit card).

## Core Patterns

### Upload and Process

```python
import videodb

conn = videodb.connect()
video = conn.upload(url="https://www.youtube.com/watch?v=VIDEO_ID")

transcript = video.get_transcript()
for entry in transcript:
print(f"[{entry['start']:.1f}s] {entry['text']}")
```

### Search Across Videos

```python
# Index for semantic search
video.index_spoken_words()

# Search by what was said
results = video.search("product demo")
for r in results:
print(f"{r.start:.1f}s - {r.end:.1f}s: {r.text}")
```

### Timeline Editing

```python
from videodb import Timeline, VideoAsset, AudioAsset

timeline = Timeline(conn)
asset = VideoAsset(asset_id=video.id, start=10, end=30)
timeline.add_inline(asset)

stream = timeline.generate_stream()
print(stream) # Playable HLS link
```

### AI Media Generation

```python
audio = conn.generate_audio(text="Upbeat background music", duration=30)
image = conn.generate_image(prompt="Title card: Welcome to the Demo")
```

## Capabilities

| Capability | What It Does |
|---|---|
| Upload | YouTube, URLs, local files |
| Search | Speech-based and scene-based |
| Transcripts | Timestamped, multi-language |
| Edit | Trim, combine, multi-timeline |
| Subtitles | Auto-generate, custom styling |
| AI Generate | Images, video, music, SFX, voiceover |
| Capture | Screen + audio, real-time |
| Transcode | Resolution, codec, aspect ratio |
| Stream | HLS playable links |

## Best Practices

- Always verify SDK connection before operations: `conn.get_collection()`
- Use `video.index_spoken_words()` before searching — indexing is required once per video
- For scene search, use `video.index_scenes()` — this processes visual frames
- Timeline edits produce new streams; the original video is never modified
- AI generation is async — poll status or use callbacks for long operations
- Store `VIDEO_DB_API_KEY` in `.env`, not hardcoded

## Repository

https://github.com/video-db/skills
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Add required "How It Works" section and align section naming with guidelines.

The coding guidelines require skills to have clear sections for "When to Use", "How It Works", and "Examples". The current file is missing the "How It Works" section and uses slightly different section names.

Current structure:

  • "When to Activate" → Should be "When to Use"
  • Missing → Need "How It Works" section
  • "Core Patterns" → Should be "Examples" (or keep both)

The "How It Works" section should explain the mechanics of how VideoDB integrates with the agent, the SDK architecture, and the workflow of video processing operations.

📋 Suggested structure improvement

Consider adding a "How It Works" section after "When to Use" that explains:

  • How the VideoDB SDK connects and authenticates
  • The workflow: upload → index → search/edit → stream
  • How timeline-based editing works internally
  • The relationship between videos, collections, and streams

You can also rename "When to Activate" to "When to Use" and "Core Patterns" to "Examples" to match the guidelines exactly, though "Core Patterns" is also descriptive.

As per coding guidelines: Skills should be formatted as Markdown with clear sections for When to Use, How It Works, and Examples.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@skills/videodb-skills/SKILL.md` around lines 11 - 109, Rename the "When to
Activate" heading to "When to Use", add a new "How It Works" section immediately
after it that explains VideoDB's integration and workflow: how the SDK
(videodb.connect / conn) authenticates via VIDEO_DB_API_KEY, how operations flow
(upload → index_spoken_words / index_scenes → search / get_transcript → edit via
Timeline → generate_stream), a brief note on timeline-based editing internals
(assets like VideoAsset/AudioAsset produce new streams without modifying
originals) and the relationship between collections, videos, and streams, and
finally rename or duplicate "Core Patterns" as "Examples" to match guidelines
while keeping existing examples (upload, search, timeline editing, AI
generation) intact.