skills() or hosted().skills. These are skill folders mounted into runs; evolve skills separately serves documentation. Examples use a configured client. Python examples run inside an async function.
upload
Store one skill folder or a root containing child skill folders.SkillUpload, one per discovered skill.
Parameters and behavior
Parameters and behavior
Identical content under the same name reuses a record. Different content creates a new immutable
upload:<id> reference and moves name:<skill-name> to that record. Existing jobs keep their locked content.list
Read one page or iterate all visible uploaded skills.SkillUploadPage when awaited; a SkillUpload per iteration.
Parameters and behavior
Parameters and behavior
Page fields are
items, nextCursor, hasMore in TypeScript; items, next_cursor, has_more in Python.get
Read uploaded metadata and itsSKILL.md content.
SkillUpload & { skill_md: string | null }; Python SkillUpload with skill_md populated.
Parameters and behavior
Parameters and behavior
Pass a record id or
name:<skill-name> as the required argument (id in TypeScript, skill_id in Python). A name reference resolves only your own current upload. Use a record id for an upload shared through your organization. An unknown name returns skill_name_not_found.delete
Delete an uploaded record you own.void / None).
Parameters and behavior
Parameters and behavior
Pass the record id, not a
name: reference. A non-terminal job using the record prevents deletion. Completed jobs retain their recorded skill locks.Skill fields
SkillUpload response
SkillUpload response
digest is sha256:<hex>. ref is the immutable upload:<id> handle used by job agent arms. description is extracted from SKILL.md.Python returns these fields as dataclass attributes and adds skill_md: Optional[str], defaulting to None for list/upload results. TypeScript adds skill_md only to the get result.Fields

