Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add pleasedodisturb/chronoclaude/plugin install chronoclaudeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/pleasedodisturb/chronoclaude/chronoclaude-setup)<a href="https://agentmods.dev/commands/pleasedodisturb/chronoclaude/chronoclaude-setup"><img src="https://agentmods.dev/badge/commands/pleasedodisturb/chronoclaude/chronoclaude-setup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/pleasedodisturb/chronoclaude/chronoclaude-setup"><img src="https://agentmods.dev/badge/commands/pleasedodisturb/chronoclaude/chronoclaude-setup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00017 | $0.00821 |
| Opus 5 | $0.00009 | $0.00411 |
| Sonnet 5 | $0.00003 | $0.00164 |
| Haiku 4.5 | $0.00002 | $0.00082 |
Grade B, and why
chronoclaude-setup scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
1. Locate the user's current statusline configuration. Read `~/.claude/settings.json` (may not exist; may be named `settings.local.json`; project-scoped settings may be at `.claude/settings.json` in the working directory What it actually says
ChronoClaude statusline setup
Goal: help the user add the statusline-fragment to their existing statusline script and enable periodic refresh.
Steps:
-
Locate the user's current statusline configuration. Read
~/.claude/settings.json(may not exist; may be namedsettings.local.json; project-scoped settings may be at.claude/settings.jsonin the working directory). Extract thestatusLine.commandstring and any existingstatusLine.refreshIntervalvalue. -
If a
statusLine.commandis set, read the script it points to (handle leadingbash,sh, env substitutions like${HOME}or$HOME, and~). Confirm it reads stdin once into a variable (look for$(cat)or an equivalent) — the snippet assumes that. -
Print a short summary:
- The path of the statusline script being patched
- Whether
refreshIntervalis already set and its current value - The plugin root path: note that
$CLAUDE_PLUGIN_ROOTis set when the script runs as a hook, but the statusline script runs outside hook context — use the hardcoded installed path instead.
-
Print the paste-ready snippet the user can drop into their statusline script. If the script already assigns stdin to a variable named
input, use that name; otherwise suggest renaming. The fragment reads the full statusline JSON from stdin so it can see bothsession_idandmodel.id(used to blank the timer with---when the model changes). Place the snippet just before the final output assembly. Example snippet:# --- chronoclaude fragment --- idle=$(echo "$input" | node "/path/to/chronoclaude/scripts/statusline-fragment.js" 2>/dev/null || true) [ -n "$idle" ] && parts+=("$idle") # --- /chronoclaude fragment ---Substitute the actual installed plugin path (e.g.
/home/<user>/src/chronoclaudefor local installs, or the path under~/.claude/plugins/for marketplace installs).To also show the current local time from the plugin (instead of a separate
datecall), add--clockto the fragment invocation (and optionally--clock-position after). The clock renders even before any elapsed time exists, so you can drop a hand-rolleddate '+%H:%M'line and let the plugin own it.If the script does not use a
partsbash array, show a variant that appends directly to the output string instead:# --- chronoclaude fragment --- idle=$(echo "$input" | node "/path/to/chronoclaude/scripts/statusline-fragment.js" 2>/dev/null || true) [ -n "$idle" ] && result="$result | $idle" # --- /chronoclaude fragment --- -
Print the settings change to enable periodic refresh:
{ "statusLine": { "command": "<existing command>", "refreshInterval": 1 } }Tell the user to add
"refreshInterval": 1(seconds) to theirstatusLineobject in~/.claude/settings.json. Note that without it, the fragment still updates on every event (new message, tool result) but will not tick while idle. -
Do NOT modify any files. This command prints instructions only.
-
Close with a one-line test hint: start a new Claude Code session, wait a few seconds after Claude replies, and you should see the elapsed time appear in the statusline and tick once per second.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 59 lines · 17 tokens per session scan B 1ff1b227712e
chronoclaude-setup is a command published in the GitHub repository pleasedodisturb/chronoclaude (6 stars, last pushed 1mo ago), licensed MIT. It adds 17 tokens to every session and 821 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
sofa
Search and read peer-verified solutions on Stack Overflow for Agents (SOFA) — status, search, read. Read-only CONSUME phase; clean no-op when SOFA is not configured.
create-skill
Scaffold a new scaffolding-compatible skill: an interactive flow that creates skills/ /SKILL.md from the canonical template, composes a TRIGGER/SKIP description, and validates the result.
learn
Distill a finished conversation into classified knowledge candidates and propose (never auto-apply) memory writes or a new-skill hand-off. Closes the loop between a completed agent chain and the persistent memory system.
init-rules
Scaffold opt-in path-scoped nested CLAUDE.md rule files into the project to lazy-load per-area conventions while keeping routing always-loaded.
context
Analyze and optimize Claude Code's context configuration (analyze, optimize, or reset).
init-openspec
Initialize OpenSpec in a project directory with the scaffolding-workflow schema.