Prompt templates are for storing your favorite prompts that you can quickly use across any agent inside of Solo. Sort of like an agent-agnostic, user-invoked skill.
Templates are created and managed in the prompt template library, which you can open from the command palette or quick jump. This page covers the editor, saving rules, scope changes, and exporting templates to Markdown files.
Creating a template
Click New template in the library header. Solo creates an empty template and opens it in the editor. It uses Untitled template when available, then the first available numbered name from Untitled template 2 through Untitled template 9999.
The new template is created in the scope you opened the library from — the current project when you opened a project's templates, or global when you opened the application-level library. You can change the scope before or after saving.
The editor
Each template has three fields:
- Name — shown in the picker and library. Click the title in the header or the large document title to rename it.
- Description — optional text used as the preview line in the picker and library when non-empty.
- Template body — the prompt text itself. Use
{{placeholder_name}}for values you want to fill in when using the template; see Placeholders.
Below the body, a Placeholders section lists every placeholder found in the draft as chips, updating live as you type. A count also appears in the meta row near the scope control.
Saving
The editor does not autosave. The Save button enables as soon as the draft differs from the saved template, and your pending edits survive switching fields until you save or leave.
Names have a few rules:
- A name is required.
- Names cannot contain
/or control characters. - Names must be unique within their scope using ASCII case-insensitive matching — two global templates cannot share such a name, and neither can two templates in the same project. The same name can exist in different scopes. Non-ASCII letters are not case-folded, so names that differ only by non-ASCII letter case can remain distinct.
Changing scope
The scope control in the meta row switches a template between Global and any project. Like other edits, the change applies when you save. If the destination scope already has a template with the same name, the save fails — rename one of them first.
Duplicate and delete
The ... actions menu in the editor header offers:
- Duplicate — creates a copy in the same scope named
<name> copy(then<name> copy 2, and so on) and opens it. - Delete — permanently deletes the template after a confirmation dialog. This cannot be undone.
Timestamps
The bottom of the editor shows when the template was Created and last Updated, each with a relative time. Once a template has been used from the picker, a Last used timestamp appears as well — this is what drives the default ordering in the picker and library.
Exporting to Markdown
Templates can be exported as Markdown files through Solo's prompt template MCP tools. An MCP client can use this to write template backups or repository copies to a destination Solo can write.
Each exported file contains YAML frontmatter followed by the raw template body:
---name: Refactor briefscope: globaldescription: Standard multi-file refactor promptplaceholders:- goal--- Please refactor {{goal}}.
The frontmatter fields are:
| Field | Notes |
|---|---|
name |
The template name |
scope |
global or project |
description |
Omitted when the template has no description |
project |
The project's id, name, and path; only present for project-scoped templates |
placeholders |
The template's placeholder names in order of first appearance; omitted when there are none |
Filenames use ASCII-only slugs: ASCII letters are lowercased, ASCII digits are retained, and runs of every other character become hyphens; leading and trailing hyphens are removed. For example, Deploy — Brief! becomes deploy-brief.md. A name with no ASCII letters or digits falls back to prompt-template.md. When two exports would produce the same filename, or a file with that name already exists in the destination, Solo appends a number (deploy-brief-2.md) instead of overwriting anything. Line endings in exported files are normalized to Unix newlines.