Chrome extension builder: a working Manifest V3 extension from a description
Small browser annoyances are perfect for a personal extension: hide a distracting sidebar, copy a page's details in one click, highlight words you care about. Describe it, and your todo.is agent writes a Manifest V3 extension with the fewest permissions possible, zips it and explains how to load it in Chrome in two minutes.
The prompt
- Build a Chrome extension (Manifest V3) that [WHAT IT SHOULD DO] on [WHICH SITES]. It should be triggered by [HOW IT STARTS]. Settings I want: [OPTIONS]. Ask for the fewest permissions possible and explain each one. No remote code, no tracking, no external servers unless I asked for it. Include a simple icon, an options page if there are settings, and comments in the code. Check the manifest and the JavaScript for errors in your workspace, then send me a zip with step-by-step instructions to load it unpacked, and what I'd need to change to publish it on the Chrome Web Store.
What to change
- [WHAT IT SHOULD DO]: E.g. "copies the job title, company and URL of a job post into a tab-separated line I can paste into my sheet".
- [WHICH SITES]: E.g. "linkedin.com/jobs and indeed.com", "every site", "only YouTube".
- [HOW IT STARTS]: E.g. "clicking the toolbar icon", "a keyboard shortcut (Alt+J)", "automatically when the page loads".
- [OPTIONS]: E.g. "choose which fields to copy", "on/off switch per site". Or "none".
Example result
- Job Clipper: Chrome extension (Manifest V3)
- Click the toolbar icon (or press Alt+J) on a job post and it copies "title, company, location, URL" as one tab-separated line, ready to paste into a spreadsheet.
- Files in job-clipper.zip
- • manifest.json: name, version, permissions, shortcut
- • background.js: listens for the click or shortcut and runs the content script
- • content.js: reads the title, company and location from the page
- • options.html / options.js: choose which fields to copy and in what order
- • icons/: 16, 48 and 128 px icons
- Permissions, and why
- • activeTab: lets the extension read only the tab you clicked on, only at that moment. No access to your other tabs or history
- • scripting: needed to run content.js in that tab
- • storage: saves your field choices from the options page
- No host permissions, no network requests, no analytics.
- manifest.json (core)
- {
- "manifest_version": 3,
- "name": "Job Clipper",
- "version": "1.0.0",
- "action": { "default_title": "Copy job details" },
- "background": { "service_worker": "background.js" },
- "permissions": ["activeTab", "scripting", "storage"],
- "commands": {
- "_execute_action": { "suggested_key": { "default": "Alt+J" } }
- },
- "options_page": "options.html"
- }
- Install it (2 minutes)
- • Unzip job-clipper.zip into a folder you'll keep
- • Open chrome://extensions and switch on Developer mode (top right)
- • Click Load unpacked and pick the folder
- • Pin Job Clipper from the puzzle-piece menu
- When a site changes
- The page selectors are at the top of content.js with comments. If LinkedIn renames a class, send your agent the new page HTML and it updates them.
- To publish on the Chrome Web Store
- • Register a developer account (one-time fee set by Google) and upload the zip
- • Add a privacy note: the extension collects no data
- • Add screenshots and a short description; review usually takes a few days
How to do it with todo.is
- Copy the prompt and describe what the extension does, where, and how it starts.
- Send it in todo.is or to your agent; attach a saved page (.html) if it needs to read a specific site.
- Your agent writes the extension, checks it and sends a zip with install steps.
- Load it unpacked in chrome://extensions and try it.
- Reply with what to change and you'll get a new zip with a higher version number.
Tips for a better result
- Ask for activeTab instead of broad host permissions where you can. Fewer permissions means fewer warnings and a faster Web Store review.
- Attach a saved copy of the target page (Ctrl+S) so the selectors match the real HTML.
- Manifest V3 doesn't allow remotely hosted code; everything must be inside the zip.
- Sites change their HTML. Keep selectors in one place so updates take minutes.
- Need something done on websites rather than a tool? Your todo.is agent can work in a real browser itself, including your own Chrome through the todo.is Connector.
Chrome extension builder: FAQ
- What is Manifest V3? It's the current Chrome extension format. Background pages are replaced by service workers, remote code is banned and some request-blocking APIs changed. New extensions on the Chrome Web Store must use it.
- Do I need to know JavaScript to use the extension? No. You load it in Chrome and use it. Knowing a bit helps if you want to tweak it, and the code is commented.
- Will it work in Edge or Brave? Usually yes. Chromium-based browsers like Edge, Brave and Opera load Manifest V3 extensions the same way. Firefox needs small manifest changes.
- Can the agent publish it to the Chrome Web Store? No. It prepares the zip, description and privacy notes. You upload it from your own developer account.
JavaScript is required to use the todo.is app.