Skip to main content
Glama

skein_accept

Idempotent

Accept an issue assigned to you — explicit acknowledgement that you've seen the issue, understood its scope and are taking it. Sets accepted_at = now() and accepted_by = caller. The issue's creator and watchers receive a notification. ANSWERS WITH AN ACKNOWLEDGEMENT by default — the id, the applied state and the new version, no issue card and no prose — so the expectedVersion cycle continues without a re-read; pass verbose for the full IssueDetail.

When an abort survives retries while expectedVersion still matches, serialization_retry means no acceptance was written; retry unchanged.

Use this when the issue lands in your inbox (assigned to you, accepted_at IS NULL). Without acceptance, the creator has no guarantee you've actually seen the issue — Skein's inbox model exists precisely to provide that signal.

Only the current assignee accepts — owner rights and the admin role do not. Idempotent: calling on an already-accepted issue is a silent no-op (no duplicate event, no version bump).

Optional expectedVersion enforces optimistic concurrency same as skein_update / skein_close.

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": {
      "id": "<id>"
    },
    "name": "skein_accept"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesHierarchical issue id, e.g. demo-42 or sk-14. A space invitation id from the inbox is refused with invitation_agent_forbidden: a person accepts invitations in the web UI.
verboseNoReturn the full IssueDetail, prose included. Default false = acknowledgement: `id`, `ok`, `version` plus the post-state stamps that apply (`status`, `assignee`, lock / claim / close stamps) — no issue card and no free text. The version is always there, so the expectedVersion cycle needs no extra read. Details: skein_get_instructions.
expectedVersionNoOptional optimistic version check. Mismatch returns version_conflict.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (readOnly=false, idempotent=true, destructive=false) by disclosing side effects — creator and watchers are notified, a new version is bumped, and re-calling on an accepted issue is a silent no-op with no duplicate event. It also documents the response shape in each mode, the version_conflict path, and the serialization_retry signal meaning no acceptance was written.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and its effect, then the response contract, then retry semantics, then when-to-use and constraints — a sensible order for an agent that reads the first line first. It is on the long side and the "Skein's inbox model exists precisely to provide that signal" sentence is motivational filler rather than operational detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so fully: default acknowledgement fields (id, ok, version, post-state stamps) versus verbose IssueDetail. Error and edge behavior — version_conflict, serialization_retry, idempotent no-op, invitation_agent_forbidden, non-assignee callers — is all covered, so an agent can call it correctly on the first try.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds real value by explaining why verbose exists (the acknowledgement mode keeps the expectedVersion cycle going without a re-read) and by tying expectedVersion to the same optimistic concurrency contract as skein_update and skein_close. The id parameter's refusal of invitation ids is repeated from the schema rather than extended.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ("Accept an issue assigned to you") and immediately frames it as an explicit acknowledgement with a concrete effect (sets accepted_at and accepted_by). It separates acceptance from claiming via "Only the current assignee accepts — owner rights and the admin role do not" and from closing/updating via the expectedVersion reference. It would reach 5 if it named the sibling an unassigned agent should use instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States a clear trigger condition: "Use this when the issue lands in your inbox (assigned to you, accepted_at IS NULL)," and gives an explicit exclusion — owner rights and admin role cannot accept. It also explains the consequence of skipping acceptance, which reinforces the when. No alternative tool is named for the not-assigned case, so it stops short of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.