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:

ChatMessage

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:

ChatMessage

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