Nova Admin Docs
Concepts

Skills

Skills are reusable prompt fragments that any agent can invoke with /skill-name. They keep agent definitions short and shared knowledge centralized.

A skill is a named, reusable bundle of instructions, examples, and tool hints that an agent loads on demand. Skills live in skills/{name} and are invoked inside an agent's task or message with /skill-name.

Why skills exist

Agents tend to grow long system prompts over time as you encode more rules. Skills move that knowledge out of the agent record and into stand-alone, versioned units. The agent's system prompt stays focused on its persona; the operational know-how lives in skills it pulls in only when needed.

Anatomy of a skill

interface Skill {
  name: string;          // slug, also the slash-command (e.g. "draft-reply")
  description: string;   // one-line summary
  content: string;       // markdown body the agent reads when invoked
  examples?: string[];   // optional few-shot examples
  tools?: string[];      // tools this skill expects to be available
  triggers?: string[];   // patterns that auto-invoke the skill
}

Invocation

Three ways a skill gets pulled in:

  1. Explicit — the agent message contains /draft-reply, which expands the skill body into the conversation.
  2. Suggested — the agent decides on its own to invoke a skill based on its triggers.
  3. Pre-loaded — an agent's skills array always loads the listed skills' descriptions at run start.

Authoring skills

Edit skills directly in the dashboard (Skills → New Skill or click an existing one) or seed them from packages/cli/src/seeds/data/skills/. Seeding is preferred for skills that should live in source control.

See also

  • Agents — the consumer of skills.
  • Flows — flows can reference skills in their task prompts.

On this page