Agent skill

Debug Os Failure On GitHub

by strands-agents in strands-agents/box

Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt.

Apache-2.0Auto-check: notesDevelopment

Install Debug Os Failure On GitHub

skills CLI
$ npx skills add strands-agents/box --skill debug-os-failure-on-github -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install strands-agents/box debug-os-failure-on-github --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/strands-agents/box.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/debug-os-failure-on-github .claude/skills/debug-os-failure-on-github && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
debug-os-failure-on-github
GitHub stars
110
Token cost
~1.3k tokens
SKILL.md length
716 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt.

  • Works in 2 steps: Scope the run. Do not run the matrix,… → For an environment question, build…
  • A test is green on your machine and red on a GitHub runner
  • SKILL.md covers The two things that make it fast, Two fork rules, or the…, The loop and When the failure is…
  • Calls gh, xcrun and python3

What it does

Debug Os Failure On GitHub is an agent skill from strands-agents/box. Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt. Use when a test is green on your machine and red on a GitHub runner, or when you need to run one test or one shell probe on a runner and read the result fast. The core move is a dispatchable, scoped workflow on your own fork: pick one OS, skip lint, filter to one test, and for environment questions run a no-build probe that returns in seconds instead of a ten-minute…

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Failing and flaky tests, Pull requests and Linting and formatting. It works with GitHub, macOS and Linux. The repository describes itself as: Run AI agents in a sandbox that restricts what they can execute, read, write, and reach on the network. Box combines OS isolation with default-deny Dogwood policies and… The licence is Apache-2.0.

When your agent uses it

  • A test is green on your machine and red on a GitHub runner
  • You need to run one test
  • One shell probe on a runner and read the result fast

Example prompts

  • “/debug-os-failure-on-github”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Scope the run. Do not run the matrix, the lint job, and the whole suite to learn one test.
  2. For an environment question, build nothing. Most "green here, red there" failures are the

What it can do on your machine

Read from SKILL.md and the folder at commit 2c874ea. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • xcrun
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Debug Os Failure On GitHub loads about 1.3k tokens when it runs. Until then it costs about 158 tokens; SKILL.md has 716 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~158
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:78
    `sudo log show --style syslog --last 3m --predicate 'eventMessage CONTAINS "deny"'`; on Linux

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from strands-agents/box at commit 2c874ea, republished under its Apache-2.0 licence (© strands-agents). 716 words, ~1,334 tokens.

Download SKILL.mdSave it as .claude/skills/debug-os-failure-on-github/SKILL.md (or your agent's skills folder).
name
debug-os-failure-on-github
description
Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt. Use when a test is green on your machine and red on a GitHub runner, or when you need to run one test or one shell probe on a runner and read the result fast. The core move is a dispatchable, scoped workflow on your own fork: pick one OS, skip lint, filter to one test, and for environment questions run a no-build probe that returns in seconds instead of a ten-minute build. Iterate by pushing to the fork branch and re-dispatching, never by editing a PR.

Debug a CI failure on an OS you are not on

You are on Linux and a test fails only on macos-latest (or you are on a Mac and it fails only on ubuntu-latest). The slow way is a pull request per attempt: each push reruns the whole matrix, builds everything, and takes about fifteen minutes to tell you one thing. Do not do that.

The fast way is a dispatchable workflow on your own fork, scoped to the smallest run that answers your question. You iterate by pushing to a fork branch and re-dispatching. No pull request is involved until you have the answer.

The two things that make it fast

  1. Scope the run. Do not run the matrix, the lint job, and the whole suite to learn one test. Run one OS, no lint, and one test. full-tests.yml takes three inputs for exactly this:

    sh
    gh workflow run full-tests.yml -f ref=<branch|sha> -f os=macos-latest -f lint=false -f filter=<substring>
    • os picks a single runner (macos-latest, ubuntu-latest, or both).
    • lint=false skips fmt and clippy.
    • filter is a substring of the cargo test name (not the test-binary name). It runs only the tests whose name matches.
    • Build time does not shrink with filter (the build is --all-targets for the trampoline). The saving is one OS instead of two, no lint, and far fewer tests that execute. To also cut build time, scope the build in a throwaway workflow with --test <binary> or -p <crate>.
  2. For an environment question, build nothing. Most "green here, red there" failures are the environment, not the code: a different active toolchain, a different system path, a pointer file, a library location. A workflow that only runs shell commands returns in about fifteen seconds, so you can ask five questions in the time one build takes. Print what you suspect differs:

    • macOS: sw_vers, xcode-select -p, xcrun --find <tool>, which -a <tool>, otool -L <bin>, readlink of any pointer files, the relevant env vars, and for an interpreter python3 -c 'import sys,os; print(sys.executable, os.path.realpath(sys.executable))'.
    • Linux: uname -a, the distribution release, which -a <tool>, readlink -f <bin>, ldd <bin>, and the mount or namespace state that matters.

Two fork rules, or the dispatch fails

  • A pull request from a fork runs the base repository's workflow, not your fork's copy. So a workflow edit on a fork branch does nothing on a PR. It only takes effect through a manual dispatch on the fork (or after it merges to the base).
  • workflow_dispatch needs the workflow file on the fork's default branch to be dispatchable at all. Push the workflow to the fork default branch once; after that you can dispatch it against any branch or sha with -f ref=....
Show full SKILL.md (279 more words)Show less

The loop

  1. Confirm the divergence: check out the exact CI commit, run the test locally, see it pass. Now you know the code is fine and the environment differs. Stop reading the diff.
  2. Push a no-build probe workflow to your fork default branch. Dispatch it. Read what the runner's environment holds that yours does not.
  3. Form one hypothesis. Test it with the smallest scoped run: one OS, no lint, one filtered test, or the probe with one more command. Change one thing per run.
  4. Read the result. gh run watch <id>, or gh api repos/<owner>/<fork>/actions/jobs/<jobid>/logs for the raw log. The runner's own log names the cause; do not infer it from a test timeout.
  5. When a run confirms the fix, land it and do one final scoped dispatch to prove it green.

When the failure is containment (deny-default box)

If the failing test starts a contained workload and it dies at startup (a leaf launch, a Seatbelt or namespace refusal, a startup-marker timeout), the environment difference is usually a path the box's floor does not grant on the runner. Two extra moves apply, and the full method plus a worked example (the macOS /usr/bin/python3 xcode-select leaf) live in docs/dev/debug-os-specific-ci-failures.md:

  • Reproduce the box's floor by hand. On macOS write a sandbox-exec profile from the agent and leaf cells in crates/containment/src/containment-data/os-paths.macos.json; on Linux reconstruct the launcher's binds or run the trampoline directly. Validate the reconstruction passes locally before you trust its runner failure.
  • Read the kernel's own denial, not the test's timeout: on macOS sudo log show --style syslog --last 3m --predicate 'eventMessage CONTAINS "deny"'; on Linux dmesg, journalctl, or an strace of the refused syscall.

© strands-agents, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/debug-os-failure-on-github of strands-agents/box.

Open the folder on GitHubat commit 2c874ea

Compare with similar skills

Debug Os Failure On GitHub next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Debug Os Failure On GitHub compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Debug Os Failure On GitHub this skillstrands-agents/box110—~1.3kAutomated safety check: NotesApache-2.0
Debug CIweb-infra-dev/rslint460—~2.8kAutomated safety check: PassMIT
Neru File Issuey3owk1n/neru785—~890Automated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Exposed Bug Fix WorkflowJetBrains/Exposed9.3k—~3.8kAutomated safety check: PassApache-2.0
Create PRRLinf/RLinf5.5k—~2.2kAutomated safety check: PassApache-2.0

Similar skills

  • Debug CI

    web-infra-dev/rslint

    Reproduce Linux CI failures locally using Docker when the same tests pass on the host, especially Go platform differences and VS Code extension tests requiring xvfb.

    460 GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Neru File Issue

    y3owk1n/neru

    File a Neru bug report or feature request that matches the repo's issue forms: duplicate check first, every required field filled with real diagnostics, correct labels.

    785 GitHub stars~890 tokensUpdated today
    Testing & QAAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Exposed Bug Fix Workflow

    JetBrains/Exposed

    Official

    Takes a GitHub or YouTrack issue for the Exposed project through reproduction, a failing test, a fix, validation and a pull request.

    9.3k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Create PR

    RLinf/RLinf

    Open a GitHub pull request for RLinf, or fix an existing one — checks the PR title against Conventional Commits, writes a precise description that follows .github/PULLREQUESTTEMPLATE.md, and lints…

    5.5k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Change Verification

    openai/openai-agents-python

    Official

    Run the required final formatting, lint, type, and test checks after eligible SDK changes pass review.

    30k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed

More from strands-agents/box

All 10 skills in this repo
  • Authoring Box Policy

    strands-agents/box

    Author or edit a Strands Box policy (policy.dw) — turn an operator's natural-language allow/deny intent into a validated Dogwood policy over the box's fixed action vocabulary, including when…

    110 GitHub stars~5.4k tokensUpdated today
    Auto-check passed
  • Docs Planner

    strands-agents/box

    Find the gaps in the Box documentation and produce a prioritized backlog for docs/user/ and docs/design/.

    110 GitHub stars~743 tokensUpdated today
    Auto-check passed
  • Docs Writer

    strands-agents/box

    Draft or rewrite a Box documentation page in docs/user/ (tutorial, how-to, or reference for an operator) or docs/design/ (explanation for a security evaluator or a contributor), or a crate README.md…

    110 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Kd

    strands-agents/box

    Deep-dive a SINGLE key decision. An agent skill from strands-agents/box.

    110 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Spec

    strands-agents/box

    Walk through spec-driven development, design then requirements, producing a local .spec.md and .requirements.md for one feature.

    110 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Docs Audit

    strands-agents/box

    Assess an existing Box documentation page (docs/user/, docs/design/, or a crate README.md) for accuracy against the code and its tests, placement, and voice, and recommend what to fix.

    110 GitHub stars~957 tokensUpdated today
    Auto-check passed

Categories

Questions about Debug Os Failure On GitHub

What does Debug Os Failure On GitHub do?

Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt. Debug Os Failure On GitHub is an agent skill from strands-agents/box. Debug a CI failure on an OS you are not on (you are on Linux, it fails on macos-latest, or the reverse) without opening a pull request per attempt.

When should I use Debug Os Failure On GitHub?

Debug Os Failure On GitHub fits situations like: A test is green on your machine and red on a GitHub runner; you need to run one test; one shell probe on a runner and read the result fast.

How do I install Debug Os Failure On GitHub in Claude Code?

Run `npx skills add strands-agents/box --skill debug-os-failure-on-github -a claude-code`. Or copy the skill folder (.agents/skills/debug-os-failure-on-github in strands-agents/box) into .claude/skills/debug-os-failure-on-github in your project. Claude Code loads it when a task matches its description.

How do I install Debug Os Failure On GitHub in Codex?

Run `npx skills add strands-agents/box --skill debug-os-failure-on-github -a codex`. Or copy the skill folder (.agents/skills/debug-os-failure-on-github in strands-agents/box) into .agents/skills/debug-os-failure-on-github in your project. Codex loads it when a task matches its description.

Can I use Debug Os Failure On GitHub in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add strands-agents/box --skill debug-os-failure-on-github -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/debug-os-failure-on-github, .gemini/skills/debug-os-failure-on-github, .github/skills/debug-os-failure-on-github and .opencode/skills/debug-os-failure-on-github in your project.

What does Debug Os Failure On GitHub need to run?

Going by SKILL.md and its folder, Debug Os Failure On GitHub needs the command-line tools its instructions call (gh, xcrun and python3). Our summary lists: Python 3.

Does Debug Os Failure On GitHub access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Debug Os Failure On GitHub safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Debug Os Failure On GitHub use?

Debug Os Failure On GitHub is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Debug Os Failure On GitHub use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Debug Os Failure On GitHub?

Skills that share tags, products or a category with Debug Os Failure On GitHub: Debug CI (web-infra-dev/rslint, 460 stars), Neru File Issue (y3owk1n/neru, 785 stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars) and Exposed Bug Fix Workflow (JetBrains/Exposed, 9.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Debug Os Failure On GitHub?

strands-agents (a GitHub organization) maintains it in strands-agents/box, which has 110 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.

Source: strands-agents/box on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.