Skip to content

skills

Skills: know-how an agent reads only when it needs it.

On this page 6
TypeScript
import { skills } from "copilotz/plugins/agents";

What it keeps

It keeps 2 collections, each on the record: every change to one is an event.

CollectionKept asFields
skilldocumentsin, name, description, size, files, by, at, updated
skillFiledocumentsskill, in, path, text

The access rules cover skill and skillFile: each document is in a space, and only those who reach the space reach it.

Its named queries read for callers, as the rules let them:

QueryWho outside runs it
skill.filespeople, agents for a person, keys and routines
skill.listpeople, agents for a person, keys and routines
skill.readpeople, agents for a person, keys and routines

What it lets callers do

Of its 3 Actions, people and agents may call all 3; contacts and someone signed out may call none.

ActionPersonAgentContactAnyoneKeyWhat it does
skill.createyesyesnonoyesMakes a skill in a space: know-how its agents read when a task needs it.
skill.deleteyesyesnonoyesDeletes a skill, with its files.
skill.updateyesyesnonoyesChanges a skill: its name, when it's for, its instructions, its files.

An agent works for a person, and calls what both may. A key calls only what its scope names.

Agents act through its tool, as whoever they work for:

ToolWhat it doesCalls
read_skillRead one of your skills (listed under Skills in your instructions): what to do, step by step, for the kind of task it's for.

It also adds rules every read and write keeps to (guard).

Where it shows

Its Views show to the model.

  • To the model: context:skills, context:skillsGuide.
  • Agents' tools: read_skill.
  • Front ends: skills-web.
  • What it adds to resources: context (skills, skillsGuide).

What it needs

Nothing to set. It reads skills, resource kinds the app and other plugins fill.

What it requires

The runtime doesn't start without chat: add it too.

It ships with copilotz@1.0.0-rc.38.

Listing

It keeps every listing rule.