Anthropic::BetaSkills
Skills API for managing skills (Beta)
Access via client.beta.skills.
# List skills
skills = client.beta.skills.list
skills.data.each { |s| puts s.id }
# Retrieve a skill
skill = client.beta.skills.retrieve("skill_abc123")
# Delete a skill
client.beta.skills.delete("skill_abc123")
Constants
BETA_HEADER = SKILLS_BETA
Constructors
new(client : Client)
SourceInstance methods
create(files : Array(FileUpload), display_name : String | Nil = nil, betas : Array(String) = [] of String, workspace_id : String | Nil = nil) : SkillResponse
Create a skill by uploading files
Using FileUpload struct:
skill = client.beta.skills.create(
files: [
Anthropic::FileUpload.new(
io: File.open("tool.py"),
filename: "tool.py",
content_type: "text/x-python"
),
],
display_name: "My Skill"
)
Using convenience method (auto-detects content type):
skill = client.beta.skills.create(
files: [
Anthropic::FileUpload.from_path(
"src/tool.py",
filename: "my-skill/tool.py"
),
],
display_name: "My Skill"
)
delete(skill_id : String, betas : Array(String) = [] of String, workspace_id : String | Nil = nil) : SkillDeleteResponse
Delete a skill
list(limit : Int32 = 20, page : String | Nil = nil, source : String | Nil = nil, betas : Array(String) = [] of String, workspace_id : String | Nil = nil) : SkillListResponse
List skills
skills = client.beta.skills.list(limit: 10)
skills.data.each { |s| puts s.display_name }