Back to Skills

linear-hello-world

verified
View on GitHub

Marketplace

claude-code-plugins-plus

jeremylongshore/claude-code-plugins-plus-skills

Plugin

linear-pack

productivity

Repository

jeremylongshore/claude-code-plugins-plus-skills
1.1kstars

plugins/saas-packs/linear-pack/skills/linear-hello-world/SKILL.md

Last Verified

January 22, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/linear-pack/skills/linear-hello-world/SKILL.md -a claude-code --skill linear-hello-world

Installation paths:

Claude
.claude/skills/linear-hello-world/
Powered by add-skill CLI

Instructions

# Linear Hello World

## Overview
Create your first issue and execute basic queries with the Linear API.

## Prerequisites
- Linear SDK installed (`@linear/sdk`)
- Valid API key configured
- Access to at least one Linear team

## Instructions

### Step 1: Query Your Teams
```typescript
import { LinearClient } from "@linear/sdk";

const client = new LinearClient({ apiKey: process.env.LINEAR_API_KEY });

// Get all teams you have access to
const teams = await client.teams();
console.log("Your teams:");
teams.nodes.forEach(team => {
  console.log(`  - ${team.name} (${team.key})`);
});
```

### Step 2: Create Your First Issue
```typescript
// Get the first team
const team = teams.nodes[0];

// Create an issue
const issueCreate = await client.createIssue({
  teamId: team.id,
  title: "My first Linear issue from the API",
  description: "This issue was created using the Linear SDK!",
});

if (issueCreate.success) {
  const issue = await issueCreate.issue;
  console.log(`Created issue: ${issue?.identifier} - ${issue?.title}`);
  console.log(`URL: ${issue?.url}`);
}
```

### Step 3: Query Issues
```typescript
// Get recent issues from your team
const issues = await client.issues({
  filter: {
    team: { key: { eq: team.key } },
  },
  first: 10,
});

console.log("Recent issues:");
issues.nodes.forEach(issue => {
  console.log(`  ${issue.identifier}: ${issue.title} [${issue.state?.name}]`);
});
```

## Output
- List of teams you have access to
- Created issue with identifier and URL
- Query results showing recent issues

## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| `Team not found` | Invalid team ID or no access | Use `client.teams()` to list accessible teams |
| `Validation error` | Missing required fields | Ensure title and teamId are provided |
| `Permission denied` | Insufficient permissions | Check API key scope in Linear settings |
| `Rate limited` | Too many requests | Add delays between requests |

## Examples

### Complete Hello Wor

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3651 chars