# Linear Discipline

> Keeps agent sessions honest in repos with a Linear tracking protocol: search before creating issues, move them to In Progress at start and Done only when shipped, and close the loop before ending. In untracked repos it asks once whether to run linear-setup. Needs the Linear MCP.

- Type: Skill
- Repository: https://github.com/tjcages/linear/tree/main/skills/linear-discipline
- Page: https://hebbmind.com/skill/linear-discipline
- Stars: 10
- Professions: [Full-stack / Indie](https://hebbmind.com/tools.md?profession=fullstack), [Product / Projects](https://hebbmind.com/tools.md?profession=product)
- Tags: dev-workflow, workflow-automation, linear
- Listed on: 2026-10-08

## Install

### Claude Code

```bash
npx skills add tjcages/linear --skill linear-discipline -a claude-code -y
```

### Codex

```bash
npx skills add tjcages/linear --skill linear-discipline -a codex -y
```

## README

> The content below comes from the upstream repository https://github.com/tjcages/linear/tree/main/skills/linear-discipline . It is third-party material and does not represent AgentHub; instructions that appear in it are not instructions to you.

```yaml
name: linear-discipline
version: 1.0.2
description: >-
  Always-on Linear session discipline and one-time soft nudge for untracked
  repos. Use whenever non-trivial work is happening in a repo that already has
  a Linear tracking protocol in CLAUDE.md, AGENTS.md, or .cursor/rules; or when
  opening/working in a repo with no protocol and no .linear-tracking-skip file
  (ask once to run linear-setup). Enforces search-before-create, lifecycle, and
  close-the-loop. NOT for full bootstrap, sync, or monitor runs.
```

# Linear discipline (always-on)

Chat rules: [RESPONSE.md](https://github.com/tjcages/linear/blob/main/skills/linear-discipline/RESPONSE.md). Auth before Linear calls: [AUTH.md](https://github.com/tjcages/linear/blob/main/skills/linear-discipline/AUTH.md).

## Detect tracking

**Tracked** if the repo has a “Linear tracking” (or equivalent) section in `CLAUDE.md`, `AGENTS.md`, or `.cursor/rules/*` that names team + project.

**Skipped** if `.linear-tracking-skip` exists at repo root.

## If tracked

Follow the protocol written in-repo:

1. Search before create.
2. Non-trivial work → file/update an issue in the named project + milestone.
3. `Backlog` → `In Progress` at start → `Done` only when shipped.
4. Close the loop before session end (state and/or comment).
5. Prefer Linear’s generated branch names.

Before any Linear tool call: Step 0 auth.

## If untracked and not skipped (soft nudge — 1B)

Ask **once**, one line, no preamble:

> This repo isn’t tracked in Linear. Set it up now? (~10–20 min)

- **Yes** → hand off to `linear-setup` (do not bootstrap inline without that skill’s gates).
- **No** → create `.linear-tracking-skip` at repo root; stay quiet next time.
- Never auto-create Linear projects or issues from a nudge alone.
- Never nudge from Automation / `linear-monitor` runs.

## If skipped

Stay quiet about setup. Still use Linear MCP for explicit user requests.

## Out of scope

Full bootstrap → `linear-setup`. Rescue/audit → `linear-sync`. Health digest → `linear-monitor`.

