zight
Analyze Zight screenshots and screen recordings from share.zight.com links.
Skill by marcelfahle
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/marcelfahle-zight
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/zight
Tools it pre-approves 7
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash,Read,Write,WebFetch,Glob,Grep,Task
What's inside
- Skill name
zight- Description
- Analyze Zight screenshots and screen recordings from share.zight.com links. Use this skill automatically when a Zight link appears in a ticket, user message, or bug report. Handles both images (view directly) and videos (extract frames, transcribe audio, analyze visually). Produces a structured summary of what the user sees and says in the recording.
- License
- MIT
- Allowed tools
- Bash,, Read,, Write,, WebFetch,, Glob,, Grep,, Task
- Instructions
- 183 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
- Instructions call the network
Files (3)
- README.md
- SKILL.md
- reference.md
SKILL.md (first lines)
# Zight Content Analyzer
Analyze Zight screenshots and screen recordings to understand bug reports,
feature requests, and user feedback.
## Prerequisites
Before processing video content, verify dependencies are installed:
```bash
which ffmpeg # Required for frame extraction and audio conversion
which ffprobe # Required for video metadata (installed with ffmpeg)
which whisper-cli # Required for audio transcription
```
If missing:
- **ffmpeg**: `brew install ffmpeg` (macOS) or `apt install ffmpeg` (Linux)
- **whisper-cli**: `brew install whisper-cpp` (macOS), then download a model:
`curl -L -o ~/.local/share/whisper-cpp/models/ggml-base.en.bin "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin"`
Image analysis requires no external dependencies.
## Quick Reference
- **oEmbed endpoint**: `https://oembed.zight.com/oembed?url=URL&format=json`
- **Whisper model**: `~/.local/share/whisper-cpp/models/ggml-base.en.bin`
- **Whisper CLI**: `whisper-cli`
- **Temp directory**: `/tmp/zight-${session_id}/`
See [reference.md](reference.md) for Zight page structure and field documentation.
## Step 1: Detect Content Type
Fetch the oEmbed metadata to determine if this is an image or video:
```bash
curl -sL "https://oembed.zight.com/oembed?url=ZIGHT_URL&format=json"
```
Check the `type` field:
- `"photo"` → Check the title; if it starts with "Zight Recording" it may be an animated GIF (see Step 2a)
- `"video"` or `"rich"` → Video path (Step 2b)
If oEmbed fails, fall back to fetching the share page with WebFetch and
extracting the content type from the page metadata.
## Step 2a: Image / GIF Analysis
1. Extract the direct image URL from the oEmbed `url` field
2. Download: `curl -sL -o /tmp/zight-img.jpg "CDN_URL"`
3. Read the file to view it (Claude's vision will analyze the image)
4. Describe what is shown, focusing on:
- UI state, error messages, unexpected behavior
- Which part of the application is visible
- Any annotations or highlights the user added
Note: Titles containing "Zight Recording" indicate animated content (GIFs or
screen recordings). GIFs returned as `type: "photo"` can still be viewed as
static images — Claude sees the first frame.
Return the analysis to the caller. Done.
## Step 2b: Video / Screen Recording Analysis
### 2b.1: Extract metadata and download
WebFetch the share page to extract the video metadata. Look for the
`Copernicus` or `gon` config object in the page:
- `content_url` → direct MP4 download URL
- `transcription.data` → existing transcript (may be null)
- `name` → original filename with context
Create a working directory and download the video:
```bash
SESSION_DIR="/tmp/zight-$(date +%s)"
mkdir -p "$SESSION_DIR/frames"
curl -sL -o "$SESSION_DIR/video.mp4" "CONTENT_URL"
```
### 2b.2: Get video info
```bash
ffprobe -v quiet -print_format json -show_format -show_streams "$SESSION_DIR/video.mp4"
```
Note the duration to decide frame extraction rate:
- Under 30s: 1 frame every 2 seconds
- 30s-120s: 1 frame every 3 seconds
- Over 120s: 1 frame every 5 seconds
### 2b.3: Extract key frames
```bash
ffmpeg -i "$SESSION_DIR/video.mp4" \
-vf "fps=1/INTERVAL" \
-q:v 2 \
"$SESSION_DIR/frames/frame-%04d.jpg" 2>&1
```
### 2b.4: Transcribe audio
First check if the page metadata had a transcript. If yes, use that
and skip to step 2b.5.
If no transcript exists, extract and transcribe:
```bash
# Extract audio as 16kHz mono WAV (whisper-cpp requirement)
ffmpeg -i "$SESSION_DIR/video.mp4" \
-ar 16000 -ac 1 -c:a pcm_s16le \
"$SESSION_DIR/audio.wav" 2>&1
# Transcribe with timestamps
whisper-cli \
--model ~/.local/share/whisper-cpp/models/ggml-base.en.bin \
--output-txt --output-srt \
--file "$SESSION_DIR/audio.wav" 2>&1
```From marcelfahle/skills, MIT.
More from marcelfahle/skills
- 0.524score
brand-dossier
marcelfahle
Research a prospect/company/creator (from names or URLs) and produce a Bold demo-prep brand dossier — a folder with a paste-ready markdown file (org context…
SkillBFreshness: BClaude Code +9 - 0.479score
alpha-humanizer
marcelfahle
Transform AI-generated content into prose that reads as 100% human-written.
SkillCFreshness: CClaude Code +9 - 0.479score
keyword-research
marcelfahle
Run real keyword research with DataForSEO.
SkillCFreshness: CClaude Code +9 - 0.479score
x-read
marcelfahle
Read tweets, threads, user timelines, mentions, bookmarks, likes, and search results from X (Twitter) via the official X API v2.
SkillCFreshness: CClaude Code +9 - 0.470score
linkedin-archive
marcelfahle
Archive Marcel's recent LinkedIn posts into the Obsidian vault as weekly markdown files matching the social-corpus format.
SkillCFreshness: CClaude Code +9 - 0.252score
template-skill
marcelfahle
Describe what this skill does and when to use it.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 11, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/marcelfahle/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from marcelfahle
- 0.524score
brand-dossier
marcelfahle
Research a prospect/company/creator (from names or URLs) and produce a Bold demo-prep brand dossier — a folder with a paste-ready markdown file (org context…
SkillBFreshness: BClaude Code +9 - 0.479score
alpha-humanizer
marcelfahle
Transform AI-generated content into prose that reads as 100% human-written.
SkillCFreshness: CClaude Code +9 - 0.479score
keyword-research
marcelfahle
Run real keyword research with DataForSEO.
SkillCFreshness: CClaude Code +9 - 0.479score
x-read
marcelfahle
Read tweets, threads, user timelines, mentions, bookmarks, likes, and search results from X (Twitter) via the official X API v2.
SkillCFreshness: CClaude Code +9 - 0.470score
linkedin-archive
marcelfahle
Archive Marcel's recent LinkedIn posts into the Obsidian vault as weekly markdown files matching the social-corpus format.
SkillCFreshness: CClaude Code +9
Cite this page
zight skill. Agent Mart. https://agentmart.dev/skills/marcelfahle-zight (last updated 2026-10-24)