AGENT SKILL
github.get_pr_to_pass_local_tests
Make the local unit tests pass for the current PR
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 1
01 前言 Front Matter
- model
- sonnet
- description
- Make the local unit tests pass for the current PR
03 SKILL.md 正文
Goal
- Run, monitor, and fix the local unit tests for the current PR
Workflow
Create and Update a Plan
- Create a file
plan-github.get_pr_to_pass_local_tests.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
- [x] 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.fix_local_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
Constraints
- This skill runs both when executed locally on a dev computer and remotely on cloud (e.g., on GitHub or Anthropic infrastructure)
Verification
- [ ]
pytest_failed_multi_build.pyreports no failing tests - [ ] A PR comment reports the final local test status
- [ ]
git status --shortshows only the intended files staged before commit
04 同仓库更多 Skills
tutorial_in_60_mins.propagate_docker_changes
Sync tutorial and class-project Docker files to match project_template
★ 0
tutorial_in_60_mins.merge_markdown
Merge the content of a markdown file into a Jupyter notebook
★ 0
tutorial_in_60_mins.format
Format a directory to follow the "Learn X in 60 Minutes" tutorial conventions
★ 0
tutorial_in_60_mins.create
Create a tutorial directory for the Learn X in 60 Minutes conventions
★ 0
todo.reorg_in_progress
Reorganize ai_task_queue.md so in-progress tasks, not-started tasks, and mislabeled topic headers sit under the right H1 stage
★ 0
todo.reorg_headers
Reorganize ai_task_queue.md .md so every H2 topic matches ALL TOPICS and every H3 task sits under the right topic, keeping its H1 stage
★ 0