Claude Timings Wrapper
Description
Tracks idle, typing, and agent work time across Claude Code sessions using PTY wrapping and native hooks. Provides per-session and aggregate stats with project-level breakdowns.
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
claude-timed
Track how time is spent during Claude Code sessions: how long you're idle after the agent finishes, how long you spend typing, and how long the agent works.
How it works
`claude-timed` is a Node.js PTY wrapper that sits between your terminal and the `claude` process. It uses two mechanisms to track timing:
- Keystroke interception — The wrapper intercepts stdin in raw mode to detect when you start typing (only real text input — arrow keys, Ctrl combos, Tab, etc. are ignored).
- Claude Code hooks — Four hooks drive transitions:
- UserPromptSubmit — Fires when the user actually submits a prompt. Writes a timestamp to a temp file so the wrapper knows when the agent started working.
- Stop — Fires when the agent finishes responding. Writes a timestamp so the wrapper knows when the agent completed.
- Notification (
elicitation_dialogmatcher) — Fires when the agent enters plan mode and asks the user to confirm/adjust. The Stop hook doesn't fire in this case, so this ensures the wrapper correctly transitions to IDLE. - PreToolUse (
AskUserQuestionmatcher) — Fires when the agent asks the user a question, treating it as a stop point similar to Stop.
These signals drive a state machine:
INITIAL --(first keystroke)---------> typing started
--(UserPromptSubmit hook)---> AGENT_WORKING
AGENT_WORKING --(Stop/Notification/PreToolUse hook)--> IDLE
--(Ctrl+C)-----------------------------> IDLE (agent_interrupt)
IDLE --(first keystroke)--------------> USER_TYPING
--(Stop hook, no prior submit)---> IDLE (background_agent_stop, time counted as agent work)
USER_TYPING --(UserPromptSubmit hook)-> AGENT_WORKING
--(Ctrl+C)----------------> IDLE (typing discarded)
AGENT_WORKING + typing --(UserPromptSubmit)-> steering_submit logged, stays in AGENT_WORKING
IDLE --(120 min no activity)----------> PAUSED (session_paused; stop
Related Skills
Epic Decompose
Break an epic into task children without creating task branches.
Productivity Claude Code Terminal Title
Gives each Claude Code terminal window a dynamic title describing the work being done
Productivity N8n Skills
Enables AI assistants to directly understand and operate n8n workflows
Productivity Composio Make
Trigger and manage Make (Integromat) scenarios
Productivity Getting Help
career-ops is an open source project maintained in limited time. Here's how to get help efficiently.
Productivity Worktree Status Check
Verify the current worktree environment and show task details.
Productivity