Omarchy Crook banner
parker-brown-family parker-brown-family

Omarchy Crook

Development community

Description

Crook — which coding agent needs you, on the Omarchy bar. One icon that goes urgent the moment something is waiting on you, and a tray that says who.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Crook

**Which coding agent needs you, on the Omarchy bar.**

A shepherd's crook is the tool for singling one animal out of a flock, which is the whole job here. [herdr](https://herdr.dev) already knows which of your agents is blocked; your desktop does not. Crook is one bar icon and one tray: the icon goes urgent the moment anything is waiting on you, and the tray says who.

Crook
1 waiting on you · 2 working

NEEDS YOU
  ‖  claude · waiting on you
     w2  refactor the detection manifests

RUNNING
  ▶  codex · working
     w1  addev decision record
  ▶  claude · working
     w3  omarchy-crook

Every agent is a row you can act on. Click one and you land in that pane, with the terminal window raised. Right-click the bar icon to go straight to whatever is waiting, without opening the tray at all. The whole thing leaves the bar when herdr is not running.

![The Crook tray: two agents idle, nothing waiting on you](docs/tray.png)

![The bar icon on the Omarchy bar — the crook, calm, with nothing blocked](docs/bar.png)

What it is not

Omarchy already ships `omarchy.agents`, which is about **spend** — rate limits, token meters, pace. Crook is about **attention**. They sit next to each other and answer different questions.

How it works

Two halves, one file, no daemon.

herdr server
    │  [[events]] pane.agent_status_changed
    ▼
crook-sync.sh  ──writes──▶  ~/.local/state/omarchy/crook/crook.json
                                      │  FileView
                                      ▼
                            Panel.qml     (pure display)

The herdr half subscribes to herdr's own events and writes a small JSON file. The Omarchy half draws whatever appears in that file — the same shape `omarchy.agents` uses to display the records `omarchy-agent-usage-update` writes. Neither half imports the other, and either one runs fine with the other missing.

Content updates are event-driven, so the icon changes the instant an agent does. One thing is polle