What problem does it solve? Official firearms inventory and price lists from DCAM (SEDENA) and OTCA arrive as PDFs with inconsistent layouts, and manually mapping hundreds of rows to catalog entries produces visible pricing errors. This Skill parses those PDFs positionally, maps rows to catalog items by brand, model, and caliber, and applies price, stock, and history updates under strict data invariants. ## Core Features & Use Cases - Positional PDF parsing: Extracts name, quantity, price, and long description from DCAM tabular layouts and OTCA stacked layouts using PyMuPDF, with a self-test script that pins known row counts. - Verified mapping and application: Builds an explicit catalog-to-PDF row dictionary, updates priceExact and price history, registers new inventory sources, and handles out-of-stock items, new models, accessories, and ammunition under fixed product conventions. - Integrity auditing and publishing: Runs auditar.js to enforce invariants (priceExact equals last history record, chronological histories, valid source inventory IDs, existing image paths) before opening draft PRs to main and develop. - Use Case: A user uploads the September DCAM inventory PDFs and asks to reconcile them; the Skill parses the three files, maps 204 firearm rows, updates prices and stock, audits the result, and opens two draft pull requests. ## Quick Start Upload the latest DCAM or OTCA inventory PDF and ask the assistant to reconcile it into the catalog, updating prices and stock.