SKILL.md
General Development Skills
This skill provides best practices for core software development workflows including code reviews, testing, and continuous integration/deployment.
Code Review Practices
Purpose
Maintain code quality and knowledge sharing through effective peer reviews.
Guidelines
- Review Process
- Review PRs within 24 hours when possible - Check for logic errors, edge cases, and code clarity - Verify tests are included for new functionality - Ensure documentation is updated when needed
- Providing Feedback
- Use constructive language and specific suggestions - Highlight what was done well, not just issues - Ask clarifying questions rather than making assumptions - Request changes only for critical issues; suggest improvements for non-blocking issues
- Checklist
- Code follows project style guide and conventions - Changes are properly tested - Documentation is complete - No hardcoded credentials or sensitive data - Performance implications considered - Dependencies are necessary and up-to-date
Example
When reviewing a feature branch, check that:
- All tests pass
- Code coverage doesn't decrease
- No console.log statements remain
- Type safety is maintained
Testing Strategies
Purpose
Ensure application reliability and prevent regressions through comprehensive testing.
Testing Levels
- Unit Tests
- Test individual functions and components in isolation - Use mocking for external dependencies - Aim for high coverage of business logic - Keep tests focused and readable
- Integration Tests
- Test component interactions and data flows - Verify API endpoints with realistic data - Test database operations and queries - Check error handling across components
- End-to-End Tests
- Test critical user journeys - Use browser automation for UI testing - Verify full workflow from input to output - Keep E2E tests lean and focused
Best Practices
- Write tests alongside code during development
- Use descriptive test names that explain what is being tested
- Keep tests DRY while maintaining clarity
- Run tests locally before pushing
- Maintain test data fixtures
CI/CD Integration
Purpose
Automate code quality checks and deployment processes for faster, safer releases.
Pipeline Stages
- Build Stage
- Compile/transpile code - Generate artifacts - Fail fast on compilation errors
- Test Stage
- Run unit and integration tests - Perform linting and code quality checks - Generate coverage reports - Fail on coverage thresholds
- Security Stage
- Scan dependencies for vulnerabilities - Check for secrets in code - Perform static analysis
- Deploy Stage
- Run E2E tests against staging - Deploy to staging environment - Run smoke tests - Deploy to production (with approvals if needed)
Recommended Tools
- GitHub Actions for CI/CD orchestration
- ESLint for code linting
- Vitest/Jest for testing
- SonarQube for code quality metrics
- Dependabot for dependency updates
Example Workflow
- Trigger: Push to main or PR opened
- Build: Install dependencies, compile code
- Lint: Run ESLint, check formatting
- Test: Run unit and integration tests
- Security: Scan dependencies
- Deploy: Deploy to staging/production (with approvals)