linear-bulk
CommandApply the same change to many Linear issues at once. Dry-run by default.
Audit Linear issues for problems (missing labels, stale, duplicates, wrong state, orphaned, unactionable) and propose fixes
> /plugin marketplace add Elnora-AI/elnora-linear> /plugin install linear-workspace@elnora-linear
name: linear-cleanup description: Audit Linear issues for problems (missing labels, stale, duplicates, wrong state, orphaned, unactionable) and propose fixes argument-hint: "<scope: all | team key | project name>" allowed-tools: Bash, AskUserQuestion, Read
Audit Linear issues in **{{scope}}** and propose fixes. Walks six checks, summarizes findings, and asks per-category before any mutation. All `elnora-linear` mutations default to dry-run — explicit `--yes` is required to commit.
elnora-linear issues list --team "<scope>" --limit 100 --output json \
| jq '.[] | select((.labels // []) | map(.name) | any(startswith("Type:")) | not)'For each issue missing the team's required label prefixes (see `references/label-policy.json` or `elnora-linear teams get <key>`), suggest labels from title/description keywords. Repeat the `startswith` check for every required prefix on the team (`Layer:`, `Source:`, etc.).
elnora-linear cleanup --team "<scope>" --inactive-days 30 --action comment --output text
Dry-run by default. Offer: comment / close / cancel / skip. Apply chosen action with `--yes`.
elnora-linear issues list --team "<scope>" --limit 200 --output json
For each pair of issues with >70% title similarity, surface them as candidates. Suggest `elnora-linear relations create --type duplicate-of` or merge.
elnora-linear projects list --team "<scope>" --output json elnora-linear issues list --team "<scope>" --limit 200 --output json
Cross-check each issue's state against its project's status (a `Completed` project shouldn't have `In Progress` issues; a `Backlog` project shouldn't have `In Progress` issues). Flag mismatches.
elnora-linear issues list --team "<scope>" --limit 200 --output json \ | jq '.[] | select(.project == null)'
For each orphan, suggest the most likely project based on title/description vs `elnora-linear projects list --output json`.
elnora-linear issues list --team "<scope>" --limit 200 --output json
Flag any issue where: description is empty or < 50 chars, no acceptance criteria, or the title is vague (e.g. "fix it", "thing broken"). Offer a rewrite via `linear-issue-reviewer` or archive.
1. **Run all six checks** — print a summary table: category, count, severity. 2. **For each non-empty category** — show the matching issues with proposed fixes; use `AskUserQuestion` to offer:
3. **Execute** the chosen action via `elnora-linear issues update <ID> --labels "..."`, `… --state "..."`, `… --project "..."`, etc. Every mutation goes through the standard CLI gates (no permanent deletes without `--yes`). 4. **Report** — fixed count, archived count, flagged-for-manual-review count.
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.
Apply the same change to many Linear issues at once. Dry-run by default.
Run the curator — collect signals from configured signal sources and report
List Linear issues assigned to you, grouped by state
Search Linear issues by keyword, team, assignee, state, or priority
Populate or refresh the Linear reference files (teams, projects, users, workflows)
Shortcut for "continue working" — pick the work in flight back up exactly where it stopped and keep going until it is done or…