Générateur de Fixtures PDF
Génère des fixtures PDF complètes pour tester les extracteurs, combinant des tableaux ReportLab et des images générées par IA. Orchestre les compétences fixture-table et fixture-image.
name: pdf-fixture description: > 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. allowed-tools: Bash, Read, Write triggers:
- create test PDF
- generate PDF fixture
- make sample PDF
- PDF for testing
- create PDF with tables
- extractor test fixture
- bug reproduction pdf metadata: short-description: Complete PDF fixtures for extractor testing (tables + images)
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",
]
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.