llm_skills

patch/api/projects/{project_id}/llm_skills/name/{skill_name}/

Request

  • Base URL: https://us.posthog.com
  • URL: https://us.posthog.com/api/projects/{project_id}/llm_skills/name/{skill_name}/
  • Auth: HTTP bearer

Path parameters

project_idstring required

Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

skill_namestring required

Request body

bodystring

Full skill body (SKILL.md instruction content) to publish as a new version. Mutually exclusive with edits.

descriptionstring

Updated description for the new version.

licensestring

License name or reference.

compatibilitystring

Environment requirements.

allowed_toolsstring[]

Tools the skill asks to use. Tool names cannot contain whitespace. A harness that reads the skill from a file (zip export, git marketplace, a content=full bundle) treats the list as pre-approved. A harness that loads the skill over MCP, including the default content=stub bundle, ignores the list until the user approves that grant.

metadataobject

Arbitrary key-value metadata.

ownersstring[]

Replace the skill's owners with these user UUIDs (each a member of this project). Omit to leave owners unchanged; pass an empty list to clear them. Owners are keyed on the logical skill, so setting them is independent of the version being published — a body edit alone never changes ownership.

base_versioninteger

Latest version you are editing from. Used for optimistic concurrency checks. Required when publishing content changes; optional for an owner-only update (when omitted, owners are replaced without a concurrency check).

version_descriptionstring

Optional note describing what changed in this version. Shown in the version history.

Response

idstring uuid required
namestring required

Unique skill name. Lowercase letters, numbers, and hyphens only. Max 64 characters.

descriptionstring required

What this skill does and when to use it.

body_total_lengthinteger required

Total length of the full body in characters, independent of any body_offset/body_length paging. Compare against the length of the returned body to detect a truncated response.

body_next_offsetinteger nullable required

When body_length paging stops before the end of the body, the character offset to request next (pass as body_offset). Null when the returned body reaches the end.

bodystring required

The SKILL.md instruction content (markdown).

licensestring

License name or reference to a bundled license file.

compatibilitystring

Environment requirements (intended product, system packages, network access, etc.).

allowed_toolsstring[]

Tools the skill asks to use. Tool names cannot contain whitespace. A harness that reads the skill from a file (zip export, git marketplace, a content=full bundle) treats the list as pre-approved. A harness that loads the skill over MCP, including the default content=stub bundle, ignores the list until the user approves that grant.

metadataobject

Arbitrary key-value metadata.

categorystring required

Server-owned classification — set by the producing system (the Signals harness stamps "scout"), not writable via the API. Empty for an ordinary skill. Groups skills into their own surface (e.g. the Scouts tab) independently of the skill name.

versioninteger required
version_descriptionstring nullable required

Optional note describing what changed in this version. Set when the version is published.

created_atstring date-time required
updated_atstring date-time required
deletedboolean required
is_latestboolean required
latest_versioninteger required
version_countinteger required
first_version_created_atstring required

Changes

No recorded changes to this operation across all 1 revision of this API.