{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-linear",
    "name": "Linear CLI",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/cipher-shad0w/openclaw-linear",
    "canonicalUrl": "https://clawhub.ai/cipher-shad0w/openclaw-linear",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-linear",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-linear",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/api.md",
      "references/document.md",
      "references/issue.md",
      "references/project.md",
      "references/team.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-linear"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/openclaw-linear",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-linear/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-linear/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-linear/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Linear",
        "body": "A CLI to manage Linear issues from the command line, with git and jj integration."
      },
      {
        "title": "Prerequisites",
        "body": "The linear command must be available on PATH. To check:\n\nlinear --version\n\nIf not installed:\n\nHomebrew: brew install schpet/tap/linear\nDeno: deno install -A --reload -f -g -n linear jsr:@schpet/linear-cli\nBinaries: https://github.com/schpet/linear-cli/releases/latest"
      },
      {
        "title": "Setup",
        "body": "Create an API key at https://linear.app/settings/account/security\nAuthenticate: linear auth login\nConfigure your project: cd my-project-repo && linear config"
      },
      {
        "title": "Available Commands",
        "body": "linear auth               # Manage Linear authentication\nlinear issue              # Manage Linear issues\nlinear team               # Manage Linear teams\nlinear project            # Manage Linear projects\nlinear project-update     # Manage project status updates\nlinear milestone          # Manage Linear project milestones\nlinear initiative         # Manage Linear initiatives\nlinear initiative-update  # Manage initiative status updates\nlinear label              # Manage Linear issue labels\nlinear document           # Manage Linear documents\nlinear config             # Interactively generate .linear.toml configuration\nlinear schema             # Print the GraphQL schema to stdout\nlinear api                # Make a raw GraphQL API request"
      },
      {
        "title": "List and view issues",
        "body": "# List your unstarted issues\nlinear issue list\n\n# List issues in a specific state\nlinear issue list -s started\nlinear issue list -s completed\n\n# List all assignees' issues\nlinear issue list -A\n\n# View the current branch's issue\nlinear issue view\n\n# View a specific issue\nlinear issue view ABC-123"
      },
      {
        "title": "Create and manage issues",
        "body": "# Create an issue interactively\nlinear issue create\n\n# Create non-interactively\nlinear issue create -t \"Fix login bug\" -d \"Users can't log in with SSO\" -s \"In Progress\" -a self --priority 1\n\n# Update an issue\nlinear issue update ABC-123 -s \"Done\" -t \"Updated title\"\n\n# Add a comment\nlinear issue comment add ABC-123 -b \"This is fixed in the latest build\"\n\n# Delete an issue\nlinear issue delete ABC-123 -y"
      },
      {
        "title": "Start working on an issue",
        "body": "# Pick an issue interactively, creates a git branch and marks it as started\nlinear issue start\n\n# Start a specific issue\nlinear issue start ABC-123\n\n# Create a PR with issue details pre-filled\nlinear issue pr"
      },
      {
        "title": "Projects and milestones",
        "body": "# List projects\nlinear project list\n\n# Create a project\nlinear project create -n \"Q1 Launch\" -t ENG -s started --target-date 2026-03-31\n\n# List milestones for a project\nlinear milestone list --project <projectId>"
      },
      {
        "title": "Documents",
        "body": "# List documents\nlinear document list\n\n# Create a document from a file\nlinear document create --title \"Design Spec\" --content-file ./spec.md --project <projectId>\n\n# View a document\nlinear document view <slug>"
      },
      {
        "title": "Teams",
        "body": "# List teams\nlinear team list\n\n# List team members\nlinear team members"
      },
      {
        "title": "Discovering Options",
        "body": "Run --help on any command for flags and options:\n\nlinear --help\nlinear issue --help\nlinear issue list --help\nlinear issue create --help"
      },
      {
        "title": "Using the Linear GraphQL API Directly",
        "body": "Prefer the CLI for all supported operations. The api command is a fallback for queries not covered by the CLI."
      },
      {
        "title": "Check the schema",
        "body": "linear schema -o \"${TMPDIR:-/tmp}/linear-schema.graphql\"\ngrep -i \"cycle\" \"${TMPDIR:-/tmp}/linear-schema.graphql\"\ngrep -A 30 \"^type Issue \" \"${TMPDIR:-/tmp}/linear-schema.graphql\""
      },
      {
        "title": "Make a GraphQL request",
        "body": "# Simple query\nlinear api '{ viewer { id name email } }'\n\n# With variables\nlinear api 'query($teamId: String!) { team(id: $teamId) { name } }' --variable teamId=abc123\n\n# Complex filter via JSON\nlinear api 'query($filter: IssueFilter!) { issues(filter: $filter) { nodes { title } } }' \\\n  --variables-json '{\"filter\": {\"state\": {\"name\": {\"eq\": \"In Progress\"}}}}'\n\n# Pipe to jq\nlinear api '{ issues(first: 5) { nodes { identifier title } } }' | jq '.data.issues.nodes[].title'"
      },
      {
        "title": "Using curl directly",
        "body": "curl -s -X POST https://api.linear.app/graphql \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: $(linear auth token)\" \\\n  -d '{\"query\": \"{ viewer { id } }\"}'"
      },
      {
        "title": "Reference Documentation",
        "body": "For detailed subcommand documentation with all flags and options:\n\nissue - Manage Linear issues (list, create, update, start, view, comment, PR, delete)\nteam - Manage Linear teams (list, create, delete, members, autolinks)\nproject - Manage Linear projects (list, view, create)\ndocument - Manage Linear documents (list, view, create, update, delete)\napi - Make raw GraphQL API requests"
      },
      {
        "title": "Configuration",
        "body": "The CLI supports environment variables or a .linear.toml config file:\n\nOptionEnv VarTOML KeyExampleTeam IDLINEAR_TEAM_IDteam_id\"ENG\"WorkspaceLINEAR_WORKSPACEworkspace\"mycompany\"Issue sortLINEAR_ISSUE_SORTissue_sort\"priority\" or \"manual\"VCSLINEAR_VCSvcs\"git\" or \"jj\"\n\nConfig file locations (checked in order):\n\n./linear.toml or ./.linear.toml (current directory)\n<repo-root>/linear.toml or <repo-root>/.linear.toml\n<repo-root>/.config/linear.toml\n~/.config/linear/linear.toml"
      }
    ],
    "body": "Linear\n\nA CLI to manage Linear issues from the command line, with git and jj integration.\n\nPrerequisites\n\nThe linear command must be available on PATH. To check:\n\nlinear --version\n\n\nIf not installed:\n\nHomebrew: brew install schpet/tap/linear\nDeno: deno install -A --reload -f -g -n linear jsr:@schpet/linear-cli\nBinaries: https://github.com/schpet/linear-cli/releases/latest\nSetup\nCreate an API key at https://linear.app/settings/account/security\nAuthenticate: linear auth login\nConfigure your project: cd my-project-repo && linear config\nAvailable Commands\nlinear auth               # Manage Linear authentication\nlinear issue              # Manage Linear issues\nlinear team               # Manage Linear teams\nlinear project            # Manage Linear projects\nlinear project-update     # Manage project status updates\nlinear milestone          # Manage Linear project milestones\nlinear initiative         # Manage Linear initiatives\nlinear initiative-update  # Manage initiative status updates\nlinear label              # Manage Linear issue labels\nlinear document           # Manage Linear documents\nlinear config             # Interactively generate .linear.toml configuration\nlinear schema             # Print the GraphQL schema to stdout\nlinear api                # Make a raw GraphQL API request\n\nCommon Workflows\nList and view issues\n# List your unstarted issues\nlinear issue list\n\n# List issues in a specific state\nlinear issue list -s started\nlinear issue list -s completed\n\n# List all assignees' issues\nlinear issue list -A\n\n# View the current branch's issue\nlinear issue view\n\n# View a specific issue\nlinear issue view ABC-123\n\nCreate and manage issues\n# Create an issue interactively\nlinear issue create\n\n# Create non-interactively\nlinear issue create -t \"Fix login bug\" -d \"Users can't log in with SSO\" -s \"In Progress\" -a self --priority 1\n\n# Update an issue\nlinear issue update ABC-123 -s \"Done\" -t \"Updated title\"\n\n# Add a comment\nlinear issue comment add ABC-123 -b \"This is fixed in the latest build\"\n\n# Delete an issue\nlinear issue delete ABC-123 -y\n\nStart working on an issue\n# Pick an issue interactively, creates a git branch and marks it as started\nlinear issue start\n\n# Start a specific issue\nlinear issue start ABC-123\n\n# Create a PR with issue details pre-filled\nlinear issue pr\n\nProjects and milestones\n# List projects\nlinear project list\n\n# Create a project\nlinear project create -n \"Q1 Launch\" -t ENG -s started --target-date 2026-03-31\n\n# List milestones for a project\nlinear milestone list --project <projectId>\n\nDocuments\n# List documents\nlinear document list\n\n# Create a document from a file\nlinear document create --title \"Design Spec\" --content-file ./spec.md --project <projectId>\n\n# View a document\nlinear document view <slug>\n\nTeams\n# List teams\nlinear team list\n\n# List team members\nlinear team members\n\nDiscovering Options\n\nRun --help on any command for flags and options:\n\nlinear --help\nlinear issue --help\nlinear issue list --help\nlinear issue create --help\n\nUsing the Linear GraphQL API Directly\n\nPrefer the CLI for all supported operations. The api command is a fallback for queries not covered by the CLI.\n\nCheck the schema\nlinear schema -o \"${TMPDIR:-/tmp}/linear-schema.graphql\"\ngrep -i \"cycle\" \"${TMPDIR:-/tmp}/linear-schema.graphql\"\ngrep -A 30 \"^type Issue \" \"${TMPDIR:-/tmp}/linear-schema.graphql\"\n\nMake a GraphQL request\n# Simple query\nlinear api '{ viewer { id name email } }'\n\n# With variables\nlinear api 'query($teamId: String!) { team(id: $teamId) { name } }' --variable teamId=abc123\n\n# Complex filter via JSON\nlinear api 'query($filter: IssueFilter!) { issues(filter: $filter) { nodes { title } } }' \\\n  --variables-json '{\"filter\": {\"state\": {\"name\": {\"eq\": \"In Progress\"}}}}'\n\n# Pipe to jq\nlinear api '{ issues(first: 5) { nodes { identifier title } } }' | jq '.data.issues.nodes[].title'\n\nUsing curl directly\ncurl -s -X POST https://api.linear.app/graphql \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: $(linear auth token)\" \\\n  -d '{\"query\": \"{ viewer { id } }\"}'\n\nReference Documentation\n\nFor detailed subcommand documentation with all flags and options:\n\nissue - Manage Linear issues (list, create, update, start, view, comment, PR, delete)\nteam - Manage Linear teams (list, create, delete, members, autolinks)\nproject - Manage Linear projects (list, view, create)\ndocument - Manage Linear documents (list, view, create, update, delete)\napi - Make raw GraphQL API requests\nConfiguration\n\nThe CLI supports environment variables or a .linear.toml config file:\n\nOption\tEnv Var\tTOML Key\tExample\nTeam ID\tLINEAR_TEAM_ID\tteam_id\t\"ENG\"\nWorkspace\tLINEAR_WORKSPACE\tworkspace\t\"mycompany\"\nIssue sort\tLINEAR_ISSUE_SORT\tissue_sort\t\"priority\" or \"manual\"\nVCS\tLINEAR_VCS\tvcs\t\"git\" or \"jj\"\n\nConfig file locations (checked in order):\n\n./linear.toml or ./.linear.toml (current directory)\n<repo-root>/linear.toml or <repo-root>/.linear.toml\n<repo-root>/.config/linear.toml\n~/.config/linear/linear.toml"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/cipher-shad0w/openclaw-linear",
    "publisherUrl": "https://clawhub.ai/cipher-shad0w/openclaw-linear",
    "owner": "cipher-shad0w",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-linear",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-linear",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-linear/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-linear/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-linear/agent.md"
  }
}