jeremylongshore/claude-code-plugins-plus-skills
linear-pack
plugins/saas-packs/linear-pack/skills/linear-debug-bundle/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/linear-pack/skills/linear-debug-bundle/SKILL.md -a claude-code --skill linear-debug-bundleInstallation paths:
.claude/skills/linear-debug-bundle/# Linear Debug Bundle
## Overview
Comprehensive debugging tools for Linear API integrations.
## Prerequisites
- Linear SDK configured
- Node.js environment
- Optional: logging library (pino, winston)
## Instructions
### Step 1: Create Debug Client Wrapper
```typescript
// lib/debug-client.ts
import { LinearClient } from "@linear/sdk";
interface DebugOptions {
logRequests?: boolean;
logResponses?: boolean;
logErrors?: boolean;
onRequest?: (query: string, variables: unknown) => void;
onResponse?: (data: unknown, duration: number) => void;
onError?: (error: Error, duration: number) => void;
}
export function createDebugClient(
apiKey: string,
options: DebugOptions = {}
): LinearClient {
const {
logRequests = true,
logResponses = true,
logErrors = true,
} = options;
// Create client with custom fetch for logging
const client = new LinearClient({
apiKey,
fetch: async (url, init) => {
const start = Date.now();
const body = init?.body ? JSON.parse(init.body as string) : null;
if (logRequests && body) {
console.log("[Linear Request]", {
query: body.query?.slice(0, 100) + "...",
variables: body.variables,
});
options.onRequest?.(body.query, body.variables);
}
try {
const response = await fetch(url, init);
const duration = Date.now() - start;
const data = await response.clone().json();
if (logResponses) {
console.log("[Linear Response]", {
duration: `${duration}ms`,
hasErrors: !!data.errors,
dataKeys: data.data ? Object.keys(data.data) : [],
});
options.onResponse?.(data, duration);
}
return response;
} catch (error) {
const duration = Date.now() - start;
if (logErrors) {
console.error("[Linear Error]", {
duration: `${duration}ms`,
error: error instanceof Error ? error.message : err