linear-hello-world
A starter guide to using the Linear SDK and GraphQL API for CRUD operations.
Install
mkdir -p .claude/skills/linear-hello-world && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8642" && unzip -o skill.zip -d .claude/skills/linear-hello-world && rm skill.zipInstalls to .claude/skills/linear-hello-world
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create your first Linear issue and query using the SDK and GraphQL API.Key capabilities
- →Connect to Linear API using SDK
- →List teams and identify authenticated user
- →Create project issues with custom priority
- →Query issues with specific filters
- →Fetch workflow states for teams
- →Execute raw GraphQL queries
How it works
The skill utilizes the Linear TypeScript SDK to wrap GraphQL queries with typed models and pagination helpers. It provides methods for CRUD operations and direct access to the underlying GraphQL client.
Inputs & outputs
When to use linear-hello-world
- →Test Linear API connectivity
- →Fetch team and user profile data
- →Create initial project issues
- →Explore the Linear GraphQL data model
About this skill
Linear Read-Only Connectivity Proof
Overview
Verify endpoint, auth mode, viewer identity, and visible team count without spending the first test on a production write.
Prerequisites
- The target repository, Linear workspace, environment, and accountable owner
- Current security, privacy, compliance, capacity, and change-control requirements
- An approved Linear credential only when a bounded live verification is necessary
Tool Discipline
Use Read, Glob, and Grep to inspect code, configuration, and evidence. Use WebFetch only for current first-party Linear documentation and package metadata. Use Write or Edit only for requested implementation with known target files. Never write credentials, customer content, unrestricted environment output, or unredacted GraphQL variables.
Current Contract
- The GraphQL endpoint is
https://api.linear.app/graphqland supports introspection. - Personal API keys use
Authorization: <API_KEY>withoutBearer; OAuth access tokens useAuthorization: Bearer <ACCESS_TOKEN>. - The official TypeScript SDK accepts either
apiKeyoraccessTokeninLinearClient.
Authentication
Use a personal API key only for owner-controlled scripts, OAuth with PKCE for user-delegated applications, or an enabled client-credentials grant for approved automation. Personal keys use Authorization: <API_KEY>; OAuth tokens use Authorization: Bearer <ACCESS_TOKEN>. Store credentials server-side in an approved secret manager.
Treat app approval, team access, scope changes, credential creation, rotation, revocation, and production access as owner-approved actions.
Instructions
- Inspect the repository runtime, package manager, secret-loading convention, and existing Linear client code.
- Select personal API key only for owner-controlled scripts or OAuth for applications used by others.
- Pin a compatible
@linear/sdkrange or construct a minimal GraphQL request using the correct authorization form. - Query only viewer ID/display name and a small page of visible team IDs/keys; inspect GraphQL errors.
- Record SDK version, auth mode, endpoint, status, and counts without logging the token or returned personal content.
- Leave all create/update/delete operations for a separately approved workflow.
Approval Boundaries
Do not create, reveal, rotate, or revoke credentials; authorize an OAuth app; change scopes or team access; create, mutate, archive, or delete workspace data; configure or re-enable webhooks; import or export data; change roles, SCIM, or audit streaming; transmit diagnostics; change paid entitlements; or perform another production mutation without explicit approval from the accountable owner. Keep diagnosis read-only unless implementation was requested.
Output
Return the workspace and team scope, auth mode without credential value, files and contracts inspected, exact operation names, evidence collected, validation result, sensitive fields redacted, remaining risk, accountable owner, approval state, and rollback or next action.
Error Handling
| Condition | Response |
|---|---|
| 401 | Verify secret injection and the auth-header form without printing the credential. |
| Viewer succeeds, teams empty | Check workspace membership and team access; do not create into a fallback team. |
| GraphQL errors with data | Report the error path and treat the proof as incomplete. |
| SDK incompatible | Compare the installed package and Node version with current package metadata. |
Examples
Use a compact handoff that makes scope, mutation authority, and verification evidence reviewable.
Input:
runtime=node20; client=sdk; auth=personal-key-reference; operation=viewer+teams(first:5)
Expected handoff:
endpoint=verified; viewer=present; visible-teams=count-only; mutations=0
Resources
When not to use it
- →When requiring non-GraphQL API access
- →When needing to bypass SDK typed models
Prerequisites
Limitations
- →Requires teamId and title for issue creation
- →Nullable relations require optional chaining
How it compares
Unlike manual HTTP requests, this approach provides typed models, lazy-loaded relations, and built-in pagination helpers.
Compared to similar skills
linear-hello-world side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| linear-hello-world (this skill) | 0 | 2mo | Review | Beginner |
| swapper-integration | 6 | 7mo | Caution | Intermediate |
| run-api-e2e-tests | 7 | 8mo | Review | Beginner |
| langfuse-ci-integration | 2 | 2mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
swapper-integration
shapeshift
Integrate new DEX aggregators, swappers, or bridge protocols (like Bebop, Portals, Jupiter, 0x, 1inch, etc.) into ShapeShift Web. Activates when user wants to add, integrate, or implement support for a new swapper. Guides through research, implementation, and testing following established patterns.
run-api-e2e-tests
novuhq
Run e2e tests for the API service. Use when the user wants to run API E2E tests.
langfuse-ci-integration
jeremylongshore
Configure Langfuse CI/CD integration with GitHub Actions and automated testing. Use when setting up automated testing, configuring CI pipelines, or integrating Langfuse tests into your build process. Trigger with phrases like "langfuse CI", "langfuse GitHub Actions", "langfuse automated tests", "CI langfuse", "langfuse pipeline".
api-test-generator
mikopbx
Генерация полных Python pytest тестов для REST API эндпоинтов с валидацией схемы. Использовать при создании тестов для новых эндпоинтов, добавлении покрытия для CRUD операций или валидации соответствия API с OpenAPI схемами.
http-generate
spring-ai-alibaba
Generates HTTP request examples for Spring Boot Web interfaces according to task specification and saves them as .http files in module-generate.md directories
openapi-analyzer
mikopbx
Извлечение и анализ OpenAPI 3.1.0 спецификации из MikoPBX для валидации эндпоинтов. Использовать при проверке соответствия API, генерации тестов, проверке схем эндпоинтов или интеграции с навыками endpoint-validator и api-test-generator.