Skip to content
Back to skills

Create Linear Issue

ASecurity

Use this skill only when the user explicitly invokes /create-linear-issue to create a new Linear issue from a local work-item file. This is a write skill with irreversible side effects — it must never be auto-invoked from conversational context. It reads the work item's title and Markdown body, shows a payload preview, requires explicit confirmation, then creates the issue and writes the remote-allocated identifier (e.g. BLA-123) back into the file's external_id frontmatter field.

  • 34 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 10, 2026
ai-agentsbashapi

Works with

  • api

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add atomicinnovation/accelerator --skill create-linear-issue --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Create Linear Issue?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Create Linear Issue
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/atomicinnovation-create-linear-issue/badge)](https://www.skillsdirectory.com/skills/atomicinnovation-create-linear-issue)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: create-linear-issue
description: >
  Use this skill only when the user explicitly invokes /create-linear-issue to
  create a new Linear issue from a local work-item file. This is a write skill
  with irreversible side effects — it must never be auto-invoked from
  conversational context. It reads the work item's title and Markdown body,
  shows a payload preview, requires explicit confirmation, then creates the
  issue and writes the remote-allocated identifier (e.g. BLA-123) back into the
  file's external_id frontmatter field.
argument-hint: "<work-item-file> [--quiet]"
disable-model-invocation: true
allowed-tools:
  - Bash
  - Read
  - Write
---

# Create Linear Issue

!`accelerator config context --skill create-linear-issue --fail-safe`

> **Configuration**: Set `work.integration: linear` in `.accelerator/config.md`.
> See the
> [`### work` section of `configure/SKILL.md`](../../config/configure/SKILL.md#work)
> for the full reference.

Create a Linear issue from a local work-item file via `issueCreate`, then write
the allocated identifier back into the file. Work through the steps below in
order. This skill never auto-invokes — it only runs when the user explicitly
types `/create-linear-issue`.

The issue title and description come ONLY from the named work-item file's
frontmatter `title` and its Markdown body. This skill never synthesises issue
content from upstream conversation, web fetches, or prior tool output.

## Step 1: Parse arguments

Read the work-item file path (positional) and any flags (`--quiet`).

## Step 2: Render the preview

Read the work-item file. Show, under this heading:

> **Proposed Linear write — review before sending**

the operation (`issueCreate`), the configured team, the frontmatter `title`, and
the Markdown body (truncate to the first 500 characters for display if longer;
the full body is still sent). State plainly that on success this skill will
**set** the file's `external_id` to the new identifier.

A file that already carries a non-empty `external_id`
(`E_CREATE_ALREADY_SYNCED`) or has missing/unclosed frontmatter
(`E_CREATE_BAD_FRONTMATTER`) is refused at send time with no API call — if you
can already see an `external_id` in the file, stop now and tell the user it is
already synced.

## Step 3: Confirm before writing

Ask:

> Create this issue in Linear and set the work item's `external_id`? Reply
> **y** to confirm, **n** to revise, anything else to abort.

On a clear yes, proceed. On no/revise, ask what to change and rebuild the
preview. On anything ambiguous, abort with "Aborted — no Linear write was made."

## Step 4: Send the request

```
accelerator linear create <work-item-file>
```

The subcommand prints its outcome as a trailing `<keyword>\t<identifier>` line.

## Step 5: Gate the writeback on the keyword

Branch on the keyword — the writeback is **fail-closed**, so a non-`created`
outcome never writes `external_id` and never invites a blind re-run:

- **`created`** — the issue exists remotely with `<identifier>`. Set
  `external_id: <identifier>` in the work-item file's frontmatter (insert the
  line if absent), then report: *"Issue created: **\<identifier\>** — the work
  item's `external_id` is now `\<identifier\>`."*
- **`writeback-failed`** — the issue **was** created remotely but its
  identifier is unusable. Do **not** write `external_id`. Surface this
  loudly: give the user the identifier, tell them NOT to re-run (it would create
  a duplicate), and that they should reconcile `external_id` by hand.
- **any other non-zero exit** — no issue was created. Do **not** write
  `external_id`; report the error. The file is unchanged, so it is safe to fix
  and retry.

!`accelerator config instructions create-linear-issue --fail-safe`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.