neurocore.skills.base.SkillMeta

class neurocore.skills.base.SkillMeta

Declarative metadata for a Skill.

Frozen dataclass — immutable once created. Describes what a skill is, what it needs, and what it provides.

name

Unique skill identifier (e.g. “neuroweave”, “web-search”).

version

Semantic version string (e.g. “0.1.0”).

description

Human-readable description.

author

Author or maintainer name.

requires

pip package dependencies (e.g. [“anthropic>=0.42”]).

provides

Context keys this skill produces.

consumes

Context keys this skill reads.

config_schema

JSON Schema dict for validating skill config.

tags

Categorization tags (e.g. [“memory”, “graph”, “llm”]).

name: str
version: str
description: str = ''
author: str = ''
requires: list[str] = []
provides: list[str] = []
consumes: list[str] = []
config_schema: dict[str, Any]
tags: list[str] = []
requires_llm: bool = False
max_retries: int = 0
retry_delay_base: float = 1.0
retry_delay_max: float = 60.0
retry_on: tuple[type[BaseException], Ellipsis] = ()