The same sequence of commands, typed across sessions, weeks apart, by hand. Nobody notices, because each time it only costs two minutes.
The history knows. This is the one idea here where the output is not knowledge but a tool.
Shape
$ deja repeat
run 14x across 9 sessions:
go test ./internal/index/ -count=1 -cover
go tool cover -func=/tmp/idx.cov | tail -1
→ deja repeat --script coverage writes scripts/coverage.sh
run 11x: gh pr checks $N; gh pr merge $N --squash --delete-branch
And the higher-value variant: emit it in the shape the harness already understands — a Claude Code skill, an AGENTS.md snippet, a slash command — so the automation is available to the agent, not just to the shell.
Why us
It needs the command record across sessions and across agents. A per-agent tool sees a fraction; shell history sees commands but not what they were for, and not the ones the agent ran itself.
Hard parts
- A repeated command is not automatically worth automating.
git status runs a thousand times. The unit is a sequence with a stable shape and a purpose, which is a harder pattern than frequency.
- Paths and arguments vary between runs; turning those into parameters is the difference between a useful script and a broken one.
- Generated scripts that fail are worse than no scripts. This should propose, never install.
Depends on
#539 — recognising command runs and their output inside sixteen transcript formats is the shared foundation. If that does not work, this does not either.
Kill condition
Mine my own corpus and look at the top ten proposals. If they are dominated by single ubiquitous commands rather than meaningful sequences, the pattern detection is not there.
The same sequence of commands, typed across sessions, weeks apart, by hand. Nobody notices, because each time it only costs two minutes.
The history knows. This is the one idea here where the output is not knowledge but a tool.
Shape
And the higher-value variant: emit it in the shape the harness already understands — a Claude Code skill, an
AGENTS.mdsnippet, a slash command — so the automation is available to the agent, not just to the shell.Why us
It needs the command record across sessions and across agents. A per-agent tool sees a fraction; shell history sees commands but not what they were for, and not the ones the agent ran itself.
Hard parts
git statusruns a thousand times. The unit is a sequence with a stable shape and a purpose, which is a harder pattern than frequency.Depends on
#539 — recognising command runs and their output inside sixteen transcript formats is the shared foundation. If that does not work, this does not either.
Kill condition
Mine my own corpus and look at the top ten proposals. If they are dominated by single ubiquitous commands rather than meaningful sequences, the pattern detection is not there.