byaan-ai/byaan/linear
Claude Code and agent skill by byaan-ai/byaan
- community
Checking that the SKILL.md file is still in the repository.
Manage issues, projects, and cycles in Linear
Install
npx vskill@latest install byaan-ai/byaan/linearSKILL.md
Linear GraphQL API
Use the Linear GraphQL API to manage issues, projects, cycles, and teams.
Setup Guide
Before using this skill, you need to create a Personal API key in Linear:
1. Create an API Key
- Open Linear and click the gear icon (Settings)
- Navigate to "Security & Access" in the left sidebar
- Scroll to "Personal API keys" section
- Click "Create key"
- Give it a label (e.g., "Byaan")
- Copy the key (starts with
lin_api_) - Paste this key in Settings > Skills > Linear in the app
How Authentication Works
You do not need to handle authentication manually. When you call execute_skill_api(), the system automatically:
- Retrieves the API key from the configured credentials
- Adds the
Authorization: <api_key>header (no Bearer prefix) - Sends POST request with the GraphQL query
Just call the API with skill name, endpoint path, and GraphQL query — authentication is handled for you.
How to Call the API
Linear uses GraphQL. Call execute_skill_api() with these parameters:
Parameters:
skill_name: Always"linear"endpoint_path: Always"/graphql"is_graphql: AlwaysTruegraphql_query: The GraphQL query or mutation stringgraphql_variables: Optional JSON string of variables for parameterized queries
Example with variables:
Workflows
Creating an Issue
You must query for IDs before creating an issue. Here's the workflow:
- Get team ID (required):
- Get assignee ID (optional):
- Get workflow state ID (optional, for non-default state):
- Create the issue:
Finding Issues
Three approaches depending on what you need:
- Text search — Find issues by keyword:
- Structured filter — Find issues matching criteria:
- By identifier — Get specific issue:
Filter Examples
Use the filter parameter to narrow results:
Pagination
Linear uses cursor-based pagination:
- `first`: Number of results per request (max 250)
- `after`: Cursor from previous response to get next page
Response includes pageInfo:
- `hasNextPage`:
trueif more results exist - `endCursor`: Use as
afterin next request
Example pagination flow:
Common Queries
Get current user:
List issues:
Get issue by identifier:
List teams:
List projects:
List users:
List workflow states for a team:
List labels:
Common Mutations
Create issue:
Update issue:
Add label to issue:
Remove label from issue:
Add comment:
Create label:
Create project:
Priority Values
Lower number = higher priority:
- 0: No priority
- 1: Urgent
- 2: High
- 3: Medium
- 4: Low
State Types
Workflow states have these types:
backlog— Not yet plannedunstarted— Planned but not startedstarted— In progresscompleted— Donecanceled— Won't do
Common Pitfalls
- identifier vs id: Use
identifier(e.g., "ABC-123") when querying a specific issue. Useid(UUID) for mutations and setting relations. Theissue(id:)query accepts both formats.
- Required fields for issueCreate: Only
teamIdandtitleare required. Query teams first to get theteamId.
- State IDs are team-specific: Each team has its own workflow states. Query
workflowStatesfor the specific team before settingstateId.
- Priority numbers are inverted: 1 is highest priority (Urgent), 4 is lowest (Low). 0 means no priority.
- New issues default to Backlog: If you don't specify
stateId, new issues go to the team's first Backlog state.
- Finding IDs before mutations: Always query for UUIDs first. You can't use identifiers like "ABC-123" for
assigneeId,stateId,labelId, etc.
- Issue URL format: Issues have a
urlfield that returns the direct link to the issue in Linear. Always include it when creating or fetching issues.
- includeArchived parameter: By default, archived items are excluded. Add
includeArchived: trueto include them in queries.
Notes
- All API calls go to the single GraphQL endpoint
- Rate limit: 1,500 requests per hour
- Use
firstfor pagination (max 250 per request) - Dates use ISO 8601 format (e.g., "2024-01-15" or "2024-01-15T10:30:00Z")
- Team
keyis the short identifier shown in issue numbers (e.g., "ENG" in "ENG-123")
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingserver/skills/linear/SKILL.md
Popularity
- Repository stars
- 92
- Repository forks
- 1
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/byaan-ai/byaan/linear)