| name | pre-merge |
| description | Comprehensive verification workflow before merging changes to production. |
| user-invocable | false |
| disable-model-invocation | true |
| version | 1.0.0 |
| tags | [] |
| progressive_disclosure | {"entry_point":{"summary":"Comprehensive verification workflow before merging changes to production.","when_to_use":"When working with version control, branches, or pull requests.","quick_start":"1. Review the core concepts below. 2. Apply patterns to your use case. 3. Follow best practices for implementation."}} |
Pre-Merge Verification
Comprehensive verification workflow before merging changes to production.
When to Use This Skill
Use this skill when:
- Creating a pull request for review
- About to merge code to main/production branch
- Need systematic verification checklist
- Want to catch issues before code review
Pre-Commit Verification
Before committing code, verify:
Commands by Language
TypeScript/JavaScript:
npx tsc --noEmit
npm run lint
npm test
Python:
mypy src/
pylint src/
pytest
Go:
gofmt -l .
golangci-lint run
go test ./...
Pre-PR Verification
Before creating a pull request, ensure:
Required Information
Security Checklist (if API changes)
Database Changes (if schema changes)
UI Changes (if applicable)
Pre-Merge Verification
Before merging to main branch, confirm:
CI/CD Checks
Functional Verification
Documentation
PR Description Template
Use this template for comprehensive PR descriptions:
## Summary
[Brief description of what this PR does]
## Related Tickets
- Fixes #123
- Closes ENG-456
- Related to HEL-789
## Changes
- [ ] Feature: [Description]
- [ ] Bug Fix: [Description]
- [ ] Refactor: [Description]
- [ ] Documentation: [Description]
## Testing
### Unit Tests
- Added tests for [feature/function]
- Coverage: X%
### Manual Testing
- [ ] Tested on desktop (Chrome, Firefox, Safari)
- [ ] Tested on mobile (iOS Safari, Android Chrome)
- [ ] Tested edge cases: [list specific cases]
## Screenshots
### Desktop

### Tablet

### Mobile

## Breaking Changes
[List any breaking changes or write "None"]
### Migration Guide
[If breaking changes, provide migration steps]
## Performance Impact
[Describe any performance implications or write "No impact"]
## Security Considerations
[Describe security implications or write "No security impact"]
## Rollback Plan
[Describe how to rollback if issues occur]
## Deployment Notes
[Any special deployment considerations or write "Standard deployment"]
Common Pitfalls to Avoid
Pre-Commit
- ❌ Committing code with failing tests
- ❌ Leaving console.log/debug statements
- ❌ Committing without running type checker
- ❌ Committing large blocks of commented code
Pre-PR
- ❌ Creating PR without description
- ❌ Missing screenshots for UI changes
- ❌ Not linking to related tickets
- ❌ Not documenting breaking changes
- ❌ Missing test coverage for new code
Pre-Merge
- ❌ Merging with failing CI checks
- ❌ Merging without code review approval
- ❌ Merging with merge conflicts
- ❌ Merging without testing migrations
- ❌ Merging without considering rollback plan
Quick Verification Script
Create a pre-commit verification script:
JavaScript/TypeScript (pre-commit.sh):
#!/bin/bash
set -e
echo "Running type check..."
npx tsc --noEmit
echo "Running linter..."
npm run lint
echo "Running tests..."
npm test -- --run
echo "✅ All checks passed!"
Python (pre-commit.sh):
#!/bin/bash
set -e
echo "Running type check..."
mypy src/
echo "Running linter..."
pylint src/
echo "Running tests..."
pytest
echo "✅ All checks passed!"
Make executable:
chmod +x pre-commit.sh
Automation with Git Hooks
Set up automatic pre-commit checks:
Using Husky (JavaScript/TypeScript)
npm install --save-dev husky
npx husky install
npx husky add .husky/pre-commit "npm run lint && npm test"
Using pre-commit (Python)
Create .pre-commit-config.yaml:
repos:
- repo: local
hooks:
- id: type-check
name: Type Check
entry: mypy src/
language: system
pass_filenames: false
- id: lint
name: Lint
entry: pylint src/
language: system
pass_filenames: false
- id: test
name: Test
entry: pytest
language: system
pass_filenames: false
Install hooks:
pre-commit install
Success Criteria
Pre-Commit Success
- ✅ All local checks pass
- ✅ Code is formatted correctly
- ✅ No debug statements remain
- ✅ Tests pass locally
Pre-PR Success
- ✅ PR description is comprehensive
- ✅ All required information included
- ✅ Screenshots attached (if UI changes)
- ✅ Breaking changes documented
Pre-Merge Success
- ✅ CI pipeline is green
- ✅ Code review approved
- ✅ No conflicts with target branch
- ✅ Manual testing completed
Related Skills
universal-verification-screenshot - Screenshot verification for UI changes
universal-verification-bug-fix - Bug fix verification workflow
toolchains-universal-security-api-review - API security testing
universal-collaboration-git-workflow - Git workflow best practices