AgentSkillIO
@a16njs/models / AgentSkillIO
Interface: AgentSkillIO
Defined in: types.ts:129
Full AgentSkills.io standard skill. Supports multiple resource files in the skill directory.
NOTE: Hooks are NOT part of AgentSkills.io and are not supported. Skills with hooks should be skipped during discovery with a warning.
Use this type for skills that include:
- Resource files (checklists, configs, scripts)
- Multiple files in a skill directory
Extends
Properties
id
id:
string
Defined in: types.ts:31
Unique identifier for this item
Inherited from
version
version:
string
Defined in: types.ts:35
IR version (required, e.g., 'v1beta1')
Inherited from
sourcePath?
optionalsourcePath?:string
Defined in: types.ts:37
Original file path where this was discovered (optional, omitted in IR format)
Inherited from
relativeDir?
optionalrelativeDir?:string
Defined in: types.ts:39
Relative directory path for preserving directory structure (optional)
Inherited from
AgentCustomization.relativeDir
content
content:
string
Defined in: types.ts:41
The actual prompt/rule content
Inherited from
metadata
metadata:
Record<string,unknown>
Defined in: types.ts:48
Tool-specific extras that don't fit the standard model (transient, not serialized in IR).
This is not the AgentSkills.io metadata frontmatter field — that one is
author-authored and must persist. See AgentSkillSpecFields.specMetadata.
Inherited from
license?
optionallicense?:string
Defined in: types.ts:61
License name or a reference to a bundled license file. Provenance only.
Inherited from
compatibility?
optionalcompatibility?:string
Defined in: types.ts:63
Environment requirements, e.g. Requires Python 3.14+ and uv. Documentation only.
Inherited from
AgentSkillSpecFields.compatibility
specMetadata?
optionalspecMetadata?:Record<string,string>
Defined in: types.ts:71
The AgentSkills.io spec's metadata field: author-authored client properties,
persisted to disk under the key metadata.
Distinct from AgentCustomization.metadata, which is transient and is never serialized.
Inherited from
AgentSkillSpecFields.specMetadata
allowedTools?
optionalallowedTools?:string
Defined in: types.ts:80
Space-separated list of pre-approved tools, preserved as the authored string
(e.g. Bash(git:*) Bash(jq:*) Read) rather than split, because re-joining a
parsed list invites normalization bugs.
Experimental in the spec, but the only one of these fields with enforcement semantics: dropping it makes the emitted skill more permissive than authored.
Inherited from
AgentSkillSpecFields.allowedTools
type
type:
AgentSkillIO
Defined in: types.ts:130
The type of customization
Overrides
name
name:
string
Defined in: types.ts:133
Skill name (from frontmatter or directory name)
description
description:
string
Defined in: types.ts:136
Description for activation matching (required)
resources?
optionalresources?:string[]
Defined in: types.ts:139
Optional: Resource file paths relative to skill directory
disableModelInvocation?
optionaldisableModelInvocation?:boolean
Defined in: types.ts:142
Optional: If true, only invoked via /name
files
files:
Record<string,string>
Defined in: types.ts:148
Map of additional files in the skill directory. Key: relative path, Value: file content