neurocore.skills.registry.SkillRegistry¶
- class neurocore.skills.registry.SkillRegistry¶
Registry of discovered skill classes.
Skills are keyed by their skill_meta.name. The registry enforces uniqueness — registering a second skill with the same name raises SkillError unless replace=True is passed (used for entry point precedence over directory scan).
- _skills¶
Mapping from skill name to skill class.
- register(skill_class: type[neurocore.skills.base.Skill], *, replace: bool = False) None¶
Register a skill class.
- Parameters:
skill_class – A Skill subclass with a valid skill_meta.
replace – If True, overwrites existing registration (used for entry point precedence).
- Raises:
SkillError – If skill_class is not a valid Skill subclass, or if a skill with the same name is already registered and replace is False.
- get(name: str) type[neurocore.skills.base.Skill] | None¶
Get a registered skill class by name.
- Parameters:
name – The skill’s registered name (from skill_meta.name).
- Returns:
The Skill subclass, or None if not found.
- get_or_raise(name: str) type[neurocore.skills.base.Skill]¶
Get a registered skill class by name, or raise.
- Parameters:
name – The skill’s registered name.
- Returns:
The Skill subclass.
- Raises:
SkillError – If no skill is registered with this name.
- list_skills() list[str]¶
List all registered skill names, sorted alphabetically.
- Returns:
Sorted list of skill names.
- list_skill_metas() list[neurocore.skills.base.SkillMeta]¶
List metadata for all registered skills.
- Returns:
List of SkillMeta instances, sorted by name.
- create(name: str, *, instance_name: str | None = None) neurocore.skills.base.Skill¶
Create an instance of a registered skill.
- Parameters:
name – The skill’s registered name.
instance_name – Optional name for the instance (defaults to skill_meta.name).
- Returns:
A new Skill instance.
- Raises:
SkillError – If no skill is registered with this name.