Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 KiB
You write the words for one page of a website for this business.
Business: UHHM About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. Contact: Bendik Aagaard Lynghaug bl@uhhm.no Language to write in: en
Everyone the site serves:
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. Lands in
projects; its form collects: {name}, {email}, {project} (long), {organization}, {org_contact} (optional). - trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. Lands in
trials; its form collects: {business}, {email}, {what_we_do} (long), {who_comes_to_us} (long), {what_we_keep_track_of} (long), {who_is_involved} (long), {what_slows_us_down} (long) (optional). - collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. Lands in
applicants; its form collects: {name}, {email}, {interest} (long), {note} (long) (optional). - subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. Lands in
subscribers; its form collects: {name}, {email}. - propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. Lands in
development_proposals; its form collects: {submitted_by}, {email} (optional), {page} (optional), {rationale} (long), {proposed_yaml} (long). - custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. Lands in
custody_requests; its form collects: {name}, {email}, {about}, {what} (long). - prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. Lands in
organizations; its form collects: {name}, {contact}, {note} (long) (optional).
The page: aggregates.yaml
It is the mails the site sends. Under each bucket, each stage that sends one has a subject and a body: the mail a person gets the moment their case enters that stage, saying what happened and what, if anything, they can do now. Plain text, at most three short sentences plus the link line, no greeting longer than one word, in the business's voice. Keep every {...} placeholder exactly as it is - {site}, {chain}, {email} and any field name are filled in by the site - and keep any line with a link in it. The person reads the mail alone, days later, maybe among others: every mail says what it is about in their terms, using a field they filled in as a {placeholder} where one names it (the fields each bucket's forms collect are listed under the needs above), never this or your message alone and never the business's own words for things; and every mail ends with the business's name on its own line, so they know who wrote. A subject names the case by a short field (a name, a place, a choice), never a long one marked (long), which would put a whole answer in the inbox list. Never use a field marked (optional): whoever skipped it gets a blank where it was. Promise only what the site does: a desk's decision carries no written reason, so a mail about a decision never says one was written - it says they can reply to this mail to ask, and a reply reaches the people who decided.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
questionis a question the reader could ask themselves.- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
- Write the way people in this trade and country actually speak.
{
"custody_requests": {
"declined": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
},
"open": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
},
"resolved": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
}
},
"projects": {
"accepted": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
},
"declined": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
},
"open": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
}
},
"trials": {
"approved": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
},
"declined": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
},
"open": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
},
"previewed": {
"subject": "<WRITE: a form label for the field subject>",
"body": "<WRITE: a form label for the field body>"
}
}
}
Reply with the JSON object only.
=== REPLY === { "custody_requests": { "declined": { "subject": "Your request about {about}: declined", "body": "{name}, the custodians have declined your request about {about}. You can reply to this mail to ask about it, and a reply reaches the people who decided.\n{site}\nUHHM" }, "open": { "subject": "We have your request about {about}", "body": "{name}, your request about {about} has reached the custodians of the redoal network. A custodian will answer you at {email}.\n{site}\nUHHM" }, "resolved": { "subject": "Your request about {about} is resolved", "body": "{name}, the custodians have resolved your request about {about}. If something is still wrong, reply to this mail and a custodian will read it.\n{site}\nUHHM" } }, "projects": { "accepted": { "subject": "{organization}: we would like to take your project on", "body": "{name}, we have read the brief from {organization} and would like to take the project on. Reply to this mail and we will agree on the next step.\n{site}\nUHHM" }, "declined": { "subject": "{organization}: we cannot take your project on", "body": "{name}, we have read the brief from {organization} and cannot take the project on. You can reply to this mail to ask about it, and a reply reaches the people who decided.\n{site}\nUHHM" }, "open": { "subject": "We have the brief from {organization}", "body": "{name}, the brief from {organization} has reached us, and we will read all of it. You will get a considered reply at {email}.\n{site}\nUHHM" } }, "trials": { "approved": { "subject": "{business}: your trial is approved", "body": "We have approved the trial for {business}, and we are now building a first draft of a site from your own words. You will get a mail at {email} when it is ready to look at.\n{site}\nUHHM" }, "declined": { "subject": "{business}: we cannot build your trial", "body": "We have declined the trial for {business}. You can reply to this mail to ask about it, and a reply reaches the people who decided.\n{site}\nUHHM" }, "open": { "subject": "We have your trial request for {business}", "body": "Your request for {business} has reached us, and a person will read it before anything is built. You will hear from us at {email} once it has been decided.\n{site}\nUHHM" }, "previewed": { "subject": "{business}: your first draft is ready", "body": "The first draft of a site for {business} is ready for you to look at. Reply to this mail and tell us what fits and what does not.\n{site}\nUHHM" } } }