Output styles
An output style changes how Syntic Code talks to you, not what it can do. The coding work is the same; the replies are shorter, more explanatory, or more like a lesson.
Built-in styles
| Style | Replies |
|---|---|
default | The standard voice, with no extra narration. |
Concise | As few words as possible; no preamble or recap. |
Explanatory | Explains the reasoning and trade-offs as the work goes. |
Learning | Teaches as it goes and invites you to write small pieces yourself. |
Proactive | Keeps working while background jobs run and reports results as they come in. |
Pick a style
| How | Lasts |
|---|---|
/output-style | Choose from a list. |
/output-style Concise | Switch directly. |
syntic --output-style Explanatory | This run. An unknown name falls back to the default with a warning. |
"outputStyle": "Concise" in a settings file | Every session that reads it. |
SYNTIC_OUTPUT_STYLE | Every run with that variable. |
The outputStyle setting is read from your user settings file (~/.syntic/settings.json), from managed policy, or from SYNTIC_OUTPUT_STYLE. A project’s settings file does not choose the style; to give a repository a house style, ship it as a project style file (below) and pick it with /output-style.
The style is part of the instructions the session starts with. After /output-style, the change applies from the next message.
Make your own
Put a Markdown file in ~/.syntic/output-styles/ (for you) or .syntic/output-styles/ (for the project):
---
name: Reviewer
description: Short answers, with risks called out first
---
Lead every reply with any risk you see, as a bullet list.
Then give the answer in at most three sentences.
Use code blocks only for code the user should copy.The body is added to the instructions the model already has. Names are matched without regard to case. When two styles share a name, the stronger source wins: a plugin’s style beats a project style, a project style beats your own, and your own beats a built-in one.
| Frontmatter | Meaning |
|---|---|
name | The name to pick it by (defaults to the file name). |
description | Shown in the picker. |
keepCodingInstructions | false replaces the standard coding persona instead of adding to it. Use with care. |
Plugins can ship styles in an output-styles/ folder. A plugin style marked forceForPlugin: true is used whenever that plugin is on.
In -p runs, the chosen style’s instructions are applied too, and its name appears in the stream-json init record.
Choosing between a style and other features
| You want | Use |
|---|---|
| A different tone or amount of explanation in every reply | An output style |
| Facts about the project, commands and conventions | Memory (SYNTIC.md) |
| A repeatable task you start by name | Skills |
| A helper with its own tools and context | Subagents |
A style changes how the agent writes; memory changes what it knows. Keep project facts out of styles so they apply whichever style someone picks.