From a clear brief to a checked draft

Learn Whalory’s writing process, try the blind reading exercise, and inspect the boundaries of checks, feedback, and evidence.

How it works

Understand, write, read it again.

The same three steps for a two-line SMS and a product page. Only their length changes.

  1. 01

    Understand the assignment.

    Audience, destination, purpose, and the facts you know. At most three questions, and only when the answer would change the text.

    In the example: five facts, one gap, and no question before the draft.

    Illustrative exampleBrief
    Reader
    Regulars on the bakery’s text list
    Where
    A text message, one part if it fits
    Purpose
    They come in at the new time
    Brand
    Rowan Bakery
    Known
    Starting Saturday, we open at 8 a.m.
    Unknown
    Sunday hours
    Asked first
    Nothing. An SMS is a small task, so the draft comes first and the gap stays visible.
  2. 02

    Write within the brief.

    Channel rules, your voice profile, and brackets for whatever is still unknown.

    In the example: the name, then the new time. Sunday stays in a bracket, and the opt-out line comes last.

    Illustrative exampleDraft

    Rowan Bakery: Starting Saturday, we open at 8 a.m. Sunday: [confirm: Sunday hours] Reply STOP to opt out

    1. Name, then newsThe bakery’s name and a colon, then the new opening time.
    2. Gap keptSunday hours stay in a bracket until someone confirms them.
    3. ChannelMarketing text: the name comes first and the opt-out line last. One part, no emoji, no link.
  3. 03

    Read it again.

    Scripted checks where your AI can run code, the same checklist by hand where it cannot, an editorial review, and your final decision.

    In the example: one bracket is still open, and with its opt-out line the message fits in one SMS. The call is yours.

    Illustrative exampleNote
    • Diagnosis: marketing text to regular customers. It invites them in, so it ends with an opt-out line.
    • QA: script
    • Follow-up: Do Sunday hours change too? Does your SMS provider add the opt-out line itself?
    • Brackets leftOne: Sunday hours(Open)
    • Length106 of 160; 1 message, GSM-7(Passed)
    • Stock phrasesNone found by lint.py(Passed)
    • ReviewA self-review pass, or a separate editor agent in the Claude Code plugin(Note)

    Your call: fill the bracket or cut the line, then send.

Illustrative example

Brief

Reader
Regulars on the bakery’s text list
Where
A text message, one part if it fits
Purpose
They come in at the new time
Brand
Rowan Bakery
Known
Starting Saturday, we open at 8 a.m.
Unknown
Sunday hours
Asked first
Nothing. An SMS is a small task, so the draft comes first and the gap stays visible.

Draft

Rowan Bakery: Starting Saturday, we open at 8 a.m. Sunday: [confirm: Sunday hours] Reply STOP to opt out

Note

  • Diagnosis: marketing text to regular customers. It invites them in, so it ends with an opt-out line.
  • QA: script
  • Follow-up: Do Sunday hours change too? Does your SMS provider add the opt-out line itself?
  • Brackets leftOne: Sunday hours(Open)
  • Length106 of 160; 1 message, GSM-7(Passed)
  • Stock phrasesNone found by lint.py(Passed)
  • ReviewA self-review pass, or a separate editor agent in the Claude Code plugin(Note)

Your call: fill the bracket or cut the line, then send.

  1. From the briefReader, place, and purpose are what the bakery told us.
  2. No question yetFor a message this small the draft comes first; Sunday waits in a bracket.

Blind reading

Read first. Reveal the labels later.

Two drafts from the same brief, labeled only A and B. Pick the one you would publish, then see which is which and what changed.

Nothing you choose leaves this page. We collect no votes and publish no win rate.

Example 1 of 3

Illustrative example

The brief

ForInstagram caption

The client wrote

caption for the new evening conversation class pls, info below

Supplied

Class
Spanish conversation, evening group
Starts
Tuesday, October 13
When
Tuesdays and Thursdays, 6:30 to 8 p.m.
Group size
eight people at most
Sign-up
a message on Instagram

Not supplied

  • The fee
  • Who teaches the class

Draft A

Ready to unlock your full potential? 🚀 Our brand-new evening Spanish class is here! Taught by experienced native-speaking teachers, it’s the perfect way to build your confidence. Spots are filling fast, so send us a DM today to save your place!

Draft B

Evening Spanish conversation starts Tuesday, October 13. We meet Tuesdays and Thursdays, 6:30 to 8 p.m., in groups of eight people at most. Fee: [fee]. Send us a message here to hold a seat.

If this were your business, which would you publish?

Hub

How Whalory’s checks improve.

The Hub is an optional service for signed rule updates and optional usage counts. It is currently off. You can use Whalory without it and update by downloading a new package. The stages below describe how a future Hub service would work.

Not active

Hub networking, automatic rule updates, and statistics sharing are disabled. The current package has no trusted production update channel.

Select a stage to read what it does.

01

Not active

Opt-in signals

Statistics sharing is disabled. The proposed service would require you to type a short confirmation code in your own terminal. Your AI assistant could not consent for you. A report would contain rule counts, not your text, file names, or prompts.

What leaves your machine

The local linters and MCP tools do not send your text. Hub networking is disabled. If the Hub opens in the future, each of the following data flows would have its own off switch:

  • Automatic rule updates are disabled. The proposed service would download at most once a day or on request. It would add no identifier, but the server would see your IP address and the time.Turn off: hub_client.py off updates
  • Weekly statistics remain off and closed. The planned opt-in service for Pro and Studio would send rule counts, rounded word counts and edit amounts, with a weekly license proof. It would send no text, file names, paths, prompts or license key.Turn off: hub_client.py off
  • Weekly packets remain off and closed for every edition. The intended design keeps counts on your computer. Whalory would not post them; you would decide whether to share a packet through your own GitHub account.Turn off: hub_client.py off packets

Changing your mind

Turning statistics off stops them at once and deletes the local files. It also asks the server to delete the reports it still holds, right away or on your next connection.hub_client.py off

Before you uninstall, delete the Hub’s data as well. Uninstalling alone leaves the Hub folder in place.hub_client.py forget

Off switches

One environment variable turns the whole Hub off: no downloads, no Hub files, and the checks keep their built-in rules.WHALORY_HUB=0

The Hub design includes a signed stop command that would pause rule updates across installations. The Hub is currently off.

Without the Hub

Core works fully without it. Nothing in the method, the checks, or your voice profile depends on sharing.

Before sharing opens

  • A trusted production signing key is in place.
  • Notices reviewed by a lawyer.
  • The host’s written answer on what it logs.
  • About 1,000 active paid licenses, for statistics.

How updates work

Update Whalory by downloading a new package and following the guide for your assistant. Automatic Hub rule updates are disabled. Each install format has its own update steps:

Skill folder (Claude Code, Codex, Cursor, VS Code, Gemini CLI)
Replace the whalory folder with the new version.
claude.ai and the Gemini app
Upload the new files again.
Claude Code plugin
claude plugin update, once the public marketplace exists.
Pasted prompts and GPT or Gem packs
Paste or upload the new text.

Release notes come inside every package, in CHANGELOG.md.Hub privacy notice (draft)

Questions

Before you install.

Another question? Ask it in the public repository.Open an issue on GitHub

How this site is written

We write this site with Whalory’s method and AI assistance. Source checks and editorial review are separate steps. Fictional examples are labeled, and each article includes its sources.

Evidence and evaluation method