How Ari picks a Skill
A Skill has a name, a description, and instructions. On every request, Ari sees the name and description of each Skill it has: the built-in Skills, and your own Skills that apply in this workspace. When a request matches a description, Ari reads that Skill’s instructions and follows them. Nobody has to name the Skill. That is why a description works best when it is written as “Use when…”: it is what Ari matches against. Skills come in two kinds:- Built-in Skills come with cfo.ai, which keeps them up to date. Nobody can edit them. Most are always on; three optional ones, Model audit, Flash report, and Model migration tie-out, stay off until someone in the workspace turns them on.
- Your own Skills belong to you, the person who saved them. Ari follows them whenever it works for you, in every workspace where you are a member, so a fractional CFO who saves a close review once has it in every client’s workspace. Other people in a workspace have their own Skills, and yours do not change their chats. A Skill of yours cannot reuse a built-in Skill’s name.
How a Trigger runs with nobody watching
A Trigger is a saved request with a schedule. The schedule is stored in UTC. At each scheduled time, cfo.ai starts a new chat for the run and Ari works through the saved instructions, with the access of the person who set up the Trigger. The saved instructions are the authorization for the run. A run starts with no Page open and works in Main, unless the instructions name another Scenario. It works on exactly what the instructions name. If a Page or a connection the instructions name was renamed or removed, the run reports that instead of picking something that looks similar. Nobody reads the chat while a run works, so nobody can answer it. When Ari would ask you a question, it makes a reasonable assumption, keeps going, and states the assumption in its result. Its questions, plans, and buttons stay in the chat for you to read later. Answering one later starts a new turn in that chat; it does not change what the run already did. That turn is an ordinary chat turn, so Ari can ask you to approve a call in it.What a run cannot do on its own
A run never waits for a person, so anything that needs a person’s approval stops short:- A Scenario merge or deletion that the run prepares waits in its chat until someone presses the confirmation button.
- An email to anyone but you waits as a preview in the chat until someone presses Send.
- A run can message only you, by email or in Slack, and only when its instructions name that channel. It cannot post in a Slack channel.
- A tool of an MCP server, or an endpoint of a connected API, set to Ask first does not run. No approval card appears in the run’s chat, and Ari is told that the call did not run and that no approval request was created. Set the tool or endpoint to Allow before a Trigger needs it; see Choose what Ari may do.