linear_ticket_2_pr

linear_ticket_2_pr is a command for Claude Code, OpenCode from allisoneer/agentic_auxilary. It costs 19 tokens per session (3,227 once invoked), scanned A, original, MIT.

A workflow command for taking an actionable Linear ticket through research, implementation, verification, and pull-request creation. A pull request is a proposed code change submitted for review.

In plain words
What is it for?
It is for reading a Linear issue, researching feasibility, implementing the requested change, running checks, committing the work, creating a pull request, and linking it back to the ticket.
Why use it?
It keeps ticket decisions, code work, and verification connected instead of leaving the task state scattered across tools. It stops early when the ticket or its feasibility is too unclear.

Command for Claude CodeOpenCode

Written for Claude Code and OpenCode: $ARGUMENTS substitution, but also installed under .opencode/. Also seen: agent in frontmatter.

Good fit It is for reading a Linear issue, researching feasibility, implementing the requested change, running checks, committing the work, creating a pull request, and linking it back to the ticket.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/allisoneer/agentic_auxilary/linear_ticket_2_pr
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/allisoneer/agentic_auxilary

Made for: Claude Code, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for linear_ticket_2_pr

README.md
[![agentmods](https://agentmods.dev/badge/commands/allisoneer/agentic_auxilary/linear_ticket_2_pr/github.svg)](https://agentmods.dev/commands/allisoneer/agentic_auxilary/linear_ticket_2_pr)
Your own site
<a href="https://agentmods.dev/commands/allisoneer/agentic_auxilary/linear_ticket_2_pr"><img src="https://agentmods.dev/badge/commands/allisoneer/agentic_auxilary/linear_ticket_2_pr/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for linear_ticket_2_pr

Your own site · 80×15
<a href="https://agentmods.dev/commands/allisoneer/agentic_auxilary/linear_ticket_2_pr"><img src="https://agentmods.dev/badge/commands/allisoneer/agentic_auxilary/linear_ticket_2_pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 19 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,227 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00019 $0.03227
Opus 5.5 $0.00008 $0.01291
Sonnet 5.5 $0.00004 $0.00645
Haiku 4.5 $0.00002 $0.00323

Measured 1mo ago against content hash aba7b8c956e5, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

linear_ticket_2_pr scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.opencode/command/linear_ticket_2_pr.md · 244 lines

How it starts

The opening of the file, as written. The whole thing — 244 lines — stays where its author put it; the contents beside it link to each section on GitHub.

This command should keep routing, scope judgment, and stop/go decisions at the orchestrator level. Child sessions should do bounded work only: read/update Linear state, persist an artifact, research feasibility, plan, implement, verify, commit, generate the PR description, and use bash/gh tooling to push and create the PR.

The goal is to end in one of these grounded states:

  • stopped early because no Linear ticket reference was provided
  • stopped early because the ticket is not actionable enough and a precise question was posted on Linear
  • stopped early because feasibility research surfaced blocking ambiguity and a precise question was posted on Linear
  • completed through verified implementation, commit, PR creation, and Linear update with the PR link

<workflow_contract>

  1. Follow all 9 steps in order.
  2. Use todowrite starting in Step 2 and keep exactly one task in_progress at a time.
  3. Treat <userMessage> as loose natural language. In this first pass, support no modifiers or flags.
  4. Require a Linear ticket key, Linear URL, or other identifiable Linear issue reference. If none is present, ask the user for one and stop.
  5. Do not create or switch branches. Assume the user already started this command on the correct branch.
  6. At every major stage, return control to the orchestrator for the next DAG decision. Child sessions execute bounded work; they do not autonomously continue into later stages.
  7. Before downstream codebase work, delegate full ticket intake, corpus export, and artifact-grounding handoff to a bounded Linear-capable child session. That delegated intake/export must:
    • resolve the ticket, read the full ticket description, and paginate comments until the complete corpus is captured
    • record explicit pagination-completion evidence, including how many comment pages were fetched and the terminal has_more=false result
    • ensure the ticket is In Progress if it is not already
    • persist the full corpus using the shared ticket-corpus artifact contract (stable filename + schema marker + snapshot disclaimer)
    • run thoughts_sync immediately after writing the corpus artifact
    • return artifact metadata to the orchestrator, including the saved artifact path, exact current status, pagination-completion evidence, and enough ticket identifiers to continue the workflow groundedly
  8. Use a two-layer gate before planning or implementation:
    • first a task-clarity gate
    • then a feasibility-reconnaissance gate when codebase context is still needed
  9. If code changes are made, require appropriate verification before claiming completion. At minimum run just check and just test unless a stronger or more targeted command set is clearly warranted.
  10. The commit and PR phase must respect the agent-reset caveat: use commit, then re-enter a bash-capable session for the actual git commit/push execution and initial PR creation or update, then use describe_pr, then use bash/gh tooling for any final PR update if needed.
  11. Linear updates are required when stopping for insufficient scope and when a PR is created. Set the ticket to In Progress at the start; at the end, use judgment about any obvious next status, but do not invent statuses.
  12. The ticket-artifact validation stage gets one bounded refresh/fix retry. If the artifact still fails validation after that retry, stop and report the exact validation failure instead of looping. </workflow_contract>

<step_1>

Step 1: Resolve the Target Ticket

  1. Parse <userMessage> as loose natural language.
  2. Accept any of these as sufficient ticket references:
    • a Linear issue key such as ENG-123
    • a Linear issue URL
    • another identifiable Linear issue reference that a Linear child session can resolve responsibly
  3. In this first pass, do not interpret modifiers, flags, or autonomy toggles from the input.
  4. If no Linear ticket reference is present, ask the user to provide one and stop.
  5. If multiple plausible tickets are referenced and one is not clearly primary, ask one concise clarification question and stop.

Read the full file on GitHub · 244 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 244 lines · 19 tokens per session scan A aba7b8c956e5

Subscribe to this mod's changes

linear_ticket_2_pr is a command published in the GitHub repository allisoneer/agentic_auxilary (79 stars, last pushed 6d ago), licensed MIT. It adds 19 tokens to every session and 3,227 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-08.