Aevum Cadence AI

Skills

A skill is a directory with a SKILL.md at its root. YAML frontmatter tells the assistant what the skill is for. The markdown body is the procedure it follows once the skill is active. A plugin ships skills under skills/<name>/.

What a skill is

Nothing runs on its own. The skill gives the assistant a procedure plus any scripts or assets it ships. The assistant decides when to load it from description and activation hints. Write those fields for the model.

Frontmatter

FieldRequiredPurpose
nameYesDisplay name. The directory basename is the canonical id.
descriptionYesWhat it does and when to use it. Matching uses this.
metadata.cadence.display-nameNoHuman-friendly label.
metadata.cadence.activation-hintsNoSituations that should fire the skill.
metadata.cadence.avoid-whenNoAdjacent-but-wrong situations.
metadata.cadence.categoryNoGrouping in clients. Defaults to system.

Resolution order

  1. Bundled skills shipped with the assistant.
  2. Workspace skills under /workspace/skills/.
  3. Plugin skills from each plugin skills/ directory.

First name wins. Duplicates are logged and skipped. Multiple skills can be active at once. See Skills and tools and Your first skill.

Anatomy

---
name: standup-notes
description: >-
  Draft a daily standup update from recent activity. Use when the user
  asks for their standup, daily update, or what they did yesterday.
metadata:
  cadence:
    display-name: "Standup Notes"
    activation-hints:
      - "User asks for their standup or daily update"
    avoid-when:
      - "User wants a full weekly report, not a daily standup"
---

Draft a concise standup with Yesterday, Today, and Blockers.

Optional scripts/ and references/ live beside SKILL.md. The body cites them by relative path. The assistant runs a script via the bash tool when the instructions say to.

When to write a skill

When the capability is a repeatable procedure in natural language. Skills load on demand, so they cost nothing in context until the request calls for them. If the action must run every turn at a fixed boundary, write a hook. If the model should call a typed action, write a tool.