Agent skill

Apple Container Test Runner

by RustPython in RustPython/RustPython

Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.

MITAuto-check passedTesting & QA

Install Apple Container Test Runner

skills CLI
$ npx skills add RustPython/RustPython --skill apple-container -a claude-code

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

GitHub CLI
$ gh skill install RustPython/RustPython apple-container --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/RustPython/RustPython.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/apple-container .claude/skills/apple-container && 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
apple-container
GitHub stars
22k
Token cost
~467 tokens
SKILL.md length
158 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.

  • Works in 4 steps: Check whether the test container is… → Start the container if it is not running → Run the requested test command inside… → …
  • Running RustPython tests in a Linux environment from a Mac
  • SKILL.md covers Arguments, Prerequisites, Workflow and Notes
  • Calls brew

What it does

The skill runs a RustPython test command inside a Linux environment started with Apple's container CLI, and it forbids Docker, Podman or any other runtime. The agent first checks whether a container named rustpython-test is already running. If not, it starts one from the rustpython-dev image with 8G of memory and four CPUs, with the current directory bind-mounted at /workspace.

Tests then run through container exec using cargo run --release -- -m test followed by your arguments, such as test_io or test_codecs -v. The agent reports the pass and fail summary with expected failures and unexpected successes, and points out new failures compared with macOS results when it has them. The container is left running afterwards, code edits appear through the bind mount, rebuilds use cargo build --release inside it, and it is removed only when you ask.

When your agent uses it

  • Running RustPython tests in a Linux environment from a Mac
  • Comparing Linux test results with the macOS results for the same tests
  • Re-running a single failing test module such as test_io with verbose output

Example prompts

  • “Run test_codecs -v in the Linux container and tell me what fails.”
  • “Compare the Linux result for test_io against what I got on macOS.”
  • “Rebuild in the container after my change and rerun the errors tests in test_io.”

Requirements

  • Apple's container CLI (installed with brew install container)
  • The rustpython-dev image, already built
  • A RustPython checkout with cargo
  • Pre-approved tools (allowed-tools): Bash(container:*), Bash(cargo:*), Read, Grep, Glob

Workflow steps

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

  1. Check whether the test container is already running
  2. Start the container if it is not running
  3. Run the requested test command inside the container
  4. Report results

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(container:*)
    • Bash(cargo:*)
    • Read
    • Grep
    • Glob

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • brew

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

  • Network

    No URLs in SKILL.md.

    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

Apple Container Test Runner loads about 467 tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 158 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 RustPython/RustPython at commit 4b6ad58, republished under its MIT licence (© RustPython). 158 words, ~467 tokens.

Download SKILL.mdSave it as .claude/skills/apple-container/SKILL.md (or your agent's skills folder).
name
apple-container
description
Run RustPython tests in Apple's `container` CLI Linux environment. Use when user asks to run or compare Linux test results on macOS.
allowed-tools
Bash(container:*), Bash(cargo:*), Read, Grep, Glob

Run Tests in Linux Container (Apple container CLI)

Run RustPython tests inside a Linux container using Apple's container CLI. NEVER use Docker, Podman, or any other container runtime. Only use the container command.

Arguments

  • Test command to run (examples: test_io, test_codecs -v, test_io -v -m "test_errors")

Prerequisites

  • The container CLI is installed via brew install container.
  • The dev image rustpython-dev is already built.

Workflow

  1. Check whether the test container is already running:

    shell
    container list 2>/dev/null | grep rustpython-test
  2. Start the container if it is not running:

    shell
    container run -d --name rustpython-test -m 8G -c 4 \
        --mount type=bind,source="$(pwd)",target=/workspace \
        -w /workspace rustpython-dev sleep infinity
  3. Run the requested test command inside the container:

    shell
    container exec rustpython-test cargo run --release -- -m test <test-args>
  4. Report results:

  • Show pass/fail summary and expected failures / unexpected successes.
  • Highlight new failures compared to macOS results, if available.
  • Do not stop or remove the container after testing.

Notes

  • The workspace is bind-mounted, so local code changes are immediately available in the container.

  • Use container exec rustpython-test sh -c "..." for any command inside the container.

  • Rebuild after code changes with:

    shell
    container exec rustpython-test sh -c "cargo build --release"
  • Stop the container when explicitly requested:

    shell
    container rm -f rustpython-test

© RustPython, MIT. 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/apple-container of RustPython/RustPython.

Open the folder on GitHubat commit 4b6ad58

Compare with similar skills

Apple Container Test Runner 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.

Apple Container Test Runner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Apple Container Test Runner this skillRustPython/RustPython22k—~467Automated safety check: PassMIT
Cross Platform Guardianwcygan/dotfiles196—~514Automated safety check: PassNone
Debug CIweb-infra-dev/rslint460—~2.8kAutomated safety check: PassMIT
Environment Setup AssistantArabelaTso/Skills-4-SE253—~3kAutomated safety check: NotesApache-2.0
CI Failure Analysisvortex-data/vortex3.2k—~810Automated safety check: PassApache-2.0
UI UX Pro Maxfutureboard/futureboard-studio106—~5.6kAutomated safety check: PassMIT

Similar skills

  • Protect macOS, Ubuntu, Fedora, and Linux/WSL compatibility in this dotfiles repository.

    196 GitHub stars~514 tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • 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
  • Environment Setup Assistant

    ArabelaTso/Skills-4-SE

    Generate setup scripts and instructions for development environments across platforms.

    253 GitHub stars~3k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check: notes
  • CI Failure Analysis

    vortex-data/vortex

    Analyze Vortex GitHub Actions CI failures. An agent skill from vortex-data/vortex.

    3.2k GitHub stars~810 tokensUpdated today
    Testing & QAAuto-check passed
  • UI UX Pro Max

    futureboard/futureboard-studio

    Comprehensive design guide for web, mobile, and desktop applications.

    106 GitHub stars~5.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Cross Platform Paths

    microsoft/vscode-python-environments

    Official

    Critical patterns for cross-platform path handling in this VS Code extension.

    141 GitHub stars~1.5k tokensUpdated today
    Testing & QAAuto-check passed

More from RustPython/RustPython

  • RustPython C-API Expansion

    RustPython/RustPython

    Implements missing CPython C-API functions in RustPython's crates/capi, mapping each header to its module with the pyo3-ffi header split.

    22k GitHub stars~831 tokensUpdated today
    Auto-check passed
  • RustPython Stdlib Upgrade

    RustPython/RustPython

    Upgrades a Python standard library module from CPython into RustPython with update_lib, then triages and marks the tests that still fail.

    22k GitHub stars~876 tokensUpdated today
    Auto-check passed
  • Investigates a failing RustPython test by comparing it with CPython, then either fixes it or gathers the details for an incompatibility report.

    22k GitHub stars~467 tokensUpdated today
    Auto-check passed
  • Picks the next CPython standard library module ready for a RustPython upgrade, skipping modules that already have an open upgrade pull request.

    22k GitHub stars~257 tokensUpdated today
    Auto-check passed

Questions about Apple Container Test Runner

What does Apple Container Test Runner do?

Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones. The skill runs a RustPython test command inside a Linux environment started with Apple's container CLI, and it forbids Docker, Podman or any other runtime. The agent first checks whether a container named rustpython-test is already running.

When should I use Apple Container Test Runner?

Apple Container Test Runner fits situations like: running RustPython tests in a Linux environment from a Mac; comparing Linux test results with the macOS results for the same tests; re-running a single failing test module such as test_io with verbose output.

How do I install Apple Container Test Runner in Claude Code?

Run `npx skills add RustPython/RustPython --skill apple-container -a claude-code`. Or copy the skill folder (.agents/skills/apple-container in RustPython/RustPython) into .claude/skills/apple-container in your project. Claude Code loads it when a task matches its description.

How do I install Apple Container Test Runner in Codex?

Run `npx skills add RustPython/RustPython --skill apple-container -a codex`. Or copy the skill folder (.agents/skills/apple-container in RustPython/RustPython) into .agents/skills/apple-container in your project. Codex loads it when a task matches its description.

Can I use Apple Container Test Runner 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 RustPython/RustPython --skill apple-container -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apple-container, .gemini/skills/apple-container, .github/skills/apple-container and .opencode/skills/apple-container in your project.

What does Apple Container Test Runner need to run?

Going by SKILL.md and its folder, Apple Container Test Runner needs the command-line tools its instructions call (brew). Our summary lists: Apple's container CLI (installed with brew install container); The rustpython-dev image, already built; A RustPython checkout with cargo. Its frontmatter pre-approves these tools: Bash(container:*), Bash(cargo:*), Read, Grep, Glob.

Does Apple Container Test Runner access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Apple Container Test Runner safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Apple Container Test Runner use?

Apple Container Test Runner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Apple Container Test Runner use?

About 467 tokens (SKILL.md is roughly 1.9k 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 Apple Container Test Runner?

Skills that share tags, products or a category with Apple Container Test Runner: Cross Platform Guardian (wcygan/dotfiles, 196 stars), Debug CI (web-infra-dev/rslint, 460 stars), Environment Setup Assistant (ArabelaTso/Skills-4-SE, 253 stars) and CI Failure Analysis (vortex-data/vortex, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Apple Container Test Runner?

RustPython (a GitHub organization) maintains it in RustPython/RustPython, which has 22,381 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.

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