agterm-archive
Park a whole agterm workspace on disk and bring it back later — snapshot its sessions, order, cwds, splits and each pane's claude session id, close it, and recreate it with every claude resumed where it left off. For workspaces that are done for now but not done for good.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- agterm-archive
- description
- Park a whole agterm workspace on disk and bring it back later — snapshot its sessions, order, cwds, splits and each pane's claude session id, close it, and recreate it with every claude resumed where it left off. For workspaces that are done for now but not done for good.
- when_to_use
- Trigger on: agterm-archive, /agterm-archive, "archive this workspace", "close the workspace but remember it", "bring the workspace back from the archive", "get this project out of the terminal", archive a workspace, restore an archived workspace, park a project.
- allowed-tools
- [ "Bash" ]
02 资源文件 1
- 其他agterm-archive28.1 KB
03 SKILL.md 正文
agterm-archive
Only inside agterm. Session ids come from the agterm-backup capture hook — without it an
agent pane comes back as a plain shell. Claude and Codex panes are both handled; the
restore types claude --resume <id> or codex resume <id> accordingly.
agterm-archive archive [workspace] # snapshot + close a whole workspace (default: active)
agterm-archive session [target] # snapshot + close ONE session (default: active)
agterm-archive list # what is parked, both kinds
agterm-archive restore <name> # recreate it, resume the agents
agterm-archive drop <name> # forget an archive
agterm-archive install # add the palette entries (cmd+ctrl+a>a / cmd+ctrl+a>r)
agterm-archive uninstall # remove them
install writes ~/.local/bin/agterm-archive and a managed block in
~/.config/agterm/keymap.conf with two custom commands: Archive workspace
(cmd+ctrl+a>a, archives the workspace the cursor is in, passing $AGT_WORKSPACE_ID) and
Archive session (cmd+ctrl+a>s, archives just the session under the cursor) and
Restore archive (cmd+ctrl+a>r, lists both kinds in agterm's native fuzzy picker — rows
read workspace: name / session: workspace / name — and restores the pick). The wrapper resolves the newest installed copy of the skill at call
time, because the plugin cache path carries a commit sha.
The plugin's bin/ is on PATH inside a Claude Code session, so run it by name.
Workspace archives live in ~/.agterm-backup/archives/<name>.json, single sessions in
archives/sessions/<workspace>--<session>.json, the run log in
~/.agterm-backup/archive.log — palette commands print nowhere else.
archiverecords every session's name, cwd, title, order, split (axis + ratio) and, per pane, the claude session id plus its launch flags. Thenagtermctl workspace delete. It refuses to archive the workspace it is running in — that would kill the caller — and warns when a claude pane has no captured id.--keepsnapshots without closing. A name that is already archived is saved as<name>_1,_2, … (the restored workspace or session keeps its original name);--forceoverwrites instead.sessionarchives one session out of a workspace the same way, and remembers which workspace it came from.restoreputs it back there, creating the workspace if it is gone. Same refusal to close the session it is running in, same--keep/--force.restorerecreates the sessions in order (session new --workspace-name … --create-workspace), re-opens each split at its old ratio, and typesclaude --resume <id> <flags>into each pane that had one.--no-bootleaves plain shells;--keepkeeps the archive file (otherwise a successful restore consumes it);--forcerestores into an already-open workspace.- After booting a claude,
restorewaits for its "resume full session as-is / from summary" question and answers 2 (full session) — the same reason you restored it.--answer-choice 1/--no-answerchange that. - Non-claude panes come back as shells in the right cwd. Whatever process they ran is gone — a snapshot is not a checkpoint.
This is a separate concern from agterm-backup: that one covers what is currently open
across a restart, this one covers what you deliberately closed. A restored workspace is
live again, so the hook re-records it and backup picks it up from there.
04 同仓库更多 Skills
yt-dub
Give a YouTube video Yandex's Russian voice-over (the Yandex Browser / voice-over-translation one) at any length — including past Yandex's 4-hour limit — and mux it into the best video YouTube serves, with the original sound kept as a second track; optionally drop the result into Plex on SugarDaddy. Also when only the translated audio is wanted.
codex-proxy
Run an OpenAI-compatible Chat Completions endpoint on localhost that spends the user's ChatGPT/Codex subscription instead of an API key — for apps that take a Base URL, API key and model id (dictation post-processing, editors, scripts). Install it as an always-on LaunchAgent, check its status, print the key, try a request, or debug a failing app.
revdiff-ru
Review a diff in revdiff with everything except the code translated into Russian, line numbering preserved 1:1 so annotations map back to the real files. One command does the translation; then /revdiff:revdiff opens the result.
peer-chat
A prompt starting with "Chat from Codex:" is a peer message: answer it only through peer-chat.py, never in your own output. Also use when the user says "chat with codex", "talk to codex", "work with codex", "do this with codex", "build this with codex", "discuss this with codex" (the agent in the other pane of this agterm split). Not for a one-shot task handed off, and not for a read-only second opinion.
memory-review
Use when an agent memory directory has grown large enough that nobody remembers what is in it, when memories look stale or contradictory, when the same fact seems to live in both memory and a CLAUDE.md, or when the user asks to review, prune, audit or clean up their memories. Also use before retiring a project whose memories should move somewhere else.
decomment
Strip the noise comments an AI agent left behind on a branch — the ones that restate the code line by line or narrate the change as a story ("was X, now Y", "added a guard here"). Git holds the history and the code holds the present; only genuinely non-obvious comments survive.