---
title: "POST /experimental/context/skills"
method: POST
path: "/experimental/context/skills"
tags: ["Context"]
---

# POST /experimental/context/skills

`POST /experimental/context/skills`

Registers a standalone skill from a public GitHub, GitLab, or Bitbucket URL and returns its context lineage. Duplicate requests return the existing lineage with `outcome: already_exists`.

## Request body

- object
  - `sourceUrl` string, uri, required
  - `path` string, required

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, uuid, required
    - `type` 'context-lineage', required
    - `attributes` object, required
      - `kind` string, required
      - `slug` string, required
      - `name` string, nullable, required
      - `visibility` union, required
        - 'public'
        - 'private'
      - `coordinates` object, required
        - `provider` string, required
        - `sourceUrl` string, uri, required
        - `owner` string, nullable, required
        - `repo` string, nullable, required
        - `registry` object, nullable, required
          - `workspaceName` string, required
          - `tileName` string, required
        - `path` string, required
        - `ref` string, required
        - `occurrenceType` string, required
      - `head` object, nullable, required
        - `versionId` string, uuid, required
        - `fingerprintAlgo` string, required
        - `fingerprint` string, required
        - `bodyFingerprint` string, nullable, required
        - `bodyFingerprintAlgo` string, nullable, required
        - `name` string, nullable, required
        - `description` string, nullable, required
        - `parseError` object, nullable, required
          - `stage` string, required
          - `message` string, required
      - `canonical` object, nullable, required
        - `lineageId` string, uuid, required
        - `electedAt` string, date-time, required
        - `electionReason` string, required
      - `liveness` object, required
        - `liveOccurrenceCount` integer, required
        - `firstSeenAt` string, date-time, nullable, required
        - `lastSeenAt` string, date-time, nullable, required
        - `earliestKnownAt` string, date-time, nullable, required
        - `gone` boolean, required
        - `goneAt` string, date-time, nullable, required
        - `lastSeenPath` string, nullable, required
        - `lastSeenRef` string, nullable, required
      - `review` object, nullable, required
        - `reviewRunId` string, uuid, nullable, required
        - `versionId` string, uuid, nullable, required
        - `score` number, nullable, required
        - `validationPassed` boolean, nullable, required
        - `createdAt` string, date-time, required
      - `scores` object, required
        - `version` string, required
        - `aggregate` number, nullable, required
        - `quality` number, nullable, required
        - `impact` number, nullable, required
        - `security` union, required — Deprecated legacy Snyk overall grade. Use `securityLevel` instead.
          - 'LOW'
          - 'MEDIUM'
          - 'HIGH'
          - 'CRITICAL'
        - `securityLevel` union, required
          - 'NONE'
          - 'LOW'
          - 'MEDIUM'
          - 'HIGH'
          - 'CRITICAL'
        - `evalAvg` number, nullable, required
        - `evalBaseline` number, nullable, required
        - `evalImprovement` number, nullable, required
        - `evalImprovementMultiplier` number, nullable, required
        - `evalCount` integer, nullable, required
        - `validationErrors` string[], required
        - `lastScoredAt` string, date-time, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `outcome` union, required
      - 'registered'
      - 'already_exists'

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `409` — Conflict
- `500` — Internal Server Error

---

[API](https://skmtc.net/tessl/apis/tessl-api.md) · [All operations](https://skmtc.net/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tessl/tessl-api/versions/fbb186825642/schema)
