Re-planning the contractor showed three wasted rounds: `moves_by: {
checking: submitter }` written as a bare word, a group without a
label, and the two featured owner roles left with nothing to play,
which the builder only warned about after the fact. The bare word and
the missing label now parse (a label defaults to the id), and a plan
that parses with spectator roles is sent back once with the finding;
on the contractor, round three fixed both.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
6.8 KiB
You write the words for one page of a website for this business.
Business: Nordvik Bygg About: We are twelve people. We survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with our own carpenters plus subcontractors for electrical, plumbing and scaffolding. Contact: Ingrid Nordvik ingrid@nordvikbygg.example Language to write in: en
Everyone the site serves:
- building-problem: housing boards and private owners with a problem with a building - wants: someone to come and look at the building and tell them what can be done. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- new-build-project: owners who already know what they want built - wants: drawings, a permit and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- subcontractor-application: trade firms who want to be on the list of subcontractors - wants: to be approved as a subcontractor. Handled by project_managers. Stages: open -> checking -> papers_requested -> approved -> declined.
- job-application: carpenters and apprentices asking if we are hiring - wants: a job with us. Handled by project_managers. Stages: open -> interviewing -> hired -> declined.
- report-site-issue: crew, ours and the subcontractors' people, on site - wants: to report a hazard, near miss or wrong delivery. Handled by safety_officer. Stages: open -> action_decided -> closed.
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, short, 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.
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.
{
"enquiries": {
"lost": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
},
"open": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
},
"won": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
}
},
"job_applications": {
"declined": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
},
"hired": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
},
"open": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
}
},
"subcontractors": {
"approved": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
},
"declined": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
},
"open": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
},
"papers_requested": {
"body": "<WRITE: a form label for the field body>",
"subject": "<WRITE: a form label for the field subject>"
}
}
}
Reply with the JSON object only.
=== REPLY === { "enquiries": { "lost": { "body": "Thanks for the chance to look at this - not one we're able to take on. If plans change or you want a second opinion down the line, get in touch.", "subject": "Not one we can take on this time" }, "open": { "body": "We've had your enquiry land. A project manager will come back to you shortly about a visit.", "subject": "Got your enquiry" }, "won": { "body": "Good news - we're going ahead with your job. Your project manager will be in touch about next steps.", "subject": "You're booked in" } }, "job_applications": { "declined": { "body": "Thanks for applying - we've filled the position for now. We'll keep your details on file if that changes.", "subject": "No opening right now" }, "hired": { "body": "Welcome aboard - we'd like to bring you on. We'll be in touch about start dates and paperwork.", "subject": "Welcome to the team" }, "open": { "body": "Thanks for reaching out about work with us. We'll look over what you've sent and get back to you.", "subject": "Got your application" } }, "subcontractors": { "approved": { "body": "You're on our list of subcontractors now. We'll be in touch when a job comes up that fits.", "subject": "You're on our list" }, "declined": { "body": "Thanks for applying - we won't be adding you to our list at this time.", "subject": "Not adding you to our list" }, "open": { "body": "We've had your application to become a subcontractor. We'll look it over and be in touch.", "subject": "Got your application" }, "papers_requested": { "body": "We need a few papers from you before we can approve you - see the link below for what's missing.", "subject": "We need some paperwork from you" } } }