Claude Code skill for Linear issue, project, and team management with MCP integration
This server has critical definition quality gaps. While tool names follow verb patterns (bulk-create, create-initiative-update, create-issue-with-project, create-project-update, extract-image), the schema visibility is severely limited. Source code provided shows only package.json, eslint.config.js, and partial hooks, NO actual tool registration code, handler implementations, or explicit schema definitions are visible. Tool definitions appear to be inferred from the server brief rather than verified in source. Descriptions are present in the brief (50-150 chars, which is good), but I cannot verify they exist in the actual registration code. No output schemas are documented. Error handling is not visible in provided source. Tool composition is reasonable (5 distinct operations), but lack of schema visibility and no confirmation of actual MCP registration in source code means per-tool scores are capped at 50 maximum (inference penalty).
Bulk-create Linear issues from a manifest directory + config file. Creates N issues in one team, each with a markdown description and optional media files. Media is uploaded via Linear's fileUpload API and embedded in the issue description (images inline, other files as links).
Create an initiative update (status report) in Linear. Looks up initiative by name, posts markdown content, and returns the update URL.
Create a Linear issue with project assignment. Looks up project by name and creates issue with projectId.
Create a project update (status report) in Linear. Looks up project by name, posts markdown content, and returns the update URL.
Extract inline images from a Claude Code session JSONL file. Images shared inline in Claude Code are not saved to disk automatically — they live as base64 in the session JSONL. This script extracts them.
NO INPUT SCHEMAS VISIBLE IN SOURCE. Cannot verify JSON Schema for any parameter.
OUTPUT SCHEMAS UNDOCUMENTED. No return type specification provided for any tool. LLMs cannot plan downstream operations or extract returned IDs without documented output structure.
NO ERROR HANDLING GUIDANCE VISIBLE. Tools accept boolean and string parameters but no error handling patterns documented (invalid values, API failures, not found scenarios). LLMs cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 37 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 28 | - | v1 |
MISSING PARAMETER CONSTRAINTS. 'health' parameter in create-initiative-update and create-project-update documented as 'Optional: onTrack (default), atRisk, offTrack' in text, but no enum constraint shown in schema. Free-form strings invite hallucinated values.
TOOL REGISTRATION NOT VERIFIED. Source code provided contains no MCP server handler, tool list, or schema registration. All tool definitions inferred from brief.
PARAMETER TYPE SAFETY. 'priority' in create-issue-with-project documented as '1-4' but schema shows type number without min/max constraints visible. 'labels' shows type array but element type and validation rules missing.
NO PAGINATION DOCUMENTED. bulk-create accepts 'manifest' directory path but no indication of how many issues can be batched, or if result is paginated. Large operations risk context window exhaustion.
MISSING IDEMPOTENCY GUIDANCE. Tools create and update resources; no documentation on idempotency keys or behavior on duplicate calls. Agents retrying on ambiguous failures could create duplicates.
LINEAR_API_KEY EXPOSURE RISK. Code comments in scripts/lib/index.ts reference 'LINEAR_API_KEY' environment variable. If tools expose this as a parameter or pass it in responses, secrets leak into LLM context. Not visible in provided source but pattern documented.