pywf-oss-fix-ci
Diagnose and fix a red GitHub Actions run, a failed Codecov upload, or a failed Read the Docs build of a pywf open-source Python library, or add or drop a supported Python version. Use when the user s
SKILL.md.claude/skills/pywf-oss-fix-ci/SKILL.md
GitHubFind from the logs why a hosted service is red, fix the cause in the repo, and confirm it is green again. Also add or drop a Python version.
Read ../pywf-oss-base/SKILL.md, then:
- ../pywf-oss-base/references/04-python-versions.md
- ../pywf-oss-base/references/19-github-actions.md
- ../pywf-oss-base/references/20-codecov.md
- ../pywf-oss-base/references/21-readthedocs.md
- ../pywf-oss-base/references/25-python-release-cycle.md (only for adding or dropping a Python version)
Steps
- Find the red service and its log with the commands in
19-github-actions.md,20-codecov.md, or21-readthedocs.md. Quote the decisive log lines to the user. - Reproduce locally where possible:
mise run covfor tests,mise run build-docfor docs. If it passes locally, compare OS and Python version, the installed extras (uv sync --extra testin CI,--all-extraslocally), and the working directory. - Fix the cause, not the symptom.
- Never skip, xfail, or delete a failing test to turn CI green without the user's yes.
- Never narrow the matrix permanently to hide a failure.
- Verify. Rerun locally. Then, after the user's yes, push the fix, or for an infrastructure flake run
gh run rerun <run_id> --failed. Check the new run withgh run view.
Boundaries
- Reading logs and runs needs no approval. Pushing, rerunning, deleting caches, and rerunning setup tasks each need the user's yes.
Next step: pywf-oss-upgrade-deps when the cause is a dependency, or when a Python version change lifts or adds dependency caps; pywf-oss-changelog to record a Python version change.