skein_attachments
Files attached to an issue or to one of its comments. Uploading takes two calls — action="upload_url", then action="confirm" once the file has landed in storage; an unconfirmed attachment is invisible to list. Presigned URLs expire after 10 minutes. Read-only actions: list, metadata, get_url.
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": {
"action": "<action>"
},
"name": "skein_attachments"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | What to do: - "upload_url" → mint a presigned upload URL and create a pending attachment row. The size limit is per instance and is returned as `maxSizeBytes` (over it: attachment_too_large); executable files are refused by extension (attachment_mime_blocked). - "confirm" → mark an uploaded file ready (idempotent; re-emits no event on a second call). - "list" → list every confirmed attachment on an issue. - "metadata" → filename, contentType, sizeBytes, status and uploader of one attachment. - "get_url" → mint a presigned download URL for a ready attachment. - "delete" → hard-delete the row and remove the stored object. | |
| issueId | No | Full hierarchical issue id (e.g. "demo-42"). Required for upload_url and list. | |
| filename | No | Original filename, kept as Content-Disposition on download. Required for upload_url. | |
| commentId | No | Optional UUID of a comment under the issue. When set on upload_url, the attachment is scoped to that comment instead of the issue itself. | |
| sizeBytes | No | Exact file size in bytes. The presigned policy binds this value — uploads of a different size are rejected by S3. Required for upload_url. | |
| contentType | No | MIME type of the upload (e.g. "image/png"). Re-checked at confirm time. Required for upload_url. | |
| attachmentId | No | Attachment UUID, as returned by upload_url or list. Required for confirm, metadata, get_url and delete. |