Claude Ps — Development skill for Claude Code
One line per running Claude Code agent, joined to its zellij pane.
How to install Claude Ps
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open lorenzolfm/claude-ps and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Claude Ps does
One line per running Claude Code agent, joined to its zellij pane.
Alternatives in Development
- Fix Py Line Too Long 71.9k ★
- GenericAgent — Self-evolving agent: grows skill tree from 3.3K-line seed, achieving full system control with 6x less token co 6.1k ★
- Mass Line 3.7k ★
README
claude-agents
`claude-agents` prints one line for each running Claude Code agent. Each line carries what the agent is doing and the zellij pane it is doing it in.
The problem
Claude Code writes `~/.claude/sessions/.json` for each running agent. The file carries the agent's status, its working directory, and the time the status was set. It says nothing about zellij.
The agent's own environment carries `ZELLIJ_SESSION_NAME` and `ZELLIJ_PANE_ID`. It says nothing about what the agent is doing.
The two halves share one thing: the process id. `claude-agents` joins them.
Output
One agent per line, TAB-separated, in a fixed column order:
status age session pane name pid session_id started_at cwd
| Column | Content |
|---|---|
status |
whatever Claude reports, verbatim |
age |
whole seconds spent in that status |
session |
ZELLIJ_SESSION_NAME, or - if the agent is not in zellij |
pane |
ZELLIJ_PANE_ID, or - likewise |
name |
Claude's own derived name, not the zellij session name |
pid |
the process id, and the key the two halves are joined on |
session_id |
Claude's session uuid, matching its transcript |
started_at |
epoch seconds the session began, or 0 if unknown |
cwd |
last, and the only field that may contain whitespace |
$ claude-agents
waiting 35 work 0 work-f8 3318865 b08aacbc-… 1755000000 /home/you/Projects/work
idle 5238 notes 1 notes-e1 3132891 f8f9b7ea-… 1754913000 /home/you/notes
busy 13 - - scratch-2c 3129839 52b7681e-… 1755004000 /home/you/scratch
The third agent is not in zellij, so both join columns are `-`.
`age` and `started_at` are not the same question
`age` is a duration in the current status; `started_at` is an absolute time the session began. A consumer needs both, because **a session that has just launched and one that has just finished a turn are both `idle` with a small `age`** — and a status bar that cannot tell them apart nags you a
Related Skills
Herdr Reviewr
Review your coding agent's diff in a terminal pane and send line comments back to Claude Code, Codex, OpenCode
Zellij Claude Teams
Use Claude Code Agent Teams inside Zellij — a tmux shim that translates tmux commands to zellij actions
Agent Ding
Ding when your coding agent finishes — modular notifications, Zellij layouts, shell helpers
Exo Mesh
See the whole relationship, not the fragment one inbox remembers. Mail, calendar, iMessage and contacts joined
Tracker Brief
Inbound digest for this project since the last run — tracker activity, PRs awaiting you, CI, worktrees, resume
State Analyzer.Cn
你是 Omux 的终端状态分析器。你分析一个运行编码 agent 的 tmux pane 的捕获内容,判断其当前状态。
Related Agents
Mod Builder
Creates and changes Claude Code mods — plugins of function hooks behind a pane, band, status line, slash comma
Independent Reviewer
Product-technical alignment reviewer. Spawned in a tmux pane via OpenAI Codex CLI with zero inherited context.
Adrian
Blocks until a tmux pane is done (pattern match, shell idle, or output idle). Use for any wait that takes more