/contribute
Share improvements - issues, PRs, skills, templates
$ npx -y skills add digitalsamba/claude-code-video-toolkit --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/contribute
Context preview
What this command does when you run it.
Share improvements - issues, PRs, skills, templates
Command definition
contribute.mddescription: Share improvements - issues, PRs, skills, templates
Contribute
Help users contribute improvements back to the toolkit without sharing their private project work.
Entry Point
When invoked, determine the contribution type:
How would you like to contribute?
1. **Report an issue** - Bug, missing feature, or question
2. **Submit an improvement** - PR for command, skill, template, or docs
3. **Share a new skill** - Package domain knowledge you've developed
4. **Share a template** - Generalize a project into a reusable template
5. **Share an example project** - Showcase a real project (configs + scripts, no large media)
Which would you like to do?
---
Option 1: Report an Issue
I'll help you create a GitHub issue.
What type of issue?
1. ๐ Bug report
2. ๐ก Feature request
3. ๐ Documentation improvement
4. โ Question
Describe the issue:
Then generate issue with `gh issue create`:
gh issue create \
--repo digitalsamba/claude-code-video-toolkit \
--title "Bug: description" \
--body "## Description
[User's description]
## Steps to Reproduce
[If bug]
## Expected Behavior
[If bug]
---
Reported via /contribute command"
---
Option 2: Submit an Improvement
Step 1: Verify Safety
Let me check what would be shared...
โ
Safe to share:
.claude/commands/video.md (modified)
.claude/skills/ffmpeg/SKILL.md (modified)
โ Ignored (stays private):
projects/ (your video work)
assets/voices/ (your voice samples)
.env (secrets)
Does this look right?
Step 2: Create Branch & Commit
# Show current status
git status
# Create branch
git checkout -b improve/short-description
# Stage toolkit files only
git add .claude/ templates/ lib/ docs/ _internal/ tools/ brands/default/
# Commit with description
git commit -m "$(cat <<'EOF'
Improve: short description
Longer description of what changed and why.
๐ค Generated with Claude Code
EOF
)"
Step 3: Create PR
gh pr create \
--title "Improve: short description" \
--body "$(cat <<'EOF'
## Summary
What this PR improves.
## Changes
- Change 1
- Change 2
## Testing
How to test the improvement.
---
๐ค Generated with Claude Code
EOF
)"
Step 4: Confirmation
PR created! ๐
View at: [PR URL]
Your projects/ directory was NOT included.
Only toolkit improvements were shared.
After merge, you can update your local copy:
git checkout main
git pull
---
Option 3: Share a Skill
Step 1: Identify Skill
Which skill would you like to share?
Found in .claude/skills/:
1. ffmpeg (beta) - already in toolkit
2. my-new-skill (draft) - your addition
Or describe a new skill to create.
Step 2: Prepare Skill
Check skill is ready:
- [ ] SKILL.md has clear description
- [ ] Examples are tested and work
- [ ] No project-specific paths or secrets
- [ ] Status is at least "beta"
Step 3: Create PR
Same as Option 2, but focused on `.claude/skills/{name}/`
---
Option 4: Share a Template
Step 1: Identify Template
Templates are generalized from projects.
Do you have a project you'd like to turn into a template?
Or an existing template in templates/ to share?
Step 2: Generalize (if from project)
To turn a project into a shareable template:
1. Copy to templates/:
cp -r projects/my-video templates/my-template
2. Remove project-specific content:
- Clear demo videos from public/demos/
- Reset config to example values
- Remove generated audio
- Update README with generic instructions
3. Verify it works:
cd templates/my-template
npm install
npm run studio
Ready to proceed?
Step 3: Create PR
Same as Option 2, but focused on `templates/{name}/`
---
Option 5: Share an Example Project
Example projects showcase real-world usage. They include configs, scripts, and documentation but NOT large media files.
Step 1: List Available Projects
Found in projects/:
1. digital-samba-skill-demo
Marketing video for DS Claude Code skill
Template: product-demo style
2. sprint-review-cho-oyu
iOS sprint review for Digital Samba Mobile
Template: sprint-review
Which project would you like to share as an example?Step 1b: Contributor Recognition
We'd like to credit you for sharing this example!
Your name or organization: ___
Website URL (optional, for backlink): ___
This will appear in:
- examples/README.md (Contributors table)
- The example's own README.md
- Project's CLAUDE.md
Leave blank to contribute anonymously.
Step 2: Prepare for Sharing
Preparing: digital-samba-skill-demo
I'll copy to examples/ and remove large media files.
The following will be INCLUDED:
โ
Configs and source code
- remotion/src/config/*.ts
- remotion/src/components/**
- remotion/package.json
โ
Documentation
- VIDEO-SPEC.md
- VOICEOVER-SCRIPT.md
- CLAUDE.md
- PROJECT-STATUS.md
โ
Small assets (logos, icons)
- remotion/public/images/*.png
- remotion/public/images/*.svg
The following will be EXCLUDED:
โ Large media (gitignored)
- remotion/public/demos/*.mp4
- remotion/public/audio/*.mp3
- node_modules/
- .venv/
- out/
โ Secrets
- .env
Proceed?Step 3: Copy and Clean
# Copy project to examples
cp -r projects/{name} examples/{name}
# Remove large media (will be gitignored anyway, but clean up)
rm -rf examples/{name}/remotion/public/demos/*.mp4 2>/dev/null
rm -rf examples/{name}/remotion/public/audio/*.mp3 2>/dev/null
rm -rf examples/{name}/remotion/node_modules 2>/dev/null
rm -rf examples/{name}/remotion/.remotion 2>/dev/null
rm -rf examples/{name}/remotion/out 2>/dev/null
rm -rf examples/{name}/.venv 2>/dev/null
rm -f examples/{name}/.env 2>/dev/null
rm -f examples/{name}/.DS_Store 2>/dev/nullStep 4: Create ASSETS-NEEDED.md
Generate documentation of what media assets are needed:
Read more
description: Share improvements - issues, PRs, skills, templates
Contribute
Help users contribute improvements back to the toolkit without sharing their private project work.
Entry Point
When invoked, determine the contribution type:
How would you like to contribute? 1. **Report an issue** - Bug, missing feature, or question 2. **Submit an improvement** - PR for command, skill, template, or docs 3. **Share a new skill** - Package domain knowledge you've developed 4. **Share a template** - Generalize a project into a reusable template 5. **Share an example project** - Showcase a real project (configs + scripts, no large media) Which would you like to do?
---
Option 1: Report an Issue
I'll help you create a GitHub issue. What type of issue? 1. ๐ Bug report 2. ๐ก Feature request 3. ๐ Documentation improvement 4. โ Question Describe the issue:
Then generate issue with `gh issue create`:
gh issue create \ --repo digitalsamba/claude-code-video-toolkit \ --title "Bug: description" \ --body "## Description [User's description] ## Steps to Reproduce [If bug] ## Expected Behavior [If bug] --- Reported via /contribute command"
---
Option 2: Submit an Improvement
Step 1: Verify Safety
Let me check what would be shared... โ Safe to share: .claude/commands/video.md (modified) .claude/skills/ffmpeg/SKILL.md (modified) โ Ignored (stays private): projects/ (your video work) assets/voices/ (your voice samples) .env (secrets) Does this look right?
Step 2: Create Branch & Commit
# Show current status git status # Create branch git checkout -b improve/short-description # Stage toolkit files only git add .claude/ templates/ lib/ docs/ _internal/ tools/ brands/default/ # Commit with description git commit -m "$(cat <<'EOF' Improve: short description Longer description of what changed and why. ๐ค Generated with Claude Code EOF )"
Step 3: Create PR
gh pr create \ --title "Improve: short description" \ --body "$(cat <<'EOF' ## Summary What this PR improves. ## Changes - Change 1 - Change 2 ## Testing How to test the improvement. --- ๐ค Generated with Claude Code EOF )"
Step 4: Confirmation
PR created! ๐ View at: [PR URL] Your projects/ directory was NOT included. Only toolkit improvements were shared. After merge, you can update your local copy: git checkout main git pull
---
Option 3: Share a Skill
Step 1: Identify Skill
Which skill would you like to share? Found in .claude/skills/: 1. ffmpeg (beta) - already in toolkit 2. my-new-skill (draft) - your addition Or describe a new skill to create.
Step 2: Prepare Skill
Check skill is ready:
- [ ] SKILL.md has clear description
- [ ] Examples are tested and work
- [ ] No project-specific paths or secrets
- [ ] Status is at least "beta"
Step 3: Create PR
Same as Option 2, but focused on `.claude/skills/{name}/`
---
Option 4: Share a Template
Step 1: Identify Template
Templates are generalized from projects. Do you have a project you'd like to turn into a template? Or an existing template in templates/ to share?
Step 2: Generalize (if from project)
To turn a project into a shareable template: 1. Copy to templates/: cp -r projects/my-video templates/my-template 2. Remove project-specific content: - Clear demo videos from public/demos/ - Reset config to example values - Remove generated audio - Update README with generic instructions 3. Verify it works: cd templates/my-template npm install npm run studio Ready to proceed?
Step 3: Create PR
Same as Option 2, but focused on `templates/{name}/`
---
Option 5: Share an Example Project
Example projects showcase real-world usage. They include configs, scripts, and documentation but NOT large media files.
Step 1: List Available Projects
Found in projects/:
1. digital-samba-skill-demo
Marketing video for DS Claude Code skill
Template: product-demo style
2. sprint-review-cho-oyu
iOS sprint review for Digital Samba Mobile
Template: sprint-review
Which project would you like to share as an example?Step 1b: Contributor Recognition
We'd like to credit you for sharing this example! Your name or organization: ___ Website URL (optional, for backlink): ___ This will appear in: - examples/README.md (Contributors table) - The example's own README.md - Project's CLAUDE.md Leave blank to contribute anonymously.
Step 2: Prepare for Sharing
Preparing: digital-samba-skill-demo
I'll copy to examples/ and remove large media files.
The following will be INCLUDED:
โ
Configs and source code
- remotion/src/config/*.ts
- remotion/src/components/**
- remotion/package.json
โ
Documentation
- VIDEO-SPEC.md
- VOICEOVER-SCRIPT.md
- CLAUDE.md
- PROJECT-STATUS.md
โ
Small assets (logos, icons)
- remotion/public/images/*.png
- remotion/public/images/*.svg
The following will be EXCLUDED:
โ Large media (gitignored)
- remotion/public/demos/*.mp4
- remotion/public/audio/*.mp3
- node_modules/
- .venv/
- out/
โ Secrets
- .env
Proceed?Step 3: Copy and Clean
# Copy project to examples
cp -r projects/{name} examples/{name}
# Remove large media (will be gitignored anyway, but clean up)
rm -rf examples/{name}/remotion/public/demos/*.mp4 2>/dev/null
rm -rf examples/{name}/remotion/public/audio/*.mp3 2>/dev/null
rm -rf examples/{name}/remotion/node_modules 2>/dev/null
rm -rf examples/{name}/remotion/.remotion 2>/dev/null
rm -rf examples/{name}/remotion/out 2>/dev/null
rm -rf examples/{name}/.venv 2>/dev/null
rm -f examples/{name}/.env 2>/dev/null
rm -f examples/{name}/.DS_Store 2>/dev/nullStep 4: Create ASSETS-NEEDED.md
Generate documentation of what media assets are needed:
Tell Claude Code what video you want โ it writes the script, generates the voiceover, music, and visuals, and renders the MP4.
Repo: digitalsamba/claude-code-video-toolkit
Other commands on claude-code-video-toolkit.
- /brand
Brand profiles - list, edit, or create new
Open command - /design
Focused design session for improving video scene visuals using the frontend-design skill.
Open command - /generate-voiceover
Generate AI voiceover from script
Open command - /publish
Publish a finished video to YouTube
Open command - /record-demo
Guided Playwright browser recording
Open command - /redub
Redub video with a different voice
Open command

