Agent skill
pdf-fixture
Generate complete PDF test fixtures combining proper ReportLab tables and AI-generated images. Orchestrates fixture-table and fixture-image skills. Creates PDFs designed to test/expose extractor bugs.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/pdf-fixture
Metadata
Additional technical details for this skill
- short description
- Complete PDF fixtures for extractor testing (tables + images)
SKILL.md
PDF Fixture Generator
Generate complete PDF test fixtures that combine:
- Proper ReportLab tables via
fixture-table(detectable by Marker/Camelot) - AI-generated images via
fixture-image(diagrams, decorative elements) - Text content with various formatting challenges
Why This Exists
Creating test PDFs that properly exercise extractors requires:
- Tables built with ReportLab (not raw drawing commands)
- Images that test VLM classification (decorative vs data)
- Edge cases: empty sections, malformed titles, nested structures
This skill orchestrates sibling skills for modular, reusable fixtures.
Quick Start (New)
cd .pi/skills/pdf-fixture
# Generate the extractor bug reproduction fixture
uv run generate.py extractor-bugs --output test.pdf
# Generate a simple fixture
uv run generate.py simple --output simple_test.pdf
# List available presets
uv run generate.py list-presets
# Verify table detection
uv run generate.py verify test.pdf
Presets
| Preset | Description | Tests |
|---|---|---|
extractor-bugs |
Reproduces known extractor issues | Empty sections, false tables, malformed titles |
simple |
Basic PDF with table and text | Basic extraction |
Sibling Skills Used
| Skill | Purpose |
|---|---|
fixture-table |
Creates ReportLab tables (Marker-detectable) |
fixture-image |
AI-generated images with caching |
Cached images from fixture-image/cached_images/:
decorative.png- Cover illustrationflowchart.png- Process diagramnetwork_arch.png- Architecture diagram
Legacy Usage (Still Supported)
# Via wrapper (uses extractor project)
./run.sh --example --name test_fixture
./run.sh --spec content_spec.json --name my_fixture
JSON Spec Format (Legacy)
{
"style": "standard",
"sections": [
{
"title": "1. Requirements",
"level": 1,
"content": [
{"type": "text", "text": "This document describes requirements."},
{"type": "table", "columns": ["ID", "Name"], "rows": [["1", "Alice"]]},
{"type": "figure", "description": "Architecture diagram"}
]
}
]
}
Output
extractor_bugs_fixture.pdf- Cached incached_fixtures/- Custom output via
--outputflag
Dependencies
dependencies = [
"pymupdf>=1.23.0",
"reportlab>=4.0.0",
"typer>=0.9.0",
"pillow>=10.0.0",
]
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?