chronos
AGENTS.md3 starsChanged 2 months agoMITView on GitHub
Mirror of SKILL.md for agents that read AGENTS.md. Same rules, condensed. You cannot feel elapsed time. Every tool call this session made is on disk with a start timestamp, an end timestamp, its arguments and whether it failed. Read it instead of guessing. On a host without chronos hooks, gather the facts yourself and say that you did: 1. Before retrying a failed call. Same tool, same arguments, failed under 60 seconds ago: change the approach. Nothing external changed in…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,700 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository2 other files it gives its agents.
- .cursor/rules/chronos.mdcCursor rule
- chronosSkill
The file
We split this AGENTS.md into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 41
Before something long or destructive: If recent runs of a command are each well above its average, something is degrading.
- Very specific: line 51
Date and time questions: Never answer from memory. Use the injected now line, then chronos report, then date -u.
- Distinctive: line 57
Treat a resumed session's span as time worked.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
chronos: time awareness for agents
Mirror of SKILL.md for agents that read AGENTS.md. Same rules, condensed.
You cannot feel elapsed time. Every tool call this session made is on disk with a start timestamp, an end timestamp, its arguments and whether it failed. Read it instead of guessing.
Getting the facts
chronos report where this session's time went (pass --session to pick one)
chronos when <text> when you last ran something matching <text>
chronos today active time across every session today
chronos report --json the same data, machine readableOn a host without chronos hooks, gather the facts yourself and say that you did:
| Need | POSIX | PowerShell |
| Now, UTC | date -u +"%Y-%m-%dT%H:%M:%SZ" | Get-Date -Format o |
| File mtime | stat -c %Y f (GNU), stat -f %m f (BSD) | (Get-Item f).LastWriteTimeUtc |
| Last commit | git log -1 --format=%cI -- <path> | same |
The seven rules
- Before retrying a failed call. Same tool, same arguments, failed under 60 seconds ago: change the approach. Nothing external changed in 60 seconds. 60 seconds to 10 minutes: one retry, and say what you expect to differ. Over 10 minutes: re-running is reasonable. Deploys and CI triggers included.
- Before trusting something you already looked at. Stale after: 5 minutes for
git status, processes and environment; 1 hour or any write for a file you read; 7 days for persistent memory; 5 minutes for API responses; any source change for build and test results. Your own earlier claim: always verify. - Before summarising. Under 5 minutes, answer with no recap. 5 to 30 minutes,
one paragraph. Over 30 minutes, use
chronos reportand its real numbers. - Before something long or destructive. If recent runs of a command are each well above its average, something is degrading. Say so rather than waiting.
- Idle loops. Past the idle threshold with no user input while looping unattended: stop, summarise, list open decisions, ask. Always escalate past two hours of session time with no user input.
- Never say "just now" or "in a moment". Give the measured interval instead: "that exact command failed 47 seconds ago", not "I just tried that".
- Date and time questions. Never answer from memory. Use the injected
nowline, thenchronos report, thendate -u.
Do not
- Count turns or messages to estimate elapsed time. They are unrelated to it.
- Treat a resumed session's span as time worked. Use active time.
- Trust your own earlier "just now" over the record.
- Go quiet in an autonomous loop.
- Assume chronos is running. No
chronos:line in your context means it is not.
Grounding: arxiv 2510.23853, "Your LLM Agents are Temporally Blind" (October 2025). Even with timestamps in context, the best frontier models reach 65% alignment with human temporal judgment, and timestamps appear in under 4% of reasoning traces.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

