Upload a skill directory to Anthropic's API for persistent storage.
Value
A list with skill_id for use with claude_skill().
Details
Uploads a skill to /v1/skills endpoint. The returned skill_id can be
used with claude_skill() to reference the skill in future sessions.
API Reference: https://platform.claude.com/docs/en/build-with-claude/skills-guide
See also
claude_skill(), claude_skill_local(), claude_skill_list()
Other claude-skills:
claude_skill(),
claude_skill_list(),
claude_skill_local()
Examples
if (FALSE) { # \dontrun{
# Create and upload skill
skill_dir <- tempfile("skill_")
fs::dir_create(skill_dir)
writeLines(c(
"---",
"name: my_skill",
"description: Custom skill",
"---",
"",
"Skill instructions..."
), fs::path(skill_dir, "SKILL.md"))
result <- claude_skill_upload(skill_dir)
result$skill_id
# Use uploaded skill
chat <- claude_new(
skills = list(claude_skill(result$skill_id)),
tools = list(claude_code_exec()),
beta = c(beta_headers$BETA_SKILLS, beta_headers$BETA_CODE_EXEC_BASH)
)
} # }
