Skip to content
Filament plugin

Ghostwriter for Filament

Ghostwriter learns how your app’s content reads, then drafts new records and edits existing ones in that voice, in a panel beside the resource form. It works with whatever your forms already use: text inputs, rich and markdown editors, selects and toggles, Builder page builders and Repeaters.

Filament 5 on Laravel 12 or 13 · PHP 8.3 or later
The Ghostwriter panel over a Filament Create page: the conversation on the left, the draft in Blocks view on the right

Writing beside the form

Write with Ghostwriter on a Create page opens a panel over the form. You answer the brief, Ghostwriter drafts, and you ask for changes in conversation. Use this draft fills the form. Nothing is saved for you.

The content plan in Filament, with ideas for each resource

A plan for what to write next

Ideas based on what each resource already has and what it lacks. Any idea opens a new record with Ghostwriter beside it.

Finding a photo for an image upload field, with the best matches marked

Images that match the page

A Ghostwriter button sits on image upload fields. It finds photos in free libraries that match the images already used there, or makes a new one in that style, and saves it to the field’s own disk.

The voice guide for a Filament app

A guide to how the app sounds

Ghostwriter reads a sample of your published records and writes down who is talking and to whom, how pieces are shaped, and the words you use and the ones you never do. Edit it by hand or ask for changes.

How it fits Filament

Any resource
Text inputs, rich and markdown editors, selects and toggles, Builder page builders and Repeaters. It reads each resource’s form and the records already there.
Your forms
Use this draft fills the form for you to check and save. A field macro, ->ghostwriter(false), leaves a field alone, and ->ghostwriterHint() gives the writer a note.
Permissions
Two gate abilities, useGhostwriter and manageGhostwriter, set in one line with ->canManage(). Writing into a record still needs the resource’s own policy.
Tenancy
On a panel with tenancy, each tenant gets its own voice, kinds, plan and pieces, and Ghostwriter only reads that tenant’s records.
The queue
Every model call runs as a job, on the queue you choose. Guides, kinds, the plan and conversations are kept in your database, in ghostwriter_ tables.
Your own key
Claude, ChatGPT or Gemini. Keys are read from the environment each time and never stored.

Licensing Ghostwriter for Filament

Write to us and we’ll set you up with a licence.