agent/skills/<name>/SKILL.md. Flow uses the same source files in your messaging
agent, standalone MCP server and generated plugin packages.
Write a skill
After adding theget_hours tool in Write a tool, create
agent/skills/opening-hours/SKILL.md:
agent/skills/opening-hours/SKILL.md
Where the skill goes
- Messaging agent
- Standalone MCP
- CLI
- Plugin
createAgent({ dir }) reads AGENTS.md and skills/ from the agent folder. The model sees
skill descriptions and loads the full instructions when needed.Set inlineSkills: true to include every skill in the prompt instead of loading them on demand.Keep instructions portable
Write about your product’s workflow and name its tools. Platform formatting and send tools are already handled by Flow for messaging.A skill shipped through MCP or a plugin must use tools that endpoint actually exposes.
flow check reports references to chat-only tools; plugin generation refuses them.Check it worked
Restart the MCP server or messaging agent, then ask “When do you open?” In the playground, turn on Debug and look for the skill load andget_hours call. A model may skip a skill it
already has enough information to answer without; the important result is that the hours come
from the tool.
For a plugin, regenerate the output and run:
Terminal
Agent instructions and coding-agent skills
These files have different readers:flow new installs the coding-agent skills for you. Edit the files in agent/ to change how
your product behaves, rather than the framework skills that explain how to build it.
Try your workflow in the playground
Switch people and channels, inspect tool calls and test sign-in.