PostHog · Capability

PostHog API — llm_skills

PostHog API — llm_skills. 11 operations. Lead operation: llm_skills. Self-contained Naftiko capability covering one Posthog business surface.

Run with Naftiko Posthogllm_skills

What You Can Do

GET
Llmskillslist — llmskillslist
/v1/api/environments/{project-id}/llm-skills
POST
Llmskillscreate — llmskillscreate
/v1/api/environments/{project-id}/llm-skills
GET
Llmskillsnameretrieve — llmskillsnameretrieve
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}
PATCH
Llmskillsnamepartialupdate — llmskillsnamepartialupdate
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}
POST
Llmskillsnamearchivecreate — llmskillsnamearchivecreate
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}/archive
POST
Llmskillsnameduplicatecreate — llmskillsnameduplicatecreate
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}/duplicate
POST
Llmskillsnamefilesrenamecreate — llmskillsnamefilesrenamecreate
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}/files-rename
POST
Llmskillsnamefilescreate — llmskillsnamefilescreate
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}/files
GET
Llmskillsnamefilesretrieve — llmskillsnamefilesretrieve
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}/files/{file-path}
DELETE
Llmskillsnamefilesdestroy — llmskillsnamefilesdestroy
/v1/api/environments/{project-id}/llm-skills/name/{skill-name}/files/{file-path}
GET
Llmskillsresolvenameretrieve — llmskillsresolvenameretrieve
/v1/api/environments/{project-id}/llm-skills/resolve/name/{skill-name}

MCP Tools

llmskillslist

llmskillslist

read-only idempotent
llmskillscreate

llmskillscreate

llmskillsnameretrieve

llmskillsnameretrieve

read-only idempotent
llmskillsnamepartialupdate

llmskillsnamepartialupdate

idempotent
llmskillsnamearchivecreate

llmskillsnamearchivecreate

llmskillsnameduplicatecreate

llmskillsnameduplicatecreate

llmskillsnamefilesrenamecreate

llmskillsnamefilesrenamecreate

llmskillsnamefilescreate

llmskillsnamefilescreate

llmskillsnamefilesretrieve

llmskillsnamefilesretrieve

read-only idempotent
llmskillsnamefilesdestroy

llmskillsnamefilesdestroy

idempotent
llmskillsresolvenameretrieve

llmskillsresolvenameretrieve

read-only idempotent

Capability Spec

posthog-llm-skills.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PostHog API — llm_skills
  description: 'PostHog API — llm_skills. 11 operations. Lead operation: llm_skills. Self-contained Naftiko capability covering
    one Posthog business surface.'
  tags:
  - Posthog
  - llm_skills
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    POSTHOG_API_KEY: POSTHOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: posthog-llm-skills
    baseUri: ''
    description: PostHog API — llm_skills business capability. Self-contained, no shared references.
    resources:
    - name: api-environments-project_id-llm_skills
      path: /api/environments/{project_id}/llm_skills/
      operations:
      - name: llmskillslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: created_by_id
          in: query
          type: integer
          description: Filter skills by the ID of the user who created them.
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
        - name: search
          in: query
          type: string
          description: Optional substring filter applied to skill names and descriptions.
      - name: llmskillscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-project_id-llm_skills-name-skill_name
      path: /api/environments/{project_id}/llm_skills/name/{skill_name}/
      operations:
      - name: llmskillsnameretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: skill_name
          in: path
          type: string
          required: true
        - name: version
          in: query
          type: integer
          description: Specific skill version to fetch. If omitted, the latest version is returned.
      - name: llmskillsnamepartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: skill_name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-environments-project_id-llm_skills-name-skill_name-archive
      path: /api/environments/{project_id}/llm_skills/name/{skill_name}/archive/
      operations:
      - name: llmskillsnamearchivecreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: skill_name
          in: path
          type: string
          required: true
    - name: api-environments-project_id-llm_skills-name-skill_name-duplicate
      path: /api/environments/{project_id}/llm_skills/name/{skill_name}/duplicate/
      operations:
      - name: llmskillsnameduplicatecreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: skill_name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-project_id-llm_skills-name-skill_name-files-rename
      path: /api/environments/{project_id}/llm_skills/name/{skill_name}/files-rename/
      operations:
      - name: llmskillsnamefilesrenamecreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: skill_name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-project_id-llm_skills-name-skill_name-files
      path: /api/environments/{project_id}/llm_skills/name/{skill_name}/files/
      operations:
      - name: llmskillsnamefilescreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: skill_name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-project_id-llm_skills-name-skill_name-files-file_path
      path: /api/environments/{project_id}/llm_skills/name/{skill_name}/files/{file_path}/
      operations:
      - name: llmskillsnamefilesretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file_path
          in: path
          type: string
          required: true
        - name: skill_name
          in: path
          type: string
          required: true
        - name: version
          in: query
          type: integer
          description: Specific skill version to fetch. If omitted, the latest version is returned.
      - name: llmskillsnamefilesdestroy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: base_version
          in: query
          type: integer
          description: Latest version you are editing from. If provided, the request fails with 409 when another write has
            landed in the meantime.
        - name: file_path
          in: path
          type: string
          required: true
        - name: skill_name
          in: path
          type: string
          required: true
    - name: api-environments-project_id-llm_skills-resolve-name-skill_name
      path: /api/environments/{project_id}/llm_skills/resolve/name/{skill_name}/
      operations:
      - name: llmskillsresolvenameretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: before_version
          in: query
          type: integer
          description: Return versions older than this version number. Mutually exclusive with offset.
        - name: limit
          in: query
          type: integer
          description: Maximum number of versions to return per page (1-100).
        - name: offset
          in: query
          type: integer
          description: Zero-based offset into version history for pagination. Mutually exclusive with before_version.
        - name: skill_name
          in: path
          type: string
          required: true
        - name: version
          in: query
          type: integer
          description: Specific skill version to fetch. If omitted, the latest version is returned.
        - name: version_id
          in: query
          type: string
          description: Exact skill version UUID to resolve.
    authentication:
      type: bearer
      token: '{{env.POSTHOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: posthog-llm-skills-rest
    port: 8080
    description: REST adapter for PostHog API — llm_skills. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/environments/{project-id}/llm-skills
      name: api-environments-project-id-llm-skills
      description: REST surface for api-environments-project_id-llm_skills.
      operations:
      - method: GET
        name: llmskillslist
        description: llmskillslist
        call: posthog-llm-skills.llmskillslist
        with:
          created_by_id: rest.created_by_id
          limit: rest.limit
          offset: rest.offset
          search: rest.search
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: llmskillscreate
        description: llmskillscreate
        call: posthog-llm-skills.llmskillscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/llm-skills/name/{skill-name}
      name: api-environments-project-id-llm-skills-name-skill-name
      description: REST surface for api-environments-project_id-llm_skills-name-skill_name.
      operations:
      - method: GET
        name: llmskillsnameretrieve
        description: llmskillsnameretrieve
        call: posthog-llm-skills.llmskillsnameretrieve
        with:
          skill_name: rest.skill_name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: llmskillsnamepartialupdate
        description: llmskillsnamepartialupdate
        call: posthog-llm-skills.llmskillsnamepartialupdate
        with:
          skill_name: rest.skill_name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/llm-skills/name/{skill-name}/archive
      name: api-environments-project-id-llm-skills-name-skill-name-archive
      description: REST surface for api-environments-project_id-llm_skills-name-skill_name-archive.
      operations:
      - method: POST
        name: llmskillsnamearchivecreate
        description: llmskillsnamearchivecreate
        call: posthog-llm-skills.llmskillsnamearchivecreate
        with:
          skill_name: rest.skill_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/llm-skills/name/{skill-name}/duplicate
      name: api-environments-project-id-llm-skills-name-skill-name-duplicate
      description: REST surface for api-environments-project_id-llm_skills-name-skill_name-duplicate.
      operations:
      - method: POST
        name: llmskillsnameduplicatecreate
        description: llmskillsnameduplicatecreate
        call: posthog-llm-skills.llmskillsnameduplicatecreate
        with:
          skill_name: rest.skill_name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/llm-skills/name/{skill-name}/files-rename
      name: api-environments-project-id-llm-skills-name-skill-name-files-rename
      description: REST surface for api-environments-project_id-llm_skills-name-skill_name-files-rename.
      operations:
      - method: POST
        name: llmskillsnamefilesrenamecreate
        description: llmskillsnamefilesrenamecreate
        call: posthog-llm-skills.llmskillsnamefilesrenamecreate
        with:
          skill_name: rest.skill_name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/llm-skills/name/{skill-name}/files
      name: api-environments-project-id-llm-skills-name-skill-name-files
      description: REST surface for api-environments-project_id-llm_skills-name-skill_name-files.
      operations:
      - method: POST
        name: llmskillsnamefilescreate
        description: llmskillsnamefilescreate
        call: posthog-llm-skills.llmskillsnamefilescreate
        with:
          skill_name: rest.skill_name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/llm-skills/name/{skill-name}/files/{file-path}
      name: api-environments-project-id-llm-skills-name-skill-name-files-file-path
      description: REST surface for api-environments-project_id-llm_skills-name-skill_name-files-file_path.
      operations:
      - method: GET
        name: llmskillsnamefilesretrieve
        description: llmskillsnamefilesretrieve
        call: posthog-llm-skills.llmskillsnamefilesretrieve
        with:
          file_path: rest.file_path
          skill_name: rest.skill_name
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: llmskillsnamefilesdestroy
        description: llmskillsnamefilesdestroy
        call: posthog-llm-skills.llmskillsnamefilesdestroy
        with:
          base_version: rest.base_version
          file_path: rest.file_path
          skill_name: rest.skill_name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/llm-skills/resolve/name/{skill-name}
      name: api-environments-project-id-llm-skills-resolve-name-skill-name
      description: REST surface for api-environments-project_id-llm_skills-resolve-name-skill_name.
      operations:
      - method: GET
        name: llmskillsresolvenameretrieve
        description: llmskillsresolvenameretrieve
        call: posthog-llm-skills.llmskillsresolvenameretrieve
        with:
          before_version: rest.before_version
          limit: rest.limit
          offset: rest.offset
          skill_name: rest.skill_name
          version: rest.version
          version_id: rest.version_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: posthog-llm-skills-mcp
    port: 9090
    transport: http
    description: MCP adapter for PostHog API — llm_skills. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: llmskillslist
      description: llmskillslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-llm-skills.llmskillslist
      with:
        created_by_id: tools.created_by_id
        limit: tools.limit
        offset: tools.offset
        search: tools.search
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillscreate
      description: llmskillscreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-llm-skills.llmskillscreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnameretrieve
      description: llmskillsnameretrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-llm-skills.llmskillsnameretrieve
      with:
        skill_name: tools.skill_name
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnamepartialupdate
      description: llmskillsnamepartialupdate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: posthog-llm-skills.llmskillsnamepartialupdate
      with:
        skill_name: tools.skill_name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnamearchivecreate
      description: llmskillsnamearchivecreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-llm-skills.llmskillsnamearchivecreate
      with:
        skill_name: tools.skill_name
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnameduplicatecreate
      description: llmskillsnameduplicatecreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-llm-skills.llmskillsnameduplicatecreate
      with:
        skill_name: tools.skill_name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnamefilesrenamecreate
      description: llmskillsnamefilesrenamecreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-llm-skills.llmskillsnamefilesrenamecreate
      with:
        skill_name: tools.skill_name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnamefilescreate
      description: llmskillsnamefilescreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-llm-skills.llmskillsnamefilescreate
      with:
        skill_name: tools.skill_name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnamefilesretrieve
      description: llmskillsnamefilesretrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-llm-skills.llmskillsnamefilesretrieve
      with:
        file_path: tools.file_path
        skill_name: tools.skill_name
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsnamefilesdestroy
      description: llmskillsnamefilesdestroy
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: posthog-llm-skills.llmskillsnamefilesdestroy
      with:
        base_version: tools.base_version
        file_path: tools.file_path
        skill_name: tools.skill_name
      outputParameters:
      - type: object
        mapping: $.
    - name: llmskillsresolvenameretrieve
      description: llmskillsresolvenameretrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-llm-skills.llmskillsresolvenameretrieve
      with:
        before_version: tools.before_version
        limit: tools.limit
        offset: tools.offset
        skill_name: tools.skill_name
        version: tools.version
        version_id: tools.version_id
      outputParameters:
      - type: object
        mapping: $.