Skip to main content
Type contracts exported by this package: interfaces, type aliases, and enums.

SkillLibraryEntry

A single skill entry in a library catalog.
PropertyTypeRequiredDescription
namestringYesSkill name (e.g. "ct-research-agent").
descriptionstringYesHuman-readable description.
versionstringYesSemantic version string.
pathstringYesRelative path within the skills library.
referencesstring[]YesFile references used by the skill.
corebooleanYesWhether this is a core skill.
category"core" | "recommended" | "specialist" | "composition" | "meta"YesSkill category tier.
tiernumberYesNumeric tier (0-3).
protocolstring | nullYesAssociated protocol name, or null.
dependenciesstring[]YesDirect dependency skill names.
sharedResourcesstring[]YesShared resource names this skill uses.
compatibilitystring[]YesCompatible agent/context types.
licensestringYesSPDX license identifier.
metadataRecord<string, unknown>YesArbitrary metadata.

SkillLibraryValidationResult

Validation result from skill frontmatter validation.
PropertyTypeRequiredDescription
validbooleanYesWhether the skill passed validation (no error-level issues).
issuesSkillLibraryValidationIssue[]YesIndividual validation issues.

SkillLibraryValidationIssue

A single validation issue.
PropertyTypeRequiredDescription
level"error" | "warn"YesSeverity level.
fieldstringYesField that triggered the issue.
messagestringYesHuman-readable message.

SkillLibraryProfile

Profile definition for grouped skill installation.
PropertyTypeRequiredDescription
namestringYesProfile name (e.g. "minimal", "core", "recommended", "full").
descriptionstringYesHuman-readable description.
extendsstring | undefinedNoName of parent profile to extend.
skillsstring[]YesSkill names included in this profile.
includeSharedboolean | undefinedNoWhether to include _shared resources.
includeProtocolsstring[]YesProtocol names to include.

SkillLibraryDispatchMatrix

Dispatch matrix for task routing to skills.
PropertyTypeRequiredDescription
by_task_typeRecord<string, string>YesTask type to skill mapping.
by_keywordRecord<string, string>YesKeyword to skill mapping.
by_protocolRecord<string, string>YesProtocol to skill mapping.

SkillLibraryManifestSkill

Skill entry within the library manifest.
PropertyTypeRequiredDescription
namestringYesSkill name.
versionstringYesVersion.
descriptionstringYesDescription.
pathstringYesPath within library.
tagsstring[]YesTags.
statusstringYesStatus.
tiernumberYesTier.
token_budgetnumberYesToken budget.
referencesstring[]YesReferences.
capabilities{ inputs: string[]; outputs: string[]; dependencies: string[]; dispatch_triggers: string[]; compatible_subagent_types: string[]; chains_to: string[]; dispatch_keywords: { primary: string[]; secondary: string[]; }; }YesCapabilities.
constraints{ max_context_tokens: number; requires_session: boolean; requires_epic: boolean; }YesConstraints.

SkillLibraryManifest

Full manifest structure for a skill library.
PropertyTypeRequiredDescription
$schemastringYesJSON schema reference.
_metaRecord<string, unknown>YesMetadata.
dispatch_matrixSkillLibraryDispatchMatrixYesDispatch matrix for skill routing.
skillsSkillLibraryManifestSkill[]YesManifest skill entries.

SkillLibrary

Standard interface for a skill library. Any directory or module providing skills must implement this contract. CAAMP uses it to discover, resolve, and install skills from any source.
PropertyTypeRequiredDescription
versionstringYesLibrary version string.
libraryRootstringYesAbsolute path to the library root directory.
skillsSkillLibraryEntry[]YesAll skill entries in the catalog.
manifestSkillLibraryManifestYesThe parsed manifest.
listSkills() => string[]YesList all skill names.
getSkill(name: string) => SkillLibraryEntry | undefinedNoGet skill metadata by name.
getSkillPath(name: string) => stringYesResolve absolute path to a skill’s SKILL.md file.
getSkillDir(name: string) => stringYesResolve absolute path to a skill’s directory.
readSkillContent(name: string) => stringYesRead a skill’s SKILL.md content as a string.
getCoreSkills() => SkillLibraryEntry[]YesGet all skills where core === true.
getSkillsByCategory(category: SkillLibraryEntry["category"]) => SkillLibraryEntry[]YesGet skills filtered by category.
getSkillDependencies(name: string) => string[]YesGet direct dependency names for a skill.
resolveDependencyTree(names: string[]) => string[]YesResolve full dependency tree for a set of skill names (includes transitive deps).
listProfiles() => string[]YesList available profile names.
getProfile(name: string) => SkillLibraryProfile | undefinedNoGet a profile definition by name.
resolveProfile(name: string) => string[]YesResolve a profile to its full skill list (follows extends, resolves deps).
listSharedResources() => string[]YesList available shared resource names.
getSharedResourcePath(name: string) => string | undefinedNoGet absolute path to a shared resource file.
readSharedResource(name: string) => string | undefinedNoRead a shared resource file content.
listProtocols() => string[]YesList available protocol names.
getProtocolPath(name: string) => string | undefinedNoGet absolute path to a protocol file.
readProtocol(name: string) => string | undefinedNoRead a protocol file content.
validateSkillFrontmatter(name: string) => SkillLibraryValidationResultYesValidate a single skill’s frontmatter.
validateAll() => Map<string, SkillLibraryValidationResult>YesValidate all skills.
getDispatchMatrix() => SkillLibraryDispatchMatrixYesGet the dispatch matrix from the manifest.

RegistryDetection

Raw detection configuration as stored in registry.json.
PropertyTypeRequiredDescription
methodsstring[]YesDetection methods to try, in order (e.g. ["binary", "directory"]).
binarystring | undefinedNoBinary name to look up on PATH (for the "binary" method).
directoriesstring[] | undefinedNoDirectories to check for existence (for the "directory" method).
appBundlestring | undefinedNomacOS .app bundle name (for the "appBundle" method).
flatpakIdstring | undefinedNoFlatpak application ID (for the "flatpak" method).

ProviderPriority

Priority tier identifier stored in registry.json.
ProviderPriority

ProviderStatus

Lifecycle status identifier stored in registry.json.
ProviderStatus

RegistryProvider

Raw provider definition as stored in registry.json before path resolution.
PropertyTypeRequiredDescription
idstringYesUnique provider identifier (e.g. "claude-code").
toolNamestringYesHuman-readable tool name (e.g. "Claude Code").
vendorstringYesVendor/company name (e.g. "Anthropic").
agentFlagstringYesCLI flag name for --agent selection.
aliasesstring[]YesAlternative names that resolve to this provider.
pathGlobalstringYesGlobal instruction file directory path (may contain platform variables).
pathProjectstringYesProject-relative instruction file directory path.
instructFilestringYesInstruction file name (e.g. "CLAUDE.md", "AGENTS.md").
pathSkillsstringYesGlobal skills directory path (may contain platform variables).
pathProjectSkillsstringYesProject-relative skills directory path.
detectionRegistryDetectionYesDetection configuration for auto-discovering this provider.
priorityProviderPriorityYesPriority tier identifier. Exactly zero or one provider should be "primary".
statusProviderStatusYesLifecycle status identifier.
agentSkillsCompatiblebooleanYesWhether the provider is compatible with the Agent Skills standard.
capabilitiesRegistryCapabilities | undefinedNoOptional provider capabilities for MCP, harness role, skills, hooks, and spawn.

McpConfigFormat

Supported MCP config file formats.
McpConfigFormat

McpTransportType

MCP transport protocols a provider may advertise.
McpTransportType

RegistryMcpIntegration

MCP server integration metadata for providers that consume MCP servers via a per-agent config file.
PropertyTypeRequiredDescription
configKeystringYesDot-notation key path for MCP server config (e.g. "mcpServers").
configFormatMcpConfigFormatYesConfig file format identifier.
configPathGlobalstringYesGlobal config file path (may contain platform variables).
configPathProjectstring | nullYesProject-relative config file path, or null if unsupported.
supportedTransportsMcpTransportType[]YesMCP transport protocol identifiers this provider supports.
supportsHeadersbooleanYesWhether the provider supports custom HTTP headers for remote MCP servers.

RegistryHarnessKind

Harness role category for a primary or standalone harness.
RegistryHarnessKind

RegistryHarnessCapability

First-class harness role declaration.
PropertyTypeRequiredDescription
kindRegistryHarnessKindYesThe harness kind ("orchestrator" or "standalone").
spawnTargetsstring[]YesProvider ids this harness can spawn as subagents. Empty for standalone.
supportsConductorLoopbooleanYesWhether the harness drives a CleoOS conductor loop.
supportsStageGuidancebooleanYesWhether the harness accepts stage guidance injection.
supportsCantBridgebooleanYesWhether the harness bridges CANT events.
extensionsPathstringYesPath to the harness’s runtime extensions directory (file paths, not a config file).
globalExtensionsHubstring | undefinedNoOptional CLEO-managed shared extensions hub.

SkillsPrecedence

How a provider resolves skill file precedence between vendor and agents directories.
SkillsPrecedence

RegistrySkillsCapability

Raw skills capability definition as stored in registry.json.
PropertyTypeRequiredDescription
agentsGlobalPathstring | nullYesResolved global .agents/skills path, or null if unsupported.
agentsProjectPathstring | nullYesProject-relative .agents/skills path, or null if unsupported.
precedenceSkillsPrecedenceYesHow this provider resolves skill file precedence.

HookEvent

Deprecated: Use CanonicalHookEvent from ../hooks/types.js for the normalized CAAMP taxonomy. This type remains for backward compatibility with registry.json’s capabilities.hooks.supported string arrays.
Hook lifecycle event identifier from registry.json.
string

RegistryHookFormat

The on-disk layout of a provider’s hook configuration.
RegistryHookFormat

RegistryHookCatalog

Which native event catalog a provider’s hook system uses.
RegistryHookCatalog

RegistryHooksCapability

Raw hooks capability definition as stored in registry.json.
PropertyTypeRequiredDescription
supportedstring[]YesHook lifecycle event identifiers this provider supports.
hookConfigPathstring | nullYesPath to the hook configuration file or directory, or null if not applicable.
hookConfigPathProjectstring | undefinedNoProject-relative path to the hook configuration file or directory.
hookFormatRegistryHookFormat | nullYesFormat of the hook config, or null when the provider has no hook system.
nativeEventCatalogRegistryHookCatalog | undefinedNoWhich native event catalog this provider’s hooks are drawn from. Defaults to "canonical" when omitted.
canInjectSystemPromptboolean | undefinedNoWhether hooks may inject or modify the system prompt.
canBlockToolsboolean | undefinedNoWhether hooks may block tool calls.

SpawnMechanism

Mechanism a provider uses to spawn subagents.
SpawnMechanism

RegistrySpawnCapability

Raw spawn capability definition as stored in registry.json.
PropertyTypeRequiredDescription
supportsSubagentsbooleanYesWhether the provider supports spawning subagents.
supportsProgrammaticSpawnbooleanYesWhether subagents can be spawned programmatically.
supportsInterAgentCommsbooleanYesWhether spawned agents can communicate with each other.
supportsParallelSpawnbooleanYesWhether multiple agents can be spawned in parallel.
spawnMechanismSpawnMechanism | nullYesMechanism used for spawning, or null if spawning is unsupported.
spawnCommandstring[] | undefinedNoLiteral command-line invocation used by the harness to spawn a child worker (e.g. Pi’s ["pi", "--mode", "json", "-p", "--no-session"]). Only meaningful when spawnMechanism === "native-child-process".

RegistryCapabilities

Aggregate capability block for a provider in registry.json.
PropertyTypeRequiredDescription
mcpRegistryMcpIntegration | undefinedNoMCP server integration metadata. Omitted for providers (like Pi) that do not consume MCP servers via a config file.
harnessRegistryHarnessCapability | undefinedNoFirst-class harness role. Present only for orchestrators or standalone harnesses, not for pure spawn targets.
skillsRegistrySkillsCapability | undefinedNoSkills path resolution and precedence capabilities.
hooksRegistryHooksCapability | undefinedNoHook/lifecycle event capabilities.
spawnRegistrySpawnCapability | undefinedNoSubagent spawn capabilities.

ProviderRegistry

Top-level structure of the provider registry JSON file.
PropertyTypeRequiredDescription
versionstringYesSchema version of the registry file.
lastUpdatedstringYesISO 8601 timestamp of the last registry update.
providersRecord<string, RegistryProvider>YesProvider definitions keyed by provider ID.

CtSkillEntry

Deprecated: Use SkillLibraryEntry instead.
Backward-compatible alias for SkillLibraryEntry.
SkillLibraryEntry

CtValidationResult

Deprecated: Use SkillLibraryValidationResult instead.
Backward-compatible alias for SkillLibraryValidationResult.
SkillLibraryValidationResult

CtValidationIssue

Deprecated: Use SkillLibraryValidationIssue instead.
Backward-compatible alias for SkillLibraryValidationIssue.
SkillLibraryValidationIssue

CtProfileDefinition

Deprecated: Use SkillLibraryProfile instead.
Backward-compatible alias for SkillLibraryProfile.
SkillLibraryProfile

CtDispatchMatrix

Deprecated: Use SkillLibraryDispatchMatrix instead.
Backward-compatible alias for SkillLibraryDispatchMatrix.
SkillLibraryDispatchMatrix

CtManifest

Deprecated: Use SkillLibraryManifest instead.
Backward-compatible alias for SkillLibraryManifest.
SkillLibraryManifest

CtManifestSkill

Deprecated: Use SkillLibraryManifestSkill instead.
Backward-compatible alias for SkillLibraryManifestSkill.
SkillLibraryManifestSkill

ConfigFormat

Supported configuration file formats. - "json" - Standard JSON - "jsonc" - JSON with comments (comment-preserving via jsonc-parser) - "yaml" - YAML (via js-yaml) - "toml" - TOML (via iarna/toml)
ConfigFormat

TransportType

MCP server transport protocol type. - "stdio" - Standard input/output (local process) - "sse" - Server-Sent Events (remote) - "http" - HTTP/Streamable HTTP (remote)
TransportType

DetectionMethod

Method used to detect whether an AI agent is installed on the system. - "binary" - Check if a CLI binary exists on PATH - "directory" - Check if known config/data directories exist - "appBundle" - Check for macOS .app bundle in standard app directories - "flatpak" - Check for Flatpak installation on Linux
DetectionMethod

DetectionConfig

Configuration for detecting whether a provider is installed.
PropertyTypeRequiredDescription
methodsDetectionMethod[]YesDetection methods to try, in order.
binarystring | undefinedNoBinary name to look up on PATH (for "binary" method).
directoriesstring[] | undefinedNoDirectories to check for existence (for "directory" method).
appBundlestring | undefinedNomacOS .app bundle name (for "appBundle" method).
flatpakIdstring | undefinedNoFlatpak application ID (for "flatpak" method).

ProviderMcpCapability

Resolved MCP server integration metadata for a provider.
PropertyTypeRequiredDescription
configKeystringYesDot-notation key path for MCP server config (e.g. "mcpServers").
configFormatConfigFormatYesResolved config file format.
configPathGlobalstringYesResolved global config file path.
configPathProjectstring | nullYesProject-relative config file path, or null if unsupported.
supportedTransportsTransportType[]YesMCP transport protocols this provider supports.
supportsHeadersbooleanYesWhether the provider supports custom HTTP headers for remote MCP servers.

ProviderHarnessCapability

Resolved first-class harness capability for a provider.
PropertyTypeRequiredDescription
kindimport("/mnt/projects/cleocode/packages/caamp/src/core/registry/types").RegistryHarnessKindYesHarness kind ("orchestrator" or "standalone").
spawnTargetsstring[]YesProvider ids this harness can spawn as subagents. Empty for standalone.
supportsConductorLoopbooleanYesWhether the harness drives a CleoOS conductor loop.
supportsStageGuidancebooleanYesWhether the harness accepts stage guidance injection.
supportsCantBridgebooleanYesWhether the harness bridges CANT events.
extensionsPathstringYesResolved path to the harness’s runtime extensions directory.
globalExtensionsHubstring | nullYesResolved CLEO-managed shared extensions hub path, if configured.

ProviderSkillsCapability

Resolved skills capability for a provider at runtime.
PropertyTypeRequiredDescription
agentsGlobalPathstring | nullYesResolved global .agents/skills path, or null if unsupported.
agentsProjectPathstring | nullYesProject-relative .agents/skills path, or null if unsupported.
precedenceimport("/mnt/projects/cleocode/packages/caamp/src/core/registry/types").SkillsPrecedenceYesHow this provider resolves skill file precedence.

ProviderHooksCapability

Resolved hooks capability for a provider at runtime.
PropertyTypeRequiredDescription
supportedstring[]YesHook lifecycle events this provider supports.
hookConfigPathstring | nullYesResolved path to the hook configuration file or directory, or null.
hookConfigPathProjectstring | nullYesResolved project-relative hook configuration path, or null.
hookFormatimport("/mnt/projects/cleocode/packages/caamp/src/core/registry/types").RegistryHookFormat | nullYesFormat of the hook config.
nativeEventCatalogimport("/mnt/projects/cleocode/packages/caamp/src/core/registry/types").RegistryHookCatalogYesWhich native event catalog this provider’s hooks are drawn from.
canInjectSystemPromptbooleanYesWhether hooks may inject or modify the system prompt.
canBlockToolsbooleanYesWhether hooks may block tool calls.

ProviderSpawnCapability

Resolved spawn capability for a provider at runtime.
PropertyTypeRequiredDescription
supportsSubagentsbooleanYesWhether the provider supports spawning subagents.
supportsProgrammaticSpawnbooleanYesWhether subagents can be spawned programmatically.
supportsInterAgentCommsbooleanYesWhether spawned agents can communicate with each other.
supportsParallelSpawnbooleanYesWhether multiple agents can be spawned in parallel.
spawnMechanismimport("/mnt/projects/cleocode/packages/caamp/src/core/registry/types").SpawnMechanism | nullYesMechanism used for spawning.
spawnCommandstring[] | nullYesLiteral command-line invocation used by the harness to spawn a child worker. Only meaningful when spawnMechanism === "native-child-process".

ProviderCapabilities

Aggregate provider capabilities for MCP, harness role, skills, hooks, and spawn.
PropertyTypeRequiredDescription
mcpProviderMcpCapability | nullYesMCP server integration, when the provider consumes MCP via a config file.
harnessProviderHarnessCapability | nullYesHarness role, present only for orchestrators and standalone harnesses.
skillsProviderSkillsCapabilityYesSkills path resolution and precedence.
hooksProviderHooksCapabilityYesHook/lifecycle event support.
spawnProviderSpawnCapabilityYesSubagent spawn capabilities.

ProviderPriority

Priority tier for a provider, used for sorting and default selection. - "primary" - First-class harness. Default target when no --agent flag is given. Exactly zero or one provider per registry should have this priority; CAAMP consumers (e.g. getPrimaryProvider()) expect that invariant but the registry loader does not enforce it. - "high" - Major, widely-used agents - "medium" - Established but less common agents - "low" - Niche or experimental agents
ProviderPriority

ProviderStatus

Lifecycle status of a provider in the registry. - "active" - Fully supported - "beta" - Supported but may have rough edges - "deprecated" - Still present but no longer recommended - "planned" - Not yet implemented
ProviderStatus

Provider

A resolved AI agent provider definition with platform-specific paths.
PropertyTypeRequiredDescription
idstringYesUnique provider identifier (e.g. "claude-code").
toolNamestringYesHuman-readable tool name (e.g. "Claude Code").
vendorstringYesVendor/company name (e.g. "Anthropic").
agentFlagstringYesCLI flag name for --agent selection.
aliasesstring[]YesAlternative names that resolve to this provider.
pathGlobalstringYesResolved global instruction file directory path.
pathProjectstringYesProject-relative instruction file directory path.
instructFilestringYesInstruction file name (e.g. "CLAUDE.md", "AGENTS.md").
pathSkillsstringYesResolved global skills directory path.
pathProjectSkillsstringYesProject-relative skills directory path.
detectionDetectionConfigYesDetection configuration for auto-discovering this provider.
priorityProviderPriorityYesPriority tier for sorting and default selection.
statusProviderStatusYesLifecycle status in the registry.
agentSkillsCompatiblebooleanYesWhether the provider is compatible with the Agent Skills standard.
capabilitiesProviderCapabilitiesYesProvider capabilities (MCP, harness, skills, hooks, spawn). Always populated at runtime.

McpServerConfig

Canonical MCP server configuration.
PropertyTypeRequiredDescription
typeTransportType | undefinedNoTransport type ("stdio", "sse", or "http").
urlstring | undefinedNoURL for remote MCP servers.
headersRecord<string, string> | undefinedNoHTTP headers for remote MCP servers.
commandstring | undefinedNoCommand to run for stdio MCP servers.
argsstring[] | undefinedNoArguments for the stdio command.
envRecord<string, string> | undefinedNoEnvironment variables for the stdio process.

SourceType

Classified type of an MCP server or skill source. - "remote" - HTTP/HTTPS URL to a remote MCP server - "package" - npm package name - "command" - Shell command string - "github" - GitHub repository (URL or shorthand) - "gitlab" - GitLab repository URL - "local" - Local filesystem path - "library" - Built-in skill library reference
SourceType

ParsedSource

Result of parsing a source string into its typed components.
PropertyTypeRequiredDescription
typeSourceTypeYesClassified source type.
valuestringYesOriginal or normalized source value.
inferredNamestringYesDisplay name inferred from the source.
ownerstring | undefinedNoRepository owner (for GitHub/GitLab sources).
repostring | undefinedNoRepository name (for GitHub/GitLab sources).
pathstring | undefinedNoPath within the repository (for GitHub/GitLab sources).
refstring | undefinedNoGit ref / branch / tag (for GitHub/GitLab sources).

SkillMetadata

Metadata extracted from a SKILL.md frontmatter.
PropertyTypeRequiredDescription
namestringYesSkill name (lowercase, hyphens only).
descriptionstringYesHuman-readable description.
licensestring | undefinedNoSPDX license identifier.
compatibilitystring | undefinedNoCompatibility notes (e.g. agent versions).
metadataRecord<string, string> | undefinedNoArbitrary key-value metadata.
allowedToolsstring[] | undefinedNoList of tools the skill is allowed to use.
versionstring | undefinedNoSemantic version string.

SkillEntry

A discovered skill entry with its location and metadata.
PropertyTypeRequiredDescription
namestringYesSkill name.
scopedNamestringYesScoped name (may include marketplace scope).
pathstringYesAbsolute path to the skill directory.
metadataSkillMetadataYesParsed SKILL.md frontmatter metadata.
sourcestring | undefinedNoOriginal source from which the skill was installed.

LockEntry

A single entry in the CAAMP lock file tracking an installed skill or MCP server.
PropertyTypeRequiredDescription
namestringYesSkill or server name.
scopedNamestringYesScoped name (may include marketplace scope).
sourcestringYesOriginal source string.
sourceTypeSourceTypeYesClassified source type.
versionstring | undefinedNoVersion string or commit SHA.
installedAtstringYesISO 8601 timestamp of first installation.
updatedAtstring | undefinedNoISO 8601 timestamp of last update.
agentsstring[]YesProvider IDs this entry is linked to.
canonicalPathstringYesAbsolute path to canonical installation.
isGlobalbooleanYesWhether this was installed globally.
projectDirstring | undefinedNoProject directory (for project-scoped installs).

CaampLockFile

The CAAMP lock file structure, stored at the resolved canonical lock path.
PropertyTypeRequiredDescription
version1YesLock file schema version.
skillsRecord<string, LockEntry>YesInstalled skills keyed by name.
mcpServersRecord<string, LockEntry>YesInstalled MCP servers keyed by name.
lastSelectedAgentsstring[] | undefinedNoLast selected agent IDs for UX persistence.

MarketplaceSkill

A skill listing from a marketplace search result.
PropertyTypeRequiredDescription
idstringYesUnique marketplace identifier.
namestringYesSkill name.
scopedNamestringYesScoped name (e.g. "@author/my-skill").
descriptionstringYesShort description.
authorstringYesAuthor / publisher name.
starsnumberYesGitHub star count.
forksnumberYesGitHub fork count.
githubUrlstringYesGitHub repository URL.
repoFullNamestringYesFull owner/repo name.
pathstringYesPath within the repository.
categorystring | undefinedNoOptional category tag.
hasContentbooleanYesWhether SKILL.md content was fetched.

MarketplaceSearchResult

Paginated search results from a marketplace API.
PropertyTypeRequiredDescription
skillsMarketplaceSkill[]YesArray of matching skills.
totalnumberYesTotal number of matching results.
limitnumberYesMaximum results per page.
offsetnumberYesOffset into the result set.

AuditSeverity

Severity level for a security audit finding. Ordered from most to least severe: "critical" "high" "medium" "low" "info".
AuditSeverity

AuditRule

A security audit rule definition with a regex pattern to match against skill content.
PropertyTypeRequiredDescription
idstringYesUnique rule identifier (e.g. "SEC001").
namestringYesRule name.
descriptionstringYesHuman-readable description of what the rule detects.
severityAuditSeverityYesSeverity level of findings from this rule.
categorystringYesCategory grouping (e.g. "injection", "exfiltration").
patternRegExpYesRegex pattern to match against each line of content.

AuditFinding

A single finding from a security audit scan, with line-level location.
PropertyTypeRequiredDescription
ruleAuditRuleYesThe rule that triggered this finding.
linenumberYesLine number (1-based).
columnnumberYesColumn number (1-based).
matchstringYesThe matched text.
contextstringYesThe full line of text for context.

AuditResult

Aggregate audit result for a single file.
PropertyTypeRequiredDescription
filestringYesPath to the scanned file.
findingsAuditFinding[]YesAll findings for this file.
scorenumberYesSecurity score from 0 (dangerous) to 100 (clean).
passedbooleanYesWhether the file passed the audit (no critical/high findings).

InjectionStatus

Status of a CAAMP injection block in an instruction file. - "current" - Injection block exists and matches expected content - "outdated" - Injection block exists but content differs - "missing" - Instruction file does not exist - "none" - File exists but has no CAAMP injection block
InjectionStatus

InjectionCheckResult

Result of checking a single instruction file for CAAMP injection status.
PropertyTypeRequiredDescription
filestringYesAbsolute path to the instruction file.
providerstringYesProvider ID that owns this instruction file.
statusInjectionStatusYesCurrent injection status.
fileExistsbooleanYesWhether the instruction file exists on disk.

McpServerEntry

An MCP server entry read from a provider’s config file.
PropertyTypeRequiredDescription
namestringYesServer name (the key in the config file).
providerIdstringYesProvider ID that owns this config file.
providerNamestringYesHuman-readable provider name.
scope"project" | "global"YesWhether from project or global config.
configPathstringYesAbsolute path to the config file.
configRecord<string, unknown>YesRaw server configuration object.

GlobalOptions

Global CLI options shared across all CAAMP commands.
PropertyTypeRequiredDescription
agentstring[] | undefinedNoTarget agent IDs (repeatable).
globalboolean | undefinedNoOperate on global config instead of project.
yesboolean | undefinedNoSkip confirmation prompts.
allboolean | undefinedNoTarget all detected agents.
jsonboolean | undefinedNoOutput as JSON.
dryRunboolean | undefinedNoPreview changes without writing.
verboseboolean | undefinedNoEnable debug logging.
quietboolean | undefinedNoSuppress non-error output.

PlatformPaths

OS-appropriate directory paths for CAAMP’s global storage.
PropertyTypeRequiredDescription
datastringYesUser data dir. Override with AGENTS_HOME env var.
configstringYesOS config dir (XDG_CONFIG_HOME / Library/Preferences / %APPDATA%).
cachestringYesOS cache dir.
logstringYesOS log dir.
tempstringYesOS temp dir.

SystemInfo

Snapshot of the current system environment and resolved platform paths.
PropertyTypeRequiredDescription
platformNodeJS.PlatformYesOperating system platform identifier.
archstringYesCPU architecture (e.g. "x64", "arm64").
releasestringYesOS kernel release version string.
hostnamestringYesMachine hostname.
nodeVersionstringYesNode.js version string (e.g. "v20.11.0").
pathsPlatformPathsYesResolved platform directory paths.

PathScope

Scope for path resolution, either global (user home) or project-local.
PathScope

PlatformLocations

Platform-specific directory locations for agent configuration.
PropertyTypeRequiredDescription
homestringYesThe user’s home directory path.
configstringYesThe platform-specific configuration directory.
vscodeConfigstringYesThe VS Code user settings directory.
zedConfigstringYesThe Zed editor configuration directory.
claudeDesktopConfigstringYesThe Claude Desktop application configuration directory.
applicationsstring[]YesList of application directories (macOS only).

InjectionTemplate

Structured template for injection content.
PropertyTypeRequiredDescription
referencesstring[]YesReferences to include (e.g. "\@AGENTS.md", "\@.cleo/project-context.json").
contentstring[] | undefinedNoInline content blocks (raw markdown/text).

EnsureProviderInstructionFileOptions

Options for ensuring a provider instruction file.
PropertyTypeRequiredDescription
referencesstring[]Yes\@ references to inject (e.g. ["\@AGENTS.md"]).
contentstring[] | undefinedNoOptional inline content blocks.
scope"project" | "global" | undefinedNoWhether this is a global or project-level file.

EnsureProviderInstructionFileResult

Result of ensuring a provider instruction file.
PropertyTypeRequiredDescription
filePathstringYesAbsolute path to the instruction file.
instructFilestringYesInstruction file name from the provider registry.
action"created" | "added" | "consolidated" | "updated" | "intact"YesAction taken.
providerIdstringYesProvider ID.

DetectionResult

Result of detecting whether a provider is installed on the system.
PropertyTypeRequiredDescription
providerProviderYesThe provider that was checked.
installedbooleanYesWhether the provider was detected as installed.
methodsstring[]YesDetection methods that matched (e.g. ["binary", "directory"]).
projectDetectedbooleanYesWhether the provider has project-level config in the current directory.

DetectionCacheOptions

Options for controlling the detection result cache.
PropertyTypeRequiredDescription
forceRefreshboolean | undefinedNoWhether to bypass the cache and force a fresh detection scan.
ttlMsnumber | undefinedNoTime-to-live for cached results in milliseconds.

SkillInstallResult

Result of installing a skill to the canonical location and linking to agents.
PropertyTypeRequiredDescription
namestringYesSkill name.
canonicalPathstringYesAbsolute path to the canonical installation directory.
linkedAgentsstring[]YesProvider IDs that were successfully linked.
errorsstring[]YesError messages from failed link operations.
successbooleanYesWhether at least one agent was successfully linked.

SkillBatchOperation

Single skill operation entry used by batch orchestration.
PropertyTypeRequiredDescription
sourcePathstringYesThe filesystem path to the skill source files.
skillNamestringYesThe unique name for the skill being installed.
isGlobalboolean | undefinedNoWhether to install globally or project-scoped, defaults to true.

BatchInstallOptions

Options for rollback-capable batch installation.
PropertyTypeRequiredDescription
providersProvider[] | undefinedNoExplicit list of providers to target, auto-detected if omitted.
minimumPriorityProviderPriority | undefinedNoMinimum provider priority threshold for filtering.
skillsSkillBatchOperation[] | undefinedNoSkill operations to apply in the batch.
projectDirstring | undefinedNoProject root directory, defaults to process.cwd().

BatchInstallResult

Result of rollback-capable batch installation.
PropertyTypeRequiredDescription
successbooleanYesWhether all operations completed successfully.
providerIdsstring[]YesIDs of providers that were targeted.
skillsAppliednumberYesNumber of skill installations that were applied.
rollbackPerformedbooleanYesWhether rollback was performed due to a failure.
rollbackErrorsstring[]YesError messages from any failures during rollback.
errorstring | undefinedNoError message from the operation that triggered rollback.

InstructionUpdateSummary

Result of a single-operation instruction update across providers.
PropertyTypeRequiredDescription
scopeScopeYesThe scope at which instructions were updated.
updatedFilesnumberYesThe total number of instruction files that were modified.
actions{ file: string; action: "created" | "added" | "consolidated" | "updated" | "intact"; providers: string[]; configFormats: ConfigFormat[]; }[]YesDetailed action log per instruction file.

MVILevel

LAFS MVI disclosure level - defined locally to avoid CI module resolution issues with re-exported types.
MVILevel

LAFSErrorShape

LAFS Error structure - re-exported from protocol as LAFSErrorShape for CAAMP compatibility.
LAFSError

LAFSWarning

LAFS Warning structure - re-exported from protocol.
Warning

LAFSEnvelope

Generic LAFS Envelope structure for type-safe command results.
PropertyTypeRequiredDescription
$schema"https://lafs.dev/schemas/v1/envelope.schema.json"YesJSON Schema URI for envelope validation.
_metaLAFSMetaYesEnvelope metadata (timestamps, request IDs, MVI level).
successbooleanYesWhether the operation succeeded.
resultT | nullYesOperation result payload, or null on error.
errorLAFSError | nullYesError details, or null on success.
pageLAFSPage | nullYesPagination metadata, or null when not applicable.

FormatOptions

Format resolution options.
PropertyTypeRequiredDescription
jsonFlagboolean | undefinedNoWhether --json was explicitly passed.
humanFlagboolean | undefinedNoWhether --human was explicitly passed.
projectDefault"json" | "human" | undefinedNoProject-level default format when no flag is given.

LAFSCommandOptions

Standard command options interface for LAFS-compliant commands.
PropertyTypeRequiredDescription
jsonboolean | undefinedNoWhether to force JSON output.
humanboolean | undefinedNoWhether to force human-readable output.

ProviderTargetOptions

Options for resolving which providers to target in advanced commands.
PropertyTypeRequiredDescription
allboolean | undefinedNoWhen true, target all registry providers including undetected ones.
agentstring[] | undefinedNoSpecific provider IDs or aliases to target.

HookCategory

Union type of valid hook category strings.
"agent" | "context" | "memory" | "pipeline" | "prompt" | "session" | "task" | "tool"

EventSource

Union type of valid event source types.
"domain" | "provider"

CanonicalHookEvent

Union type of all canonical hook event names.
"ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted"

CanonicalEventDefinition

Definition of a canonical hook event including its category and behavior.
PropertyTypeRequiredDescription
category"agent" | "context" | "memory" | "pipeline" | "prompt" | "session" | "task" | "tool"YesThe lifecycle category this event belongs to (e.g. "session", "tool").
descriptionstringYesHuman-readable description of when this event fires.
canBlockbooleanYesWhether a hook handler can block or cancel the associated action.

HookSystemType

The type of hook system a provider uses.
HookSystemType

HookHandlerType

The mechanism a provider uses to execute hook handlers.
HookHandlerType

HookMapping

Mapping of a single canonical event to a provider’s native representation.
PropertyTypeRequiredDescription
nativeNamestring | nullYesThe provider-native event name, or null if the event has no native equivalent.
supportedbooleanYesWhether this canonical event is supported by the provider.
notesstring | undefinedNoOptional notes about support limitations or behavioral differences.

ProviderHookProfile

Complete hook profile for a single provider.
PropertyTypeRequiredDescription
hookSystemHookSystemTypeYesThe type of hook system the provider uses ("config", "plugin", or "none").
hookConfigPathstring | nullYesFilesystem path template to the provider’s hook configuration file, or null.
hookFormatstring | nullYesThe configuration format used for hooks (e.g. "json", "yaml"), or null.
handlerTypesHookHandlerType[]YesThe handler execution mechanisms this provider supports.
experimentalbooleanYesWhether the provider’s hook system is considered experimental or unstable.
mappingsRecord<"ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted", HookMapping>YesMapping of every canonical event to this provider’s native representation.
providerOnlyEventsstring[]YesNative event names that exist only in this provider with no canonical equivalent.

NormalizedHookEvent

A fully resolved hook event with both canonical and native names.
PropertyTypeRequiredDescription
canonical"ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted"YesThe CAAMP canonical event name.
nativestringYesThe provider-native event name.
providerIdstringYesThe provider this event was resolved for.
category"agent" | "context" | "memory" | "pipeline" | "prompt" | "session" | "task" | "tool"YesThe lifecycle category of this event.
canBlockbooleanYesWhether a handler for this event can block the associated action.

HookSupportResult

Result of querying whether a provider supports a specific canonical event.
PropertyTypeRequiredDescription
canonical"ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted"YesThe canonical event that was queried.
supportedbooleanYesWhether the provider supports this event.
nativestring | nullYesThe provider-native event name, or null if unsupported.
notesstring | undefinedNoOptional notes about support caveats.

ProviderHookSummary

Aggregated hook support summary for a single provider.
PropertyTypeRequiredDescription
providerIdstringYesThe provider identifier.
hookSystemHookSystemTypeYesThe type of hook system the provider uses.
experimentalbooleanYesWhether the provider’s hook system is experimental.
supportedCountnumberYesNumber of canonical events this provider supports.
totalCanonicalnumberYesTotal number of canonical events in the taxonomy.
supported("ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted")[]YesList of canonical events this provider supports.
unsupported("ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted")[]YesList of canonical events this provider does not support.
providerOnlystring[]YesNative events unique to this provider with no canonical mapping.
coveragenumberYesPercentage of canonical events supported (0-100).

CrossProviderMatrix

Cross-provider hook support matrix comparing multiple providers.
PropertyTypeRequiredDescription
events("ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted")[]YesThe canonical events included in this matrix (rows).
providersstring[]YesThe provider IDs included in this matrix (columns).
matrixRecord<"ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted", Record<string, HookMapping>>YesNested record mapping each canonical event to each provider’s hook mapping.

HookMappingsFile

Schema for the providers/hook-mappings.json data file.
PropertyTypeRequiredDescription
versionstringYesSemver version string of the hook mappings schema.
lastUpdatedstringYesISO 8601 date string of the last update to mappings data.
descriptionstringYesHuman-readable description of the mappings file purpose.
canonicalEventsRecord<"ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted", CanonicalEventDefinition>YesDefinitions for every canonical event in the taxonomy.
providerMappingsRecord<string, ProviderHookProfile>YesHook profiles keyed by provider ID.

MarketplaceAdapter

Contract that each marketplace backend adapter must implement.
PropertyTypeRequiredDescription
namestringYesHuman-readable adapter name (e.g. "agentskills.in").
search(query: string, limit?: number) => Promise<MarketplaceResult[]>NoSearch the marketplace for skills matching a query.
getSkill(scopedName: string) => Promise<MarketplaceResult | null>YesRetrieve a single skill by its scoped name.

MarketplaceResult

Normalized marketplace record returned by all adapters.
PropertyTypeRequiredDescription
namestringYesShort skill name (e.g. "memory").
scopedNamestringYesScoped name including author prefix (e.g. "\@anthropic/memory").
descriptionstringYesShort description of what the skill does.
authorstringYesAuthor or organization name.
starsnumberYesGitHub star count.
githubUrlstringYesFull GitHub repository URL.
repoFullNamestringYesGitHub owner/repo path.
pathstringYesPath within the repository to the skill file.
sourcestringYesName of the marketplace source this result came from.

SearchOptions

Options for marketplace search requests.
PropertyTypeRequiredDescription
querystringYesFree-text search query.
limitnumber | undefinedNoMaximum number of results.
offsetnumber | undefinedNoPagination offset.
sortBy"stars" | "recent" | "name" | undefinedNoSort order for results.
categorystring | undefinedNoFilter by skill category.
authorstring | undefinedNoFilter by author name.

RecommendationErrorCode

Union type of all recommendation error code string literals.
RecommendationErrorCode

RecommendationValidationIssue

Describes a single validation issue found in recommendation criteria.
PropertyTypeRequiredDescription
codeRecommendationErrorCodeYesThe error code identifying the type of validation failure.
field"query" | "mustHave" | "prefer" | "exclude"YesThe criteria field that caused the validation issue.
messagestringYesA human-readable description of the validation issue.

RecommendationValidationResult

Result of validating recommendation criteria input.
PropertyTypeRequiredDescription
validbooleanYesWhether the criteria passed all validation checks.
issuesRecommendationValidationIssue[]YesList of validation issues found, empty when valid.

RecommendationCriteriaInput

Raw user-provided criteria for skill recommendations.
PropertyTypeRequiredDescription
querystring | undefinedNoFree-text search query to match against skill metadata.
mustHavestring | string[] | undefinedNoTerms that a skill must match to be considered relevant.
preferstring | string[] | undefinedNoTerms that boost a skill’s score when matched.
excludestring | string[] | undefinedNoTerms that penalize a skill’s score when matched.

NormalizedRecommendationCriteria

Normalized and tokenized form of recommendation criteria.
PropertyTypeRequiredDescription
querystringYesThe lowercased, trimmed query string.
queryTokensstring[]YesIndividual tokens extracted from the query string.
mustHavestring[]YesSorted, deduplicated list of required match terms.
preferstring[]YesSorted, deduplicated list of preferred match terms.
excludestring[]YesSorted, deduplicated list of exclusion terms.

RecommendationReasonCode

String literal union of all reason codes emitted during skill scoring.
RecommendationReasonCode

RecommendationReason

A single reason contributing to a skill’s recommendation score.
PropertyTypeRequiredDescription
codeRecommendationReasonCodeYesThe reason code identifying the scoring signal.
detailstring | undefinedNoOptional detail providing additional context, such as match count.

RecommendationScoreBreakdown

Detailed breakdown of a skill’s recommendation score by category.
PropertyTypeRequiredDescription
mustHavenumberYesScore contribution from must-have term matches.
prefernumberYesScore contribution from preferred term matches.
querynumberYesScore contribution from query token matches.
starsnumberYesScore contribution from repository star count signal.
metadatanumberYesScore contribution from metadata quality and source confidence.
modernitynumberYesScore contribution from modern vs legacy marker detection.
exclusionPenaltynumberYesPenalty applied for matching excluded terms.
totalnumberYesThe final aggregated recommendation score.

RankedSkillRecommendation

A single skill recommendation with its computed score and explanations.
PropertyTypeRequiredDescription
skillMarketplaceResultYesThe marketplace skill result being scored.
scorenumberYesThe computed recommendation score, higher is better.
reasonsRecommendationReason[]YesList of reasons explaining the score contributions.
tradeoffsstring[]YesHuman-readable tradeoff warnings for the skill.
excludedbooleanYesWhether the skill matched one or more exclusion terms.
breakdownRecommendationScoreBreakdown | undefinedNoOptional detailed score breakdown by category.

RecommendationOptions

Configuration options for the skill recommendation engine.
PropertyTypeRequiredDescription
topnumber | undefinedNoMaximum number of results to return from the ranked list.
includeDetailsboolean | undefinedNoWhether to include detailed score breakdown in each result.
weightsPartial<RecommendationWeights> | undefinedNoPartial weight overrides for individual scoring factors.
modernMarkersstring[] | undefinedNoCustom modern technology marker strings for modernity scoring.
legacyMarkersstring[] | undefinedNoCustom legacy technology marker strings for modernity scoring.

RecommendationWeights

Numeric weights controlling the recommendation scoring algorithm.
PropertyTypeRequiredDescription
mustHaveMatchnumberYesWeight applied per must-have term match.
preferMatchnumberYesWeight applied per preferred term match.
queryTokenMatchnumberYesWeight applied per query token match.
starsFactornumberYesMultiplier for the logarithmic star count signal.
metadataBoostnumberYesBoost for metadata quality and source confidence.
modernMarkerBoostnumberYesBoost applied per modern technology marker match.
legacyMarkerPenaltynumberYesPenalty applied per legacy technology marker match.
excludePenaltynumberYesPenalty applied per excluded term match.
missingMustHavePenaltynumberYesPenalty applied per missing must-have term.

RecommendSkillsResult

The complete result of a skill recommendation operation.
PropertyTypeRequiredDescription
criteriaNormalizedRecommendationCriteriaYesThe normalized criteria used for scoring.
rankingRankedSkillRecommendation[]YesSkills ranked by recommendation score, highest first.

SearchSkillsOptions

Options for searching skills via marketplace APIs.
PropertyTypeRequiredDescription
limitnumber | undefinedNoMaximum number of results to return.

RecommendSkillsQueryOptions

Options for the recommendation query combining ranking options with a result limit.
PropertyTypeRequiredDescription
limitnumber | undefinedNoMaximum number of results to return.

GitFetchResult

Result of fetching a Git repository to a local temporary directory.
PropertyTypeRequiredDescription
localPathstringYesAbsolute path to the fetched content on disk.
cleanup() => Promise<void>YesCleanup function that removes the temporary directory.

ValidationIssue

A single validation issue found during SKILL.md validation.
PropertyTypeRequiredDescription
level"error" | "warning"YesSeverity: "error" causes validation failure, "warning" does not.
fieldstringYesThe field or section that triggered the issue.
messagestringYesHuman-readable description of the issue.

ValidationResult

Result of validating a SKILL.md file against the Agent Skills standard.
PropertyTypeRequiredDescription
validbooleanYesWhether the skill passed validation (no error-level issues).
issuesValidationIssue[]YesAll issues found during validation.
metadataRecord<string, unknown> | nullYesParsed frontmatter metadata, or null if parsing failed.

SpawnOptions

Options for spawning a subagent.
PropertyTypeRequiredDescription
promptstringYesThe prompt or instruction to give the spawned agent.
modelstring | undefinedNoModel to use for the spawned agent.
toolsstring[] | undefinedNoTools to make available to the spawned agent.
timeoutnumber | undefinedNoTimeout in milliseconds for the spawned agent.
isolateboolean | undefinedNoWhether to isolate the spawned agent (e.g. in a worktree).

SpawnResult

Result from a spawn operation.
PropertyTypeRequiredDescription
instanceIdstringYesUnique identifier for the spawned agent instance.
status"running" | "completed" | "failed"YesCurrent status of the spawned agent.
outputstring | undefinedNoOutput produced by the spawned agent.

SpawnAdapter

Provider-neutral interface for spawning and managing subagents. Concrete implementations will be provider-specific (e.g. ClaudeCodeSpawnAdapter, CodexSpawnAdapter) and registered by CLEO’s orchestration layer.
PropertyTypeRequiredDescription
canSpawn(provider: Provider) => booleanYesCheck if a provider supports spawning via this adapter.
spawn(provider: Provider, options: SpawnOptions) => Promise<SpawnResult>YesSpawn a new subagent for the given provider.
listRunning(provider: Provider) => Promise<SpawnResult[]>YesList currently running subagent instances.
terminate(provider: Provider, instanceId: string) => Promise<void>YesTerminate a running subagent instance.

SkillIntegrityStatus

Status of a single skill’s integrity check.
SkillIntegrityStatus

SkillIntegrityResult

Result of checking a single skill’s integrity.
PropertyTypeRequiredDescription
namestringYesSkill name.
statusSkillIntegrityStatusYesOverall integrity status.
canonicalExistsbooleanYesWhether the canonical directory exists.
canonicalPathstring | nullYesExpected canonical path from lock file.
linkStatuses{ providerId: string; linkPath: string; exists: boolean; isSymlink: boolean; pointsToCanonical: boolean; }[]YesProvider link statuses — which agents have valid symlinks.
isCaampOwnedbooleanYesWhether this is a CAAMP-reserved (ct-*) skill.
issuestring | undefinedNoHuman-readable issue description, if any.

ResolvedImports

Result of resolving lines in content.
PropertyTypeRequiredDescription
resolvedContentstringYesContent with lines replaced by their resolved markdown.
importedFilesstring[]YesAbsolute paths of successfully resolved .cant files.
errorsstring[]YesError messages for failed resolutions.

WellKnownSkill

A skill entry discovered via the RFC 8615 well-known endpoint.
PropertyTypeRequiredDescription
namestringYesSkill name.
descriptionstringYesHuman-readable description of the skill.
urlstringYesURL where the skill content can be fetched.