Créer des fixtures PDF de test
Génère des fixtures PDF complètes combinant tables ReportLab et images générées par IA pour tester les extracteurs. Orchestre les compétences create-table et create-image.
name: create-pdf-fixture description: > Create complete PDF test fixtures combining ReportLab tables and AI-generated images. Orchestrates create-table and create-image skills. Creates PDFs designed to test/expose extractor bugs. allowed-tools: Bash, Read, Write triggers:
- create pdf fixture
- create test pdf
- generate pdf fixture
- make test pdf
- pdf for testing
- extractor test fixture
- bug reproduction pdf metadata: short-description: "Create PDF test fixtures (tables + images)"
create-pdf-fixture
Generate complete PDF test fixtures that combine:
- Proper ReportLab tables via
create-table(detectable by Marker/Camelot) - AI-generated images via
create-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
cd .pi/skills/create-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 |
|-------|---------|
| create-table | Creates ReportLab tables (Marker-detectable) |
| create-image | AI-generated images with caching |
Cached images from create-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",
]
Skills similaires
TDD Red-Green-Refactor
Skill qui guide Claude a travers le cycle TDD complet.
Audit d'Accessibilité Web
Réalise un audit d'accessibilité web complet selon les normes WCAG.
Générateur de Tests UAT
Génère des cas de test d'acceptation utilisateur structurés et complets.