jeremylongshore/claude-code-plugins-plus-skills
linear-pack
plugins/saas-packs/linear-pack/skills/linear-upgrade-migration/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-upgrade-migration/SKILL.md -a claude-code --skill linear-upgrade-migrationInstallation paths:
.claude/skills/linear-upgrade-migration/# Linear Upgrade Migration
## Overview
Safely upgrade Linear SDK versions and handle breaking changes.
## Prerequisites
- Existing Linear integration
- Version control (Git) configured
- Test suite for Linear operations
## Instructions
### Step 1: Check Current Version
```bash
# Check installed version
npm list @linear/sdk
# Check latest available version
npm view @linear/sdk version
# Check changelog
npm view @linear/sdk changelog
```
### Step 2: Review Breaking Changes
```bash
# View version history
npm view @linear/sdk versions --json | jq -r '.[-10:][]'
# Check GitHub releases for migration guides
open https://github.com/linear/linear/releases
```
### Step 3: Create Upgrade Branch
```bash
git checkout -b upgrade/linear-sdk-vX.Y.Z
```
### Step 4: Update SDK
```bash
# Upgrade to latest
npm install @linear/sdk@latest
# Or upgrade to specific version
npm install @linear/sdk@X.Y.Z
# Check for type errors
npx tsc --noEmit
```
### Step 5: Common Migration Patterns
#### Pattern A: Renamed Fields
```typescript
// Before (deprecated)
const issue = await client.issue("ABC-123");
console.log(issue.state); // Old field name
// After (new version)
const issue = await client.issue("ABC-123");
const state = await issue.state; // Now returns Promise
console.log(state?.name);
```
#### Pattern B: Changed Return Types
```typescript
// Before: Direct object return
const teams = await client.teams();
teams.forEach(team => console.log(team.name));
// After: Paginated connection
const teams = await client.teams();
teams.nodes.forEach(team => console.log(team.name));
```
#### Pattern C: New Required Parameters
```typescript
// Before
await client.createIssue({ title: "Issue" });
// After: teamId is required
await client.createIssue({
title: "Issue",
teamId: team.id, // Now required
});
```
#### Pattern D: Removed Methods
```typescript
// Check if method exists before using
if (typeof client.deprecatedMethod === "function") {
await client.deprecatedMethod();
} e