create_skill()

Create a skill definition programmatically.

Usage

Source

create_skill(
    name,
    *,
    display_name=None,
    category="custom",
    description="",
    instructions="",
    constraints=None,
    tools=None,
    tags=None,
    metadata=None
)

Parameters

name: str

Machine-readable identifier (e.g., "summarizer").

display_name: str | None = None

Human-readable name. Defaults to name with underscores replaced by spaces and title-cased.

category: str = "custom"

Grouping category. Defaults to "custom".

description: str = ""

One-line description of what this skill enables.

instructions: str = ""

Detailed instructions for the agent when this skill is active.

constraints: list[str] | None = None

Constraints the agent must follow.

tools: list[str] | None = None

Tool names the skill requires.

tags: list[str] | None = None

Free-form tags for filtering and discovery.

metadata: dict[str, Any] | None = None
Arbitrary metadata.

Returns

SkillDefinition
The new skill definition.

Examples

import talk_box as tb

skill = tb.create_skill(
    "summarizer",
    description="Summarize text into key points",
    instructions="Read the provided text and produce a concise summary. "
                 "Use bullet points for key takeaways.",
    constraints=["Keep summaries under 200 words"],
    tags=["writing", "productivity"],
)