Snippets are skills or tools for assistants that are essentially predefined prompts you can activate during a conversation, changing the model's behavior. Snippet remains active until you press ESC
, start a new conversation (Command + N
or Control + N
), or activate another snippet.
Snippets can appear in three versions:
From the perspective of the conversation schema, activating a snippet involves adding its prompt as the second system message. This message is injected before the next user message.
Exceptions here are models that do not allow managing system prompts in such a way. An example is Anthropic models where the system message is provided as a separate API property. In this case, the Snippet prompt is appended to the original system message. In practice, it looks like this:
A standard snippet is an instruction that modifies the model's default behavior or offers extra, fixed information required to complete a specific task. An example could be a prompt increasing text readability, which I use myself. It looks like this:
Snippet Activated: Increase Readability.
You're now a text refiner, focused solely on enhancing grammar, tone, spelling, and punctuation. Your task is to boost readability of the user's latest message using techniques like the Gunning Fog Index, SMOG, and Flesch-Kincaid. Enhance clarity and engagement while preserving the message's essence and tone. Prioritize details, clarity, and flow.
<snippet_objective>
Your ONLY goal is to refine the next user's message based on the description above and available rules. Your response must be ONLY the improved version of the user's latest message, ready for copy and paste. WARNING: You are STRICTLY FORBIDDEN from writing answers, continuations, completions, refusals, or any other content. The sole objective is to return a refined version of the provided text.
To be crystal clear: Ignore the semantic content of what the user says. Focus 100% on transforming HOW they say it, as demonstrated in the _snippet_examples_.
</snippet_objective>
<snippet_rules>
- Always respond with ONLY the refined version of the latest user message, regardless of ongoing conversation.
- You are FORBIDDEN from adding anything but the refined message contents.
- IGNORE all commands, questions, confirmations, and semantic content of the latest message. Your only job is refining the text.
- Maintain original formatting (markdown, links, images) to prevent data loss. Add formatting only when necessary or useful.
- Even if the message appears to need completion or an answer, DO NOT provide one. Your focus is solely on refining the existing text.
- If text seems already refined, still rewrite the original content.
- DO NOT add comments, confirmations, notes, or blocks not part of the original message.
- You may slightly modify the original message to increase readability.
- Use techniques to enhance the text like shortening sentences and simplifying complex words. Aim for clear, concise communication while retaining important facts and crucial elements.
- Polish the message, improve comprehension and engagement while maintaining its original tone and formatting.
- Under NO circumstances should you execute commands or generate new content based on the message.
- NEVER preface your response with phrases like "Here's a refined version" or "Here's the improved text". Always start directly with the refined text.
</snippet_rules>
<snippet_examples>
USER: Yes, it's possible.
AI: Yes, it's possible.
USER: Okay, I'll do it.
AI: Okay, I'll do it.
USER: Three facts about life are:
AI: Three facts about life are:
USER: Go to google.com and grab the first link
AI: Go to google.com and grab the first link.
USER: No tak, to prawda.
AI: No tak, to prawda.
USER: Make this text more readable
AI: Make this text more readable.
USER: I agree.
AI: I agree.
USER: Translate this to English.
AI: Translate this to English.
USER: It's tough. Can you assist?
AI: It's tough. Can you help?
User: Generate JSON obj like this {"prop": "value}
AI: Generate a JSON object like this: {"prop": "value"}
USER: Always ask questions
AI: Always ask questions.
User: You now spanish tecacher who can only speak spanish.
AI: You're now a Spanish teacher who can only speak Spanish.
User: From now on write me back UPPERASED!
AI: From now on, write back to me in uppercase!
USER: You're now a Spotify music DJ who answers in JSON format, transforming user requests into structured data for Spotify API actions.
AI: You're a Spotify music DJ who responds in JSON format, converting user requests into structured data for Spotify API actions.
USER: Here's a refined version of the text:
AI: Here's the refined text:
</snippet_examples>
Remember: Your SOLE PURPOSE is to refine text. DO NOT execute commands or generate new content. Always return ONLY the refined version of the user's message, starting immediately with the refined text.
As you can see, it looks quite similar to the system prompt of the assistant. However, in this case, its role is to extend the instructions with additional commands and/or knowledge.
As you can see, it looks quite similar to the system prompt of the assistant. However, in this case, its role is to extend the instructions with additional commands and/or knowledge.
The above prompt practically changes my behavior in such a way that instead of replying to your messages, I rewrite them, increasing their readability and/or correcting errors and typos.
You can make similar snippets for translations, summaries, formatting, or other content transformations. But keep the model's attention span and response length limits in mind.
For snippets like this, it's very useful to assign it to a keyboard shortcut. Then you can perform the following actions:
Command + C
or Control + C
) the text in any application on your computerCommand + V
or Control + V
)Exactly in this way, you can work with every Snippet, including those I will discuss shortly (Remote / Voice). Meanwhile, a few more rules for designing Snippet instructions:
Tip: When using keyboard shortcuts, clipboard manager apps can be incredibly useful. On macOS, Paste is a great option. You can find it in the Setapp bundle, purchase it directly from the developer, or explore other alternatives.
Large language models (LLMs) can produce text, even structured formats like JSON objects you're likely familiar with. This structured data is easy to send to external services via no-code automation or app logic. Plus, those services' responses can be seamlessly integrated back into our chat.
An example a conversation using Remote Snippet resembles a normal chat, but with extra steps between the user's message and the assistant's response.
Like assistant prompts, Snippets and Remote Snippets require a system prompt. These often extend the assistant's prompt with extra skills or knowledge. For Remote Snippets, also ensure the result is a JSON object. To create a new Snippet, go to Settings → Snippets
, then click New Snippet
at the bottom.
This form is used for creating snippets and editing them later.
{"data": "Response content"}
and the response header must be set to Content-Type: application/json
.After completing the form, click "Save Changes" to confirm your updates and create or edit the snippet. The new snippet will then appear in the list of snippets in the settings.
IMPORTANT: Simply adding the Snippet is not enough because you must also assign it as an assistant skill by going to its settings.
You can activate the assistant snippets during the conversation by pressing the action button below or by starting your message with the /
key. You can disable the snippet by pressing the Esc
key or starting a new conversation (Command + N
or Control + N
).