Skills are structured documentation “packs” injected into prompts to improve answer quality in specific domains (Spec2, Roassal, Collections, Bloc, etc.).
A skill is a subclass of ChatPharoSkill with:
name (unique ID)descriptionkeywords (for matching)contextString (the injected documentation)Skills are discovered by scanning subclasses and are managed by ChatPharoSkillRegistry.
Manually enabled skills are always injected as:
### ENABLED SKILLS CONTEXT ###
<skill context...>
If enabled, ChatPharo extracts keywords from the current query and injects matching skills that are marked as auto-enabled:
### AUTO-DETECTED SKILLS CONTEXT ###
(Based on detected keywords: ...)
<skill context...>
When skillToolsEnabled is enabled, the model can call tools such as:
list_available_skillsget_skill_contextThis lets the model request specialized docs on demand.
ChatPharoSkill.name, description, keywords, and contextString.