Reference
What you can ask SEB
Every phrase SEB understands — which ones are instant and free, which ones use your AI credit, and how to change the trigger words.
The full list of what SEB understands.
How it works
Every phrase you say or type is first matched against a skill — a set of trigger words. Only phrases that match no skill fall through to your connected AI freeform (which has the full toolset and can do anything).
There are two kinds of skill, and they don’t cost the same:
| Who writes it | Cost | Where it runs | |
|---|---|---|---|
| ⚡ Built-in | Us, in code | £0 — no AI at all | SEB page |
| ✦ Your skills | You, in Settings | Uses AI credit per run | SEB page and Assistant chat |
A built-in skill is a function: it queries the database and speaks a written answer, with no model involved. That’s why it’s instant and free — and also why it always says it the same way and can’t be asked a follow-up.
A custom skill is a saved instruction run by your AI. It costs the same as asking the question yourself; what you’re saving is the typing and the thinking, not the tokens.
In the SEB UI a small chip shows which happened:
- ⚡
<skill>— an instant, free built-in answered. - ✦ AI — it used your connected AI (a custom skill, or freeform).
Trigger words are editable in Settings → SEB → Trigger words (advanced) — retune them, switch a skill off, or add your own custom skills.
Matching is case-insensitive and word-boundary aware, so trailing punctuation (whisper often adds a full stop) doesn’t break a match. A skill fires if any of its trigger phrases appears in what you said.
🔎 Ask & check (read-only, £0)
| Skill | Say (any of) |
|---|---|
| Morning report | “morning report”, “morning brief”, “daily brief”, “brief me”, “good morning” |
| What’s overdue | “what’s overdue”, “overdue”, “behind”, “what am I behind on” |
| Plan my day | “plan my day”, “what’s on today”, “my day”, “today’s tasks”, “plan today”, “what should I do today”, “tasks today”, “tasks for today”, “what do I have on”, “what have I got on”, “on my plate”, “my agenda”, “what am I doing today” |
| Due this week | “due this week”, “what’s due”, “this week” |
| What’s next | “what’s next”, “next up”, “next task” |
| Time & capacity | “how much time”, “how busy”, “capacity”, “free time”, “how’s my day” |
| Pipeline | “pipeline”, “open deals”, “my deals” |
| Active projects | “active projects”, “my projects”, “project status” |
| A client’s work | “projects for <client>”, “work for <client>”, “what’s on for <client>”, “jobs for <client>”, “workload for <client>” |
| Renewals | “renewals”, “renewing”, “subscriptions due” |
| New leads | “new leads”, “any leads”, “leads” |
| End of day | “end of day”, “close the day”, “wrap up”, “how did I do” |
| What I finished | “what did I finish”, “what have I done”, “what did I complete”, “finished today”, “completed today” |
| New email | “any new email”, “new email”, “unread email”, “check my email”, “my emails” |
| Recent emails | “recent emails”, “show me emails”, “latest emails”, “last emails”, “recent mail” (cards open the email over SEB) |
| Due today | “due today”, “what’s due today”, “tasks due today”, “anything due today” |
| Top priority | “top priority”, “highest priority”, “most important task(s)”, “what should I focus on” |
| My goals | “how are my goals”, “goal progress”, “am I on track”, “milestones”, “how am I tracking” |
| Notifications | “notifications”, “recent notifications”, “any alerts”, “my alerts” |
✍️ Do (actions, £0)
| Skill | Say | Notes |
|---|---|---|
| Add a task | “add task <what>”, “add a task”, “new task”, “create task”, “remind me to <what>”, “note to self”, “jot down”, “capture” | Add “…to/in <project>” to target a project (else goes to General Tasks). Fuzzy project match (word order & “&”/“and” tolerant). If you name a project but no task, SEB asks what the task is. |
| Move a task | “move task <x> to <project>”, “file task”, “reassign task” | Relocate or nest a task. |
| Complete a task | “complete <x>”, “finish <x>”, “tick off”, “mark <x>”, “completed” | Stamps completion time (feeds “what I finished”). |
| Reschedule a task | “reschedule <x> to <when>”, “postpone <x>”, “push <x>” | Understands “tomorrow”, “Friday”, dates. |
| Set task priority | “set priority high on <x>”, “make priority”, “prioritise <x>”, “flag task <x>” | |
| Optimise / plan | “optimise my day/week/month”, “plan my day”, “reschedule my tasks”, “fit everything in” | Opens the deterministic planner (review → apply). Choose window + spread model. |
| Start a timer | “start timer on <x>”, “start tracking”, “clock on”, “begin timer” | |
| Stop the timer | “stop timer”, “stop tracking”, “clock off” | |
| Move a deal | “move deal <x> to <stage>”, “set deal”, “mark deal”, “deal to won” |
Task actions (complete / reschedule / move / stage) accept a task by name; if a name matches several open tasks, SEB asks you to pick rather than guessing.
🧭 Navigate (£0)
| Skill | Say |
|---|---|
| Open a screen | “open <screen>”, “go to”, “navigate to”, “take me to”, “switch to”, “jump to” |
| Open a record by name | “open the <project / deal / client / proposal / asset> <name>” |
Screens: dashboard · insights (reports/finance) · calendar · inbox · leads · notifications · settings · General Tasks (my tasks / to-do) · Clients · Deals · Proposals · Projects · Assets · Management — plus any channel you create (navigate to it by its name).
By-name search covers projects, deals, clients, assets and proposals, with fuzzy/partial matching (“geo focus” finds “GEO focus”). If it can’t find a named record, it tells you rather than opening the wrong list.
💬 Help
Say “what can you do” (“what can I say”, “your commands”, “list commands”) for a spoken summary.
✦ Anything else → your AI
Phrases that match no skill go to your connected AI, which has the same full toolset as the in-app chat assistant: create/update clients, deals, projects, assets, records, tasks (with due dates & time blocks), draft emails, and multi-step requests like “create a deal for Acme worth £2k and a kickoff task due Friday.” It reads real data before acting and reports back in one short spoken sentence.
Engine is chosen in Settings → SEB: auto/premium use your cloud key,
local forces a local Ollama model (weaker at multi-step tool use).
✍️ Writing your own skills
Settings → SEB → Skills → Your skills → Add skill. No code. Three fields: a name, the trigger words, and the instruction — what to do and how to report back.
A custom skill runs on your AI with the full toolset, so it can do anything the assistant can; the skill just decides which tools, in what order, and what the answer should look like. See TOOLS.md for all 44 tools (the same list is in the app under Available tools, read live from the code).
What separates a skill that works from one that rambles:
- Name the tools explicitly and in order. “First gather the facts by
calling:
business_scanwith include [“overdue”, “unbilled”].” Don’t hope the model picks well — tell it. - Say how to present the answer. Spoken replies must be plain prose (no lists or tables); typed ones can use markdown.
- Carry the data caveats through — e.g. skip rows flagged
needs_value, but say how many you skipped. - Say what to do when there’s nothing to report, or it pads with filler.
- Use
{{arg}}for whatever you say after the trigger words (e.g. a client name). Without it, your words are appended to the end of the instruction.
The built-in Business review is a complete worked example — expand “See how this one is written” under it in Settings to read and copy its prompt.
Where they run. Custom skills fire in both the SEB page and the Assistant chat. By voice they follow your spoken reply-length setting (brief / balanced / detailed) and come back as speech. Typed in the Assistant chat, the same skill runs unspoken — full length, with formatting. Built-in ⚡ skills stay SEB-only, because a scripted sentence can’t hold a conversation.
Skills export/import as JSON (Settings → Import / export) if you want to share a set or move them between machines.
Screens now also include Invoices and Goals & Milestones. Navigating to Calendar/Inbox from a SEB card opens them confined over SEB with a ↗ to go full-screen; proposal/invoice/project/client/deal/asset cards open inline the same way.
🧭 Coaching (✦ uses AI)
Three skills think rather than report. They call the tools, then reason:
| Skill | Say (any of) | What it does |
|---|---|---|
| Business review | “business review”, “business health”, “state of the business” | The full strategist briefing — leaks, fastest cash, profit per effort, direction |
| What’s holding me back | “what’s holding me back”, “bottleneck”, “constraint”, “limiting factor”, “diagnose my business” | Ranks the four constraints — lead flow, conversion, delivery, cash collection — and names the one that’s binding, plus the action that relieves it |
| How exposed am I | “how exposed am i”, “concentration risk”, “how dependent am i”, “am i too dependent” | Client concentration, recurring vs one-off, work-type dependency, single points of failure |
They end with something you can actually commit to. After the diagnosis, the coach proposes one goal with two or three first steps and real dates, then asks. Say yes and the steps land in your task list as dated tasks, linked to the goal — so ticking them off moves the goal. It reads your existing goals first, too, which means it judges you against what you’re aiming at rather than only against your own past, and it can ask whether last month’s advice actually got done.
They are built to say “I can’t tell you that yet.” Rates and trends need a minimum amount of data before they mean anything — a win rate from four deals is noise. Rather than leaving that to the AI’s judgement, the underlying figures come back empty with a reason when the data is too thin, so the answer names what’s missing instead of inventing a number. For example, with wins recorded but no losses you’ll be told there’s no win rate to compute — and that marking lost deals makes it answerable.
That’s deliberate. A coach that admits what it can’t see is the only kind worth trusting, and the gaps it names tell you what’s worth recording.
💬 Conversation mode (opt-in)
Settings → SEB → Conversation mode. Off by default. With it on, SEB keeps listening after it answers and remembers the last three exchanges — so a follow-up works:
“What’s holding me back?” → …proposes a goal and two first steps… → “Yes, set that up.”
Also handy for “why?”, “which of those is worst?”, “the second one”.
Deliberately small: it holds only what was said (never tool results), expires after about five minutes idle, clears when you say “stop” or dismiss SEB, and is never written to disk — so it can’t bloat the app or leak into a backup. It also can’t change which command fires: skills always match on what you just said, never on the conversation.
With it off, every utterance stands alone exactly as before.
Known limits
- Follow-ups need Conversation mode on. With it off every utterance is independent, so “yes, do that” has nothing to refer back to. The Assistant chat always has full context.
- Spoken replies are capped by the reply-length setting (brief / balanced / detailed). A skill that chains several tools gathers more than it can say — the built-in Business review compresses deliberately for this reason. Typed answers in the Assistant chat have far more room.
- Built-in ⚡ skills can’t be added by you — they’re TypeScript in
intent.ts. Custom skills are the user-facing route. - Local (Ollama) is weak at multi-step tool use and will sometimes describe calling a tool instead of calling it. Skills that chain tools want the cloud engine.
Coming soon (not built yet)
- Schedule / block a specific time — “block 2–4 tomorrow for the proposal” (a timed task at a clock time; the Optimise planner already handles day-level auto-scheduling — see FUNCTIONAL.md § Auto-scheduler).
- Finance checks by voice — income, revenue, outstanding (data exists in Insights; a spoken skill is pending).
- Per-skill ⚡/✦ chip in the bottom bar (currently on the SEB page only).
Last generated from intent.ts. Edit trigger words in Settings → SEB.