linear
Skill1 starsChanged 37 days agoMITView on GitHub
Read or write Linear issues using the bundled `linear` CLI instead of raw curl + GraphQL. Use whenever the user asks to fetch a Linear issue, look up comments, search Linear, create a Linear issue, update a Linear state, post a comment on a Linear issue, or similar phrasings ("get ABC-NNN", "what's on ABC-592", "comment on the Linear story", "move it to PR Review", "open a Linear issue for ..."). Not for an ID whose prefix the project's CLAUDE.md (or an always-loaded rules file) declares as its GitHub issue key ("PRJ-NNN is issue #NNN") -- that is a GitHub issue; use `gh`. The CLI reads LINEAR_API_TOKEN from the environment and pretty-prints by default.
83 other projects use a version of this.
Adopted by
Most recently taken up by
- ashleysbrain/skillstheir own version, first seen Nov 8, 2026
- withpiper/pipekittheir own version, first seen Nov 8, 2026
- lox/agent-skillstheir own version, first seen Nov 7, 2026
- lobehub/lobehubtheir own version, first seen Nov 5, 2026
- DROOdotFOO/agent-skillstheir own version, first seen Nov 1, 2026
- AgnesAI-Labs/agnet-skills-cntheir own version, first seen Nov 1, 2026
Used with
Projects with it also use agent-deep-links, helium-mcp and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ComposioHQSkillagent-deep-links
Build, validate, and troubleshoot deep links for Codex, Cursor, VS Code, Visual Studio, and similar tools. Use when users ask for clickable links (especially in Slack) that open threads, files, folders, or app settings.
Also in 3 projects that use this
ComposioHQSkillhelium-mcp
Search real-time news with bias scoring, get live stock/ETF/crypto data with AI analysis, ML options pricing, balanced news synthesis, and meme search via the Helium MCP server.
Also in 3 projects that use this
petestewartSkilldatadog-logs
Query Datadog logs via the Logs Search API v2. Use when the user asks to "check the logs", "search logs", "find errors in Datadog", "look up logs for", "show me production logs", "check for errors", "search Datadog", or any request involving log search, error investigation, or production debugging that requires Datadog log data.
Also in 3 projects that use this
OpenAISkillpull
Also in 5 projects that use this
SentrySkilldatadog
Query live Datadog telemetry (logs, metrics, traces, spans, monitors, incidents, dashboards, services, hosts) through Datadog's Pup CLI. Use when users ask to investigate production behavior in Datadog, including searching logs, checking monitor status, inspecting traces or spans, looking up incidents, finding services, or correlating metrics. Do not use it for Sentry issues, repository/source-code work, or ticketing.
Also in 4 projects that use this
- +7 more from ComposioHQ
Other versions83 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 83
- lobehub/lobe-chat★ 84ksame name
- lobehub/lobehub★ 84ksame name
- openai/skills★ 27ksame name
- openai/symphony★ 27ksame name
- anthropics/claude-quickstarts★ 19ksame name
- ComposioHQ/awesome-codex-skills★ 17ksame name
- composio-community/awesome-codex-skills★ 16ksame name
- anyproto/anytype-ts★ 9.1ksame name
- vercel-labs/emulate★ 2ksame name
- Lilac-Labs/gini-agent★ 1.9ksame name
73 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- app-wind-downSkill
- architecture-surveySkill
- bug-cluster-ledgerSkill
- change-highlightsSkill
- dependabot-batchSkill
- finished-issue-housekeepingSkill
- gauntletSkill
- markdown-to-pdfSkill
- parallel-checkoutsSkill
- pause-workSkill
- plan-issueSkill
- resume-workSkill
- review-open-itemsSkill
- targeted-specsSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 79 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 89
Put -- before a dash-leading search term or comment message so the rest of the line is taken literally: linear search -- -oauth, linear …
- Very specific: line 115
Don't fall back to raw curl against api.linear.app/graphql.
- Distinctive: line 116
Don't reach for the Linear MCP -- prefer this CLI over the Linear MCP or raw GraphQL curl.
- Very specific: line 117
Don't pass long descriptions inline on the command line.
“Common” is measured: kept by at least 6 in 10 of the 79 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
linear CLI
A semantic wrapper around Linear's GraphQL API. Prefer this over curl https://api.linear.app/graphql ... -- it collapses the permission prompt to a single readable line and pretty-prints the response.
Stdlib-only Ruby, bundled with this plugin and available on PATH as linear when the plugin is installed (plugins add their bin/ to PATH). Requirements: Ruby 3.x and a LINEAR_API_TOKEN env var. The token must be a personal API key (the CLI sends it raw in the Authorization header), not an OAuth token. Optionally set
LINEAR_TEAM_KEY to your team's key (e.g. ABC) so list and
project-list don't need an explicit --team flag.
Read
linear get ABC-NNN [--full] [--json]
linear comments ABC-NNN [--json]
linear search "phrase" [--team KEY] [--limit N] [--json]
linear list --team KEY (--project NAME | --since YYYY-MM-DD | --mine) [--all] [--limit N] [--json]
linear project-list --team KEY [--json]getshows title, state, description, team, project, parent, children, URL.--fulladds the comment thread.--jsonemits the raw GraphQL response for piping.searchis case-insensitive substring match over title and description, sorted by most-recently-updated.listshows a team's issues filtered to a project, a created-since date, and/or--mine(assigned to you, or filed by you with no assignee). Excludes completed, canceled and duplicate issues unless--all(pass--allwhen mining history).--teammay be omitted whenLINEAR_TEAM_KEYis set.project-listshows a team's projects with their ids and state (the ids feedproject-update --id). Also honorsLINEAR_TEAM_KEYin place of--team.
Write
linear create --team KEY --title TITLE --priority LEVEL \
(--project NAME | --no-project) \
[--description TEXT | --description-file PATH] \
[--state NAME] [--parent ABC-NNN] [--assignee EMAIL|me] [--json]
linear update ABC-NNN [--state NAME] [--title TITLE] [--priority LEVEL] \
[--description TEXT | --description-file PATH] \
[--project NAME] [--parent ABC-NNN] [--assignee EMAIL|me] [--json]
linear comment ABC-NNN ("message body" | --body TEXT | --body-file PATH)
linear comment-delete COMMENT_ID
linear relate ABC-AAA ABC-BBB [--type related|blocks|duplicate]
linear project-create --team KEY --name NAME [--description TEXT] \
[--content TEXT | --content-file PATH]
linear project-update --id PROJECT_ID [--name NAME] [--description TEXT] \
[--content TEXT | --content-file PATH]createrequires--team,--title, and--priority.--projectis required by default (new issues should always be attached to a project); pass--no-projectto override deliberately. Project name match is exact-then-substring.- Ask the user which project before creating; do not guess. The same work can be contracted maintenance or billable requested-additional-work depending on context only the user knows, and the choice has billing consequences. Offer the candidate projects and let the user pick rather than defaulting from a "bug -> maintenance" heuristic.
--statesets the initial workflow state (default Todo, never Triage/Backlog); pass--state "In Progress"when the issue is already being worked.--parent ABC-NNNmakes the new issue a sub-issue.--assigneetakes an email, a name substring, or the literalme; required when creating in a started state like In Progress.
updateaccepts any combination of--state,--title,--priority,--description,--project(moves the issue),--parent(reparents it as a sub-issue), and--assignee. State name must match a workflow state on the issue's team. Moving to a started state (e.g. In Progress) requires an assignee: pass--assignee, or the issue must already have one.commentappends a comment. Pass the body as the second positional arg (quote it), or use--body TEXT/--body-file PATHfor long or markdown bodies.comment-deletedeletes a comment by id (ids are shown bylinear comments ABC-NNN).relatelinks two issues (default typerelated).project-create/project-updatemanage projects:--descriptionis the one-line summary,--contentthe full markdown body. Move issues into a project afterward withlinear update ABC-NNN --project NAME.
Priority (required on every create)
The CLI refuses create without an explicit --priority. Before creating an
issue, propose a priority with a one-line rationale and let the user confirm
or override -- same flow as the project question above, and they can be asked
together. Guidelines:
urgent-- production is actively wrong in a way that moves or misstates money, corrupts data, or blocks users; drop current work. (Wrong money amounts, prod outage, wrong charges visible to customers.)high-- users can hit it today, or it gates other scheduled work or a stakeholder commitment; pick up this cycle. (Live incorrect data/display with no workaround, a repair whose delay compounds, prereq of an in-flight epic.)medium-- the default for scheduled improvement work: structural refactors and epic phases, bugs with a workaround, perf users feel but tolerate.low-- cleanups that don't compound: renames, dead code, tooling, dev-experience items.none-- deliberate parking only (spike awaiting an external/policy decision, placeholder pending triage). Must be passed explicitly; never an accidental default.
Dash-leading values
A value that begins with - is read as a flag and rejected, so a
mechanically composed comment or search term that happens to start with
a dash needs care:
- Put
--before a dash-leading search term or comment message so the rest of the line is taken literally:linear search -- -oauth,linear comment ABC-NNN -- -1 broke the build. --guards positionals only; it cannot rescue a dash-leading option value. Three free-text options have a--*-filevariant that accepts one: the issue--description(--description-file), a project's--content(--content-file), and a comment body (--body-file). Writing the text to a file and passing the file option is the safest default when composing bodies programmatically, and it already suits long or markdown text.- The other free-text options --
--title,--name,--state,--project, and a project's--description-- have no--*-filevariant, so a value that begins with a dash cannot be passed to them at all (a rare limitation of the leading-dash guard). Every remaining option takes a key, id, enum word, email, or date that never begins with a dash, so none of those need escaping.
When to use
- The user mentions a Linear identifier (ABC-NNN, etc.) and wants info on it:
linear get. Not when the project declares that prefix as its GitHub issue key ("PRJ-NNN is issue #NNN"): that ID is a GitHub issue, so usegh issue view NNN. - The user wants to scan recent activity on an issue:
linear get --fullorlinear comments. - The user wants to find tickets by phrase:
linear search. - The user asks to open a new ticket, move an issue's state, or post a comment.
Don't
- Don't fall back to raw
curlagainstapi.linear.app/graphql. If the CLI is missing a subcommand you need, propose adding it via a PR to the plugin repo (github.com/bendyworks/rules-that-bend) rather than working around it. - Don't reach for the Linear MCP -- prefer this CLI over the Linear MCP or raw GraphQL curl.
- Don't pass long descriptions inline on the command line. Write them to a file and use
--description-file.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

