Skip to main content
skill CX Codex

video-lens-gallery — Claude Code skill: what it does, how to install

Builds a catalog of video summaries in ~/Downloads/video-lens and launches a local web viewer. It helps you search and browse your saved video notes.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add kar2phi/video-lens --skill video-lens-gallery -a claude-code
Open on GitHub

What video-lens-gallery does

This skill manages video summary libraries located in ~/Downloads/video-lens. It executes Python scripts to generate index.html and reports the number of indexed entries. When requested, backfill_meta.py runs first to populate missing metadata across older summaries.

The workflow relies on serve_report.sh to host the compiled page at http://localhost:8765/index.html. The gallery opens in a browser. It searches through setup directories across eight coding assistants.

The gallery cannot run without the core video-lens skill installed. If another application holds port 8765, the script stops with an ERROR:SERVE_PORT_BUSY error.

What it helps with

  • compile an HTML catalog from reports in ~/Downloads/video-lens
  • start a local web viewer for the gallery on port 8765
  • populate missing metadata in older notes using backfill_meta.py
  • search and open saved video summaries by topic

Example prompts for the agent

  • Show my gallery of saved video summaries
  • Rebuild the index and open my video notes
  • Backfill metadata for saved reports

How to install video-lens-gallery

1Skills CLI (Vercel)

npx skills add kar2phi/video-lens --skill video-lens-gallery -a claude-code

2Manually: put the files in place

~/.claude/skills/video-lens-gallery/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/video-lens-gallery/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about video-lens-gallery

How to install video-lens-gallery in Claude Code?

Run npx skills add kar2phi/video-lens --skill video-lens-gallery -a claude-code. The gallery also requires the base video-lens skill to serve the generated pages.

What does video-lens-gallery do?

The skill scans ~/Downloads/video-lens, builds an HTML catalog from saved summaries, and serves the index at http://localhost:8765/index.html.

Why does video-lens-gallery require the base video-lens skill?

It depends on serve_report.sh from the primary video-lens package to launch the local HTTP server. Without that script, the gallery cannot display reports.

Source text

SKILL.md · MIT
---
name: video-lens-gallery
description: >
  Open or rebuild the video-lens gallery index — your personal library of saved video summaries.
  Use this whenever the user wants to browse, open, or search saved video reports:
  "show my gallery", "open video library", "browse saved videos", "build gallery",
  "what videos have I saved", "show my video notes", "my video summaries",
  "find my saved summary for [topic]", "rebuild the index", "show video-lens index",
  "backfill metadata", "update index".
license: MIT
allowed-tools: Bash Read
metadata:
  author: kar2phi
  version: "2.1"
---

# video-lens-gallery

Manage and browse your saved video-lens reports.

## Step 1 — Locate skill scripts

Discover both `video-lens/scripts` (`$_sd`) and `video-lens-gallery/scripts` (`$_gd`) using the standard 8-agent discovery loop:

```bash
_sd=$(for d in ~/.agents ~/.claude ~/.copilot ~/.gemini ~/.cursor ~/.windsurf ~/.opencode ~/.codex; do
  [ -d "$d/skills/video-lens/scripts" ] && echo "$d/skills/video-lens/scripts" && break
done)
_gd=$(for d in ~/.agents ~/.claude ~/.copilot ~/.gemini ~/.cursor ~/.windsurf ~/.opencode ~/.codex; do
  [ -d "$d/skills/video-lens-gallery/scripts" ] && echo "$d/skills/video-lens-gallery/scripts" && break
done)
[ -z "$_sd" ] && echo "video-lens skill not found — install it first: npx skills add kar2phi/video-lens" && exit 1
[ -z "$_gd" ] && echo "video-lens-gallery skill not found — install it first: npx skills add kar2phi/video-lens" && exit 1
```

## Step 2 — Backfill metadata (only if requested)

If the user's request mentions "backfill", run:

```bash
python3 "$_gd/backfill_meta.py" --dir ~/Downloads/video-lens
```

## Step 3 — Rebuild index

Check that the reports directory exists before running:

```bash
[ -d ~/Downloads/video-lens ] || { echo "No reports directory found — save some videos first with the video-lens skill."; exit 1; }
python3 "$_gd/build_index.py" --dir ~/Downloads/video-lens
```

Tell the user the number of reports indexed, from the script's output.

## Step 4 — Serve gallery

```bash
bash "$_sd/serve_report.sh" ~/Downloads/video-lens/index.html ~/Downloads/video-lens
```

If `serve_report.sh` prints an `ERROR:` line (e.g. `ERROR:SERVE_PORT_BUSY` when port 8765 is held by another program), report the message and stop. Otherwise — confirmed by its `HTML_REPORT:` line — tell the user the gallery is now available at `http://localhost:8765/index.html`.

© kar2phi · MIT · kar2phi/video-lens

Similar skills

Everything for Notes, tasks and projects →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor