Skip to main content

Creating Skills

from a1 import Skill

skill = Skill(
    name="web_research",
    description="Research methodology",
    content="""
    1. Search broadly
    2. Extract key information
    3. Cross-reference sources
    """,
    modules=["requests"]
)

Using Skills

agent = Agent(
    name="researcher",
    description="Researches topics",
    skills=[skill],
    tools=[search_tool, LLM("gpt-4.1")]
)

SkillSets

Group related skills:
from a1 import SkillSet, Skill

research_skills = SkillSet(
    name="research",
    description="All research-related skills",
    skills=[
        web_research_skill,
        academic_research_skill,
        data_analysis_skill,
    ]
)

Using Skills with Agents

from a1 import Agent, Skill, LLM

researcher_skill = Skill(
    name="researcher",
    description="Research methodology",
    content="...",
    modules=[]
)

agent = Agent(
    name="research_agent",
    skills=[researcher_skill],
    tools=[LLM(model="gpt-4.1")],
)

Best Practices

Document Clearly

Good skills have clear, actionable content:
skill = Skill(
    name="summarization",
    description="How to write good summaries",
    content="""
    Key points for effective summaries:
    - Identify main ideas (typically 3-5)
    - Use bullet points
    - Include specific numbers/facts
    - Preserve original meaning
    - Keep to 1/3 original length
    """,
    modules=[]
)

Organize Hierarchically

Use SkillSets to organize complex skill collections:
writing_skills = SkillSet(
    name="writing",
    skills=[
        Skill(name="storytelling", description="..."),
        Skill(name="technical_writing", description="..."),
        Skill(name="summarization", description="..."),
    ]
)

Include Required Modules

Specify Python modules the skill needs:
data_skill = Skill(
    name="data_analysis",
    description="...",
    content="...",
    modules=["pandas", "numpy", "scipy"]
)

Next Steps