1. Install
Mac or Windows. Download Scratch, open it, sign in with your work email.
2. Connect a source
Click "Add a source" in Scratch. Pick the platform your content lives in. Scratch opens the OAuth flow or asks for an API token, depending on the platform, then verifies the connection before you continue.
Today Scratch connects to Shopify, WordPress, HubSpot, Notion, Airtable, Webflow, Supabase, Linear, Intercom, Pipedrive, Attio, Memberstack, Audienceful, Brevo, Wix Blog, Moco CRM, and YouTube — plus Stripe, Affinity, and QuickBooks Online for read-only review (publish-back on the way). See /for/ for what each one reads and writes.
3. Pull a folder
Pick one folder to start. A single product collection in Shopify, one post type in WordPress, a Notion subpage, one Airtable table. Don't pull everything yet; pull enough to feel the round-trip.
The records inside the folder land in your Scratch project as local files. One JSON file per record, with prose fields and structured fields sitting alongside each other. Same folder shows up in your Mac or Windows file explorer like any other directory.
4. Run the starter prompt
Open your Scratch project folder in Claude Code, Cursor, or Codex. All three work the same way: paste the prompt below at the chat, hit enter, let it run.
You are running over a folder of records that Scratch pulled from my CMS. Each record is a local file. Files have prose fields (descriptions, bodies, summaries, alt text) and structured fields (IDs, slugs, dates, tags, links, currency, status).
For every record, tighten the prose:
1. Cut filler. "We are pleased to announce", "it is important to note", "in order to", "at this point in time", and so on.
2. Replace multi-clause sentences with shorter ones where the meaning survives.
3. Preserve every specific: numbers, product names, features, links, technical terms, proper nouns.
4. Do not touch any field that is not prose. Do not rename, reorder, reformat, or recase. Slugs, IDs, dates, and tags pass through untouched.
5. If a prose field is already tight, skip it. Don't edit something just to look busy.
Edit the files in place. Do not print the rewrites to chat. Scratch reads the file changes directly and shows me every edit for review.
When you are done, print one line: the count of records you edited, the count you skipped, and "ready for review". Nothing else.
This is a safe first prompt. It tightens prose and leaves every structural field alone, so you can see what the loop feels like without risking a rewrite of something you didn't want touched.
5. Review and publish
Open the Scratch desktop app. Two views show your run:
- A table of every record that changed. Scan the shape of the run before reading anything: which records moved, which fields moved, where the bigger edits are. You decide where to spend attention before reading prose.
- Word-level review inside each record. Click into a row and Scratch highlights what the AI added and what it removed, word by word. No re-reading a 3,000-word post hoping to spot the rewrite.
Approve the edits you like, reject the rest. The originals sit next to the edits until you decide. When you're done, click publish. Scratch writes the approved edits back through the source's API, record by record. The rejected ones never leave your machine.
If a published record looks wrong, re-pull it. The original comes back in one click.
That's the basic loop. From here, three things people do once they trust it.
Run across two sources
Connect a second source. The AI sees both folders at once and works the join.
- Refresh your help center from real conversations. Connect Intercom. The AI reads last week's chats, finds the questions you don't have articles for yet, and drafts new FAQs into your WordPress or Intercom folder.
- Link blog posts to your YouTube videos. Connect YouTube. The AI matches every post to relevant videos by topic and adds the embed.
- Keep product copy in line with the brand brief. Connect Notion. The AI checks every Shopify description against the tone guide sitting in your Notion folder and flags drift.
Have your AI write the validators
Validators are small Python files Scratch runs against every record before you review. Anything Python can check can be a validator. Things people validate:
- No em dashes. Replace with periods or commas.
- Headings in sentence case, not title case.
- No jargon. "Leverage", "synergy", "unlock value", "best-in-class" get flagged.
- Meta descriptions between 120 and 160 characters.
- Every product has at least one tag from each taxonomy category.
- Every published article has a valid author and a date inside the last 24 months.
Ask your AI to write the validator the first time. Paste an example of what you want caught and an example of what's fine. Scratch saves the validator alongside your project and runs it on every future pull. The validator is the contract.
Audit the whole catalog
Once one folder works, run them all. A full audit is the basic loop at catalog scale, with validators doing the heavy lifting.
- Whole Shopify store. Tighten every product description, generate missing alt text, normalize tags to your taxonomy, fill missing SEO copy.
- Whole WordPress site. Check every post against your SEO rules, generate missing image alt text, verify outbound links resolve.
- Whole HubSpot CRM. Clean drift across companies, contacts, and deal notes. Standardize industry and segment fields.
- Whole Intercom help center. Tighten every article, remove broken links, flag screenshots that have aged out, refresh meta.
The pattern is the same. Pull, prompt, validate, review, publish. Scratch makes catalog-scale work feel like one record at a time.
Stuck?
Talk to Curtis. 30 minutes, no pitch. Bring the folder you're trying to edit and we'll work through it together.