{
  "markdown": "# video-to-code-skill v1.3\n\nClaude Code Plugin following the open format: [agentskills.io/what-are-skills](https://agentskills.io/what-are-skills), [code.claude.com/docs/en/plugins](https://code.claude.com/docs/en/plugins)\n\nInputs the **content** of any video into **Claude Code prompt / context window** as a **multimodal bundle of voice transcription and data summary, time synced with keyframes** - screenshots of key moments from the video so it can be used for all further requests related to that content.\n\nThere are **limitless usage scenarios** for this skill. Now you can show and tell your LLM Agent what needs to be done in a complete flow, illustrated by the pre-recorded video, instead of typing text and pasting screenshots in individual steps. You can even have \"conversations\" with an Agent about the content found in the video etc., etc...\n\nRefer to **examples**: [references/usage-examples.md](references/usage-examples.md)\n\n**Tested on**: MacBook with Silicon chip & Claude Code Opus 4.5 / 4.6\n\nNote: Python script used to process video and audio content was **100% vibe coded**.\n\n**Disclaimer**: Before using this or any agentic tool, make sure you understand its autonomy in your system. This skill is provided for experimental purposes and you, as a user, take full responsibility for its actions. See [MIT License](LICENSE)\n\n**IMPORTANT**: I would like to advise you against extracting data from videos that haven't been done by you as unlikely, but potentially, they might be used for malicious prompt injection. There are some directives in the Skill to prevent this happening, but with LLMs nothing can be guaranteed. \n\n## What it does\n\n1. Extracts **keyframes** at scene changes using OpenCV\n2. Generates **audio transcription** using Whisper (MLX-accelerated on Mac)\n3. Syncs transcript segments with keyframes\n4. Produces a structured analysis with timestamps\n5. Saves a detailed `summary.md` with overview, key moments table, and a long-form walkthrough\n6. If the video contains narration/speech, saves `narration.md` with the full transcript in screenplay-ready format with timestamp ranges\n7. Finally, it asks the user what needs to be done with the new context\n\n## Installation\n\n### Option 1: From Anthropic marketplace (preferred)\n\n```\n/plugin install video-to-code-skill@claude-plugins-official\n```\n\n### Option 2: From GitHub\n\n```\n/plugin marketplace add PiotrLason/video-to-code-skill\n/plugin install video-to-code-skill@piotrlason-video-to-code-skill\n```\n\n### Option 3: From local clone\n\nClone the repo and add it as a local marketplace:\n\n```bash\ngit clone https://github.com/PiotrLason/video-to-code-skill.git\n```\n\n```\n/plugin marketplace add ./video-to-code-skill\n/plugin install video-to-code-skill@video-to-code-skill\n```\n\n### After installation\n\nRun `/video-to-code-skill -> setup-video-to-code-skill` to set up dependencies, then `/video-to-code-skill -> run-video-to-code-skill` to analyze a video.\n\nAt any time, run `/video-to-code-skill -> show-help-video-to-code-skill` to display the full plugin `README.md` directly in Claude Code with Markdown formatting.\n\nBoth commands also print the local path to the installed `README.md`, so users who installed from the marketplace can still find the full documentation from inside the plugin bundle.\n\n### Updating\n\n```\n/plugin marketplace update video-to-code-skill\n```\n\n## Prerequisites\n\n*Dependencies are installed by running `/video-to-code-skill -> setup-video-to-code-skill`.*\n\n| Requirement | Installation |\n|---|---|\n| Python 3 | Pre-installed on macOS |\n| opencv-python | `pip install opencv-python numpy` |\n| mlx-whisper | `pip install mlx-whisper` (Mac) |\n| openai-whisper | `pip install openai-whisper` (fallback) |\n| ffmpeg | `brew install ffmpeg` (for audio extraction) |\n\n## Input\n\n- Video file (`.mov`, `.mp4`, `.webm`) placed in `~/video-to-code-skill-storage/` folder\n- If multiple videos exist, picks the **latest by modification time**\n- If **no video file** is found in the storage folder, the skill automatically falls back to the **most recent archived video** from `~/video-to-code-skill-storage/archive/`\n- If launched with a **timestamp parameter** (`YYYY-MM-DD_HH-MM-SS`), the skill loads the matching archived analysis directly, skipping video processing entirely\n\n## Usage in Claude Code\n\n### Skills\n\n| Skill | Invocation | Description |\n|-------|------------|-------------|\n| **setup-video-to-code-skill** | `/video-to-code-skill -> setup-video-to-code-skill` | Sets up storage folder and installs dependencies. Run once before first use. |\n| **run-video-to-code-skill** | `/video-to-code-skill -> run-video-to-code-skill` | Analyzes a video — extracts keyframes, transcribes audio, summarizes, and archives. |\n| **show-help-video-to-code-skill** | `/video-to-code-skill -> show-help-video-to-code-skill` | Displays the full `README.md` in Markdown formatting inside Claude Code. |\n\n### Parameters (for `/video-to-code-skill -> run-video-to-code-skill`)\n\n| Parameter | Description | Default |\n|-----------|-------------|---------|\n| `-vd`, `-visual_details` | Visual detail level (1-10). 1 — fewest keyframes, 10 — most keyframes captured, highest sensitivity to visual change. Default is 10 — optimized for screen recordings where every detail and transition matters. **REMEMBER: Higher value means higher COST in tokens** | `10` |\n| `-sd`, `-summary_details` | Detail level for the \"Detailed Walkthrough\" in `summary.md` (1-10). 1 = 10% detail (brief), 10 = 100% detail (exhaustive). | `5` |\n| `YYYY-MM-DD_HH-MM-SS` | Timestamp of an archived video to load directly from the archive, skipping video processing. | — |\n\nBoth parameters use a 1-10 scale (10% to 100%). Tuning these is useful for different video sources and use cases.\n\nExamples:\n\n```\n/video-to-code-skill -> run-video-to-code-skill\n/video-to-code-skill -> run-video-to-code-skill -vd 8\n/video-to-code-skill -> run-video-to-code-skill -sd 8\n/video-to-code-skill -> run-video-to-code-skill 2026-03-19_10-12-51\n```\n\n## Output\n\n### Generated files\n\nVideo and analysis are archived to:\n\nLocated in `~/video-to-code-skill-storage/archive/YYYY-MM-DD_HH-MM-SS [video_filename]/analysis/`:\n\n| File | Description |\n|---|---|\n| `analysis.json` | Full structured data |\n| `transcript.json` | Audio transcription with timestamps |\n| `analysis.md` | Human-readable summary |\n| `keyframes/` | PNG images of key moments |\n\nLocated in `~/video-to-code-skill-storage/archive/YYYY-MM-DD_HH-MM-SS [video_filename]/`:\n\n| File | Description |\n|---|---|\n| `summary.md` | Detailed video analysis: high-level overview, key moments table with timestamps, and a long-form detailed walkthrough |\n| `narration.md` | *(only if video contains speech)* Full narration transcript in screenplay-ready format with timestamp ranges |\n\n### Console output\n\n- Video filename and duration\n- Summary of what the user is demonstrating\n- Key moments with timestamps\n- User's apparent intent\n\n## Contribution\n\nYou are welcome to contribute:\n\n1. Extending the tool's capabilities by opening a PR\n2. Submitting bug fixes\n3. Adding usage examples in [references/usage-examples.md](references/usage-examples.md)\n4. Adding information on detection threshold settings recommended for specific applications in this file.\n\n## License\n\n[MIT License](LICENSE)\n\n## Contact and Questions\n\nPiotr Lason: Find me on [LinkedIn](https://linkedin.com/in/piotrlason)\n",
  "bytes": 7389,
  "sha": "a52b77e7d4e32fc79e3ac774fc35851c86c381e6df25d6f1b2de7bdb82a1742d",
  "repo_slug": "piotrlason/video-to-code-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_piotrlason_video_to_code_skill_video_to__aa91986b/readme"
}