by Charonyuu
See what every Claude Code and Codex agent on your machine is doing — live, in a little office.
# Add to your Claude Code skills
git clone https://github.com/Charonyuu/whatsmyagentdoingGuides for using ai agents skills like whatsmyagentdoing.
See how whatsmyagentdoing compares with popular alternatives.
whatsmyagentdoing is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Charonyuu. See what every Claude Code and Codex agent on your machine is doing — live, in a little office. It has 51 GitHub stars.
whatsmyagentdoing's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/Charonyuu/whatsmyagentdoing" and add it to your Claude Code skills directory (see the Installation section above). whatsmyagentdoing ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
whatsmyagentdoing is primarily written in JavaScript. It is open-source under Charonyuu on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh whatsmyagentdoing against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Start the dashboard. It serves a local page and opens it in the browser. Run it in the background so it keeps running and doesn't block the chat (this skill's base directory is shown above as "Base directory for this skill"):
node "<base directory>/bin/cli.js"
If it is already running, the same command just reopens the browser tab.
To close it — /myoffice stop, or the user asks to stop / close / shut the
office down — run (not in the background):
node "<base directory>/bin/cli.js" --stop
and say it's stopped.
Then tell the user, in one line, that the office is open at the printed URL.
Requires Node.js 18+; if node is missing, say so and stop.
Options the user may ask for:
--private — hide prompts/replies, show status only (for screen sharing)--hours 4 — only sessions active in the last 4 hours (default 24)--port 5000 — different port (default 4545)--stop — stop the running dashboard--json — print a one-off snapshot instead of opening a page. Use this when
the user asks in chat what their other agents are doing: run
node "<base directory>/bin/cli.js" --json --hours 2 and summarize by status.Everything is read locally from ~/.claude/projects, ~/.codex/sessions and ~/.gemini/tmp;
the server listens on 127.0.0.1 only and sends nothing anywhere.
A Claude Code / Codex skill: type /myoffice and see what every Claude Code, Codex and Gemini CLI agent on your machine is doing — live, in a little office.

| Medium (2D) | List |
|---|---|
![]() |
![]() |
Recorded with --demo (a made-up team), so no real sessions are shown.
Easiest: ask your agent. Paste this into Claude Code or Codex:
Install the myoffice skill from https://github.com/Charonyuu/whatsmyagentdoing: clone it with
git clone --depth 1into~/.claude/skills/myoffice(for Codex:~/.codex/skills/myoffice), check thatnode --versionis 18 or newer, then tell me to start a new session and type /myoffice.
Or do it yourself:
# Claude Code
git clone --depth 1 https://github.com/Charonyuu/whatsmyagentdoing ~/.claude/skills/myoffice
# Codex
git clone --depth 1 https://github.com/Charonyuu/whatsmyagentdoing ~/.codex/skills/myoffice
Then type /myoffice (or just ask "what are my agents doing?"). The office opens in your browser. Update later with git -C ~/.claude/skills/myoffice pull.
Needs Node.js 18+. Nothing to npm install — the repo runs as cloned. Prefer no skill? node bin/cli.js from a clone works too.
It opens an isometric office. Agents that are working sit at cubicle desks: a thought bubble while thinking, typing with code scrolling on the monitor while a tool runs, standing up and waving when they need you. A handful of recently finished agents stay around off duty and wander: coffee and water in the pantry, the couch and beanbags, the bookshelf, the meeting-room whiteboard, the arcade cabinet, ping-pong and foosball (when two of them are free), the phone booth, or a nap at an empty desk. Everyone else has gone home. The windows follow your local time of day (and in Medium there's an office cat). Hover anyone to see what they're on.
Two looks: Medium is a hand-drawn 2D canvas (zero dependencies). High (3D) renders the same office with real-time lighting and shadows using Kenney's CC0 Mini Characters (with their walk / sit / interact animations) and Furniture Kit; drag to rotate, scroll to zoom. The 3D bundle (three.js, ~180 KB gzipped) and models (~1.3 MB, meshopt-compressed) only load when you pick High.
Prefer plain cards? Switch to List. Either way, each session updates in real time:
| Status | Meaning |
|---|---|
| 💭 Thinking | reasoning, or reading a tool result |
| ⏳ Running | a tool call is in flight — shows which (Bash: npm test, Edit app.ts, github · create_pr) |
| ✍️ Writing reply | started its answer, turn not finished yet |
| 🟠 Waiting for you | asked you a question / needs approval |
| ✅ Done | turn finished, with the last reply |
| ■ Interrupted / ❗ Error / – Idle |
The UI speaks English, 繁體中文, 简体中文, 日本語, 한국어, Español, Français, Deutsch and Português. By default it uses the language you write your prompts in (falling back to your browser's); pick one from the 🌐 menu to override.
In list view, sessions are grouped into Needs you → Working → Finished, with a live timer for the current turn, a copy button for the resume command (claude --resume … / codex resume …), optional browser notifications when an agent finishes, and filters for Claude / Codex / subagents. The tab title shows how many agents are working.
Works with Claude Code (CLI, desktop, IDE), Codex (CLI, desktop, IDE) and Gemini CLI — anything that writes session logs to disk. (Google Antigravity keeps its conversations in an undocumented binary store and isn't supported yet.)
-p, --port <n> Port (default 4545; next free one if taken)
--hours <n> Sessions active in the last n hours (default 24)
--no-open Don't open the browser
--private Hide prompts, replies and titles — status only (screen-share safe)
--json Print one snapshot as JSON and exit
--demo Show a made-up team instead of your sessions (screenshots, trying it out)
--stop Stop a running dashboard (or say /myoffice stop)
Running it again while it's up just reopens the tab.
No hooks, no config, no API keys. Both tools already append every message and tool call to JSONL files as they work:
~/.claude/projects/<project>/<session>.jsonl (+ subagents/)~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl~/.gemini/tmp/<project>/chats/session-*.jsonl (project paths from ~/.gemini/projects.json)whatsmyagentdoing tails those files (read-only), turns the latest event into a status, and pushes it to the page over Server-Sent Events. Set CLAUDE_CONFIG_DIR / CODEX_HOME / GEMINI_CLI_HOME if yours live elsewhere.
Privacy: nothing leaves your machine. The server binds to 127.0.0.1 only and rejects requests that aren't addressed to localhost. No runtime dependencies — read src/ in five minutes. (web/office3d.js is the 3D source; npm run build bundles it with three.js into public/office3d.js.)
MIT. 3D models in assets/kenney/ are by Kenney, released under CC0 (see the license files there).