skein_comment_update
Edit the body of a comment you authored. AUTHOR-ONLY — only the user who posted the comment may edit it (a different user, even a project owner, gets forbidden). expectedVersion is the optimistic-concurrency token: pass the version you last read on the comment; if it was edited by another writer in between you get version_conflict with the live currentVersion so you can re-read and retry. A write that instead lost a database serialization race (nothing written, no version moved) returns serialization_retry — retry the call verbatim, do not re-read first. Editing a deleted comment fails with a validation error. Authorship is never rewritten — the edit is recorded only in the comment.edited event actor. @mentions newly introduced by the edit fire the usual mention notification + auto-watch; mentions removed by the edit are left alone.
kind mirrors skein_comment (REQUIRED for agent callers): "directed" = the human told you to make this edit; "autonomous" = your own initiative. It does not change the comment's authorKind — it only classifies the mention fan-out for newly-introduced @mentions.
The response is the edited comment MINUS body, plus bodyOmitted:true — one key omitted, everything else returned untouched (same contract as skein_comment). You just supplied the text, and an echoed copy would stay in your context for the rest of the session. The post-edit version comes back, so a further edit chains straight off it. Read the body back with skein_comment_get or skein_show.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"commentId": "<commentId>",
"body": "<body>",
"expectedVersion": "<expectedVersion>"
},
"name": "skein_comment_update"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Replacement comment body (markdown). Non-empty after trim, <=100k chars. | |
| kind | No | Edit origin classification (REQUIRED for agent callers): "directed" = the human user told you to make this edit; "autonomous" = your own initiative. Cookie-session callers ignore this. Does not change the comment's authorKind. | |
| commentId | Yes | UUID of the comment to edit. | |
| expectedVersion | Yes | The comment version you expect (optimistic concurrency). Mismatch returns version_conflict with the live currentVersion. |