New version of the /proposal skill: takes a meeting transcript or brain dump and produces a defensible Statement of Work as a .docx via build_sow.js. Built and tested end to end. Below: the rendered sample SOW the script generated, the validation-gate tests, and downloads.
$ node build_sow.js config.example.json OK SOW-sample-plumbing-co-2026-06-10.docx $ node build_sow.js bad1.json (em dash injected into overview) BUILD FAILED: em/en dash (U+2013/U+2014) found in config. Rule 5: replace with comma, colon, parenthesis, or hyphen. $ node build_sow.js bad2.json (price set to [PRICE TBD]) BUILD FAILED: TBD price in pricing block. Rule 4: prices come from service-catalog.md; flag custom pricing to Mike instead of shipping TBD.
Sample SOW (.docx) config.example.json
Content rendered straight from the generated file. Pricing amounts are schema placeholders marked EXAMPLE ONLY; the real rate card is pending.
STATEMENT OF WORK
Performance marketing program for Sample Plumbing Co.
Prepared by MagisterDigital.ai for Sample Plumbing Company LLC.
Date: 2026-06-10 SOW: MD-2026-EXAMPLE
This statement of work is valid for 30 days from the date above.
https://magisterdigital.ai
This statement of work describes a marketing engagement between MagisterDigital.ai and Sample Plumbing Company LLC. The work covers paid search management, landing page development, and call tracking so that lead activity can be measured against advertising activity.
The engagement is structured around work we control: campaign management, creative, measurement, and reporting. You own your ad accounts and pay ad platforms directly.
Recommended engagement tier: Growth.
The input calls for two paid channels plus lead tracking, which matches the Growth tier scope.
Campaign build and ongoing management in your Google Ads account, focused on service-intent searches in your service area.
Cadence: Ongoing management with monthly reporting
Design and build of dedicated landing pages for paid traffic, iterated based on observed performance.
Cadence: Initial build in month one, then iteration
Call tracking installed so calls are attributable to their source. Platform fees are billed at cost.
Cadence: Setup in month one, reporting monthly
Item | Amount | Billing |
Growth tier retainer | $0 EXAMPLE ONLY | monthly |
Landing page build | $0 EXAMPLE ONLY | one-time |
EXAMPLE FILE: amounts here are placeholders for schema demonstration and do not represent the rate card.
Advertising spend is paid by Sample Plumbing Company LLC directly to the ad platforms through accounts the client owns. Software platform fees are billed at cost.
This statement of work is valid for 30 days from 2026-06-10.
Sample Plumbing Company LLC will respond to requests for information, approvals, and access within 5 business days; timelines extend accordingly when responses take longer.
Either party may terminate with 30 days written notice. Work completed through the termination date is billable.
Agreed and accepted by the parties below.
MagisterDigital.ai Signature Dimitry Morgan, Co-Founder Date | Sample Plumbing Company LLC Signature Jane Sample, Owner Date |