Agent Skills › xberg-io/xberg › e2e-fixtures

e2e-fixtures

GitHub

用于管理端到端测试的JSON格式固定数据(Fixtures),支持调用、输入、Mock及断言定义,自动映射至Python测试文件。

.ai-rulez/skills/e2e-fixtures/SKILL.md xberg-io/xberg

Trigger Scenarios

需要添加或修改E2E测试用例的数据配置 生成基于JSON结构的端到端测试脚本

Install

npx skills add xberg-io/xberg --skill e2e-fixtures -g -y
More Options

Non-standard path

npx skills add https://github.com/xberg-io/xberg/tree/main/.ai-rulez/skills/e2e-fixtures -g -y

Use without installing

npx skills use xberg-io/xberg@e2e-fixtures

指定 Agent (Claude Code)

npx skills add xberg-io/xberg --skill e2e-fixtures -a claude-code -g -y

安装 repo 全部 skill

npx skills add xberg-io/xberg --all -g -y

预览 repo 内 skill

npx skills add xberg-io/xberg --list

SKILL.md

Frontmatter
{
    "name": "e2e-fixtures",
    "type": "Playbook",
    "paths": [
        "fixtures\/**",
        "e2e\/**"
    ],
    "title": "E2E Fixtures",
    "x-ai-rulez": {
        "id": "e2e-fixtures",
        "kind": "skill",
        "metadata": {
            "name": "e2e-fixtures"
        }
    },
    "description": "Add or edit e2e fixtures: calls, inputs, mocks, assertions and schema."
}

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.

Version History

  • 844bb91 Current 2026-11-03 09:36

Same Skill Collection

.ai-rulez/skills/alef-generated-bindings/SKILL.md
.ai-rulez/skills/api-server-mcp/SKILL.md
.ai-rulez/skills/benchmark-workflow/SKILL.md
.ai-rulez/skills/chunking-embeddings/SKILL.md
.ai-rulez/skills/config-loading-precedence/SKILL.md
.ai-rulez/skills/crate-structure/SKILL.md
.ai-rulez/skills/extraction-pipeline-patterns/SKILL.md
.ai-rulez/skills/feature-flag-conventions/SKILL.md
.ai-rulez/skills/feature-flag-policy/SKILL.md
.ai-rulez/skills/format-specific-extraction/SKILL.md
.ai-rulez/skills/mime-detection-routing/SKILL.md
.ai-rulez/skills/ocr-pipeline-and-quality/SKILL.md
.ai-rulez/skills/pdf-backends/SKILL.md
.ai-rulez/skills/plugin-architecture-patterns/SKILL.md
.ai-rulez/skills/polyrepo-boundaries/SKILL.md
.ai-rulez/skills/release-readiness/SKILL.md
.ai-rulez/skills/release-versioning/SKILL.md
.ai-rulez/skills/test-corpus/SKILL.md
.ai-rulez/skills/wasm-constraints/SKILL.md
.ai-rulez/skills/xberg-release/SKILL.md
.ai-rulez/skills/xberg-typescript-toolchain/SKILL.md
plugin/.ai-rulez/skills/batch-extraction/SKILL.md
plugin/.ai-rulez/skills/chunking/SKILL.md
plugin/.ai-rulez/skills/extracting-keywords/SKILL.md
plugin/.ai-rulez/skills/extracting-tables/SKILL.md
plugin/.ai-rulez/skills/extracting-with-ocr/SKILL.md
plugin/.ai-rulez/skills/picking-a-format/SKILL.md
plugin/.ai-rulez/skills/xberg-batch-extraction/SKILL.md
plugin/.ai-rulez/skills/xberg-chunking/SKILL.md
plugin/.ai-rulez/skills/xberg-extracting-keywords/SKILL.md
plugin/.ai-rulez/skills/xberg-extracting-tables/SKILL.md
plugin/.ai-rulez/skills/xberg-extracting-with-ocr/SKILL.md
plugin/.ai-rulez/skills/xberg-picking-a-format/SKILL.md
plugin/.ai-rulez/skills/xberg/SKILL.md
plugin/.cursor-plugin/skills/batch-extraction/SKILL.md
plugin/.cursor-plugin/skills/chunking/SKILL.md
plugin/.cursor-plugin/skills/extracting-keywords/SKILL.md
plugin/.cursor-plugin/skills/extracting-tables/SKILL.md
plugin/.cursor-plugin/skills/extracting-with-ocr/SKILL.md
plugin/.cursor-plugin/skills/picking-a-format/SKILL.md
plugin/.cursor-plugin/skills/xberg-batch-extraction/SKILL.md
plugin/.cursor-plugin/skills/xberg-chunking/SKILL.md
plugin/.cursor-plugin/skills/xberg-extracting-keywords/SKILL.md
plugin/.cursor-plugin/skills/xberg-extracting-tables/SKILL.md
plugin/.cursor-plugin/skills/xberg-extracting-with-ocr/SKILL.md
plugin/.cursor-plugin/skills/xberg-picking-a-format/SKILL.md
plugin/.cursor-plugin/skills/xberg/SKILL.md
plugin/.opencode/skills/xberg-batch-extraction/SKILL.md
plugin/.opencode/skills/xberg-chunking/SKILL.md

Metadata

Files
0
Version
844bb91
Hash
9abaa952
Indexed
2026-11-03 09:36

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-11-03 22:28
浙ICP备14020137号-1