Agent skill

Fake Model Provider Faults

by different-ai in different-ai/openwork

Makes the desktop app's model provider fail on demand, with refused connections, resets, stalls and HTTP 4xx and 5xx errors, so error and retry states can be reproduced.

Custom licenceAuto-check passedTesting & QA

Install Fake Model Provider Faults

skills CLI
$ npx skills add different-ai/openwork --skill fake-model-faults -a claude-code

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

GitHub CLI
$ gh skill install different-ai/openwork fake-model-faults --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/different-ai/openwork.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/fake-model-faults .claude/skills/fake-model-faults && 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
fake-model-faults
GitHub stars
24k
Token cost
~642 tokens
SKILL.md length
192 words
Files
3 (incl. scripts)
Skills in repo
33
Repo updated
First seen
Licence
Custom licence

At a glance

Makes the desktop app's model provider fail on demand, with refused connections, resets, stalls and HTTP 4xx and 5xx errors, so error and retry states can be reproduced.

  • Reproducing a model provider error or retry state without a real outage
  • SKILL.md covers Set up, What each model does and Clean up
  • Runs Python and JavaScript scripts from its folder; calls node and python3
  • Designing messages for rate limit, auth or billing failures

What it does

Errors from a model provider come from the engine, the opencode sidecar, not from the app window, so browser-level network throttling cannot reproduce them. This skill points test providers at deliberate failures instead. It starts a local fault server on 127.0.0.1:55600 (the port is changeable) and runs `fault-providers.py add`, which backs up `runtime.sqlite` and adds three fault providers.

Each fault model produces one engine error: a refused connection, an unresolvable `.invalid` host, a socket reset (all with retries), a reset in the middle of a reply, a request that never answers, and HTTP 429, 500, 503, 401 and 402 responses with a JSON error body, plus an `ok` model for checking the pipeline. A DNS timeout and the OpenWork Cloud unavailable banner need a real network cut, such as turning Wi-Fi off for about 40 seconds, and the agent should ask first because it drops VPNs too. Cleanup removes the providers and stops the fault server.

When your agent uses it

  • Reproducing a model provider error or retry state without a real outage
  • Designing messages for rate limit, auth or billing failures
  • Testing how the desktop app handles a stalled or cut model stream

Example prompts

  • “Set up the fault providers and show me what the app displays on a 429.”
  • “Reproduce the connection refused error with retries and capture a screenshot.”
  • “Clean up the fault providers and stop the fault server.”

Requirements

  • Node.js and Python 3, to run the bundled scripts
  • The OpenWork desktop app with its local runtime

What it can do on your machine

Read from SKILL.md and the folder at commit 4ccc9e9. 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

    Ships 2 files in scripts/ (Python and JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • python3

    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

Fake Model Provider Faults loads about 642 tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 192 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 192 words (~642 tokens).

“Real provider errors come from the engine (the opencode sidecar), not from the window, so CDP network throttling cannot produce them. This skill points test providers at failures instead.”

— opening of SKILL.md by different-ai, Custom licence
name
fake-model-faults

Read the full SKILL.md on GitHub

Files

SKILL.md and 2 other files (scripts) in .opencode/skills/fake-model-faults of different-ai/openwork.

  • SKILL.md
  • scripts/fault-providers.py
  • scripts/fault-server.mjs

Open the folder on GitHubat commit 4ccc9e9

Compare with similar skills

Fake Model Provider Faults 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.

Fake Model Provider Faults compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fake Model Provider Faults this skilldifferent-ai/openwork24k—~642Automated safety check: PassCustom licence
Agentacct Workflowmikehasa/agentacct766—~1.6kAutomated safety check: PassMIT
Pipensx Bug Report Triagei3sey/pipensx221—~1.5kAutomated safety check: NotesGPL-3.0
Sage Wiki Integratexoai/sage-wiki622—~861Automated safety check: PassMIT
Antigravity SDK End-to-End Testingomnigent-ai/omnigent11k—~2.7kAutomated safety check: PassApache-2.0
Diagnoseipea/geobr959—~1.5kAutomated safety check: PassNone

Similar skills

  • Agentacct Workflow

    mikehasa/agentacct

    A skill your agent uses when working in a repo with agentacct MCP configured, or when asked to track coding-agent work, smoke-test agentacct integrations, or report objective AI-agent task evidence.

    766 GitHub stars~1.6k tokensUpdated 6 days ago
    Testing & QAAuto-check passed
  • Decodes QR-code bug report photos and screenshots from the pipensx app into a log, then triages crashes and update, download or install failures.

    221 GitHub stars~1.5k tokensUpdated 7 days ago
    Testing & QAAuto-check: notes
  • Sage Wiki Integrate

    xoai/sage-wiki

    Pipeline skill that wires sage-wiki into an existing project — detects language, installs the client, runs a smoke test, and reports.

    622 GitHub stars~861 tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Spins up a local Omnigent server and exercises the Antigravity (Gemini) SDK harness end to end: building agents, running real turns, smoke tests and bug-bashing.

    11k GitHub stars~2.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Diagnose

    ipea/geobr

    Root-cause a failing or wrong geobr call with a disciplined check-the-environment-first loop instead of guessing.

    959 GitHub stars~1.5k tokensUpdated 12 days ago
    Testing & QAAuto-check passed
  • Playwright Screen Recording

    liaohch3/claude-tap

    Records headless Playwright sessions as .webm videos to show a bug fix working or to give pull request reviewers visual evidence.

    3.3k GitHub stars~714 tokensUpdated 17 days ago
    Testing & QAAuto-check passed

More from different-ai/openwork

All 33 skills in this repo
  • OpenWork Desktop CDP Driver

    different-ai/openwork

    Drives a running OpenWork desktop window over CDP from the shell to evaluate JS, take screenshots, start sessions and send prompts for hand checks.

    24k GitHub stars~465 tokensUpdated today
    Auto-check passed
  • OpenWork Model Alias Manager

    different-ai/openwork

    Manages OpenWork's inference model aliases, discounts and overlays over the upstream OpenRouter catalog, and triggers the GitHub workflow that refreshes base models.

    24k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Reproduce Chat States

    different-ai/openwork

    Fires known chat states in the running OpenWork desktop app, such as provider errors, retries and tool steps, so you can check how each renders.

    24k GitHub stars~673 tokensUpdated today
    Auto-check passed
  • Attaches OpenCode browser tools to the OpenWork Electron dev app through CDP to explore its UI, send a composer task and debug, not to give test verdicts.

    24k GitHub stars~780 tokensUpdated today
    Auto-check passed
  • Daytona Sandbox Operations

    different-ai/openwork

    Covers Daytona CLI setup, sandbox debugging, keeping a sandbox alive and which credentials the CLI uses, for when Daytona itself is the problem rather than the tests.

    24k GitHub stars~917 tokensUpdated today
    Auto-check passed
  • Daytona Seeded Cloud Demo

    different-ai/openwork

    Spins up a persistent OpenWork Cloud Den demo on a Daytona sandbox, seeds it with Acme Robotics data and returns shareable URLs and login details.

    24k GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Works with

Questions about Fake Model Provider Faults

What does Fake Model Provider Faults do?

Makes the desktop app's model provider fail on demand, with refused connections, resets, stalls and HTTP 4xx and 5xx errors, so error and retry states can be reproduced. Errors from a model provider come from the engine, the opencode sidecar, not from the app window, so browser-level network throttling cannot reproduce them. This skill points test providers at deliberate failures instead.

When should I use Fake Model Provider Faults?

Fake Model Provider Faults fits situations like: reproducing a model provider error or retry state without a real outage; designing messages for rate limit, auth or billing failures; testing how the desktop app handles a stalled or cut model stream.

How do I install Fake Model Provider Faults in Claude Code?

Run `npx skills add different-ai/openwork --skill fake-model-faults -a claude-code`. Or copy the skill folder (.opencode/skills/fake-model-faults in different-ai/openwork) into .claude/skills/fake-model-faults in your project. Claude Code loads it when a task matches its description.

How do I install Fake Model Provider Faults in Codex?

Run `npx skills add different-ai/openwork --skill fake-model-faults -a codex`. Or copy the skill folder (.opencode/skills/fake-model-faults in different-ai/openwork) into .agents/skills/fake-model-faults in your project. Codex loads it when a task matches its description.

Can I use Fake Model Provider Faults 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 different-ai/openwork --skill fake-model-faults -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fake-model-faults, .gemini/skills/fake-model-faults, .github/skills/fake-model-faults and .opencode/skills/fake-model-faults in your project.

What does Fake Model Provider Faults need to run?

Going by SKILL.md and its folder, Fake Model Provider Faults needs Python and JavaScript for the scripts in its folder and the command-line tools its instructions call (node and python3). Our summary lists: Node.js and Python 3, to run the bundled scripts; The OpenWork desktop app with its local runtime.

Does Fake Model Provider Faults 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 Fake Model Provider Faults 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Fake Model Provider Faults use?

Fake Model Provider Faults has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Fake Model Provider Faults use?

About 642 tokens (SKILL.md is roughly 2.6k 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 Fake Model Provider Faults?

Skills that share tags, products or a category with Fake Model Provider Faults: Agentacct Workflow (mikehasa/agentacct, 766 stars), Pipensx Bug Report Triage (i3sey/pipensx, 221 stars), Sage Wiki Integrate (xoai/sage-wiki, 622 stars) and Antigravity SDK End-to-End Testing (omnigent-ai/omnigent, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fake Model Provider Faults?

different-ai (a GitHub organization) maintains it in different-ai/openwork, which has 23,967 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 9, 2026.

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