Goal
SkillDev toolsMake the local unit tests pass for the current PR
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Goal skill
What this skill tells your AI
The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/pr.get_local_tests_to_pass/SKILL.md and read by ahel’s review.
- Run, monitor, and fix the local unit tests for the current PR
Workflow
Constraints
- This skill runs both when executed locally on a dev computer and remotely on cloud (e.g., on GitHub or Anthropic infrastructure)
Create and Update a Plan
- Create a file
plan.pr_get_local_tests_to_pass.mdwith a plan in the form of a bullet list of actions and maintain it updated, by marking each action- [.] when something is in progress
- when something is done
- [F] when something failed
Get the PR Number and Branch Name
-
Get the PR number
> GH_PR_NUM=$(gh pr view --json number -q .number) -
Get the branch name
> BRANCH_NAME=$(git branch --show-current)
Run Local Regressions
- Run full test suite locally:
> pytest_multi_build.py --target . 2>&1 --timeout -1 | tee tmp.auto_task.pytest_multi_build.log - Wait for the script to terminate
Check Regressions to Complete
- Check the output of the local regressions with:
> pytest_failed_multi_build.py 2>&1 | tee tmp.auto_task.pytest_failed_multi_build.log
Report Status on the PR
- If local regressions are passing:
> gh pr comment $GH_PR_NUM --body "Local tests passing" - If any failures, document error and post:
> gh pr comment $GH_PR_NUM --body "Local test failures found: [error summary]. Investigating..."
Fix the Failures
- If failures were found, run
tmp.pytest_failed_multi_build.repro.shto understand what failed and use/pytest.triage_github_unit_teststo analyze and fix them- If the fix is simple, just fix it and commit
- If the fix is not clear, stop and ask for the user to help
Never Commit Junk Files
- Never run
git add -Aorgit add .to stage a fix: it sweeps in every untracked file sitting in the working tree (logs,tmp.*scratch files, test-run artifacts like.pkl/.jsoncaches, etc.), not just the files you intended to fix - Always stage files explicitly by path, e.g.
git add <file1> <file2> - Before committing, run
git status --shortand review every listed file; drop anything that is not part of the intended fix - If junk files were already committed and pushed, fix it by amending the
commit to contain only the intended files and force-pushing
(
git push --force-with-lease), rather than leaving the junk in history
Loop
- Keep repeating until the PR is passing all the local tests
Signals
- GitHub stars
- 145
- Forks
- 159
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
pr-get-local-tests-to-pass- Source
- github.com/causify-ai/helpers