# Gems, extensions, and knowing what to reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → for
Gems hold reusable instructions, extensions give Gemini live reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → into your apps and the web, and a plain prompt is still the fastest path for a one-off job. The skill that separates someone who *uses* Gemini from someone who is fluent with it is knowing which of these to reach for before you start typing.
This lesson is about that decision. We will define each tool precisely, show where it actually lives in the product, then walk a single real task through all three so the trade-offs are concrete.
Think of these as three points on a spectrum from "stateless and instant" to "persistent and connected."
A Gem changes *how* Gemini behaves. An extension changes *what it can touch*. They are independent, and you can use both at once.
Gems and extensions both live in the Gemini app. You create and manage Gems in the Gem manager (the "Explore Gems" / "New Gem" area in the sidebar). Extensions are toggled under Settings → Extensions in the Gemini app, where you connect the Google services and third parties you want Gemini to reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète →.
This lesson is about the consumer-facing Gemini app surface. The APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète →-level and Vertex AI equivalents (function calling, grounding, agents) are a separate layer we will name at the end, because the decision logic is the same even when the plumbing differs.
Here is one task, run three ways. You are a consultant. Every Monday you write a short status update for three clients, in their preferred tone, summarizing last week's work and flagging risks.
If you only ever did this once, you would just paste your notes and ask:
> "Turn these notes into a client status update. Professional but warm tone. Three sections: Done, In Progress, Risks. Keep it under 200 words."
This is correct. For a single task, writing a Gem first would be overhead with no payoff. If you will not repeat the instructions, do not save them.
The plain prompt breaks down the moment you do this weekly across three clients, because you are re-typing the same formatting rules every time and copy-pasting tone preferences you keep forgetting.
Now make it a Gem. You write the instructions *once* and they apply to every conversation you start with that Gem.
A good Gem instruction reads like an onboarding doc for a new assistant. Structure it:
Role: You are my client status-update writer.
Task: Convert my raw weekly notes into a status update.
Format:
- Three sections, in this order: Done, In Progress, Risks.
- Each item is one line, starting with a verb.
- Total under 200 words.
Tone: Professional but warm. Confident, never apologetic about delays;
state the mitigation instead.
Rules:
- If I give no risks, write "No risks flagged this week."
- Always end with one sentence offering a call if useful.
- Ask me which client this is for before writing.You can also attach knowledge files to a Gem: a doc of each client's tone preferences, your service descriptions, a glossary. Gemini treats these as reference context for every chat with that Gem. That is the difference between a Gem and a clever saved prompt: the Gem carries its own attached knowledge.
Now your Monday workflow is: open the Gem, paste notes, answer "which client," done. The instructions never drift.
Official guidance on building these lives at Google's Gems help page.
The Gem still has a gap: you are pasting notes manually. Your actual notes live in a Google Doc, and the client emails you reference are in Gmail. This is a *reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète →* problem, so it is an extension problem.
With Google Workspace extensions enabled, you can prompt:
> "@Google Drive find my doc 'Acme weekly notes' and @Gmail pull any emails from Acme this week, then write the status update."
Gemini retrieves the live content and feeds it into the task. Note what changed: the *instructions* still come from the Gem, the *data* now comes through extensions. Personality and reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → are doing separate jobs, exactly as designed.
A few honest limits to keep in mind:
If your task needs *current* facts (today's news, a live statistic, a recent product change), reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → for grounding with Google Search. In the Gemini app this is the built-in ability to consult the web and cite sources; it is distinct from extensions, which reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → into specific named services. Rule of thumb: extension to touch *a system* (your Drive, Maps), grounding to verify *a fact* against the live web.
Run any task through these questions in order:
1. Will I repeat these instructions? No → plain prompt. Stop here.
2. Does it need persistent rules, tone, or attached reference knowledge? Yes → make a Gem.
3. Does it need live data or actions in a real service (my email, files, Maps)? Yes → enable the relevant extension.
4. Does it need current facts from the open web? Yes → use grounding with Search.
These are additive, not exclusive. The Monday task ended up using a Gem *and* extensions. That is normal. The mistake is jumping to step 2 or 3 for a job that step 1 already solved.
The most common error among capable people is building a Gem for something they will do twice. A Gem has a maintenance cost: when your client's tone preference changes, you must remember to update the Gem and its knowledge files. For genuinely recurring, high-value work that cost pays off fast. For a one-off, it is pure friction. Match the tool to the *frequency and stakes*, not to how impressive it feels.
One more thing the three tools do *not* decide: which model runs them. Gems and extensions work across the Pro and Flash tiers. Pick Flash for fast, high-volume, straightforward generation; pick Pro when the task needs deeper reasoning or handling of large, complex context. The status-update Gem runs fine on Flash. A Gem that analyzes a 90-page contract against a risk rubric wants Pro. Tool choice and model choice are independent decisions, so make both deliberately.
Vérification des acquis
1. According to the lesson, what is the core distinction between a Gem and an extension?
2. Where do you toggle extensions in the consumer Gemini app?
3. The lesson notes that the API-level and Vertex AI equivalent of an extension's ability to call external services is most closely related to which feature?
4. Select ALL correct answers that describe a plain prompt as defined in the lesson.
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers about Gems and extensions according to the lesson.
Sélectionnez toutes les réponses correctes.
The Gemini app is the right surface for personal and team workflows. When a workflow needs to run *without you in the chair*, or needs to ship inside software, the same three concepts reappear under different names. Knowing the mapping saves you from relearning the decision.
For developer-side automation specifically, Gemini CLI brings the model to your terminal and Gemini Code Assist brings it into your IDE. And inside Workspace, Apps Script lets you script Gemini-powered automation across Docs, Sheets, and Gmail without leaving Google's environment.
Here is the APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète →-level version of our Monday Gem, so the mapping is concrete. The system instruction *is* the Gem's instruction block:
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-2.5-flash",
config=types.GenerateContentConfig(
system_instruction=(
"You are a client status-update writer. Convert raw notes into "
"three sections (Done, In Progress, Risks), under 200 words, "
"in a professional but warm tone. If no risks are given, write "
"'No risks flagged this week.'"
)
),
contents="Notes: shipped onboarding flow, started billing migration, "
"vendor API was flaky Thursday.",
)
print(response.text)Same instructions you wrote into the Gem, now reusable in code, testable, and embeddable in a product. The decision logic from the checklist did not change; only the surface did.