A skill is a named bundle — instructions, tools, prompts, optional data — that the model can load on demand. Build one skill, and it works the same way in chat, in workflows, in agents. The pattern your team uses every Monday becomes a verb the model already knows.
A skill bundles the thing the model needs to know with the things it needs to call. Loaded by name, available everywhere.
Plain‑language guidance the model reads on load — what good output looks like, which edge cases to handle, which formats to prefer. Written once, applied every invocation.
An explicit allowlist of tools and MCP servers the skill needs. The model picks from this list, not the kitchen sink — focused tool surface, fewer wrong calls, faster reasoning.
Reusable prompt scaffolding — the opening, the structure, the post‑processing. Skills compose with prompts: a skill can teach the model how to use a prompt template (parameters, expected outputs, validation).
Optional: a data source, a vector slice, an attached doc set. The skill carries its own grounding so the model doesn't have to re‑search public knowledge every time.
Skills aren't tied to chat or to workflows — they're a primitive that lives across surfaces. Define earnings‑prep once; every team member who calls load_skill("earnings‑prep") gets the same behavior.
The model calls load_skill("X") when the conversation matches, or you can pin a skill to a session. The instructions inject into the system prompt; the tools join the available set.
The reference example: workflow‑author is the skill that teaches the LLM to emit workflow artifacts. Calling it before promote means the resulting workflow has the right shape, every time.
Agent nodes can declare a skill as their "operating mode" — the model gets the skill's instructions + tool allowlist baked into the run. Different skill, different agent personality, same engine.
Admins publish skills org‑wide via the public catalog — every authenticated user can load them. Individual users override the configuration (different model, different prompt) without affecting the shared definition.
A skill is a row in skills. Update the body; every session, workflow, and agent loading that skill picks up the change on next load. No fan‑out, no copy‑paste drift.
One skill can call load_skill on another. Build foundational primitives — "format as memo", "cite sources" — and have your higher‑level skills inherit them.
The skills concept earns its keep when teams have repeated workflows. A handful of patterns we've seen people define and load constantly:
The repeated workflows your team runs — board reports, code reviews, standups — deserve to be primitives, not screenshots in a doc. Skills are how they become verbs your AI knows.