Creare un’estensione Chrome con Manifest V3 e permessi minimi

Genera un’estensione del browser completa con Manifest V3: manifest.json con permessi minimi, service worker, content script, popup, messaggistica, archiviazione e checklist per il Chrome Web Store. Pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Include 4 variabili personalizzabili e puoi copiarlo gratuitamente con un clic.

Intermedio · Codice · In attesa di revisione editoriale

Prompt

Agisci come sviluppatore specializzato in estensioni per browser basati su Chromium con Manifest V3.

Contesto:
- Cosa deve fare l'estensione: {{scopo}}
- Siti in cui funziona: {{siti}}
- Interfaccia e punti di accesso: {{interfaccia}}
- Dati che salva e se devono sincronizzarsi tra dispositivi: {{dati}}

Consegne:
1. Architettura: cosa fanno il service worker, il content script e il popup o la pagina delle opzioni e come comunicano (chrome.runtime.sendMessage, porte), con un diagramma semplice.
2. manifest.json completo con i permessi minimi necessari: motiva ogni permesso e ogni host_permissions; usa activeTab o optional_permissions quando possibile.
3. Codice di ogni file (service worker, content script, popup HTML/CSS/JS, opzioni se servono) in JavaScript moderno, senza codice remoto né eval, rispettando la content security policy di MV3.
4. Persistenza con chrome.storage (local o sync in base a {{dati}}), tenendo conto che il service worker può fermarsi in qualsiasi momento e non conserva stato in memoria.
5. Accessibilità di base del popup (etichette, focus, contrasto) e testi pronti per la traduzione con _locales.
6. Come testarla: caricarla decompressa in chrome://extensions, fare debug di service worker e content script, casi di test.
7. Checklist di pubblicazione sul Chrome Web Store: motivazione dei permessi, informativa privacy se tratta dati, screenshot e icone.

Vincoli:
- Nessuna raccolta di dati o tracciamento non richiesti dall'utente; se l'estensione tratta dati personali, indica cosa dichiarare nell'informativa privacy.
- Se un'API può variare tra versioni, segnalala con [DA VERIFICARE nella documentazione di Chrome Extensions].
- Se non è chiaro cosa deve fare l'estensione su ogni sito, chiedimelo prima.

Formato: sezioni numerate, albero dei file e un blocco di codice per file.

Come usarlo

Descrivi il comportamento con un esempio concreto («quando seleziono un testo, clic destro e…»). Crea i file in una cartella, caricala come estensione decompressa e prova ogni caso prima di pensare a pubblicarla.

Esempio d'uso

Scopo: evidenziare in giallo le parole chiave scelte in qualsiasi articolo · Siti: tutti, solo al clic sull’icona · Interfaccia: popup e menu contestuale · Dati: elenco di parole sincronizzato.

Esempio di risultato

1. Architettura

Basta un popup: aprendolo, activeTab concede un accesso temporaneo alla scheda corrente. Non servono service worker né content script, così permessi e superficie d’attacco restano minimi.

2. manifest.json

{
  "manifest_version": 3,
  "name": "__MSG_extName__",
  "version": "1.0.0",
  "default_locale": "it",
  "action": { "default_popup": "popup.html", "default_title": "__MSG_saveTitle__" },
  "permissions": ["activeTab", "storage"]
}
  • activeTab: legge titolo e URL solo quando l’utente clicca sull’icona.
  • storage: salva l’elenco in chrome.storage.sync.

3. popup.js

const list = document.querySelector('#list');

async function render() {
  const { links = [] } = await chrome.storage.sync.get('links');
  list.replaceChildren(...links.map(({ title, url }) => {
    const a = Object.assign(document.createElement('a'), { href: url, textContent: title, target: '_blank' });
    const li = document.createElement('li');
    li.append(a);                          // textContent: mai innerHTML con dati della pagina
    return li;
  }));
}

document.querySelector('#save').addEventListener('click', async () => {
  const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
  if (!tab?.url) return;
  const { links = [] } = await chrome.storage.sync.get('links');
  if (!links.some((l) => l.url === tab.url)) {
    links.unshift({ title: tab.title || tab.url, url: tab.url, savedAt: Date.now() });
    await chrome.storage.sync.set({ links });
  }
  render();
});

render();

Attenzione: storage.sync ha un limite di dimensione per elemento; con un’unica chiave links l’elenco si riempirà presto. Salva ogni link con una chiave propria o passa a storage.local oltre una certa dimensione [VERIFICARE le quote nella documentazione di Chrome Extensions]…

Dati chiave

Categoria
Programmazione e sviluppo · Plugin
Tipo di output
Codice
Livello
Intermedio
Pensato per
ChatGPT, Claude, Gemini e Microsoft Copilot
Verificato in
In attesa di verifica editoriale
Variabili
Scopo, Siti, Interfaccia e Dati e sincronizzazione
Lingua
Italiano
Prezzo
Gratuito, senza registrazione
Aggiornato
07/11/2026

Domande frequenti

Funzionerà su Edge, Brave o Opera?

In genere sì, perché si basano su Chromium e supportano Manifest V3, anche se alcune API o regole dei loro store possono cambiare. Provala in ogni browser prima di pubblicarla lì.

Perché chiedere il minimo dei permessi?

I permessi ampi generano avvisi che spaventano gli utenti e allungano la revisione sul Chrome Web Store. Inoltre limitano i danni se l’estensione avesse una falla di sicurezza.

A cosa serve questo prompt?

Genera un’estensione del browser completa con Manifest V3: manifest.json con permessi minimi, service worker, content script, popup, messaggistica, archiviazione e checklist per il Chrome Web Store.

Con quali strumenti di IA funziona?

È pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Non lo abbiamo ancora verificato in questi strumenti, quindi i risultati possono variare da uno all'altro.

Come personalizzo il prompt?

Clicca su «Personalizza» e compila le variabili (Scopo, Siti, Interfaccia e Dati e sincronizzazione). Il testo si aggiorna all'istante e poi puoi copiarlo con un clic. I valori vengono salvati solo nel tuo browser.

Serve esperienza per usarlo?

È di livello intermedio: conviene conoscere l'argomento per fornire un buon contesto e valutare il risultato con occhio critico.

Questo prompt è gratuito?

Sì. Tutti i prompt di HomeCasa Prompts sono gratuiti, senza registrazione né abbonamento. Puoi usarli anche in progetti professionali.

Posso fidarmi dell'output dell'IA?

Consideralo una bozza di alta qualità: verifica sempre dati, cifre e affermazioni importanti prima di pubblicare o prendere decisioni.

Prompt correlati