Skip to contents

Upload a skill directory to Anthropic's API for persistent storage.

Usage

claude_skill_upload(skill_path)

Arguments

skill_path

Character. Path to skill directory (must contain SKILL.md).

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

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)
)
} # }