Test pull requests with comprehensive validation and generate structured test results
52
57%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/test-pr/SKILL.mdTest a pull request to ensure code quality, functionality, and compatibility before merging.
.local/ directory# Get PR metadata
PR_NUMBER=$1
gh pr view $PR_NUMBER --json number,title,author,headRefName,baseRefName > .local/pr-meta.json
# Create isolated worktree
git worktree add .worktrees/pr-$PR_NUMBER origin/main
cd .worktrees/pr-$PR_NUMBER
# Fetch PR branch
git fetch origin pull/$PR_NUMBER/head:pr-$PR_NUMBER
git checkout pr-$PR_NUMBER# Install with frozen lockfile
uv sync --frozen
# Verify installation
uv run python -c "import bindu; print(bindu.__version__)"# Run all tests with coverage
uv run pytest --cov=bindu --cov-report=json --json-report --json-report-file=.local/test-results.json
# Extract coverage percentage
COVERAGE=$(jq -r '.totals.percent_covered' coverage.json)
echo "Coverage: $COVERAGE%"# Run all hooks
uv run pre-commit run --all-files > .local/precommit-results.txt 2>&1
# Check exit code
if [ $? -eq 0 ]; then
echo "✅ All pre-commit hooks passed"
else
echo "❌ Some pre-commit hooks failed"
fi# Check for print statements (should use logger)
grep -r "print(" bindu/ --include="*.py" | grep -v "# noqa" || echo "✅ No print statements"
# Check for TODO comments
grep -r "TODO\|FIXME\|XXX" bindu/ --include="*.py" || echo "✅ No TODO comments"
# Check for hardcoded credentials
uv run detect-secrets scan bindu/ || echo "⚠️ Potential secrets detected"
# Check for type hints
grep -r "def.*->.*:" bindu/ --include="*.py" | wc -lCreate .local/test-report.json:
{
"pr_number": 123,
"recommendation": "READY FOR MERGE",
"findings": [
{
"id": "F1",
"severity": "INFO",
"title": "All tests passing",
"area": "tests",
"details": "100% test pass rate with 68% coverage"
}
],
"tests": {
"total": 150,
"passed": 150,
"failed": 0,
"skipped": 0,
"coverage": 68.5,
"result": "pass"
},
"precommit": {
"hooks_passed": 8,
"hooks_failed": 0,
"result": "pass"
},
"quality": {
"print_statements": 0,
"todo_comments": 2,
"type_coverage": 85
}
}Based on findings:
# PR #123 Test Results
## Summary
✅ All tests passing (150/150)
✅ Coverage: 68.5% (above 66% threshold)
✅ All pre-commit hooks passing
⚠️ 2 TODO comments found
## Recommendation
READY FOR MERGE
## Test Details
- Unit tests: 120 passed
- Integration tests: 30 passed
- Coverage: 68.5%
## Quality Checks
- ✅ No print statements
- ⚠️ 2 TODO comments
- ✅ Type hints: 85% coverage
## Next Steps
1. Review TODO comments
2. Proceed with merge.local/pr-meta.json - PR metadata.local/test-results.json - Test execution results.local/test-report.json - Structured findings.local/precommit-results.txt - Pre-commit output# Test PR #123
/skill test-pr 123
# Test with specific pattern
/skill test-pr 123 --pattern "test_applications"7b1ff75
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.