From programmatic-doc-generation
Given multiple samples of the same document type (e.g. five different invoices), infer a unified JSON schema covering every variable field across all samples. Use when the user wants to design a robust template that handles real-world variation rather than a single example.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin programmatic-doc-generationThis skill uses the workspace's default tool permissions.
Single-sample ingestion can miss optional fields, edge-case formats, and variation that only appears in some documents. This skill takes multiple samples of the *same document type* and produces a union schema that covers all of them.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Single-sample ingestion can miss optional fields, edge-case formats, and variation that only appears in some documents. This skill takes multiple samples of the same document type and produces a union schema that covers all of them.
Auto-trigger when the user:
ingest-document-sample once and wants to harden the schema with more samples.ingest-document-sample (PDF/image/DOCX read).discount is a number in some and a string in others, flag it. The user must decide which is canonical.2026-04-27 vs 27/04/26), currency formatting, decimal separators. Normalise to a single canonical representation in the schema and document the variations seen.<output-dir>/
├── schema.json # unified JSON Schema
├── field-coverage.md # which samples had which fields, type variations seen
└── normalisation-notes.md # date/currency/format decisions and recommendations
After producing the unified schema, suggest the user run ingest-document-sample (or new-typst-template) against the canonical sample using this schema as the contract — that gives them a template that handles real-world variation.
User-owned outputs go to a user-chosen path. Plugin may cache the analysis under $CLAUDE_USER_DATA_ROOT/cache/schema-analysis/ (resolve via ${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/programmatic-doc-generation/).