github-actions-public-ci-diagnostics
Diagnose GitHub Actions CI or release workflow failures when full logs are inaccessible, especially public repositories where REST job logs return 403, pytest…
Skill by JinNing6
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jinning6-github-actions-public-ci-diagnostics
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, testing, devops, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/github-actions-public-ci-diagnostics
What's inside
- Skill name
github-actions-public-ci-diagnostics- Description
- Diagnose GitHub Actions CI or release workflow failures when full logs are inaccessible, especially public repositories where REST job logs return 403, pytest fails only on Linux runners, check annotations are sparse, PyPI Trusted Publishing fails, or Windows-only test fixtures break on ubuntu-latest.
- License
- Apache-2.0
- Instructions
- 49 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# GitHub Actions Public CI Diagnostics
Use this when a remote GitHub Actions run fails but local tests pass, full job logs are unavailable, or the failure only appears on `ubuntu-latest`/matrix runners.
## Workflow
1. **Check local rules first**
- Inspect project agent rules before changing files.
- Run the same local quality gates the workflow claims to run.
- Keep unrelated dirty files out of staging.
2. **Map the remote failure without secrets**
- Use public REST endpoints first:
- `/repos/{owner}/{repo}/actions/runs?head_sha={sha}`
- `/repos/{owner}/{repo}/actions/runs/{run_id}/jobs`
- `/repos/{owner}/{repo}/commits/{sha}/check-runs`
- `/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations`
- If `/actions/jobs/{job_id}/logs` returns `403 Must have admin rights to Repository`, do not guess from missing logs. Treat it as an observability gap.
- Record the failing workflow, job, step, Python version, event, ref, and exact annotation text.
3. **Add public failure annotations before blind fixes**
- If annotations only say `Process completed with exit code 1`, add a small repository script that runs pytest, captures stdout/stderr as UTF-8, prints normal output, and emits a GitHub annotation such as `::error title=pytest failed::...` on failure.
- Use a workspace-local pytest temp dir and disable cache when sandbox or CI permissions may differ, for example `python -m pytest -q -p no:cacheprovider --basetemp=.pytest-tmp-ci --tb=short --maxfail=1`.
- Wire both quality and publish workflows through the same helper so tag-push release failures are diagnosable too.
- Add tests asserting the workflows call the helper and the helper contains annotation and step-summary markers.
4. **Reproduce by failure layer**
- First compare workflow order: install, lint, test, build, metadata, release boundary, publish.
- If tests pass locally but fail on Linux, inspect OS-specific paths, case sensitivity, executable names, path separators, temp/cache directories, locale/encoding, and Python matrix versions.
- For venv smoke tests, fixtures must create both Windows `Scripts/python.exe` plus `Scripts/tool.exe` and POSIX `bin/python` plus `bin/tool` when the production code chooses paths by `os.name`.
- Do not treat a Windows-only fixture as proof that Linux CI is broken.
5. **Respect public tag immutability**
- If a public `v*` tag has already been pushed and later CI/release-path changes are needed, bump the package version and create a new tag. Do not move or reuse the old tag.
- Rebuild artifacts and rerun release-boundary checks after every bump.
6. **Classify PyPI Trusted Publishing failures**
- If lint, tests, build, `twine check`, and release-boundary all pass, and `pypa/gh-action-pypi-publish` fails with `invalid-publisher`, treat it as PyPI project configuration.
- Capture non-secret claims from the annotation: `sub`, `repository`, `repository_owner`, `workflow_ref`, `ref`, and `environment`.
- Route maintainers to configure PyPI Trusted Publisher with the same repository owner/name, workflow filename/path, and environment. Do not add a stored `PYPI_TOKEN` as a shortcut.
## Completion Standard
- The remote CI failure is explained by a public annotation, a reproduced local condition, or an explicit external configuration blocker.
- Local tests, lint, build, package metadata checks, and release-boundary checks pass after the fix.
- Remote quality gates pass on the pushed commit.
- Any remaining release blocker is named with exact public evidence and the next account-permission action.
- Public tags are never moved; new release-path changes use a new version and tag.From JinNing6/Noosphere, Apache-2.0.
More from JinNing6/Noosphere
- 0.643score
Noosphere
JinNing6
Community of Consciousness MCP Server — upload and explore collective wisdom via GitHub.
ConnectorAFreshness: ALocal★ 18↓ 71/wkClaude Code +5 - 0.602score
agent-debug-memory
JinNing6
Use when debugging code, tests, builds, deployments, CI failures, runtime errors, framework issues, API migrations, or UI state bugs where a coding Agent…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
debug-async-ui
JinNing6
Use when UI state or returned content disappears, flashes, rolls back, saves but loses state, menus fail intermittently, or real browser behavior differs from…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
browser-actionability-debug
JinNing6
Diagnose browser UI tests or real browser checks where an element appears visible but cannot be clicked, copied, hovered, or focused.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
cloudflare-pages-stale-assets
JinNing6
Diagnose and fix Cloudflare Pages deployments where the live site still shows old CSS, JavaScript, native controls, untranslated text, or stale UI after a…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
codex-project-recency-sort-recovery
JinNing6
Diagnose and resolve codex project recency sort failures.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
binary-credential-format-boundary
JinNing6
Audit and repair readers for fixed-length binary credentials and their text encodings without mutating raw bytes.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
docker-git-bind-mount-push-debug
JinNing6
Diagnose and validate Git commit, fetch, and push failures when worktrees or bare remotes are bind-mounted into Docker, especially on Docker Desktop for…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
dynamic-shared-skills
JinNing6
Use when an engineering task may match a community-reviewed Noosphere workflow and the Agent should discover, verify, apply, update, or report the outcome of…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
fastapi-response-contract-boundary
JinNing6
Audit and fix FastAPI/Pydantic response contract failures and analytics metric drift.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
frontend-layering-specificity-debug
JinNing6
Diagnose and fix frontend controls whose typography or dimensions ignore component CSS, and React Three Fiber/Drei projected HTML labels that paint above…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
using-noosphere
JinNing6
Use automatically before diagnosing or fixing a concrete software failure.
SkillBFreshness: B★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 3
- Open issues
- 23
- Last commit (this folder)
- Jul 15, 2026 (3 months ago)
- Last release
- Jul 29, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/JinNing6/Noosphere
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from JinNing6
- 0.643score
Noosphere
JinNing6
Community of Consciousness MCP Server — upload and explore collective wisdom via GitHub.
ConnectorAFreshness: ALocal★ 18↓ 71/wkClaude Code +5 - 0.602score
using-noosphere
JinNing6
Use automatically before diagnosing or fixing a concrete software failure.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
agent-debug-memory
JinNing6
Use when debugging code, tests, builds, deployments, CI failures, runtime errors, framework issues, API migrations, or UI state bugs where a coding Agent…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
binary-credential-format-boundary
JinNing6
Audit and repair readers for fixed-length binary credentials and their text encodings without mutating raw bytes.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
browser-actionability-debug
JinNing6
Diagnose browser UI tests or real browser checks where an element appears visible but cannot be clicked, copied, hovered, or focused.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
cloudflare-pages-stale-assets
JinNing6
Diagnose and fix Cloudflare Pages deployments where the live site still shows old CSS, JavaScript, native controls, untranslated text, or stale UI after a…
SkillBFreshness: B★ 18Claude Code +9
Cite this page
github-actions-public-ci-diagnostics skill. Agent Mart. https://agentmart.dev/skills/jinning6-github-actions-public-ci-diagnostics (last updated 2026-10-24)