Skip to main content
Glama

skein_prime

Read-onlyIdempotent

Session priming: returns caller identity (user + agent), the caller's in-progress issues, top ready (unblocked) issues assigned to or available for the caller, currently blocked issues, and recent activity events the caller is involved in. Call this ONCE at the start of a working session before any other Skein tool — the response is the agent's orientation snapshot. By default the three issue lists carry the LEAN row described below and never the issue card, and the scan spans every project you can see; optional project narrows every section to one.

What the rows are, because this tool loads on every session and it is worth knowing before you build on it: all three issue lists carry the same LEAN row skein_list returns, here in cross-project form — id, title, status, type, priority, assignee, labels, isBlocked, parentIdCurrent, version, updatedAt, childrenCount, unclosedChildrenCount, projectId — and never the issue card. Keys outside that named set are absent on all three lists, componentIds among them. There is no fields here and no verbose mode: read one issue whole with skein_show, or take the wider row from skein_list, whose fields can name the columns this tool never carries.

One documented exception on top of that, and it is an ABSENCE rather than an empty value: rows in readyForMe carry NO labels key at all. That list comes from the readiness query, which does not load labels (the join would make it N+1). Returning an empty array would assert the issue HAS no labels — a different and usually false statement — so the key is absent instead, and «not supplied here» stays distinguishable from «none». Read labels with skein_show on the issue, or with skein_list, which does load them. Everything else on that row is present, isBlocked included: it is always false there, because unblocked is what the query selected on.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "skein_prime"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum rows per section, 1..25. Default: 10.
projectNoOptional project handle (alias|name|UUID) to scope every section to one project. Default: all visible projects.
componentNoOptional component UUID to scope myInProgress/readyForMe/blocked to issues attached to this component. Must belong to a visible project.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantive behavior the annotations cannot convey: a fixed LEAN row shape, no `fields` and no verbose mode, and the deliberate absence of the `labels` key in `readyForMe` with the reasoning that an empty array would falsely assert 'no labels'. The main gap is truncation behavior — `limit` caps rows per section, but the description never warns that a section may be silently truncated.

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

Conciseness3/5

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

The core purpose and the call-once directive are correctly front-loaded, but the body is bloated with filler ('because this tool loads on every session and it is worth knowing before you build on it') and repetition — 'never the issue card' is asserted twice, and the field list is restated. The critical `labels`-absence rule is buried mid-paragraph behind a long preamble rather than surfaced as a discrete callout.

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

Completeness4/5

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

With no output schema and a multi-section response, the description does the heavy lifting well: it specifies the exact row keys returned, the one documented exception, and where to go for full data. It stops short of describing the identity fields or the shape of activity events, and does not mention truncation when `limit` clips a section.

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 schema already documents all three parameters and the baseline is 3. The description adds modest value beyond it: it confirms `project` narrows *every* section, that the default scan spans all visible projects, and — usefully — that a `fields` parameter and verbose mode do NOT exist here, preventing a wrong invocation.

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

Purpose5/5

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

States a specific verb and resource ('Session priming: returns caller identity, in-progress issues, ready issues, blocked issues, recent activity') and enumerates every returned section. It also distinguishes itself from siblings by naming skein_show and skein_list as the tools to use for full issue reads and wider rows.

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

Usage Guidelines5/5

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

Explicit and prescriptive: 'Call this ONCE at the start of a working session before any other Skein tool.' It also names the alternatives for the adjacent need ('read one issue whole with skein_show, or take the wider row from skein_list') and states the default scope (all visible projects) versus the `project` narrowing.

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.