Thank you for your interest in contributing to OpenSkills!
- TypeScript: All code must be TypeScript with strict type checking
- Testing: Include tests for new functionality (we use vitest)
- Documentation: Update README.md for user-facing changes
- Modular design: Keep functions focused and under 50 lines
- Minimal dependencies: Avoid adding dependencies unless necessary
- Fork the repository and create a feature branch
- Write clear commit messages explaining the "why" not just "what"
- Include tests for new functionality
- Update documentation (README.md, docs/)
- Ensure all checks pass (typecheck, test, build)
- Submit PR with clear description of changes
# Clone your fork
git clone https://github.com/your-username/openskills
cd openskills
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Link locally for testing
npm link
npx openskills list# Type check
npm run typecheck
# Run tests
npm test
# Watch mode
npm run test:watch
# Coverage
npm run test:coverage
# Test CLI locally
npm link
npx openskills install anthropics/skills/pdf-editor --project
npx openskills sync
npx openskills read pdf-editorsrc/
├── cli.ts # Main entry point
├── commands/ # Command implementations
├── utils/ # Shared utilities
└── types.ts # TypeScript interfaces
tests/
└── utils/ # Unit tests
When reporting issues, please:
- Check existing issues to avoid duplicates
- Provide clear reproduction steps
- Include version information (
npx openskills --version,node --version) - Use issue templates (bug report or feature request)
We welcome feature requests that:
- Improve usability for AI coding agents
- Enhance AGENTS.md integration
- Maintain compatibility with Anthropic's SKILL.md spec
- Work universally across agents (Claude Code, Cursor, Windsurf, Aider)
For questions about:
- Usage: Open a GitHub issue
- Contributing: Open a discussion thread
- Anthropic Skills spec: See Anthropic's documentation
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.
Thank you for helping make OpenSkills better!