replay upload is the command that publishes a local transcript to Skillsync.
Command shape
replay upload [session-id-or-title]
The argument is optional:
- Omit it to open an interactive picker and choose a session to publish.
- Pass a session ID to publish that exact session.
- Pass the exact session title to publish by name.
If your title contains spaces, quote it in the shell:
replay upload "fix billing webhook retries"
Flags
| Flag | Effect |
|---|---|
-g, --global | Consider sessions across every project, not just the current directory. |
--workspace <SLUG> | Publish into a workspace by slug, overriding your saved default. |
--personal | Publish to your personal account, ignoring any saved default workspace. |
--auto | Non-interactive sync used by replay auto. Other flags are ignored when set. |
--workspace and --personal are mutually exclusive. To set a default target so you don't pass --workspace each time, use replay workspace use <slug>.
How Skillsync finds the session
When you run replay upload, the CLI scans the local transcript sources it knows about, then looks for a session whose ID exactly matches the argument or whose title exactly matches the argument.
If there is no exact match, the upload fails with Session '<value>' not found.
What Skillsync sends
Skillsync uploads the transcript plus the metadata it can recover locally:
- Session ID
- Agent identifier
- Session timestamp
- Transcript messages
- Project path when present
- Git branch when present
- Title when present
- CLI version when present
- Model metadata when present
First upload behavior
On a new upload, Skillsync creates a thread and returns a share URL.
New uploads are private by default. You can change visibility from the thread page after the upload completes.
Re-upload behavior
If the same session was already uploaded by the same account, Skillsync updates the existing thread instead of minting a second copy.
That means the URL stays stable as your local session evolves.
Authentication requirement
If you are not logged in, replay upload fails immediately.
Use:
replay login
You can confirm the current account with:
replay whoami
Practical workflow
The normal publishing loop looks like this:
replay login
replay upload <session-id-or-title>
Then copy the returned URL and share it.