Test pull requests with comprehensive validation and generate structured test results
67%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
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"GetBindu/Bindu
d4efe48
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.