Contributing to Spotify Skills for Claude
October 22, 2025 ยท View on GitHub
Thank you for your interest in contributing! This project welcomes contributions of all kinds - from bug reports to new features to additional skill examples.
๐ Quick Start for Contributors
- Fork & Clone: Fork the repo and clone locally
- Set up environment:
python -m venv .venv && .venv\Scripts\activate(Windows) orsource .venv/bin/activate(Mac/Linux) - Install dependencies:
pip install -r spotify-api/requirements.txt - Make changes: Work on your feature/fix
- Test: Validate your skill with
python tools/validate_skill.py ./spotify-api - Submit PR: Open a pull request with clear description
๐ฏ Contribution Types
๐ Bug Reports
Found an issue? Open a bug report
๐ก Feature Requests
Have an idea? Suggest a feature
๐ Documentation
Improve clarity: Fix typos, add examples, clarify instructions
๐ง Code Contributions
Bug fixes: Address reported issues Features: Add new capabilities (discuss first in issues) Refactoring: Improve code quality
๐จ Example Skills
Share your work: Created a useful skill? Add it to examples/
๐ Reporting Issues
๐ Reporting Issues
Include these details:
- Clear description of the issue
- Steps to reproduce (numbered list)
- Expected vs actual behavior
- Environment: OS, Python version, Claude Desktop version
- Error messages or screenshots
- Related files (if applicable)
Pro tip: Check existing issues first to avoid duplicates.
๐ก Suggesting Features
๐ก Suggesting Features
Provide this information:
- Use case: What problem does this solve?
- Value: Why is this important?
- Examples: Show what you envision (code, mockups, workflows)
- Alternatives: Have you considered other approaches?
Pro tip: Start a Discussion for major features to get community feedback first.
๐ง Pull Request Process
Before You Start
- Check existing work: Browse issues and PRs
- Claim the issue: Comment "I'll work on this" to avoid duplicate effort
- Discuss approach: For large changes, outline your plan in the issue
Development Workflow
# 1. Fork and clone
git clone https://github.com/YOUR-USERNAME/spotify-skill.git
cd spotify-skill
# 2. Create feature branch
git checkout -b feature/your-feature-name
# 3. Set up environment
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Mac/Linux
pip install -r spotify-api/requirements.txt
# 4. Make your changes
# ... edit files ...
# 5. Validate (if editing skill files)
python tools/validate_skill.py ./spotify-api
# 6. Test locally
# Test your changes thoroughly
# 7. Commit with clear messages
git add .
git commit -m "feat: add playlist shuffle feature"
# 8. Push to your fork
git push origin feature/your-feature-name
# 9. Open PR on GitHub
PR Requirements
โ Must Have:
- Clear description of changes
- Link to related issue(s)
- Tests pass (run validation tool)
- Documentation updated (if applicable)
- Commits are focused and well-described
โ Good to Have:
- Screenshots/examples of new features
- Before/after comparisons
- Performance considerations noted
Commit Message Format
Use conventional commits:
feat:New featurefix:Bug fixdocs:Documentation onlyrefactor:Code restructuringtest:Adding testschore:Maintenance tasks
Examples:
feat: add batch playlist creation tool
fix: resolve OAuth token refresh issue
docs: clarify cover art generation steps
refactor: improve error handling in spotify_client
๐ Code Standards
๐ Code Standards
Python Code
- Follow PEP 8 style guide
- Use meaningful variable/function names
- Add docstrings for classes and functions
- Keep functions focused and small
- Handle errors gracefully with try/except
Documentation
- Use clear, concise language
- Include practical examples
- Test all code snippets
- Check spelling and grammar
- Verify all links work
Skill Development
- Follow Agent Skills Spec
- Keep SKILL.md under 5,000 words
- Use YAML frontmatter correctly
- Validate before submitting:
python tools/validate_skill.py ./your-skill
๐จ Contributing Example Skills
Have you created a useful skill? Share it with the community!
What Makes a Good Example
- Solves a real problem: Addresses actual use cases
- Well-documented: Clear SKILL.md with examples
- Different pattern: Shows something not already covered
- Production-ready: Tested and working
How to Submit
- Create your skill in a new folder under
examples/ - Ensure it validates:
python tools/validate_skill.py ./examples/your-skill - Add entry to
examples/README.mdwith description - Open PR with "example:" prefix:
example: add weather API skill
๐งช Testing
Manual Testing
- Test all modified features
- Try different scenarios (success, errors, edge cases)
- Verify on your environment
Validation Tool
# Validate skill structure
python tools/validate_skill.py ./spotify-api
# Package to check contents
python tools/package_skill.py ./spotify-api ./test-dist
๐ Documentation Changes
๐ Documentation Changes
Checklist:
- Information is accurate and up-to-date
- Examples are tested and work
- Links are valid
- Spelling and grammar checked
- Follows existing formatting style
- Cross-references updated if needed
Files to Update:
README.md- Overview and quick referenceUSER_GUIDE.md- Comprehensive usage instructionsQUICK_START.md- Fast setup guideCHANGELOG.md- Version history (for releases)- Skill-specific docs in
spotify-api/
๐ฃ๏ธ Getting Help
Before Starting:
- Read USER_GUIDE.md for comprehensive documentation
- Check Guide/00_START_HERE.md for skill creation help
- Browse GitHub Discussions
Need Assistance:
- ๐ฌ Questions: Use GitHub Discussions
- ๐ Bugs: Open an issue
- ๐ Clarifications: Comment on relevant issues/PRs
โ PR Review Process
What to Expect
- Automated checks: Validation and linting run automatically
- Maintainer review: Usually within 2-3 business days
- Feedback: We may request changes or clarifications
- Iteration: Update your PR based on feedback
- Merge: Once approved, we'll merge your contribution!
Tips for Faster Review
- Keep PRs focused (one feature/fix per PR)
- Respond to feedback promptly
- Be patient and professional
- Update your branch if conflicts arise
๐ค Code of Conduct
Our Standards
- Be respectful: Treat everyone with kindness and respect
- Be inclusive: Welcome people of all backgrounds and experience levels
- Be constructive: Provide helpful feedback, not just criticism
- Be patient: Remember everyone is learning
- Be collaborative: Work together to solve problems
Unacceptable Behavior
- Harassment, trolling, or personal attacks
- Spam or off-topic content
- Sharing private information without consent
- Violation of privacy or security
Reporting: Email maintainers or use GitHub's reporting features
๐ฏ Priority Areas
Want to make a high-impact contribution? Focus on these areas:
High Priority
- ๐ Bug fixes - See issues labeled "bug"
- ๐ Documentation improvements - Clarify confusing sections
- ๐จ Example skills - More real-world patterns
Medium Priority
- โจ New features - Enhance existing capabilities
- ๐งช Test coverage - Add validation and error handling
- โฟ Accessibility - Improve cover art contrast and readability
Community Requests
- Check issues labeled "enhancement"
- Vote with ๐ on features you'd like to see
- Comment with your use cases
๐ License
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.
Your contributions will be attributed in:
- Git commit history
- Release notes (for significant contributions)
- CHANGELOG.md (for features and major fixes)
๐ Thank You!
Every contribution matters - whether it's a typo fix or a major feature. Thank you for helping make Spotify Skills for Claude better for everyone!
Join the community:
- โญ Star the repo
- ๐ฌ Join discussions
- ๐ฆ Share with others
Questions? Check our Documentation or Start a Discussion
Current Release: v0.9.0