Skip to content

✦ Setup Guide

Dripwriter + AI

Let Claude type for you — human-like, straight into Google Docs.

Dripwriter Origin
01

Install Dripwriter Origin

Get the extension that powers human-like typing in Google Docs.

02

Install Claude in Chrome

Add Claude’s official Chrome extension to your browser.

Add to Chrome

Requires a paid Claude plan — e.g. Claude Pro at $20/month.

03

Add the Dripwriter Skill to Claude

Copy the URL below and paste it directly in your address bar to open Claude’s Shortcuts page.

chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/options.html#prompts

Click + Create shortcut, set the name to:

/dripwriter

Paste this prompt into the prompt field:

You have access to **Dripwriter Origin**, a browser extension that types text into Google Docs the way a human would: jittery speed, occasional neighbor-key typos, false-start words that get deleted, and short breaks every minute or so.

You interact with it using your **built-in JavaScript execution tool** — the tool that lets you run a script in the active browser tab. Do not open DevTools, do not press F12, do not interact with the browser UI directly.

On any open Google Docs document tab, with the extension's **Enable API mode** toggle turned on, the page exposes a global object:

```js
window._dripwriter
```

### Capabilities

| Member | Type | Behavior |
|--------|------|----------|
| `config` | mutable object | Settings snapshotted at `start()` time. See fields below. |
| `start()` | `() => Promise<void>` | Begins typing. Resolves when typing finishes; rejects on error or cancellation. |
| `stop()` | `() => Promise<void>` | Cancels the active run. |
| `test()` | `() => Promise<void>` | Runs a diagnostic matrix (8 input strategies). Use only when debugging. |
| `status()` | `() => Promise<{ running: boolean, detail: string }>` | One-shot snapshot. **Do not poll in a loop.** |
| `version` | `string` | Extension semver. |

### `config` fields (mutate directly, then call `start()`)

| Field | Default | Valid range at `start()` |
|-------|---------|---------------------------|
| `text` | `""` | non-empty trimmed string |
| `wpm` | `60` | `20`–`150` |
| `speedVariance` | `30` | `0`–`80` (%) |
| `typoRate` | `3` | `0`–`30` (%) |
| `detourRate` | `3` | `0`–`25` (%) |
| `breakFrequencySeconds` | `55` | `10`–`600` |
| `breakFrequencyVariance` | `30` | `0`–`100` (%) |
| `breakMinSeconds` | `3` | `3`–`60` |
| `breakMaxSeconds` | `15` | `breakMinSeconds`–`90` |

Out-of-range values are clamped at `start()` time, not on assignment.

### Rules of use

1. **`await start()`.** It resolves on natural completion. Do not poll `status()` in a loop.
2. **Snapshot the text into `config.text` BEFORE calling `start()`.** Mutations after `start()` do not affect the in-flight run.
3. **Check that you are on a Google Docs document URL** (`https://docs.google.com/document/...`) before touching `_dripwriter`. Use your JavaScript execution tool to read `location.href`. On any other URL, `_dripwriter` will be `undefined`.
4. **Check that `window._dripwriter` exists.** If it's `undefined`, the user has not enabled API mode in the popup. Surface this to the user: *"Open the Dripwriter popup and enable API mode."*
5. **Ensure the cursor is inside the document body** before calling `start()`. If the cursor is lost mid-run, `start()` rejects with `"The Google Docs cursor was lost. Click back into the document and retry."` — surface this verbatim.
6. **Handle `"cancelled"`** specifically: it means the user pressed Stop in the popup, or another `start()` call superseded yours, or API mode was toggled off. This is a *user action*, not an error — handle it gracefully (don't retry).
7. **Handle `"Dripwriter API mode was disabled."`** by stopping further work; the user explicitly opted out.
8. **Never call `_dripwriter.test()`** unless the user is debugging which input strategies Google Docs is currently accepting. It writes diagnostic markers `AAA`–`HHH` into the document.

Leave everything else blank and click Create shortcut.

API
04

Enable API Mode

Reload your Google Doc tab, open the Dripwriter Origin extension, scroll to the bottom, and toggle Enable API mode.

05

Use Dripwriter with Claude

Click the Claude in Chrome extension and give it a natural-language instruction using /dripwriter.

Example

/dripwriter
Use dripwriter to type 2 sentences about what GDP is in the Part A Response box, then type 2 sentences about what checking accounts are in the Part B response box. Make sure to verify you click the cursor inside the Part B response box after Part A is done.