> ## Documentation Index
> Fetch the complete documentation index at: https://docs.selftune.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Assign a Skill Set to a teammate

> Assign an exact release to one linked computer, review it locally, and understand installation status

A Team owner or admin can assign a published Skill Set release to a teammate's
linked computer. An assignment makes the release available in SelfTune Desktop;
it does not install anything by itself.

<Note>
  A Skill Set is a named collection of exact instructions for supported AI
  tools. Teammates do not need to understand package formats or revision hashes
  to review and install one.
</Note>

## Before you assign

The recipient must be a member of the Team workspace and must have linked
SelfTune Desktop. Publish the exact release first, then open that release in
Cloud and choose one person and one linked computer.

Every assignment currently uses **Ask before updating**. SelfTune records the
desired release but leaves the recipient in control of the local change.

## What the recipient sees

The assignment appears in the recipient's local Projects workspace. They choose
**Review install** to see:

* the Skill Set name, purpose, publisher, and release number;
* the skills and supported AI tools included in the release;
* planned local changes and checks; and
* any blocking conflict that must be resolved first.

Nothing changes until the recipient chooses **Install**. SelfTune verifies that
the downloaded package still matches the assignment and the reviewed hashes,
then uses the local installer and keeps the rollback receipt on that computer.

## Understand Team status

Cloud shows the desired release and one of four privacy-safe states:

* **Unknown** — the linked computer has not reported an installation receipt;
* **Current** — the assigned release was installed successfully;
* **Failed** — the reviewed installation did not complete;
* **Rolled back** — the recipient used the local receipt to restore the previous
  state.

Unknown never counts as success. Cloud receives bounded status, counts, target
AI tools, and opaque identifiers. It does not receive local paths, prompts,
conversations, sessions, raw evaluation output, or the rollback contents.

## Signed assignment webhooks

Workspace owners and admins on Team plans can add an HTTPS endpoint from the
Cloud team dashboard. Choose either or both bounded events:
`assignment.created` and `assignment.status_changed`. SelfTune does not send an
event for a computer that has not reported a receipt, so Unknown is never
presented as success.

The signing secret is displayed once. Store it in your receiver's secret
manager. SelfTune stores only its SHA-256 digest and uses that digest as the
HMAC-SHA256 key. Verify `x-selftune-signature` over
`<x-selftune-timestamp>.<raw request body>`, reject timestamps outside your
replay window, and deduplicate `x-selftune-delivery`. Retries keep the same
delivery ID and JSON payload.

The bounded body contains hosted workspace, assignment, release, member, and
device identifiers plus the reported status and optional failure code. It does
not contain skill contents, local paths, prompts, sessions, evaluations, or
improvement traces. SelfTune keeps bounded delivery status and retries network
or non-2xx failures with backoff. Disabling an endpoint stops new delivery and
prevents queued work from being sent. Local verification does not prove
delivery to your production receiver.

## Undo an install

After a successful install, the recipient can choose **Undo install**. SelfTune
asks for confirmation and restores the exact previous local state through the
receipt-owned rollback path. Cloud then records **Rolled back** without uploading
the local rollback data.

Assigning a later release creates a new immutable desired state. It does not
edit the earlier release or silently update the recipient's computer.
