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)