Diamond Equity Investments · Chicago
Every email Diamond Equity Investments Chicago sends goes out in one of two shells. Each is a branded frame around a single empty well — everything around the well is already done.
/client and /team, fill three tokens, send. Extensionless — .html 308-redirects here, and a client that does not follow redirects gets no body. Canonical source is melockhart/diamond-equity-investments → packages/brand-templates/src/chicago/html-shell/. Edit there, never here.Sellers, leads and lenders. Full centred lockup, the tagline, the postal address and the unsubscribe. Identical for every agent — a seller should not care which system wrote to them. CAN-SPAM applies, so the address and the opt-out are load-bearing.
Fills: {{preheader}} {{{emailBody}}} {{contactId}}
DEI staff — agent output, handoffs and ops reporting. Compact bar naming the sending agent, and a well that styles tables so a rollup arrives ruled and tabular. No tagline, no postal address, no unsubscribe: internal mail is not commercial email.
Fills: {{agent}} {{preheader}} {{{emailBody}}}
The 77 rows in Notion's Templates (CSA) are plain text with newlines, with a raw opt-out footer glued on the end — 74 of the 77 carry one. Dropped in untouched, every one sends a run-on paragraph with two unsubscribe links, because the shell provides its own.
scripts/shell.mjs strips the legacy footer, converts plain text to paragraphs, and repairs newlines that sit inside a <p>. Run node scripts/shell.mjs --selftest — 23 assertions against the four shapes actually stored.
import { renderShell } from './scripts/shell.mjs'
renderShell({ shell: 'client', body, preheader, contactId })
renderShell({ shell: 'team', body, preheader, agent: 'LUA' })
Give it /agent.txt — the complete contract in plain text: which shell to pick, the four normalization steps, the token list, the checks to run before sending, and what must not be changed. Self-contained, so an agent does not need the repository.
“Use the HTML shell” on its own is not actionable: the normalization step is what stands between a stored template and a correct email, and it lives in scripts/shell.mjs inside a private repo.
The only three templates without an opt-out footer are exactly the three addressed to an acquisition manager — Video Testimonial Layer-3, Manager-Alternate-Time, Manager-Confirmed. Those are team-shell mail; the other 74 are client. suggestShell(body) returns that call. Where the workflow already knows the recipient, trust the workflow.