roboto.domain.skills.record#
Module Contents#
- roboto.domain.skills.record.MAX_SKILL_DESCRIPTION_LENGTH = 500#
- class roboto.domain.skills.record.SkillAccessibility#
Bases:
roboto.compat.StrEnumControls who can see and edit a skill.
- Org = 'org'#
All members of the owning org can see and invoke the skill. Only the author can edit.
- OrgEditable = 'org-editable'#
All members of the owning org can see and invoke the skill, and any member who has subscribed to it can also edit its versions, name, and tags. Changing the skill’s accessibility and deleting the whole skill remain author-only.
- Private = 'private'#
Only the author (
created_by) can see, edit, or invoke the skill.
- class roboto.domain.skills.record.SkillRecord(/, **data)#
Bases:
pydantic.BaseModelTop-level skill identity, ownership, and visibility.
A skill on its own carries no procedure content — see
SkillVersionRecord.- Parameters:
data (Any)
- accessibility: SkillAccessibility#
- created: datetime.datetime#
- created_by: str#
- modified: datetime.datetime#
Last edit timestamp. Skill mutations are author-only, so the editor is always
created_by— no separatemodified_byfield is stored.
- name: str#
- org_id: str#
- skill_id: str#
- tags: list[str] = None#
Free-form labels for categorization (e.g.
"qa-review","experiments"). Skill-level metadata, not version-scoped — they describe what the skill is for, not how a specific version implements it. Edited via the changeset fields onUpdateSkillMetadataRequest(put_tags/remove_tags).
- class roboto.domain.skills.record.SkillSubscriptionRecord(/, **data)#
Bases:
pydantic.BaseModelPer-user state for a single skill.
Created when a user subscribes to a skill (or authors one — authors are auto-subscribed at create time). Carries the user’s choice of which version, if any, should be exposed to the AI auto-invoke registry.
ai_version=Nonemeans the user is subscribed but has not enabled the skill for AI auto-invoke; manual chip-invocation still works.- Parameters:
data (Any)
- ai_version: int | None = None#
If set, the AI’s
LoadSkillToolregistry surfaces this exact version of the skill to this user. IfNone, the skill is hidden from AI auto-invocation for this user. Manual invocation works regardless.
- skill_id: str#
- subscribed: datetime.datetime#
When the subscription was created.
- user_id: str#
- class roboto.domain.skills.record.SkillSummary(/, **data)#
Bases:
pydantic.BaseModelCompact projection of a skill plus its latest version (if any).
Also includes the caller’s personal subscription state for the skill, when one exists.
subscription=Nonemeans the caller has neither authored nor subscribed to the skill.- Parameters:
data (Any)
- latest_version: SkillVersionRecord | None = None#
The MAX(version) row for this skill. Always populated for summaries returned from the public API:
Skill.create()makes the skill row and v1 atomically, and deleting the last version cascades to delete the parent skill in the same transaction. TheOptionalis defense-in- depth for repo-direct callers (test fixtures, manual SQL) and should not be treated as a real branch by SDK consumers.
- skill: SkillRecord#
- subscription: SkillSubscriptionRecord | None = None#
The caller’s subscription row for this skill, if any. Populated by the server based on the caller’s identity; not used in INSERT or UPDATE payloads.
- class roboto.domain.skills.record.SkillVersionRecord(/, **data)#
Bases:
pydantic.BaseModelA single, mutable version of a skill’s content.
- Parameters:
data (Any)
- body: str#
The procedure text the model executes when the skill is invoked.
- created: datetime.datetime#
- description: str = None#
Short ``when to use’’ text. Surfaces verbatim in the LoadSkillTool description.
- modified: datetime.datetime#
- skill_id: str#
- version: int#