Pester Failure Analysis
PowerShell/PowerShell
Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.
Run local vs Offload benchmarks for mng and sculptor, then update the Benchmarks section of the Offload README.
$ npx skills add imbue-ai/offload --skill offload-benchmark -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install imbue-ai/offload offload-benchmark --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/imbue-ai/offload.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/offload-benchmark .claude/skills/offload-benchmark && rm -rf skills-srcUse ~/.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/
Install the "offload-benchmark" agent skill from https://github.com/imbue-ai/offload/tree/main/skills/offload-benchmark into .claude/skills/offload-benchmark/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "offload-benchmark", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/imbue-ai/offload/tree/main/skills/offload-benchmarkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add imbue-ai/offload --skill offload-benchmark -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install imbue-ai/offload offload-benchmark --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/offload.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/offload-benchmark .agents/skills/offload-benchmark && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "offload-benchmark" agent skill from https://github.com/imbue-ai/offload/tree/main/skills/offload-benchmark into .agents/skills/offload-benchmark/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "offload-benchmark", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add imbue-ai/offload --skill offload-benchmark -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install imbue-ai/offload offload-benchmark --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/offload.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/offload-benchmark .cursor/skills/offload-benchmark && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "offload-benchmark" agent skill from https://github.com/imbue-ai/offload/tree/main/skills/offload-benchmark into .cursor/skills/offload-benchmark/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "offload-benchmark", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/imbue-ai/offload.git --path skills/offload-benchmark--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add imbue-ai/offload --skill offload-benchmark -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install imbue-ai/offload offload-benchmark --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/offload.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/offload-benchmark .gemini/skills/offload-benchmark && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "offload-benchmark" agent skill from https://github.com/imbue-ai/offload/tree/main/skills/offload-benchmark into .gemini/skills/offload-benchmark/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "offload-benchmark", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install imbue-ai/offload offload-benchmarkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add imbue-ai/offload --skill offload-benchmark -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/imbue-ai/offload.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/offload-benchmark .github/skills/offload-benchmark && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "offload-benchmark" agent skill from https://github.com/imbue-ai/offload/tree/main/skills/offload-benchmark into .github/skills/offload-benchmark/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "offload-benchmark", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add imbue-ai/offload --skill offload-benchmark -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install imbue-ai/offload offload-benchmark --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/offload.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/offload-benchmark .opencode/skills/offload-benchmark && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "offload-benchmark" agent skill from https://github.com/imbue-ai/offload/tree/main/skills/offload-benchmark into .opencode/skills/offload-benchmark/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "offload-benchmark", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
offload-benchmarkRun local vs Offload benchmarks for mng and sculptor, then update the Benchmarks section of the Offload README.
Offload Benchmark is an agent skill from imbue-ai/offload. Run local vs Offload benchmarks for mng and sculptor, then update the Benchmarks section of the Offload README.
Its SKILL.md is about 2.6k 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 Testing & QA. The repository describes itself as: Offload your test computation to ephemeral compute. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d3675da. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
justcargomodalFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Offload Benchmark loads about 2.6k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 988 words of instructions outside code blocks.
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.
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.
The full file from imbue-ai/offload at commit d3675da, republished under its MIT licence (© imbue-ai). 988 words, ~2,602 tokens.
.claude/skills/offload-benchmark/SKILL.md (or your agent's skills folder).Run local and Offload test suites for mng and sculptor, collect timing data, and update the ## Benchmarks section of the Offload README with fresh numbers.
cargo install offload (or built from source in the offload repo).modal token new (if credentials are expired).~/imbue/mng (or wherever the monorepo is checked out)~/imbue/sculptorjust install from the offload repo root to ensure the binary is up to date.Verify all four before proceeding. If any prerequisite is missing, stop and tell the user.
Do not hardcode commands. Read the justfile in each repo at invocation time, since commands change:
~/imbue/mng/justfile and locate:test-integration -- the local baseline (unit + integration tests via pytest with xdist)test-offload -- the Offload run on Modal~/imbue/sculptor/justfile and locate:test-integration -- the local baseline (Playwright integration tests via pytest with xdist)test-integration-offload -- the Offload run on ModalRecord the exact commands from each justfile. If any target is missing or has changed significantly, stop and tell the user.
Also read each justfile to determine:
-n auto --maxprocesses N or -n N)CRITICAL RULES:
time (bash builtin) to measure wall-clock time for each run. Wrap each command in time (...) and record the real time.Run these three commands sequentially from the mng repo root (~/imbue/mng):
Local baseline (default xdist workers):
time just test-integrationRecord the wall-clock time.
Local high-xdist (override to higher worker count):
Read the default -n value from the justfile. Run with double that value (capped at 8). For example, if the default is -n 4:
time PYTEST_NUMPROCESSES=8 just test-integrationIf the justfile uses PYTEST_NUMPROCESSES or a similar env var for xdist workers, use that. Otherwise, pass the appropriate flag or env var. Read the justfile carefully to determine the correct override mechanism.
Offload (warm cache): Run the offload command TWICE. Discard the first run's timing (it warms the image cache). Record only the second run's timing.
just test-offload # warm-up run (discard timing)
time just test-offload # benchmark run (record timing)Record the number of tests collected (visible in pytest output) and the xdist -n values used.
Run these three commands sequentially from the sculptor repo root (~/imbue/sculptor):
Local baseline (default xdist workers):
time just test-integrationRecord the wall-clock time.
Local high-xdist (override to higher worker count):
Read the default --maxprocesses value from the justfile (currently 3). Run with a higher value:
time XDIST_WORKERS=8 just test-integrationUse the override mechanism from the justfile (XDIST_WORKERS env var).
Offload (warm cache): Run the offload command TWICE. Discard the first run's timing. Record only the second.
just test-integration-offload # warm-up run (discard timing)
time just test-integration-offload # benchmark run (record timing)Record the number of tests collected and the xdist -n values used.
For each project, compute:
| Metric | Formula |
|---|---|
| Time (s) | Wall-clock seconds from time, rounded to 1 decimal |
| Time (%) | (run_time / baseline_time) * 100, rounded to 1 decimal |
| Speedup | baseline_time / run_time, rounded to 2 decimals |
| Bar width (px) | round((run_time / baseline_time) * 150) -- baseline is always 150px |
The baseline is always the first run (default xdist) for each project.
Replace the entire ## Benchmarks section in the Offload README (from ## Benchmarks up to but not including the next ## heading) with the template below, filled in with measured values.
Use the correct labels for each project's test suite:
The bar chart images reference docs/bar-local.svg (gray, #444) and docs/bar-offload.svg (green, #22a355). These are 1x1 SVG rectangles scaled via the width attribute.
## Benchmarks
Speedups measured on Imbue projects using Offload with the Modal provider. All local baselines were run on a {MACHINE_DESCRIPTION}.
### Sculptor Integration Tests (Playwright)
| Run Kind | Time (s) | Time (%) | Speedup |
|----------|----------|----------|---------|
| pytest with xdist, n={SCULPTOR_BASELINE_N} (baseline) | <img src="docs/bar-local.svg" width="150" height="4"> {SCULPTOR_BASELINE_TIME} | 100.0% | 1.00x |
| pytest with xdist, n={SCULPTOR_HIGH_N} | <img src="docs/bar-local.svg" width="{SCULPTOR_HIGH_BAR_WIDTH}" height="4"> {SCULPTOR_HIGH_TIME} | {SCULPTOR_HIGH_PCT}% | {SCULPTOR_HIGH_SPEEDUP}x |
| Offload (Modal, max {SCULPTOR_MAX_PARALLEL}) | <img src="docs/bar-offload.svg" width="{SCULPTOR_OFFLOAD_BAR_WIDTH}" height="4"> {SCULPTOR_OFFLOAD_TIME} | {SCULPTOR_OFFLOAD_PCT}% | **{SCULPTOR_OFFLOAD_SPEEDUP}x** |
<details>
<summary><strong>Notes</strong></summary>
{SCULPTOR_TEST_COUNT} Playwright integration tests (browser-based, each launching a full Sculptor instance).
Individual tests are heavyweight (Chromium + backend server per worker), so the default xdist cap is n={SCULPTOR_BASELINE_N}.
Offload bypasses xdist entirely, fanning out across up to {SCULPTOR_MAX_PARALLEL} isolated Modal sandboxes -- each running a single test against its own Sculptor instance. The high per-test cost makes Offload's per-sandbox overhead negligible, yielding a {SCULPTOR_OFFLOAD_SPEEDUP}x speedup.
</details>
### Mng Unit + Integration Tests
| Run Kind | Time (s) | Time (%) | Speedup |
|----------|----------|----------|---------|
| pytest with xdist, n={MNG_BASELINE_N} (baseline) | <img src="docs/bar-local.svg" width="150" height="4"> {MNG_BASELINE_TIME} | 100.0% | 1.00x |
| pytest with xdist, n={MNG_HIGH_N} | <img src="docs/bar-local.svg" width="{MNG_HIGH_BAR_WIDTH}" height="4"> {MNG_HIGH_TIME} | {MNG_HIGH_PCT}% | {MNG_HIGH_SPEEDUP}x |
| Offload (Modal, max {MNG_MAX_PARALLEL}) | <img src="docs/bar-offload.svg" width="{MNG_OFFLOAD_BAR_WIDTH}" height="4"> {MNG_OFFLOAD_TIME} | {MNG_OFFLOAD_PCT}% | **{MNG_OFFLOAD_SPEEDUP}x** |
<details>
<summary><strong>Notes</strong></summary>
{MNG_TEST_COUNT} tests collected (unit + integration, excluding acceptance and release).
Individual tests are lightweight and fast-running, so the default xdist cap is n={MNG_BASELINE_N}.
Offload bypasses xdist entirely, fanning out across up to {MNG_MAX_PARALLEL} isolated Modal sandboxes. The low per-test cost makes Offload's per-sandbox overhead proportionally larger, yielding a more modest {MNG_OFFLOAD_SPEEDUP}x speedup vs Sculptor's {SCULPTOR_OFFLOAD_SPEEDUP}x.
</details>| Placeholder | Source |
|---|---|
{MACHINE_DESCRIPTION} | Ask the user, or read from the existing README intro paragraph |
{*_BASELINE_N} | Default xdist -n value from the justfile |
{*_HIGH_N} | The higher xdist count used in run 2 |
{*_BASELINE_TIME} | Wall-clock seconds from run 1 |
{*_HIGH_TIME} | Wall-clock seconds from run 2 |
{*_OFFLOAD_TIME} | Wall-clock seconds from run 3 (second invocation only) |
{*_HIGH_PCT} | (high_time / baseline_time) * 100 |
{*_OFFLOAD_PCT} | (offload_time / baseline_time) * 100 |
{*_HIGH_SPEEDUP} | baseline_time / high_time |
{*_OFFLOAD_SPEEDUP} | baseline_time / offload_time |
{*_HIGH_BAR_WIDTH} | round((high_time / baseline_time) * 150) |
{*_OFFLOAD_BAR_WIDTH} | round((offload_time / baseline_time) * 150) |
{*_MAX_PARALLEL} | Read from the relevant offload*.toml config (max_parallel field) |
{*_TEST_COUNT} | Number of tests collected, from pytest output |
offload/README.md.## Benchmarks section (starts at ## Benchmarks, ends just before the next ## heading).Summarize to the user:
## Benchmarks section.© imbue-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/offload-benchmark of imbue-ai/offload.
Open the folder on GitHubat commit d3675da
Offload Benchmark 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Offload Benchmark this skillimbue-ai/offload | 125 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Pester Failure AnalysisPowerShell/PowerShell | 56k | — | ~5.1k | Automated safety check: Pass | MIT | |
| Rust TDD Workflowrtk-ai/rtk | 83k | — | ~753 | Automated safety check: Notes | Apache-2.0 | |
| Clawteam DevHKUDS/ClawTeam | 5.5k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Browser Testing with Chrome DevToolsaddyosmani/agent-skills | 102k | 4 repos | ~3.5k | Automated safety check: Warn | MIT | |
| Apple Container Test RunnerRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT |
PowerShell/PowerShell
Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.
rtk-ai/rtk
Enforces red-green-refactor for Rust work, with idiomatic test patterns, a naming convention and a pre-commit gate of cargo fmt, clippy and test.
HKUDS/ClawTeam
A skill your agent uses when working inside the ClawTeam repository itself: local development, debugging, reviewing, testing, validating multi-agent flows, or checking whether a code change actually…
addyosmani/agent-skills
Connects an agent to a real Chrome instance through the Chrome DevTools MCP server, so it can inspect the DOM, read console errors and profile performance directly.
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.
code-yeongyu/oh-my-openagent
Tests the omo Codex plugin in an isolated CODEX_HOME with a local mock model, proving hooks fired through app-server notifications without touching ~/.codex.
imbue-ai/offload
Activate when you see offload.toml in a repo, offload referenced in build targets (justfile, Makefile, scripts), or when you need to run a large test suite in parallel.
imbue-ai/offload
Strip AI-codegen cruft from a branch — defensive checks the type system should make unrepresentable, redundant validation, speculative abstraction, no-op wrappers — while preserving load-bearing…
imbue-ai/offload
Cut a release of a Rust crate and publish to crates.io, with externally-gated merge and publish steps.
imbue-ai/offload
Onboard a repository to use Offload for parallel test execution on Modal.
Categories
Run local vs Offload benchmarks for mng and sculptor, then update the Benchmarks section of the Offload README. Offload Benchmark is an agent skill from imbue-ai/offload. Run local vs Offload benchmarks for mng and sculptor, then update the Benchmarks section of the Offload README.
Offload Benchmark fits situations like: testing & QA work in your project.
Run `npx skills add imbue-ai/offload --skill offload-benchmark -a claude-code`. Or copy the skill folder (skills/offload-benchmark in imbue-ai/offload) into .claude/skills/offload-benchmark in your project. Claude Code loads it when a task matches its description.
Run `npx skills add imbue-ai/offload --skill offload-benchmark -a codex`. Or copy the skill folder (skills/offload-benchmark in imbue-ai/offload) into .agents/skills/offload-benchmark in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add imbue-ai/offload --skill offload-benchmark -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/offload-benchmark, .gemini/skills/offload-benchmark, .github/skills/offload-benchmark and .opencode/skills/offload-benchmark in your project.
Going by SKILL.md and its folder, Offload Benchmark needs the command-line tools its instructions call (just, cargo and modal). Our summary lists: Docker.
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.
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.
Offload Benchmark is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Offload Benchmark: Pester Failure Analysis (PowerShell/PowerShell, 56k stars), Rust TDD Workflow (rtk-ai/rtk, 83k stars), Clawteam Dev (HKUDS/ClawTeam, 5.5k stars) and Browser Testing with Chrome DevTools (addyosmani/agent-skills, 102k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
imbue-ai (a GitHub organization) maintains it in imbue-ai/offload, which has 125 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 25, 2026.
Source: imbue-ai/offload on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.