Skip to content

Documentation / @agentick/core / SkillRegistry

Class: SkillRegistry ​

Defined in: core/src/skill/registry.ts:41

In-memory registry of skills available to an app. Owned by the app (app.skills); sessions consult it to resolve string-name references and to expose the implicit skill tool listing.

Constructors ​

Constructor ​

new SkillRegistry(): SkillRegistry

Returns ​

SkillRegistry

Accessors ​

size ​

Get Signature ​

get size(): number

Defined in: core/src/skill/registry.ts:86

Number of registered skills.

Returns ​

number

Methods ​

clear() ​

clear(): void

Defined in: core/src/skill/registry.ts:101

Remove all registrations.

Returns ​

void


get() ​

get(name): SkillDef<unknown> | undefined

Defined in: core/src/skill/registry.ts:71

Look up a skill by name.

Parameters ​

name ​

string

Returns ​

SkillDef<unknown> | undefined


has() ​

has(name): boolean

Defined in: core/src/skill/registry.ts:76

True if a skill is registered under this name.

Parameters ​

name ​

string

Returns ​

boolean


list() ​

list(): SkillDef<unknown>[]

Defined in: core/src/skill/registry.ts:81

All registered skills, in registration order.

Returns ​

SkillDef<unknown>[]


loadDir() ​

loadDir(dirPath): Promise<SkillDef<unknown>[]>

Defined in: core/src/skill/registry.ts:148

Load all skills from a directory. Each subdirectory is treated as a folder-based skill (its SKILL.md is loaded with strict spec validation). Bare .md files at the top level are ignored.

Parameters ​

dirPath ​

string

Returns ​

Promise<SkillDef<unknown>[]>

Example ​

typescript
await app.skills.loadDir("./skills");
// Loads ./skills/triage/SKILL.md, ./skills/plan/SKILL.md, etc.

register() ​

register(skill): void

Defined in: core/src/skill/registry.ts:49

Register a skill. Throws on name collision; use replace() if you mean to overwrite.

Parameters ​

skill ​

SkillDef

Returns ​

void


replace() ​

replace(skill): boolean

Defined in: core/src/skill/registry.ts:63

Register or overwrite a skill by name. Returns true if a previous registration was replaced.

Parameters ​

skill ​

SkillDef

Returns ​

boolean


search(query?): SkillDef<unknown>[]

Defined in: core/src/skill/registry.ts:111

Search the registry. Filters apply with AND semantics (a skill must match every provided filter to be included).

Parameters ​

query? ​

SkillSearchQuery = {}

Returns ​

SkillDef<unknown>[]


subscribe() ​

subscribe(listener): () => void

Defined in: core/src/skill/registry.ts:130

Subscribe to registry changes. Fires after every register/replace/ unregister/clear with the current full skill list. Returns an unsubscribe function.

Parameters ​

listener ​

(skills) => void

Returns ​

(): void

Returns ​

void


unregister() ​

unregister(name): boolean

Defined in: core/src/skill/registry.ts:94

Remove a registered skill by name. Returns true if a registration was removed.

Parameters ​

name ​

string

Returns ​

boolean

Released under the ISC License.