For the last year or so, my “prompt library” was a mess of Apple Notes pages and a few snippets in Masscode. Every time I wanted to reuse a prompt with ChatGPT, Claude, or Gemini, I’d go hunting through notes, copy a stale version, paste it, tweak it inline, and… never save the tweak. The good version of the prompt lived in the chat I’d already closed.
I kept looking for a prompt manager that did the basics well: save prompts, version them, work across the LLM sites I actually use, and — the part nobody seems to nail — let me improve a prompt with a local model so I’m not shipping every half-formed idea to someone else’s cloud. I never found one I liked, so I built it. It’s called PromptForge, and it’s now live on the Chrome Web Store. It’s my first published extension.
What it does
PromptForge is a local-first prompt manager that lives in your browser. You can save, tag, categorise, and version prompts, and reuse them on ChatGPT, Claude, Gemini, and around twenty other LLM sites. If you’re running Ollama locally — I use it with a small Gemma model — PromptForge can call it to suggest improvements to your prompt, propose a title, generate tags, and pick a category. If you’d rather use a hosted model, it also works with any OpenAI-compatible API. If you don’t want any of that, it’s perfectly happy as a plain prompt manager. Nothing leaves your machine unless you point it at a remote endpoint yourself.
The bit I actually use most is the AI assist. I dump a rough prompt into the box, hit “improve,” and Ollama returns a cleaner version I can keep editing. Every iteration is versioned, including the very first thing I typed, so I can always roll back to the messy original when the “improved” one turns out worse (which happens more often than you’d think).
Why local matters to me
Prompts are working notes. They contain half-finished ideas, client context, code snippets, the way I actually think about a problem. I’m not comfortable streaming all of that to a third party just to get “make this prompt better.” Running it through Ollama on my own machine fixes that. It’s also free, fast enough on a decent laptop, and works on planes.
The privacy story is simple: data stays in the extension’s local storage, AI calls go to whatever endpoint you configure (your localhost:11434 for Ollama, or an API you choose), and there is no PromptForge server in the middle. There isn’t one to compromise.
The design idea: one big text box
I tried to keep the UI almost stupidly simple. There’s a big text box. You start typing the prompt you want to write. Underneath are two buttons: Improve with AI and Save.
“Improve with AI” sends what you’ve typed, along with a carefully written meta-prompt, to your local model. The improved version comes back into the same box so you can keep editing — it’s not a chat, it’s a draft you keep refining. I’m planning to add an option to generate three to five variants in one go so you can pick the one that fits, rather than committing to a single rewrite.
“Save” stores the prompt and, in the background, asks the model to suggest a title, tags, and a category. You can accept, edit, or ignore any of that. Every step — the first thing you typed, every AI rewrite, every manual edit — becomes a version you can diff against and restore.
That’s the whole loop. Type, improve, save, reuse. The cross-site injection (paste into ChatGPT/Claude/Gemini/etc.) is the payoff: the prompt you spent time on actually shows up where you need it, in one click.
What I learned shipping it
A few things I didn’t expect:
The hardest part wasn’t the code, it was writing the meta-prompt that asks the local model to improve a user’s prompt without “helpfully” rewriting it into something bland. Small models will happily strip the personality out of a good prompt if you let them. I ended up with a system prompt that explicitly tells the model to preserve the user’s intent, voice, and any concrete constraints, and to only restructure for clarity and specificity. That single change made the feature go from annoying to genuinely useful.
Versioning needs to be cheap and silent. If saving a version requires a click, you stop saving versions. Every AI suggestion, every manual save, every accepted rewrite gets a row, automatically. Storage is basically free; regret is not.
Cross-site support is a long tail. ChatGPT, Claude, and Gemini cover most of my use, but supporting twenty-plus sites means twenty-plus DOM selectors that break whenever a vendor ships a redesign. If you’re thinking about building something similar, budget for maintenance, not just features.
Local model choice matters more than I thought. A small Gemma model running through Ollama is plenty for “rewrite this prompt” and “suggest five tags.” Bigger models are slower and not noticeably better at this particular task. Don’t reach for a 70B model when a 4B will do.
What’s next
I want to add the multi-variant view (generate 3–5 alternatives, side by side, pick one). I want a proper diff view between versions. I want a quick “test this prompt against my model” sandbox so you can iterate without leaving the extension. And I want better import/export, because the moment you treat prompts as code, you want them in a repo.
If any of this sounds useful to you, PromptForge is on the Chrome Web Store. It’s free, it doesn’t phone home, and it’s the tool I wish I’d had a year ago. If you try it and something annoys you, tell me — I built it for myself, but I’d happily build it for you too.

Leave a Comment