The Brownsmith Dynamics blog

# Notes from the  
plugin shelf.

Small tools, explained through everyday work. Nine short guides to using the library.

Sitemap Diff

## [Compare sitemap releases to catch URL changes before launch](https://plugins.brownsmithdynamics.com/blogs/sitemap-diff/)

30 October 20263 minute read

Use a sitemap comparison to spot additions, removals, metadata edits, and duplicates during a site release.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/sitemap-diff/)

Invoice Rules

## [Validate invoice arithmetic before it reaches the next system](https://plugins.brownsmithdynamics.com/blogs/invoice-rules/)

27 October 20263 minute read

A practical way to catch malformed invoice data and amount mismatches before an import or approval step.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/invoice-rules/)

Consent Record Kit

## [Treat consent history as a sequence of decisions your application can verify](https://plugins.brownsmithdynamics.com/blogs/consent-record-kit/)

24 October 20263 minute read

Build structured consent receipts with explicit purposes, canonical serialization, and authenticated event records.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/consent-record-kit/)

Business Hours

## [Business hours need a time zone, a calendar, and clear boundaries](https://plugins.brownsmithdynamics.com/blogs/business-hours/)

22 October 20263 minute read

Model weekly hours, holidays, exceptions, and overnight periods without relying on the server’s local clock.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/business-hours/)

CSV Schema Mapper

## [A reliable way to turn changing CSV exports into application data](https://plugins.brownsmithdynamics.com/blogs/csv-schema-mapper/)

20 October 20263 minute read

Use an explicit schema to map inconsistent CSV exports, catch bad rows, and decide when to stream.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/csv-schema-mapper/)

PPDF — Privacy PDF

## [A private PDF workflow starts with where the file is processed](https://plugins.brownsmithdynamics.com/blogs/ppdf-privacy-pdf/)

18 October 20263 minute read

How local PDF processing can reduce unnecessary document sharing, and what to review before relying on a processed file.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/ppdf-privacy-pdf/)

JSX Copy Editor

## [Edit JSX copy without hunting through components](https://plugins.brownsmithdynamics.com/blogs/edit-jsx-copy-without-hunting-through-components/)

16 October 20263 minute read

For supported literal text in JSX and TSX, a source grouped panel can make a focused copy pass easier while keeping edits undoable in VS Code.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/edit-jsx-copy-without-hunting-through-components/)

Prompt Composer

## [Make prompts easier to review and reuse](https://plugins.brownsmithdynamics.com/blogs/make-prompts-easier-to-review-and-reuse/)

14 October 20263 minute read

A practical prompt workflow starts with clear instructions and repeatable structure. Prompt Composer is being developed as a local companion for that editing work.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/make-prompts-easier-to-review-and-reuse/)

Page QR

## [Share the page you mean, not just the website](https://plugins.brownsmithdynamics.com/blogs/share-the-page-you-mean-with-page-qr/)

12 October 20263 minute read

A QR code can carry the full address of a filtered view or specific section. Here is how Page QR handles that detail and where its boundaries are.

[Read article ↗](https://plugins.brownsmithdynamics.com/blogs/share-the-page-you-mean-with-page-qr/)

Explore [Brownsmith Dynamics](https://brownsmithdynamics.com/) for business systems, websites and focused software.

---

[HTML page](https://plugins.brownsmithdynamics.com/blogs/) · [Developer documentation](https://plugins.brownsmithdynamics.com/developers/) · [Agent instructions](https://plugins.brownsmithdynamics.com/llms.txt)
