i-have-adhd
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Linear issue management — routes work to specialized agents and slash commands. Use when: creating, updating, searching, bulk-editing, cleaning up, syncing Linear. TRIGGERS: "linear", "ticket", "issue", "create issue", "update issue", "search issues", "my issues", "bulk",
Claude Code
$ npx -y skills add Elnora-AI/elnora-linear --skill linear-workspace --agent claude-code
Codex
$ npx skills add Elnora-AI/elnora-linear --skill linear-workspace -a codex -y
Cursor
$ npx skills add Elnora-AI/elnora-linear --skill linear-workspace -a cursor -y
Gemini CLI
$ npx skills add Elnora-AI/elnora-linear --skill linear-workspace -a gemini-cli -y
GitHub Copilot
$ npx skills add Elnora-AI/elnora-linear --skill linear-workspace -a github-copilot -y
OpenCode
$ npx skills add Elnora-AI/elnora-linear --skill linear-workspace -a opencode -y
Windsurf
$ npx skills add Elnora-AI/elnora-linear --skill linear-workspace -a windsurf -y
name: linear-workspace description: > Linear issue management — routes work to specialized agents and slash commands. Use when: creating, updating, searching, bulk-editing, cleaning up, syncing Linear. TRIGGERS: "linear", "ticket", "issue", "create issue", "update issue", "search issues", "my issues", "bulk", "cleanup", "sync", "log bug", "file issue", "report bug", "new ticket", "add task", "open ticket", "open issue", "throw this in linear", "track this in linear", "capture as issue", "put on the backlog".
Router for Linear work. Dispatches to specialized agents or slash commands rather than running things inline.
| Intent | Action | |---|---| | Create one issue from a description | Agent: `linear-issue-creator` | | Create issues from a URL / article / design | Agent: `linear-url-to-issues` | | Review one existing issue (clarity, completeness) | Agent: `linear-issue-reviewer` | | Edit one existing issue (state, assignee, comment, close, …) | Agent: `linear-issue-updater` | | Search / list issues | Slash command: `/linear-search` | | List your own issues | Slash command: `/linear-my-issues` | | Apply the same change to many issues | Slash command: `/linear-bulk` | | Find + handle stale issues | Slash command: `/linear-cleanup` | | Refresh reference data from Linear | Slash command: `/linear-sync` | | Run the curator (collect signals from external sources) | Slash command: `/linear-curator-run` |
For parallel work (e.g. 5 issues from 5 URLs), dispatch multiple agents in a single message — that's why they exist.
1. `/plugin marketplace add Elnora-AI/elnora-linear` then `/plugin install linear-workspace@elnora-linear` 2. Make sure the `elnora-linear` CLI is on your PATH: `npm install -g @elnora-ai/linear` 3. On your first Linear command, you'll be prompted for your Linear API key (get one at https://linear.app/settings/api). It's saved to `~/.config/elnora-linear/.env` (mode 0600). 4. Populate the reference files: `/linear-sync` (runs `elnora-linear sync all` — fetches teams, projects, users, workflows in one batch).
The plugin reads user-specific config from `~/.config/elnora-linear/` by default (override via `LINEAR_REFERENCES_DIR`):
Run `elnora-linear sync verify` to see which are populated vs placeholder.
1. The user's raw request, verbatim 2. Suspected team (let the agent confirm via `elnora-linear teams list`) 3. Compliance flag (see below), if any 4. Anything the user already specified (project, priority, assignee, due date) 5. **If a URL appears anywhere in the request → dispatch to `linear-url-to-issues`**, not `linear-issue-creator`
The agent handles searching for duplicates, label requirements, state matching, and asking the user about anything unclear.
The creator agent has a fast path that skips the dupe scan, project-status check, and reference reads when the dispatch already specifies team + project + priority + assignee + a clear novel title (and no compliance keywords). When you have all five, write them out explicitly in the prompt — the agent will detect the fast path and complete in roughly one CLI call instead of three.
If the request mentions any of: **incident, breach, vulnerability, CVE, pentest, penetration test, onboarding, offboarding, access provision/revoke, audit, SOC 2, change request, risk assessment, vendor review, backup test, RCA, lessons learned, DPA, DSR / data subject request** — say so in the dispatch prompt. The agent will load `references/template-index.md` and apply the matching template (`SEC-*`, `CHG-*`, `ACC-*`, `AUD-*`, `RSK-*`, `OPS-*`, `SLA-*`, `RCA-*`, `LRN-*`).
Match the model to task complexity. The agent frontmatter sets the default; override per-dispatch when the task is clearly easier or harder. Haiku < Sonnet < Opus on cost AND token usage — Opus uses **more** tokens than Sonnet for the same task, not fewer. It's a quality escalation, never a token-saving move.
| Task | Agent | Model | Why | |---|---|---|---| | Fast-path create (all fields explicit, no compliance) | `linear-issue-creator` | `haiku` | Mechanical CRUD, single CLI call | | Full-path create (ambiguous routing, dupe scan, compliance template) | `linear-issue-creator` | `sonnet` | Branching + judgment | | Single-field update (state, assignee, priority, label add) | `linear-issue-updater` | `haiku` | One CLI call, fixed flag | | Cross-team move, full description rewrite | `linear-issue-updater` | `sonnet` | Validates required labels across teams | | URL → issues extraction | `linear-url-to-issues` | `sonnet` | Real synthesis from unstructured content | | Issue completeness review | `linear-issue-reviewer` | `sonnet` | Reads description + comments + acceptance criteria | | Headless curator pass (scheduled) | `linear-state-curator` | `haiku` | Mechanical signal collection + tier dispatch | | Interactive curator dry-run / triage | `linear-state-curator` | `sonnet` | Reading curator-report.jsonl + judgment calls on MEDIUM queue |
Don't reach for Opus by default. Sonnet handles every Linear task cleanly. Only escalate to Opus if Sonnet has *actually failed* on this task type (looped, produced wrong output, gave up). If the request mentions a compliance keyword, upgrade the creator to Sonnet automatically.
When the user request is fully specified, keep the dispatch prompt short — the agent already knows the playbook. Pass through:
The full Linear API as a CLI, a Claude Code plugin, and a signal-driven hygiene curator — purpose-built for AI coding agents to create, edit, review, and curate Linear issues safely at scale.
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…