catchlaw-content-pipelinelisted
Install: claude install-skill zakariaf/CatchLaw
# CatchLaw Content Pipeline
Content is not data the app happens to read — it IS the product, and the app is a viewer for it. A
wrong row in `rules.yaml` costs Khalid AED 3,000 and six months of licence, so every row is authored
out of band, asserted in CI and shipped as a byte-reproducible `app/assets/db/reference.db`. This skill
owns the authoring formats, the `tools/content_builder` CLI, the assertions that fail the build, licence
provenance and the changelog. It does not own the runtime schema, resolution semantics, or wording.
Read the reference for the task at hand:
- `references/build-assertions.md` — the ten assertions, the rules.yaml schema, required-when
matrix, locale and gender coverage, normalisation parity, contradiction classes, failure format.
- `references/licence-provenance.md` — per-jurisdiction statutes, gazette-only sourcing, the
death-year term ladder, the plate ledger, drop rules, the two translation tiers, COL attribution.
Run `scripts/check_content_pipeline.sh` before a PR.
Table definitions, DAOs and the lazy asset copy belong to `catchlaw-reference-database` and
`persistence-drift`; resolution semantics to `catchlaw-rule-engine`; ARB and gen-l10n to
`i18n-rtl-l10n`; wording to `catchlaw-verdict-contract`. This skill governs only how those bytes
come into existence.
## Non-negotiable rules
1. **The build tool is a tested package, never a shell script.** `tools/content_builder` is a pub
workspace member with its own `pubspec.yaml`, unit te