scarrillo/agent-plugins/tree/main/where-were-we
where-were-we
트랜스크립트의 프롬프트에 시간을 기록하고, 푸터에 위/아래 프롬프트 이동을 추가하며, 프로젝트의 마지막 세션이 어디에서 끝났는지 정리하는 Claude Code mod입니다.
이 mod 소개
where-were-we는 트랜스크립트의 프롬프트에 타임스탬프를 찍고 푸터에서 위/아래 화살표로 프롬프트를 이동하게 하며, /where-were-we 명령으로 최근 프롬프트를 나열하고 이동하고 프로젝트의 이전 세션이 어떻게 끝났는지 claude --resume 명령과 함께 정리하는 Claude Code 플러그인입니다. 시작할 때 마지막 세션을 요약한 인사 토스트도 표시합니다. 설정(개수, 순서, 인사말)은 ~/.claude/ 아래 mod 전용 JSON 저장소에 유지됩니다. Claude Code 2.1.288+와 프롬프트 이동에 필요한 전체 화면 레이아웃이 필요합니다. /plugin marketplace add scarrillo/agent-plugins 및 /plugin install where-were-we@scarrillo로 설치합니다. Mod는 로컬 세션 트랜스크립트와 Claude Code 프롬프트 기록만 읽고 네트워크로 아무것도 보내지 않으며 settings.json을 수정하지 않습니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add scarrillo/agent-plugins claude plugin install where-were-we
원문 / README
where-were-we
A Claude Code mod that timestamps your prompts in the transcript, lets you jump back through them, and recaps where your last session in a project left off.
Install
/plugin marketplace add scarrillo/agent-plugins
/plugin install where-were-we@scarrillo
Requirements
- Claude Code 2.1.288 or later. Mods use Claude Code's function-hooks API, which is early access and can change between releases.
- Jumping to a prompt (footer arrows, clicking a list line) needs the fullscreen layout.
Features
- Prompt rows show when you sent them:
12:21:00 ❯ my promptfor today,2026-10-02 18:04:11 ❯ …for older prompts. Wrapped lines stay aligned under the prompt text. - Footer:
↑ ↓at the end of the hint line under the prompt. ↑ and ↓ step through your prompts; while navigating it shows your position (↑ ↓ 2/7). Sending a prompt resets it. /where-were-welists your 6 most recent prompts, newest at the bottom; click a line to jump to that prompt./where-were-we count [n]shows or sets how many prompts the list shows (1–50)./where-were-we order [chron|reverse]shows or sets the list order:chronputs the newest last (the default),reverseputs it first./where-were-we up | down | neweststeps like the arrows, from the keyboard (works mid-turn)./where-were-we lastrecaps how the previous session in this project ended: its final prompts (same count and order) and theclaude --resume <id>command to pick it up. It reads Claude Code's prompt history (~/.claude/history.jsonl), skipping slash and!commands, and never reads pasted content.- Startup greeting: when you start a fresh session in a project, a toast says how the last one ended:
Last here yesterday 18:04: "run the tests" · /where-were-we last. Not on--resume/--continue,/clearor compaction, and not inclaude -p. /where-were-we greeting [on|off]shows or sets whether the startup greeting appears (on by default)./where-were-we statusprints the mod's state and recent log lines for troubleshooting.
The count, order and greeting setting are kept in the mod's own store (a JSON file of its own under ~/.claude/), not in settings.json, and last across sessions.
Prompts sent while the mod is loaded are stamped as they're stored. Prompts from before (a --resume, or the mod enabled mid-session) and prompts queued mid-turn are read from the session's transcript file.
What it reads and runs
A mod runs with your permissions, so here is everything this one touches:
- This session's transcript (
~/.claude/projects/<project>/<session>.jsonl), filtered withgrepto the lines that can be your prompts, to recover their times. - Claude Code's prompt history (
~/.claude/history.jsonl), filtered withgrepto this project's lines, for/where-were-we lastand the startup greeting. Only the prompt text (display) is read, never pasted content. - Its own store, a JSON file under
~/.claude/, for the count, order and greeting settings.
It writes nothing else, sends nothing over the network, and never changes your files or settings.json. Run claude plugin validate <path> on the mod to see every hook it registers and every API it calls.
Limitations
- Jumping scrolls the transcript only in the fullscreen layout. On the main screen the history is the terminal's own scrollback, which a mod can't move.
- A row drawn as time-only today keeps that form past midnight until it redraws.
- The prompt list matches listing lines to prompts by second and text, since a command's output row carries no ids. A line that can't be matched draws dim and isn't clickable.
