Agent skill

Pytester

by ethereum in ethereum/execution-specs

Write and run isolated pytester-based plugin tests. An agent skill from ethereum/execution-specs.

CC0-1.0Auto-check passed

Install Pytester

skills CLI
$ npx skills add ethereum/execution-specs --skill pytester -a claude-code

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

GitHub CLI
$ gh skill install ethereum/execution-specs pytester --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/ethereum/execution-specs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pytester .claude/skills/pytester && 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
pytester
GitHub stars
1.2k
Token cost
~403 tokens
SKILL.md length
111 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
CC0-1.0

At a glance

Write and run isolated pytester-based plugin tests. An agent skill from ethereum/execution-specs.

  • SKILL.md covers Which execution mode to use, Expected inner failures and RunResult API
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Pytester is an agent skill from ethereum/execution-specs. Write and run isolated pytester-based plugin tests.

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

The repository describes itself as: Specification for the Execution Layer. Tracking network upgrades. The licence is CC0-1.0.

Example prompts

  • “/pytester”

Requirements

  • Python 3

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    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

Pytester loads about 403 tokens when it runs. Until then it costs about 15 tokens; SKILL.md has 111 words of instructions outside code blocks.

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

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 ethereum/execution-specs at commit 3d544d7, republished under its CC0-1.0 licence (© ethereum). 111 words, ~403 tokens.

Download SKILL.mdSave it as .claude/skills/pytester/SKILL.md (or your agent's skills folder).
name
pytester
description
Write and run isolated pytester-based plugin tests.

Pytester

Guide for pytester-based plugin/CLI tests. Run before writing or modifying these tests.

Which execution mode to use

  • runpytest() — default. In-process, fast, full RunResult API (assert_outcomes(), fnmatch_lines()).
  • runpytest_subprocess() — use only when in-process causes state leakage (Pydantic cache pollution, global mutation in pytest_configure). Same RunResult API.
  • Raw subprocess.run() — never use alongside pytester. Use runpytest_subprocess() instead.

Subprocess isolation masks bugs rather than fixing them. Prefer fixing the root cause and use subprocess as defense-in-depth.

Expected inner failures

runpytest_subprocess() replays inner output to outer stdout (by design). Suppress with capsys.readouterr():

python
def test_expected_failure(pytester: Any, capsys: Any, pytestconfig: Any) -> None:
    result = pytester.runpytest_subprocess(...)
    capsys.readouterr()  # suppress inner failure bleed
    assert result.ret != 0
    output = "\n".join(result.outlines + result.errlines)
    # conditional print for -s debugging
    if pytestconfig.getoption("capture") == "no":
        with capsys.disabled():
            print(output)

RunResult API

Prefer assert_outcomes() and fnmatch_lines() over manual any(... in line ...) — better failure messages.

  • result.ret — exit code
  • result.outlines / result.errlines — line lists
  • result.assert_outcomes(passed=N, failed=N)
  • result.stdout.fnmatch_lines(["*pattern*"])

© ethereum, CC0-1.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/pytester of ethereum/execution-specs.

Open the folder on GitHubat commit 3d544d7

Compare with similar skills

Pytester 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.

Pytester compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pytester this skillethereum/execution-specs1.2k—~403Automated safety check: PassCC0-1.0
Cross Origin Isolationthedaviddias/Front-End-Checklist74k—~565Automated safety check: PassMIT
Isolating Product Facade ContractsPostHog/posthog40k—~9.5kAutomated safety check: PassCustom licence
Implementing Browser Isolation For Zero Trustmukul975/Anthropic-Cybersecurity-Skills34k—~3.5kAutomated safety check: PassApache-2.0
Isolated Space Boundaryopenchamber/openchamber11k—~2kAutomated safety check: PassMIT
Screenshot IsolatedIvanMurzak/Unity-MCP4.4k1 repos~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • Cross Origin Isolation

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing security-sensitive web apps, SharedArrayBuffer usage, worker-heavy apps, editors, or measurement features that require cross-origin isolation.

    74k GitHub stars~565 tokensUpdated 2 days ago
    Auto-check passed
  • Official

    Plan and execute product isolation migrations to a facade plus contract layer in PostHog, following the Visual review architecture.

    40k GitHub stars~9.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Implementing Browser Isolation For Zero Trust

    mukul975/Anthropic-Cybersecurity-Skills

    Deploys remote browser isolation (RBI) as a core component of a Zero Trust architecture.

    34k GitHub stars~3.5k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Isolated Space Boundary

    openchamber/openchamber

    A skill your agent uses when changing isolated-space trust boundaries: container hardening, networks and gatekeeper policy, exec and lifecycle, grants and credentials, code transfer and apply…

    11k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Screenshot Isolated

    IvanMurzak/Unity-MCP

    Render a target GameObject from a chosen camera angle with optional layer-based isolation, configurable background (solid/skybox/transparent), multi-light setup via JSON, and Composite (2x2…

    4.4k GitHub starsUsed in 1 repo~1.9k tokens
    Game DevelopmentAuto-check passed
  • Trace And Isolate

    rohitg00/skillkit

    Applies systematic tracing and isolation techniques to pinpoint exactly where a bug originates in code.

    1.5k GitHub stars~1.8k tokensUpdated 4 mo ago
    DevelopmentAuto-check passed

More from ethereum/execution-specs

All 13 skills in this repo
  • Consume Hive

    ethereum/execution-specs

    Run locally filled fixtures against execution clients with a selected Hive simulator and a network client configuration from hive-tests.

    1.2k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Eip Checklist

    ethereum/execution-specs

    Track EIP test coverage with the repository checklist system.

    1.2k GitHub stars~804 tokensUpdated yesterday
    Auto-check passed
  • Fill Tests

    ethereum/execution-specs

    Fill test fixtures with the repository fill command. An agent skill from ethereum/execution-specs.

    1.2k GitHub stars~793 tokensUpdated yesterday
    Auto-check passed
  • Grammar Check

    ethereum/execution-specs

    Audit grammar in documentation and code comments. An agent skill from ethereum/execution-specs.

    1.2k GitHub stars~424 tokensUpdated yesterday
    Auto-check passed
  • Implement Eip

    ethereum/execution-specs

    Implement EIP specification changes using repository conventions.

    1.2k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Write Docstring

    ethereum/execution-specs

    Write specification docstrings using repository conventions.

    1.2k GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed

Questions about Pytester

What does Pytester do?

Write and run isolated pytester-based plugin tests. An agent skill from ethereum/execution-specs. Pytester is an agent skill from ethereum/execution-specs. Write and run isolated pytester-based plugin tests.

How do I install Pytester in Claude Code?

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

How do I install Pytester in Codex?

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

Can I use Pytester 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 ethereum/execution-specs --skill pytester -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pytester, .gemini/skills/pytester, .github/skills/pytester and .opencode/skills/pytester in your project.

What does Pytester need to run?

SKILL.md names no scripts, command-line tools or credentials: Pytester is instructions for the agent only. Our summary lists: Python 3.

Does Pytester 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 Pytester 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 Pytester use?

Pytester is published under the CC0-1.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pytester use?

About 403 tokens (SKILL.md is roughly 1.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 Pytester?

Skills that share tags, products or a category with Pytester: Cross Origin Isolation (thedaviddias/Front-End-Checklist, 74k stars), Isolating Product Facade Contracts (PostHog/posthog, 40k stars), Implementing Browser Isolation For Zero Trust (mukul975/Anthropic-Cybersecurity-Skills, 34k stars) and Isolated Space Boundary (openchamber/openchamber, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pytester?

ethereum (a GitHub organization) maintains it in ethereum/execution-specs, which has 1,195 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

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