Thank you for your interest in contributing to the OpenCode Config repository! This document provides guidelines for contributing new skills, improving existing ones, and maintaining code quality.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/opencode-config.git - Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Test your changes locally
- Commit with descriptive messages following conventional commits
- Push to your fork:
git push origin feature/your-feature-name - Create a Pull Request
Each skill should follow this structure:
skills/<skill-name>/
└── SKILL.md
---
name: skill-name
description: Brief description of what this skill covers
---
# Skill Name
## Overview
Brief explanation of the skill's purpose and scope.
## Core Principles
### 1. Principle Name
Explanation with code examples:
```language
// Good example
function goodExample() {
// Implementation
}
// Bad example
function badExample() {
// Implementation
}## When to Use This Skill
List specific scenarios when this skill should be applied.
## Related Skills
- `@other-skill` - Description
- Use clear, concise language - Avoid unnecessary jargon
- Include practical examples - Every concept should have code examples
- Show good vs bad practices - Use ✅ DO and ❌ DON'T format
- Be comprehensive but focused - Cover important patterns without being overwhelming
- Include error handling - Show how to handle common error scenarios
- Add cross-references - Link to related skills
- Use consistent formatting - Follow the existing skill format
- Use syntax highlighting for all code blocks
- Include comments explaining non-obvious code
- Show realistic, production-ready examples
- Include imports and necessary context
All skills must include YAML frontmatter:
---
name: skill-name
description: Brief, clear description (max 100 characters)
---Follow conventional commits:
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New skill or featurefix: Bug fix in existing skilldocs: Documentation improvementsrefactor: Code refactoring without functional changeschore: Maintenance tasks
Examples:
feat(skills): add python-patterns skillfix(go-conventions): correct error handling exampledocs(readme): update installation instructions
- Title: Use clear, descriptive title
- Description: Explain what changed and why
- Checklist:
- Skill follows the template structure
- All code examples are tested/valid
- Documentation is clear and complete
- No breaking changes (or clearly documented)
- Related skills are cross-referenced
- All PRs require at least one review
- Address review comments promptly
- Maintain respectful, constructive communication
- Be respectful and inclusive
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Accept responsibility for mistakes
- Harassment or discrimination
- Trolling or insulting comments
- Personal or political attacks
- Publishing others' private information
- Open an issue for questions or suggestions
- Join discussions in existing issues
- Check existing skills for examples
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to OpenCode Config!