SkillBase#
- class council.skills.SkillBase(name: str)[source]#
Bases:
SkillRunnerBase
Abstract base class for a skill.
- __init__(name: str) None [source]#
Initializes the Skill object with the provided name.
- Parameters:
name (str) – The name of the skill.
- Raises:
None –
- build_success_message(message: str, data: Any | None = None) ChatMessage [source]#
Builds a success message for the skill with the provided message and optional data.
- Parameters:
message (str) – The success message.
data (Any, optional) – Additional data to include in the message. Defaults to None.
- Returns:
The success message.
- Return type:
- Raises:
None –
- abstract execute(context: SkillContext) ChatMessage [source]#
Executes the skill on the provided chain context and budget.
- Parameters:
context (SkillContext) – The context for executing the skill.
- Returns:
The result of skill execution.
- Return type:
- Raises:
None –
- execute_skill(context: SkillContext) ChatMessage [source]#
Skill execution
- property name#
Property getter for the skill name.
- Returns:
The name of the skill.
- Return type:
str
- Raises:
None –
- render_as_dict(include_children: bool = True) Dict[str, Any] #
returns the graph of operation as a dictionary
- render_as_json() str #
returns the graph of operation as a JSON string
- run_in_current_thread(context: ChainContext, iteration_context: Option[IterationContext]) None #
Run the skill in the current thread
- run_skill(context: ChainContext, executor: ThreadPoolExecutor) None #
Run the skill in a different thread, and await for completion