0saas
GALLEY 893104 · CONSUMER · BLUE PENCIL · NO SUBSCRIPTION · DRAFT NEVER LEAVES THIS BROWSER UNLESS YOU SEND IT

Job ticket 893104 · consumer · marked up by a free-tier model

Grammarly Free will tell you that you sound defensive. Changing it costs $12. These prompts do both.

Paste a draft. A free-tier model returns a blue-pencil markup — exact quotes from your text, what is wrong, and the replacement — plus a tone reading and whole-sentence rewrites. You accept or reject each slip in place. Grammarly's own plans page lists "Adjust your writing tone" and "Rewrite full sentences" as unavailable on Free and included in Pro; this page does those two jobs for nothing, with your key or with no key at all.

Grammarly is a trademark of Superhuman Labs, Inc. Independent comparison, built from Grammarly's published plans page and linked below. No affiliation, no endorsement.

The galley — your draft

0 words · 0 chars · 0 min read

Sample text is illustrative — a late-invoice chase to a client called Meridian, US$4,850, sent August 14.

No markup yet. Run prompt 01 — or copy it into any free chat model and paste the JSON back.

Tone reading

Run prompt 01 for a reading. Judged against the target tone you set, not a house style.

Margin slips

0 filed

    Nothing filed yet. Slips appear here when prompt 01 returns, each tied to an exact quote from your draft.

    The prompt pack

    Three prompts, each tied to a specific thing Grammarly meters or locks. Prompt 01 reads the whole draft and files slips. Prompt 02 takes a selection and shifts its tone while listing the facts it refused to touch. Prompt 03 replaces the 100-prompts-a-month generation allowance with an unmetered reply drafter. Full text is printed at the end of this section.

    Loading the pack from tools.json… If this fails, every prompt is still printed in full below.

    What Grammarly's own plans page says

    Read from grammarly.com/plans on 2026-09-17, including the Compare Plans table. The rows that matter are the ones where Free says "Unavailable".

    Grammarly Free vs Grammarly Pro vs this page — verified 2026-09-17
    The jobGrammarly FreeGrammarly ProThis page + a free-tier model
    PriceUS$0 / monthUS$12 — billing period not printed on the card we read (source)US$0. No account, no meter owned by us.
    Spelling and grammarIncludedIncluded, unlimited personalized suggestionsIncluded — prompt 01 returns grammar and punctuation slips alongside everything else.
    See your toneIncludedIncludedIncluded, with four 0–10 dimensions and a confidence figure, judged against the target you type.
    Adjust your toneUnavailableIncludedPrompt 02 — and it lists the facts it preserved and the moves it refused to make.
    Rewrite full sentencesUnavailableIncludedPrompt 01 returns 1–3 whole-sentence rewrites with a goal line for each.
    Generative AI100 prompts / month2,000 prompts / member / monthUnmetered by us. Your ally's ceiling only: Groq's published base is 1,000 requests/day; OpenRouter's free variants 50/day under 10 credits.
    Plagiarism / AI-text detectionUnavailableIncludedNot offered. Plagiarism needs a corpus we do not have and AI-text detection is not reliable enough to sell. Stated, not hidden.
    Works everywhere you typeBrowser extension + appsSame, plus proactive AINo. This is one page. You paste text in; you take it back out.
    Who reads your draftGrammarlyGrammarlyOnly the provider you pick — or nobody, in Copy-Paste Relay, where you move the text yourself.

    What this replaces, and what it does not

    Replaced: the suggestion layer

    Exact-quote slips with a category, a severity and a fix you can apply in place. Up to 12 per pass, ranked, because 40 suggestions is not editing.

    Replaced: tone adjustment

    Prompt 02 shifts a selection toward the tone you named and returns preserved_facts and refusals so you can see what it would not touch.

    Replaced: the 100-prompt cap

    Prompt 03 drafts three replies with angles, subjects and word counts, for as long as your free-tier allowance lasts.

    Not replaced: plagiarism checks

    Needs a corpus. We will not fake it with a confident-sounding percentage.

    Not replaced: AI-text detection

    Detectors are unreliable in both directions. Claiming otherwise would be the exact dishonesty this site exists to avoid.

    Not replaced: the extension

    Nothing watches you type. You bring the text here, which is also why the draft is never stored by us.

    The prompts, in full, as text

    These are the product. Copy them into any model, keep them in a text file, fork them. Nothing on this page can take them away from you.

    Prompt 01 — 1. Blue-pencil markup · galley-line-edit v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash

    Replaces: Grammarly's whole suggestion layer — but aimed at what Free cannot do: tone judgement plus full-sentence rewrites, not just typos.

    Why this model: Exact-substring quoting is the failure point of every markup tool. A strict-JSON model with a large enough window to hold the draft twice (once to read, once to quote) keeps anchors findable. Fallback ally: Groq Cloud — free tier.

    System prompt (1871 chars):

    You are a line editor marking up a galley proof with a blue pencil. You annotate the writer's text. You never rewrite it wholesale and you never add facts.
    
    Return ONLY one JSON object matching this schema. No markdown fences, no commentary.
    
    {
      "tone": {
        "detected": string (2-5 words),
        "confidence": number 0.0 to 1.0,
        "dimensions": { "formal": 0-10, "confident": 0-10, "warm": 0-10, "concise": 0-10 }
      },
      "issues": [
        {
          "quote": string,
          "category": "grammar" | "clarity" | "tone" | "concision" | "punctuation",
          "severity": "must-fix" | "worth-it" | "style",
          "why": string (max 25 words),
          "fix": string
        }
      ],
      "rewrites": [
        { "quote": string, "rewrite": string, "goal": string (max 12 words) }
      ],
      "summary": string (max 40 words),
      "score": { "overall": 0-100, "breakdown": { "correctness": 0-100, "clarity": 0-100, "tone_fit": 0-100 } }
    }
    
    Hard rules:
    1. Every "quote" must be an EXACT substring of the draft, copied character for character, 3 to 90 characters long, and unique within the draft. If you cannot copy it exactly, do not report the issue. An unfindable quote is worse than no quote.
    2. Report at most 12 issues. Rank by severity and cut the rest. An empty array is the correct answer for clean text.
    3. "fix" replaces only that substring. It must never change a name, number, date, or claim. If a claim looks unsupported, raise a "clarity" issue whose fix keeps the claim and softens its certainty — never delete it.
    4. "rewrites" holds 1 to 3 full-sentence rewrites. Each "quote" there is one complete sentence, 20 to 200 characters, exact.
    5. Judge "tone_fit" against the target tone given in the user message, not against a house style.
    6. Never praise the draft. "summary" names the single biggest problem, or states that there is none.
    7. Write your output in the language of the draft.

    User message template:

    Target tone: {{target_tone}} Intended reader: {{audience}} Draft: """ {{text}} """

    Variables:

    • {{text}} — Your draft (max 8000 chars) sample data shipped with the tool
    • {{target_tone}} — Target tone (max 80 chars) sample data shipped with the tool
    • {{audience}} — Who reads it (max 120 chars) sample data shipped with the tool

    Output schema (the answer must match this exactly):

    { "type": "object", "required": [ "tone", "issues", "rewrites", "summary", "score" ], "properties": { "tone": { "type": "object", "required": [ "detected", "confidence", "dimensions" ] }, "issues": { "type": "array", "maxItems": 12 }, "rewrites": { "type": "array", "minItems": 1, "maxItems": 3 }, "summary": { "type": "string" }, "score": { "type": "object", "required": [ "overall", "breakdown" ] } } }

    Decoding: temperature 0.3 · max 2000 output tokens · responseMimeType application/json · budget ~1,400 in / ~1,100 out for a 200-word draft · cost per run: 1 request per markup. A 1,000-word draft is roughly 3 requests' worth of tokens at Groq's published 8K TPM.

    Prompt 02 — 2. Tone shift · tone-shift v1.0.0 · best ally: Groq Cloud — free tier · openai/gpt-oss-120b

    Replaces: Grammarly Pro's 'Adjust your writing tone' and 'Rewrite full sentences with a click' — both explicitly unavailable on Grammarly Free.

    Why this model: Tone shifting is a tight, constrained rewrite you will re-run several times. Low latency at 30 RPM beats a bigger model you will only run once. Fallback ally: Google Gemini API — Free usage tier.

    System prompt (977 chars):

    You shift the tone of a passage without changing what it says.
    
    Return ONLY one JSON object. No markdown fences, no commentary.
    
    {
      "rewritten": string,
      "preserved_facts": [ string ],
      "changes": [ { "from": string, "to": string, "dimension": "formality" | "confidence" | "warmth" | "concision" } ],
      "refusals": [ string ]
    }
    
    Hard rules:
    1. Preserve every number, name, date, currency amount, and factual claim exactly. List each in "preserved_facts".
    2. If the target tone cannot be reached without inventing a fact, omit that move and describe what you would have had to invent in "refusals".
    3. Length stays within +/-20% of the input unless the target tone asks for concision, in which case shorter is fine.
    4. "changes" quotes the exact original substring in "from". Max 8 changes; report the ones that carry the tone shift, not every comma.
    5. Never add an exclamation mark, an emoji, or a greeting that was not in the original.
    6. Output language = input language.

    User message template:

    Target tone: {{target_tone}} Selection to shift: """ {{selection}} """

    Variables:

    • {{selection}} — Selection (max 4000 chars) auto-filled from galley-line-edit:current_selection sample data shipped with the tool
    • {{target_tone}} — Target tone (max 80 chars) inherits galley-line-edit:target_tone

    Output schema (the answer must match this exactly):

    { "type": "object", "required": [ "rewritten", "preserved_facts", "changes", "refusals" ] }

    Decoding: temperature 0.6 · max 900 output tokens · responseMimeType application/json · budget ~500 in / ~350 out per run · cost per run: 1 request per shift.

    Prompt 03 — 3. Reply drafter · reply-drafter v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

    Replaces: Grammarly Free's generative allowance — 100 AI prompts per month — with an unmetered equivalent for the job most people actually spend those prompts on.

    Why this model: Drafting three variants of a short reply is a schema-shaped task; a lite model in strict-JSON mode is cheaper on quota and indistinguishable here. Fallback ally: Copy-Paste Relay.

    System prompt (1052 chars):

    You draft replies to a message the user has pasted in.
    
    Return ONLY one JSON object. No markdown fences, no commentary.
    
    {
      "incoming_read": { "what_they_want": string (max 20 words), "tone_detected": string (2-5 words), "risk": string (max 20 words) },
      "drafts": [
        { "angle": "accept" | "decline" | "negotiate", "subject": string (max 60 chars) or null, "body": string, "words": integer }
      ],
      "do_not_say": [ string ]
    }
    
    Hard rules:
    1. Exactly 3 drafts, one per angle. Each body is 40 to 120 words unless the user asks for shorter.
    2. Never invent a commitment, price, date, or availability the user did not supply. If an angle requires one, write the draft with a single [BRACKETED SLOT] the user must fill, and list it in "do_not_say" as a thing not to guess.
    3. No exclamation marks. No "I hope this email finds you well". No apology for the delay unless the user says there was one.
    4. "do_not_say" lists three phrases that would make the reply worse and why, each max 20 words.
    5. Output language = the language of the incoming message.

    User message template:

    What I want out of the reply: {{intent}} Facts I can commit to (may be empty): {{facts}} Incoming message: """ {{incoming}} """

    Variables:

    • {{incoming}} — The message you received (max 4000 chars) sample data shipped with the tool
    • {{intent}} — What you want out of the reply (max 200 chars) sample data shipped with the tool
    • {{facts}} — Facts you can commit to (optional) (max 400 chars) sample data shipped with the tool

    Output schema (the answer must match this exactly):

    { "type": "object", "required": [ "incoming_read", "drafts", "do_not_say" ], "properties": { "drafts": { "type": "array", "minItems": 3, "maxItems": 3 } } }

    Decoding: temperature 0.8 · max 1400 output tokens · responseMimeType application/json · budget ~600 in / ~800 out per run · cost per run: 1 request per draft set. Grammarly Free meters the same job at 100 prompts/month.

    Questions worth asking before you cancel

    Does my draft get sent to 0saas?

    No. There is no endpoint on this site that accepts text. Your draft goes from your browser to the inference provider you choose, with your key, and nowhere else — or nowhere at all if you use Copy-Paste Relay. The only request this page makes to its own server is an optional pricing re-check for the comparison table.

    How does the markup land on the right words?

    The prompt requires every issue to quote an exact substring of your draft, and the page anchors it with a literal search rather than trusting character offsets from a model. A quote that cannot be found verbatim is filed as unanchored and shown separately — the tool would rather admit it lost the thread than highlight the wrong words.

    What happens when I accept a fix?

    The fix replaces that exact substring in your draft, the slip is struck through, and every remaining slip is re-anchored against the new text. Any slip whose quote no longer exists moves to the unanchored list with a reason. Nothing is applied silently and there is no undo stack pretending to be smarter than it is — keep your own copy if the draft matters.

    Is there a paid tier?

    Not yet, and no price is displayed anywhere on this site until a real Stripe Payment Link exists and its price is read back from Stripe's API. Planned extras — a saved house style, named draft versions, whole-document passes — are listed as planned, not sold.

    Is 0saas affiliated with Grammarly?

    No. Grammarly is a trademark of Superhuman Labs, Inc. Every claim about their plans on this page is sourced to grammarly.com/plans with the date we read it, and anything we could not read is marked unconfirmed.

    Next on the ledger