Workflows
A workflow is a markdown file inside an agent, workflows/<name>.md, that holds the recipe for one recurring job: when it applies, what to ask for, the steps, the templates to start from and where the result goes. Agents recognise the job and follow the file.
A skill says how anything you make should look. A workflow says how your team does one recurring job: the all-hands deck, the release notes, a customer QBR. It is a file inside an agent, workflows/<name>.md. Write it once, point it at the house template, say where the result goes, and any agent that loads the agent can run the job the same way every time.
Skills versus workflows
| Skill | Workflow | |
|---|---|---|
| Answers | how should anything we make look and read | how do we do this one recurring job |
| Shape | guidelines, patterns, brand rules | steps, inputs to ask for, templates to start from, where the result goes |
| Applied | always, with the agent | when the job comes up: a trigger phrase matches, or you ask for it by name |
| File | skills/<name>.md |
workflows/<name>.md |
| Example | "Charts: one accent colour, no 3D, axis titles in sentence case" | "All-hands deck: duplicate the deck template, ask for the month and the three headline metrics, fill sections 1 to 5, publish to Leadership/All hands as All hands {month} {year}" |
The file
workflows/ holds files directly, with no subfolders; names use letters, digits, ., _ and - and end in .md. The body is the recipe in plain markdown: what the job produces, what to ask for, the steps, the output, the checks.
The header lines
A workflow file can start with header lines between --- fences, one key: value per line. Use this form when you write one by hand:
---
name: All-hands deck
description: The monthly all-hands slide deck.
triggers: all hands deck, monthly all-hands
input: month | required | The month the deck covers | e.g. September 2026
input: wins | optional | Wins worth a slide each
output: kind=html; folder=Leadership/All hands; title_pattern=All hands {month} {year}; tags=all-hands; listing=team
templates: [[all-hands-template]], doc:01J7ZK3N9QW0X4B2C6D8E0F1G2
---
# All-hands deck
## Steps
1. Duplicate the deck template.
2. ...
| Line | Meaning | Used by |
|---|---|---|
name |
the workflow's title | the file's title in the app and in load_brain |
description |
one line on what the job is | the summary in load_brain |
triggers |
comma-separated phrases that mean the job came up | the triggers list in load_brain |
input |
one line per input: name, required or optional, a description, and e.g. an example, separated by vertical bars |
the agent, when it reads the file |
output |
key=value pairs separated by ;: kind, folder, title_pattern, tags, brain, listing, visibility |
the agent |
templates |
documents to duplicate, as [[alias]] or doc:<id> |
the agent |
enabled: false |
marks the workflow as switched off | the agent |
Fermium itself reads name, description and triggers. Without header lines the title is the first heading and the summary is the first paragraph. Everything else is text the agent reads and follows, so a workflow written as plain prose works too.
Workflows are protected
A workflow changes under review, like BRAIN.md and skills:
- In the app, open the agent, pick the workflow under Knowledge and choose Edit. With write access you choose between Save directly and Propose change; with read access your edit goes to Review. New file with type Workflow creates one from a starter with sections for what to ask for, the steps and the output.
- From an agent,
brain_writeorpropose_changeonworkflows/<name>.mdfiles a proposal that a person with write access approves in the Review tab, in whole or hunk by hunk. See Proposals and review.
Prompts that work: "Propose an all-hands deck workflow for the leadership agent: trigger on 'all hands deck', ask for the month and the three headline metrics, duplicate the deck template, publish to Leadership/All hands as All hands {month} {year}." "Add a check to the release notes workflow that every item links to its ticket."
An agent that includes another agent hands out that agent's workflows too, marked with where they came from.
How an agent runs one
load_brainreturnsworkflows: for each one the path, title, summary, triggers and the agent it came from. That is enough to recognise a job when a request matches a trigger phrase, or when you name the workflow. The workflow list is never trimmed from the payload.brain_readon the workflow's path returns the file. The agent reads it, asks for every required input, and keeps the agent's skills in front of it.- When the file names a template,
duplicate_doccopies it into a new document the agent's user owns, same kind and files. The agent fills the copy and never edits the template itself. - The agent publishes to the output line: the root and folder, the title pattern, the tags, listing and visibility.
- What is worth keeping from the run (a decision, a preference, an outcome) goes into the journal with
brain_remember.
Templates are ordinary documents. An agent can duplicate only templates its user may open; naming a document in a workflow never widens access to it.
A worked example: the all-hands deck
Ada runs the monthly all-hands. Her workspace has an agent called leadership with a deck skill, and an HTML deck the team likes, with the alias all-hands-template.
- She opens the
leadershipagent, chooses New file, type Workflow, title "All-hands deck", and writes the header lines above and the steps: duplicate the deck, fill the title slide from the month, put the three metrics on slide 2 with the chart skill, one slide per win, close with next month's dates, and the checks: no placeholder text left, every metric has a source. She has write access, so she saves directly. - She adds a line for it to
INDEX.md. - Next month a colleague tells their agent: "Put together the all hands deck." The agent has loaded the
leadershipagent, seesall hands deckamong the triggers, readsworkflows/all-hands-deck.md, asks for the month and the three metrics, callsduplicate_docon the template with the titleAll hands October 2026, fills the copy following the agent's skills, moves it toLeadership/All hands, tags itall-handsand lists it for the team. - The agent's Activity tab shows the load and the read, with who and when.
The Workflows page
The Workflows page, opened from the command palette or New → From a workflow, lists the workflows of every agent you can open, grouped by agent. Workflows defined on that page before workflows became agent files still work and are listed below them. Agents run them with use_workflow; see the MCP reference.