Skip to content
cccskills
FreePublished on GitHub

manage-linear

Manage Linear issues, projects, cycles, initiatives, and teams via the `linear` CLI (schpet/linear-cli)

The English summary is being prepared. Showing the original description.

ayunis-core/ayunis-core34 stars(GitHub 34 + cccskills 0)
Works withLinear

Run score Not tested

See how to install

Files included (1)

  • SKILL.md5.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Manage Linear

CLI tool: linear (installed via Homebrew). Authenticated and ready to use.

Run linear --help or linear <command> --help for full option details — don't memorize flags, look them up.

Important: --sort flag

linear issue list requires a sort: --sort priority or --sort manual. Always include it.

Core commands

Issues

  • List issues: linear issue list --team <KEY> --sort priority [--limit N]

  • List all states: add --all-states (default: unstarted only)

  • Filter by state: --state started, --state backlog, etc.

  • Other people's issues (was --all-assignees on issue list): the flag was removed from issue list and moved to a separate issue query subcommand:

    linear issue query --team <KEY> --all-assignees --all-states --sort manual
    

    Running linear issue list --all-assignees now errors out with: --all-assignees has been removed from 'issue mine'. Use 'linear issue query --all-assignees' for assignee filtering.

  • Create issue: linear issue create --team <KEY> --title "..." [--description "..." | --description-file path] [--assignee self] [--priority 1-4] [--label "..."] [--project "..."] [--state "..."]

  • View issue: linear issue view <ID> [--json]

  • Update issue: linear issue update <ID> [--state "..." | --title "..." | --assignee "..." | --priority N | --label "..." | ...]

  • Delete issue: linear issue delete <ID>

  • Comments: linear issue comment add <ID>, linear issue comment list <ID>

  • Relations: linear issue relation add <ID> <type> <relatedID>

Gotchas

  • --project on issue create rejects UUIDs. Pass the project name or slug:

    linear issue create --team AYC --project "Workspaces" --title "..."   # works
    linear issue create --team AYC --project fb01ed91-... --title "..."   # → "Project not found"
    

    UUIDs do work on project view / project update, just not on issue create. Look up the slug via linear project list --json when uncertain.

  • linear issue view does not list sub-issues. To enumerate children of a parent, use the raw GraphQL fallback:

    linear api 'query($id: String!){ issue(id:$id){ children{ nodes{ identifier title state{ name } } } } }' \
      --variable id=<PARENT_ID>
    
  • Newly created issues may not be queryable immediately. If linear issue view <ID> right after issue create fails with "Could not find referenced Issue", wait a second and retry — trust the URL printed by create.

Teams

  • List teams: linear team list
  • Team members: linear team members [KEY]

Projects

  • List: linear project list
  • View: linear project view <ID>
  • Create/update/delete — see linear project --help

Cycles, Milestones, Initiatives

  • linear cycle list --team <KEY>, linear cycle view <ref>
  • linear milestone list --project <ID>, linear milestone create/update/delete
  • linear initiative list, linear initiative view/create/update/archive
  • linear project-update create <projectId>, linear initiative-update create <initId>

Labels & Documents

  • linear label list, linear label create
  • linear document list, linear document view <ID>, linear document create/update

Raw GraphQL

For anything the CLI doesn't cover: linear api '<query>' [--variable key=value] [--paginate]

Ayunis workspace teams

KeyName
AYCAyunis Core
DEMDemo
ENGEngineering
AYL3Locaboo 3
AYL4Locaboo 4
MGMManagement
SALSales

Per-team state names

State names are NOT uniform across teams. Do not hardcode "In Progress", "Merged", or "Done" — look up the team's actual state before updating. Confirmed divergences:

TeamStarted stateRelease-pending stateClosed state
AYCIn DevelopmentMergedDone

(Other teams default to the standard In Progress / Done; look up whether a release-pending state exists before moving a merged code ticket.)

To enumerate any team's states yourself:

linear api 'query($key: String!){ team(id: $key){ states { nodes { name type } } } }' \
  --variable key=<TEAM_KEY>

Guidelines

  • Always use --no-interactive on issue create when running non-interactively (avoids prompts).
  • Use --json on issue view when you need structured data to process.
  • Issue IDs look like AYC-4 (team key + number).
  • Ask before creating/updating/deleting — treat writes with care.
  • For code-backed issues, merge is not completion. The Git integration should move the issue to the team's release-pending state after merge (Merged for AYC). Only the release process may move it to Done after a production release contains the change. Before reopening an unexpectedly completed issue, inspect its state history and linked release; restore it only when completion preceded the containing release.
  • Subtasks should always be created with --state Backlog, not Triage — the parent has already been triaged.
  • Create sub-issues upfront when a ticket enumerates iterations. If the parent ticket spells out "iter 1 / iter 2 / iter 3" or numbered phases, propose creating one sub-issue per iteration during planning, before implementation starts. Progress each sub-issue through the team's workflow; code-backed subtasks follow the same release-pending/Done lifecycle as their parent.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Query Ayunis deployed-environment telemetry in AppSignal — incidents, occurrence counts and error traces via the `appsignal-cli` binary; structured log attributes (user.id, org.id, nestjs.context, custom metadata) via the v2 logs API. Use when investigating a production/staging incident or log data — NOT for local dev logs (see backend-debugging).

The English summary is being prepared. Showing the original description.

ayunis-core/ayunis-core34Updated Oct 27, 2026

Ayunis Core backend specifics — module boundaries, key files, and project conventions. Complements the nestjs-hexagonal-backend skill.

The English summary is being prepared. Showing the original description.

ayunis-core/ayunis-core34Updated Oct 27, 2026

Frontend development in ayunis-core. Use when creating, modifying, or debugging frontend code (React, Feature-Sliced Design, API client).

The English summary is being prepared. Showing the original description.

ayunis-core/ayunis-core34Updated Oct 27, 2026

Debug backend runtime errors (500s, crashes, unexpected behavior). Use when something is broken at runtime — not for writing new code.

The English summary is being prepared. Showing the original description.

ayunis-core/ayunis-core34Updated Oct 27, 2026

Shared test fixtures for backend specs — port mock factories, domain builders, and shared IDs in a per-module testing/ folder. Use when a module's *.use-case.spec.ts files repeat the same mock-repository literal, inline entity construction, or hardcoded UUIDs across files.

The English summary is being prepared. Showing the original description.

ayunis-core/ayunis-core34Updated Oct 27, 2026

Analyze Cursor Bugbot PR comments through a root-cause lens: is the finding valid, and is the suggested fix the real fix or a bandaid over a deeper problem? Use when the user asks to check, assess, or triage bugbot comments.

The English summary is being prepared. Showing the original description.

ayunis-core/ayunis-core34Updated Oct 27, 2026

See all skills by ayunis-core

Report a problem with this skill