Happy Path Works
Launches November 10, 2026

Document Ops

Professional documents in one pass.

Five skills and one config. You describe a process; you get a document that looks like your organization made it on purpose. The brand-kit intake runs once and the other four read it, so you configure your logo, palette, and header style a single time and never answer for them again.

5 skills · $79

The buy button goes here on November 10. Until then, subscribe and you will hear when it opens.

What's inside

Five components, one config.

01
Brand-kit intake

Run-once. Captures logo, colors, fonts, header style into a config every other skill reads. The keystone.

Trigger
brand: full intake · brand: check validate the installed kit, report only · brand: recheck <path> validate a specific brand.json
Hard-fails
brand_check.js exits non-zero → no brand.json is written, not written-with-a-caveat · a colour that is not six uppercase hex digits is never written · a logo is never embedded untrimmed · brand.json is never partially written: all seven palette slots or none
Output
A brand config file the other four skills read.
02
SOP builder

Any process → a branded SOP with step cards, role color coding, alert and info boxes.

Trigger
Descriptive: asks to build, rework or reformat an SOP, workflow document, process guide or procedure manual — including embedding screenshots or applying role colour coding
Hard-fails
width_check.js exits non-zero on any table nested in a step-card cell whose width or column-width sum exceeds the 8580 DXA budget, and on any in-cell image over 5.9 in.
Output
A branded SOP with step cards, role color coding, alert and info boxes.
03
Quick-reference distiller

Any SOP or process doc → a one-page job aid.

Trigger
Descriptive: asks for a QRG, quick reference, reference card or job aid, or to distil an SOP or process document into something usable at the point of action
Hard-fails
qrg_check.js exits non-zero on wrong page geometry, a top-level table over the content budget, a tblGrid that does not sum to its declared width, a nested table wider than its parent cell, a filename that breaks the pattern, or a {SEGMENT}_{Topic} that does not match the SOP passed to --pair.
Output
A one-page job aid.
04
Agenda + minutes pipeline

Recurring-meeting agenda builder with a minutes-to-next-agenda flow.

Trigger
Descriptive: asks to build, draft or compose an agenda for a committee, subcommittee, board or workgroup meeting — also on prior minutes uploaded with a request for the next agenda
Hard-fails
agenda_check.js exits non-zero: the header date must match the date in the filename · no member is bold at build time, because bold means present and is applied after the meeting · the filename matches the pattern with a real calendar date.
Output
A recurring-meeting agenda; minutes feed the next agenda.
05
Change / decision documentation

Structured requirement and decision records for sign-off workflows.

Trigger
reqdoc: at the start of a message, read as the change to document · or the descriptive phrases ("req doc", "document this change", "I need the doc for the business owner")
Hard-fails
reqdoc_check.js exits non-zero on a missing or out-of-order heading, a heading with nothing under it, a change reference that disagrees between the cover and the filename, and a bullet that wraps past three lines at the declared text measure.
Output
Structured requirement and decision records for sign-off.

Trigger strings and hard-fail lists are printed from the shipped skill files, not drafted for this page.

Worked example

A brand kit in, a finished SOP out.

The kit the document on the right was built against, trimmed to the fields you can see on the page:

{ "org": { "name": "Ninebark Fabrication" }, "palette": { "ACCENT": "B45724", "DACCENT": "8E431A" }, "logo": { "path": "logo.png" }, "naming": { "PREFIX": "NBF", "SEGMENTS": ["FAB", "QUAL", "MAINT"] } }

The accent started as the orange C25E28. White text on it measured 4.26:1, under the 4.5:1 contrast floor, so brand-kit darkened it to B45724 — 4.85:1, same hue — before any document was built.

Page 1 of the Ninebark Fabrication First Article Inspection SOP: logo header, purpose box, a four-role Who Does What table, and the first two procedure steps, including a STOP alert and a tolerance table.
Page 1 of a two-page First Article Inspection SOP, built by sop-docx against the Ninebark Fabrication kit. Ninebark Fabrication is a fictional company built for these examples. Full document (PDF).
What you get

The file manifest.

Every skill ships with its own setup-guide section and at least one worked example. That is not a bonus; it is half the build.

brand-kit.skill installs as brand-kit sop-docx.skill installs as sop-docx qrg-builder.skill installs as qrg-builder agenda-builder.skill installs as agenda-builder reqdoc-builder.skill installs as reqdoc-builder each archive carries its own SETUP.md, worked example, and the checks that skill runs. any one of them works on its own; installed together they read one brand kit.
Compatibility

Requires: Node 18 or newer, and npm. brand-kit has no dependencies at all; the four document skills each depend on one package, docx. Nothing is hosted by me and there is no API key.

Tested on: Claude Code 2.1.239, and Claude on the web and desktop apps. Every skill is run end to end on each before it enters a pack. Older Claude Code versions are not tested, and nothing in these skills depends on a recent one — they install by dropping a folder into your skills directory, not through a marketplace.

Portable, untested: these are standard Agent Skills — a SKILL.md with name and description frontmatter plus supporting files — and Anthropic also supports that format on the Claude API and on Claude through AWS and Microsoft Foundry. Those surfaces are not tested here and are not covered by support. They will probably work. "Probably" is why they are listed separately.

If the format changes: a skill format change is an update, not a new purchase. See updates.

Questions

Is this just prompts in a folder?

No. Each skill has a deterministic trigger, hard-fails backed by checks that run before anything is written, and named exits at every scope boundary. The floor those are measured against is published at /standards/, including the parts of it that are unflattering. If a pack shipped here failed a gate, the gate would be the thing to fix, not the wording.

What do I need to run it?

A Claude plan that supports skills, either Claude Code or the Claude web or desktop app, and Node 18 or newer with npm — the four document skills build .docx files with the docx package, installed by running npm install once inside each skill folder — four times in practice, since brand-kit has no dependencies and reports nothing to do. Beyond that, nothing: no API key, no server, no subscription to anything of mine. Full statement at /policies/.

Do I have to use the brand-kit skill?

Yes, once. It is the keystone: it writes the config that the other four read. Skip it and every skill will ask you for your logo, palette, and header style every time. Running it takes a few minutes and you never do it again.

Can I change the skills after I buy them?

Yes. They are markdown and Python; edit them, fork them, strip the parts you do not want. You keep your modifications. What you cannot do is resell or redistribute them — see the license.

Can my team use it?

One purchase covers one person. For a team, a flat team license covers up to five people at one organization for $237 — three solo licenses. More than five, buy another team license; each covers five. Producing documents for a client is your own use; installing the skills for the client's people to run is the client's use. Sold as a separate listing from November 25, 2026. Details at /policies/#license.

What happens when Anthropic changes the skill format?

It gets fixed and the fix ships to you as an update at no cost, within the major version. Format churn is the expected weather for this product category, and handling it is a large part of what separates a maintained system from a folder someone uploaded once.

Why is this $79 when prompt packs are $9?

Because a prompt pack is text and this is a tested system with documentation, a published quality floor, and a maintenance commitment. If what you want is text, the $9 option is a real option and you should take it. The price is a signal, not a tax.

Can I get a refund?

Gumroad is the merchant of record and handles refunds under its own terms; I cannot issue one directly. If a pack does not work as documented, email hello@happypath.works first — I will either get it working or back your refund request. Details at /policies/.

Launches November 10, 2026. Subscribe above to hear when it opens.
LicenseRefund policy