e2e-fixtures

e2e-fixtures is a skill for Claude Code from xberg-io/xberg. It costs 35 tokens per session (789 once invoked), scanned A, original, MIT.

A fixture format for defining end-to-end tests from JSON files. End-to-end tests exercise a feature through a realistic call path, and these fixtures specify inputs, mock responses, calls, and expected results.

In plain words
What is it for?
Use it to describe extraction, PDF page-count, redaction, and plugin-registry scenarios for automated end-to-end tests.
Why use it?
It gives tests a consistent source format and maps fixture files to generated Python test files.

Skill for Claude Code

Written for Claude Code: paths in frontmatter.

Good fit Use it to describe extraction, PDF page-count, redaction, and plugin-registry scenarios for automated end-to-end tests.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/xberg-io/xberg/e2e-fixtures
About the project

Xberg is a document-intelligence engine that reads files, URLs, archives, and source trees and extracts text, metadata, images, tables, and structured data, with additional code-language understanding. Developers use it through language bindings, a command-line tool, REST API, or MCP server, and the catalogue entries support those integrations.

xberg-io/xberg · 9,464 stars · on GitHub · docs.xberg.io

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add xberg-io/xberg --skill e2e-fixtures
Clone the repo
git clone --depth 1 https://github.com/xberg-io/xberg

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for e2e-fixtures

README.md
[![agentmods](https://agentmods.dev/badge/skills/xberg-io/xberg/e2e-fixtures/github.svg)](https://agentmods.dev/skills/xberg-io/xberg/e2e-fixtures)
Your own site
<a href="https://agentmods.dev/skills/xberg-io/xberg/e2e-fixtures"><img src="https://agentmods.dev/badge/skills/xberg-io/xberg/e2e-fixtures/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for e2e-fixtures

Your own site · 80×15
<a href="https://agentmods.dev/skills/xberg-io/xberg/e2e-fixtures"><img src="https://agentmods.dev/badge/skills/xberg-io/xberg/e2e-fixtures.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 35 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 789 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00035 $0.00789
Opus 5.5 $0.00014 $0.00316
Sonnet 5.5 $0.00007 $0.00158
Haiku 4.5 $0.00003 $0.00079

Measured 2d ago against content hash cf477369c362, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

e2e-fixtures scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.ai-rulez/skills/e2e-fixtures/SKILL.md · 47 lines

What it actually says

xberg E2E Fixtures

One JSON object per file under fixtures/<dir>/. The directory is the default category; an explicit category field overrides it and names the generated test file (e.g. fixtures/plugin_api/list_reranker_backends.json sets reranker_backend_management, so its Python test lands in e2e/python/tests/test_reranker_backend_management.py).

  • Fields: id (unique snake_case, becomes the test name), call, description, docs (topic, title, description, side_effects), assertions; optional category, tags, input, config, args, skip.
  • call: extract (most fixtures), extract_batch, pdf_page_count, extract_with_external_redaction, and the plugin-registry calls (list_*, register_*, unregister_*, clear_* for OCR, embedding, tokenizer, reranker backends, renderers, validators, post-processors; ocr_backend_supports_language).
  • input: extract_input (kind: "uri" with $mock_url/..., or bytes + filename + mime_type) plus mock_responses (path, status_code, headers, optional method, and a body: body_file resolved against a responses subdirectory of fixtures/ (none exists yet), then fixtures/ itself, so ../test_documents/... is the in-repo submodule; or body_inline). Batch calls take inputs. A bytes input can also sit at the top level of input (kind: "bytes", bytes, filename, mime_type) without extract_input. Other calls take call-specific input fields (pdf_bytes/password, findings_json, registry name/backend); copy an existing fixture of that call.
  • Assertion types: not_error, error, equals, min_length, count_min, count_equals, contains, contains_any, contains_all, not_contains, not_empty, greater_than_or_equal, less_than_or_equal. Example field: results[0].mime_type.
  • Assertion shape and generation: the shared e2e-generation skill.
  • skip: {languages: [...], reason: "..."}.
  • Directories: smoke, extract, batch, contract, error, format_specific, pdf, code, url, plugin_api, registry, summarization. Field-only categories (all under plugin_api/): ocr_backend_management, embedding_backend_management, tokenizer_backend_management, reranker_backend_management, renderer_management, validator_management, post_processor_management.
  • fixtures/repros/ holds repro assets (PDFs, configs, READMEs) and fixtures/images/ a test image; neither holds e2e fixtures.

Copy the nearest existing fixture of the same call rather than writing one from this list.

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 47 lines · 35 tokens per session scan A cf477369c362

Subscribe to this mod's changes

e2e-fixtures is a skill published in the GitHub repository xberg-io/xberg (9,464 stars, last pushed today), licensed MIT. It adds 35 tokens to every session and 789 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-28.