Thank you for your interest in contributing to Frontend Slides! This community-driven adaptation of the original Claude Code skill is designed to work seamlessly with OpenCode. We welcome contributions from developers of all skill levels.
- Code of Conduct
- Getting Started
- Development Setup
- Ways to Contribute
- Pull Request Process
- Style Guides
- Community
By participating in this project, you are expected to uphold our Code of Conduct. Please report unacceptable behavior to the maintainers.
frontend-slides-OpenCode/
├── SKILL.md # Main skill definition (required for OpenCode)
├── README.md # Documentation
├── STYLE_PRESETS.md # Visual style references
├── viewport-base.css # Mandatory responsive CSS
├── html-template.md # HTML structure reference
├── animation-patterns.md # Animation reference
├── LICENSE # MIT License
├── CONTRIBUTING.md # This file
├── CODE_OF_CONDUCT.md # Community code of conduct
└── scripts/
└── extract-pptx.py # PPTX extraction script
- SKILL.md - The core skill definition that OpenCode reads. Contains the workflow, rules, and prompts.
- Supporting Files - Additional reference files loaded on-demand during skill execution.
- OpenCode Skills - Skills are discovered from
~/.config/opencode/skills/directory.
- OpenCode installed
- Python 3.8+ (for PPTX extraction)
- Git
-
Fork the repository Click the "Fork" button on the GitHub page.
-
Clone your fork
git clone https://github.com/YOUR_USERNAME/frontend-slides-OpenCode.git cd frontend-slides-OpenCode -
Create a symlink for testing
# For OpenCode ln -s $(pwd) ~/.config/opencode/skills/frontend-slides
-
Test your changes
- Open OpenCode
- Invoke the frontend-slides skill
- Create a test presentation
- Verify your changes work correctly
# Install dependencies
pip install python-pptx Pillow
# Test the extraction script
python scripts/extract-pptx.py test-presentation.pptx output-dirUse GitHub Issues to report bugs. Include:
- A quick summary and background
- Steps to reproduce
- What you expected vs what happened
- Notes (possibly including why you think this might be happening)
Use GitHub Issues to suggest features. Include:
- What feature you want and why
- How it should work
- Alternative solutions you've considered
Want to add a new visual style? Here's how:
- Add the style definition to STYLE_PRESETS.md
- Include color palette, typography, and signature elements
- Test with the viewport-base.css rules
- Submit a PR with:
- Style name and description
- CSS variables
- Preview image (optional)
Improvements to documentation are always welcome:
- Fix typos or unclear explanations
- Add examples
- Translate to other languages
Bug fixes and new features are greatly appreciated:
- Find an issue to work on or create a new one
- Fork the repo and create a feature branch
- Make your changes
- Submit a pull request
- Test locally - Ensure your changes work with OpenCode
- Follow style guides - Keep code consistent with the project
- Update documentation - If you change functionality, update relevant docs
- I have tested my changes locally
- My code follows the style guidelines
- I have updated documentation if needed
- My changes are consistent with the project's scope
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Style preset addition
## Testing
How did you test your changes?
## Screenshots
If applicable, add screenshots- Use clear, concise language
- Include examples where helpful
- Keep the workflow logical and sequential
- Maintain the YAML frontmatter format
- Always use
clamp()for responsive sizing - Include
viewport-base.cssin every presentation - Follow the CSS gotchas in STYLE_PRESETS.md
- Test on multiple viewport sizes
- Use vanilla JavaScript (no frameworks)
- Include Intersection Observer for animations
- Support keyboard and touch navigation
- Follow the inline editing implementation pattern
- Use ATX-style headers (# ## ###)
- Include code blocks with language hints
- Keep lines at reasonable length (80 chars)
- Use tables for structured data
- GitHub Discussions - For questions and ideas
- GitHub Issues - For bug reports and feature requests
Contributors will be recognized in:
- The README.md contributors section
- Release notes
By contributing, you agree that your contributions will be licensed under the MIT License.
If you have questions, feel free to open a GitHub Discussion or reach out to the maintainers.
Thank you for contributing! 🚀