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.
npx skills add kar2phi/video-lens --skill video-lens-gallery -a claude-codeWhat 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-code2Manually: put the files in place
~/.claude/skills/video-lens-gallery/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/video-lens-gallery/
1Skills CLI (Vercel)
npx skills add kar2phi/video-lens --skill video-lens-gallery -a codex2Manually: put the files in place
.agents/skills/video-lens-gallery/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add kar2phi/video-lens --skill video-lens-gallery -a cursor2Manually: put the files in place
.cursor/skills/video-lens-gallery/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install kar2phi/video-lens video-lens-gallery2Manually: put the files in place
.github/skills/video-lens-gallery/SKILL.md1Skills CLI (Vercel)
npx skills add kar2phi/video-lens --skill video-lens-gallery -a gemini-cli2Platform CLI
gemini skills install https://github.com/kar2phi/video-lens --path skills/video-lens-galleryManually: put the files in place
.devin/skills/video-lens-gallery/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add kar2phi/video-lens --skill video-lens-gallery -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
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