feature-video
Record a video walkthrough of a feature and add it to the PR description.
Skill by gvkhosla
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gvkhosla-feature-video
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
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 and code. 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/feature-video
What's inside
- Skill name
feature-video- Description
- Record a video walkthrough of a feature and add it to the PR description. Use when a PR needs a visual demo for reviewers, when the user asks to demo a feature, create a PR video, record a walkthrough, show what changed visually, or add a video to a pull request.
- License
- MIT
- Instructions
- 378 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Feature Video Walkthrough Record browser interactions demonstrating a feature, stitch screenshots into an MP4 video, upload natively to GitHub, and embed in the PR description as an inline video player. ## Prerequisites - Local development server running (e.g., `bin/dev`, `npm run dev`, `rails server`) - `agent-browser` CLI installed (load the `agent-browser` skill for details) - `ffmpeg` installed (for video conversion) - `gh` CLI authenticated with push access to the repo - Git repository on a feature branch (PR optional -- skill can create a draft or record-only) - One-time GitHub browser auth (see Step 6 auth check) ## Main Tasks ### 1. Parse Arguments & Resolve PR **Arguments:** $ARGUMENTS Parse the input: - First argument: PR number, "current" (defaults to current branch's PR), or path to an existing `.mp4` file (upload-only resume mode) - Second argument: Base URL (defaults to `http://localhost:3000`) **Upload-only resume:** If the first argument ends in `.mp4` and the file exists, skip Steps 2-5 and proceed directly to Step 6 using that file. Resolve the PR number from the current branch (`gh pr view --json number -q '.number'`). If an explicit PR number was provided, verify it exists and use it directly: ```bash gh pr view [number] --json number -q '.number' ``` If no explicit PR number was provided (or "current" was specified), check if a PR exists for the current branch: ```bash gh pr view --json number -q '.number' ``` If no PR exists for the current branch, ask the user how to proceed. **Use the platform's blocking question tool** (`AskUserQuestion` in Claude Code, `request_user_input` in Codex, `ask_user` in Gemini): ``` No PR found for the current branch. 1. Create a draft PR now and continue (recommended) 2. Record video only -- save locally and upload later when a PR exists 3. Cancel ``` If option 1: create a draft PR with a placeholder title derived from the branch name, then continue with the new PR number: ```bash gh pr create --draft --title "[branch-name-humanized]" --body "Draft PR for video walkthrough" ``` If option 2: set `RECORD_ONLY=true`. Proceed through Steps 2-5 (record and encode), skip Steps 6-7 (upload and PR update), and report the local video path and `[RUN_ID]` at the end. **Upload-only resume:** To upload a previously recorded video, pass an existing video file path as the first argument (e.g., `/feature-video .context/compound-engineering/feature-video/1711234567/videos/feature-demo.mp4`). When the first argument is a path to an `.mp4` file, skip Steps 2-5 and proceed directly to Step 6 using that file for upload. ### 1b. Verify Required Tools Before proceeding, check that required CLI tools are installed. Fail early with a clear message rather than failing mid-workflow after screenshots have been recorded: ```bash command -v ffmpeg ``` ```bash command -v agent-browser ``` ```bash command -v gh ``` If any tool is missing, stop and report which tools need to be installed: - `ffmpeg`: `brew install ffmpeg` (macOS) or equivalent - `agent-browser`: load the `agent-browser` skill for installation instructions - `gh`: `brew install gh` (macOS) or see https://cli.github.com Do not proceed to Step 2 until all tools are available. ### 2. Gather Feature Context **If a PR is available**, get PR details and changed files: ```bash gh pr view [number] --json title,body,files,headRefName -q '.' ``` ```bash gh pr view [number] --json files -q '.files[].path' ``` **If in record-only mode (no PR)**, detect the default branch and derive context from the branch diff. Run both commands in a single block so the variable persists: ```bash DEFAULT_BRANCH=$(gh repo view --json defaultBranchRef -q '.defaultBranchRef.name') && git diff --name-only "$DEFAULT_BRANCH"...HEAD && git log --oneline "$DEFAULT_BRANCH"...HEAD ``` Map changed files to routes/pages that should be demonstrated. Examine the project's routing configuration (e.g., `routes.rb`, `next.config.js`, `app/` directory structure) to determine which URLs correspond to the changed files. ### 3. Plan the Video Flow Before recording, create a shot list: 1. **Opening shot**: Homepage or starting point (2-3 seconds) 2. **Navigation**: How user gets to the feature 3. **Feature demonstration**: Core functionality (main focus) 4. **Edge cases**: Error states, validation, etc. (if applicable) 5. **Success state**: Completed action/result Present the proposed flow to the user for confirmation before recording. **Use the platform's blocking question tool when available** (`AskUserQuestion` in Claude Code, `request_user_input` in Codex, `ask_user` in Gemini). Otherwise, present numbered options and wait for the user's reply before proceeding: ``` Proposed Video Flow for PR #[number]: [title] 1. Start at: /[starting-route] 2. Navigate to: /[feature-route]
From gvkhosla/compound-engineering-pi, MIT.
More from gvkhosla/compound-engineering-pi
- 0.668score
rclone
gvkhosla
Upload, sync, and manage files across cloud storage providers using rclone.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
resolve-pr-parallel
gvkhosla
Resolve all PR comments using parallel processing.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
document-review
gvkhosla
Review requirements or plan documents using parallel persona agents that surface role-specific issues.
SkillAFreshness: A★ 51Claude Code +9 - 0.664score
claude-permissions-optimizer
gvkhosla
Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
frontend-design
gvkhosla
Build web interfaces with genuine design quality, not AI slop.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
ankane-readme-writer
gvkhosla
Creates or updates README files following Ankane-style template for Ruby gems.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
architecture-strategist
gvkhosla
Analyzes code changes from an architectural perspective for pattern compliance and design integrity.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
reproduce-bug
gvkhosla
Systematically reproduce and investigate a bug from a GitHub issue.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
deepen-plan
gvkhosla
Stress-test an existing implementation plan and selectively strengthen weak sections with targeted research.
SkillAFreshness: A★ 51Claude Code +9 - 0.660score
agent-native-reviewer
gvkhosla
Reviews code to ensure agent-native parity — any action a user can take, an agent can also take.
SkillAFreshness: A★ 51Claude Code +9 - 0.660score
api-contract-reviewer
gvkhosla
Conditional code-review persona, selected when the diff touches API routes, request/response types, serialization, versioning, or exported type signatures.
SkillAFreshness: A★ 51Claude Code +9 - 0.659score
dspy-ruby
gvkhosla
Build type-safe LLM applications with DSPy.rb — Ruby's programmatic prompt framework with signatures, modules, agents, and optimization.
SkillAFreshness: A★ 51Claude Code +9
Signals
- Stars
- 51
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Apr 21, 2026 (6 months ago)
- Last release
- Oct 1, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gvkhosla
- 0.668score
resolve-pr-parallel
gvkhosla
Resolve all PR comments using parallel processing.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
document-review
gvkhosla
Review requirements or plan documents using parallel persona agents that surface role-specific issues.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
rclone
gvkhosla
Upload, sync, and manage files across cloud storage providers using rclone.
SkillAFreshness: A★ 51Claude Code +9 - 0.664score
claude-permissions-optimizer
gvkhosla
Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
frontend-design
gvkhosla
Build web interfaces with genuine design quality, not AI slop.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
reproduce-bug
gvkhosla
Systematically reproduce and investigate a bug from a GitHub issue.
SkillAFreshness: A★ 51Claude Code +9
Cite this page
feature-video skill. Agent Mart. https://agentmart.dev/skills/gvkhosla-feature-video (last updated 2026-10-24)