⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
night-shift
Unattended overnight runs: while the user sleeps or is away for hours, the agent works through a written to-do list on its own — self-paced /loop wake-ups, one item at a time, sub-agents for the legwork, evidence and a commit for every 'done', the most conservative default for anything it would have to ask about, and a five-part report in the morning. 夜间无人值班:用户睡觉或离开几个小时,让 agent 按一份待办清单自己推进——/loop 自定节奏、一次一项、子代理分工、每项有证据和提交、要拍板的事先用最保守的默认值、早上交五段式报告。用户说「我要睡了 / 出门几小时,你自己接着做」「挂一晚上」「夜间值班」时使用。
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
// README
🎮 Offline Game Revival
An AI agent skill that brings shut-down mobile games back to life — fully offline, on a real phone.
When the servers die, the game shouldn't.
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Español · Português · Français · Deutsch · Русский · Tiếng Việt · Bahasa Indonesia
Every year, hundreds of mobile games shut down. The APK still sits on players' phones — but without the server it can't log in, can't load a save, can't do anything. Years of stories, characters and memories become unreachable.
Offline Game Revival is a battle-tested playbook packaged as an Agent Skill. Point your coding agent (Claude Code and other agents that read SKILL.md) at a dead game's APK, and it knows how to turn it into a standalone memorial edition: install the APK, play the whole game, no network, no root, no PC, no runtime injection.
✨ What's inside
| 🩺 Can it be saved? | Before any patch, answer three questions within half a day: are the game's rules on the phone, is the game itself inside the APK, and how much server-side data can be recovered. Story, idle and card games usually can be saved; games whose battles are computed on the server, or that download the game itself after first launch, usually can't. |
| 🔍 Recon | Unpack the APK, find the real logic layer (Lua / JS / C# transpiled), identify encryption and resource-integrity checks. |
| 🧩 Anchor-asserted patching | One build entry point. Every code replacement asserts its anchor — if the upstream package changes, the build fails loudly instead of shipping a silently broken patch. |
| 🖥️ Local fake server | Intercept the HTTP/JSON layer and answer hundreds of endpoints from a local save. A methodology for mapping every endpoint's caller and what it reads, then generating safe defaults. |
| 📦 Repack & re-sign | Recompute engine cache checksums, rebuild resource tables, zipalign, sign. Includes a reverse-engineered cache-checksum algorithm and loader patches for LayaAir native. |
| ✅ On-device acceptance | "The screen opens" ≠ "it works". State must actually change and survive a cold restart. Tutorial-driven testing: follow the game's own guide steps with real taps. |
| 🎞️ Data rescue from screenshots & recordings (new) | Server-side numbers (shop prices, gacha rates, rewards, card stats) die with the server. scripts/harvest.py turns tens of GB of player screenshots and screen recordings into a few hundred KB of categorized text — keyframes → near-duplicate removal → local OCR → per-screen grouping — fully offline, zero tokens, then scripts/llm_structure.py batches it through DeepSeek / OpenAI / Qwen / Kimi / local Ollama into merged JSON + CSV. |
| ⏩ Time-travel tests (new) | scripts/timewarp runs your fake server in a sandbox with a virtual clock: fast-forward days, restart the app, and audit every reward — if a response says "+50 gems" but the save didn't change, it fails. Simulate 30 days of play in a second and see on which day each gate becomes reachable. Zero dependencies. |
| 🤝 Any agent, any model (new) | Works with Claude Code, Codex, Cursor, Copilot, OpenCode, Gemini CLI… via SKILL.md + AGENTS.md. Ships scout / worker / verifier sub-agent roles so an expensive model makes the calls and cheap ones do the legwork. No agent at all? Paste prompts/chat-playbook.md into DeepSeek / ChatGPT and run the commands it gives you. |
| 📚 Failure ledger | 100 KB of real pitfalls: symptom → root cause → fix. Crashes from start-up races, UI that silently moved off-screen, pooled XHR objects "poisoned" by fake responses, saves that never hit disk… |
🏆 Proven on real games
The playbook was distilled from reviving four commercial mobile games whose servers shut down:
- Case A — Unity + Lua: full single-player memorial build, verified on a physical Android 14 phone.
- Case B — LayaAir native + JavaScript: 315 server endpoints reimplemented locally, 700+ regression assertions, all major systems (story chapters, battles, gacha, pets, dating, tower, events) clicked through on a device.
- Case C — Unity micro client (Mono + SLua): the APK held only about a quarter of the game's resources; the rest came from a player's phone backup. Half-encrypted Mono assemblies, a packer shell, and a local server written entirely in Lua.
- Case D — native Kotlin + Live2D, AI character chat: the core feature, chatting with the characters, ran on the publisher's server-side LLM. Chat now goes to the player's own OpenAI-compatible API or a local model, kept in character by cards and sample lines taken from the game's own script; with no model set up, characters reply with their original voiced lines.
A fifth game was dropped after half a day: the game itself was downloaded after first launch, and that download died with the server.
All four case studies are included (anonymized) in references/.
💸 What it cost
Most of the work was done with Claude Code on a subscription. To give a sense of scale, here is the token usage from the local session logs (sub-agents included), converted at Anthropic's public API prices. That is a conversion, not what was actually billed.
| Case | Calendar days | Tokens | At API list price |
|---|---|---|---|
| A — Unity + Lua | 18 | 7.4 B | ≈ $2,140 |
| B — LayaAir native + JS | 9 | 2.6 B | ≈ $720 |
| C — Unity micro client (Mono + SLua) | 5 | 2.3 B | ≈ $620 |
| All game-revival work (A + B + C, plus one day of recon on the game that was dropped) | 12.4 B | ≈ $3,500 |
The table counts Claude only. With the Codex phase below added, the total is about $3,900.
- 98.5% of the tokens are cache reads: every turn, the model re-reads the conversation so far, and that is billed at a small fraction of the normal input price. The text the model actually wrote is only about 35 M tokens. (Both figures are measured over all Claude usage in the same period, 14.1 B tokens, not per case.)
- Case A started with about 10 days in Codex, backed by DeepSeek V4.1 Flash and GPT-6 Astra: about 2.25 B tokens, ≈ $420 at list price. DeepSeek took about 2.0 B tokens for only ≈ $27–54 (off-peak to peak price); GPT-6 Astra took about 0.26 B tokens for ≈ $387.
- Counted up to 2026-10-25.
🚀 Install
Claude Code (plugin marketplace)
/plugin marketplace add Cynthia-wlan9509/offline-game-revival
/plugin install offline-game-revival@offline-game-revival
Any agent that supports Agent Skills (Claude Code, OpenAI Codex, Cursor, GitHub Copilot, OpenCode, Goose…) — copy the folder into that agent's skills directory:
git clone https://github.com/Cynthia-wlan9509/offline-game-revival
cp -r offline-game-revival/skills/offline-game-revival ~/.claude/skills/ # Claude Code
cp -r offline-game-revival/skills/offline-game-revival ~/.codex/skills/ # Codex
Other agents read AGENTS.md, which points them to the skill. Sub-agent roles are in agents/.
Chat only (DeepSeek / ChatGPT / Kimi web) — paste prompts/chat-playbook.md
// HOW IT'S BUILT
// FILES
3 files shipped with this skill. Inline text is the catalog copy. The upstream link is the source repository.
skills/night-shift/SKILL.md9.4 KB9d7eac697711upstream ↗
--- name: night-shift description: "Unattended overnight runs: while the user sleeps or is away for hours, the agent works through a written to-do list on its own — self-paced /loop wake-ups, one item at a time, sub-agents for the legwork, evidence and a commit for every 'done', the most conservative default for anything it would have to ask about, and a five-part report in the morning. 夜间无人值班:用户睡觉或离开几个小时,让 agent 按一份待办清单自己推进——/loop 自定节奏、一次一项、子代理分工、每项有证据和提交、要拍板的事先用最保守的默认值、早上交五段式报告。用户说「我要睡了 / 出门几小时,你自己接着做」「挂一晚上」「夜间值班」时使用。" metadata: short-description: 夜间无人值班推进待办 --- # 夜间值班(Night Shift) 用户要睡觉或离开几个小时,想让 agent 在没人回答问题的情况下,自己把一份待办清单往前推。这套机制在 case C(一个停服手游的离线化项目)上跑过两整晚:开跑前人做两分钟检查,之后 agent 自己醒来、干活、记账、停下、写报告。 值班的人不叫醒老板,但每一笔都记在账上。 它不绑定游戏项目。只要有一份待办清单、每项能自动验证(测试、模拟器、截图、日志),就能用。 ## 怎么开始 1. 把 [`templates/NIGHT-RUN.md`](templates/NIGHT-RUN.md) 复制进项目(建议 `docs/NIGHT-RUN.md`),把所有 `<占位>` 填掉,尤其是「绝对不做」一节。 2. 人过一遍下面的「开跑前检查」。 3. 在项目的会话里输入,**不给间隔**,让 agent 自己定节奏: ``` /loop 读 docs/NIGHT-RUN.md 并严格按它执行;每次醒来都重新读一遍它 ``` 之后不用管,回来看 `docs/NIGHT-REPORT.md`。 `NIGHT-RUN.md` 是指令本身。运行时 agent 自己写三个状态文件:`NIGHT-PLAN.md`(计划表,每项一行带状态)、`NIGHT-LOG.md`(一行一件事,带时间)、`NIGHT-REPORT.md`(停止前写的报告)。每次醒来都从这些文件恢复进度,不靠对话记忆,所以上下文被压缩也不会丢进度。 ## 开跑前人做的检查(两分钟) - **权限模式是 auto。** 不是的话,一个确认框就能把整晚卡死。 - **主会话模型**用平时的主力模型,不用最贵那档:整晚大部分是体力活和等待,最强模型的判断优势体现不出来,额度却烧得最快。子代理用便宜的:scout 用最便宜的,worker 用中档。 - **设备**:测试设备开着、在线;别的项目或用户自己在用的设备拔掉,或者在 `NIGHT-RUN.md` 里写明不许碰。 - **电源**:电脑插电。防睡眠 agent 自己会调,但合盖之类的操作要人自己避免。 - **git 基线**:项目最好已经是 git 仓库、工作区干净;不是的话 agent 第一次醒来会 init 并做基线提交,之后每晚都有能回退的点。 ## 机制 **每次醒来的固定步骤**(按顺序,不跳): 1. 读 PLAN 和 LOG 最后几十行,弄清上次做到哪;查有没有子会话、子代理或后台命令还在跑。只读 PLAN 引用到的文档章节,不重读大文件。 2. 调 keep-awake,防止电脑睡眠。 3. 查额度。低于阈值(默认 15%)就只做收尾。 4. 查设备在线;不在线按 `NIGHT-RUN.md` 写的办法拉起,两次不行就只做不需要设备的事。 5. 看本地时间,过了截止时间就进停止流程。 **第一次醒来**:建基线(需要时 `git init`、写 `.gitignore`、基线提交),在 LOG 第一行记下开始时间、额度、基线哈希和设备;再从项目的状态文档生成 PLAN。每项写:优先级、做什么、完成标准(状态真的变了,而且重启后还对)、涉及文件、验证方式。排序:先验证「已写未验证」的,再做收益大且独立的新东西,依赖外部条件的放最后。 **执行规则**: - 一次只开一项,PLAN 里同时只有一项 in_progress。 - 按分工派活:大范围搜索、读长日志、通读反编译产物给 scout;规格已定的实现、补测试、批量改表给 worker;主会话只做判断、定规格、收货和上设备验证。几次工具调用能做完的小活自己做,不拆。 - 派活要写全:目标、背景(文件和行号)、只许改哪些文件、完成标准、交付格式、时限。收货时自己重跑测试、抽查 diff、确认没越界改文件;子代理说「完成了」不算数。 - 并行会话最多两个,只给互不依赖、文件不重叠的实现项。构建脚本、补丁入口、存档结构和这几个状态文件只有主会话能改。 - 验收必须有证据:截图、日志片段或存档 diff,放进 `<证据目录>/<日期>/<事项>/`,路径写进 LOG。没证据就写「已实现,待验证」。 - 同一项连续失败两次,或在它上面耗了一小时,就标 blocked,LOG 里写现象、日志路径和猜测,换下一项。不在一个坑里转圈。 - 每完成一项提交一次,提交信息写清验证状态;新踩的坑追加到项目的坑记录。 - 省上下文:长输出先落盘再让 scout 摘要;大文件不整读;给子会话的 brief 自己写全,不写「见上文」。 - 需要用户拍板的事(资源来源、数值取舍、砍不砍功能、账号和协议):选最保守的默认值继续,记进报告的「待你决定」,不停下来等。 **绝对不做**:模板里是一张按项目填空的清单。至少要写:不碰哪些设备、不用哪些清数据或卸载类命令、哪些目录不许删、不 push 不发布不上传、不改系统设置、子会话上限和不许用的模型、不写「应该没问题」。改用户自己的数据之前先备份,确认备份在了再动。 **停止条件**(任一满足就停 loop):PLAN 全部 done 或 blocked;额度低于阈值;连续三次醒来没有任何事项状态变化;到了截止时间。 **报告**五段,每段要短: 1. 已验证:事项、证据路径、提交哈希 2. 已实现未验证:为什么没验上 3. 阻塞:现象、日志路径、猜测、建议用户怎么查 4. 待你决定:每条写出用了哪个默认值、备选是什么 5. 额度消耗、回来能直接用的产物路径、所有子会话和子代理的名字与状态 **醒来间隔与 noop**:有子会话、子代理或后台命令在跑时,只定一个 1200 秒左右的兜底唤醒,主要靠它们的完成通知叫醒;没有在跑的,做完一项马上做下一项,不为「看一眼」而醒。每次调 `ScheduleWakeup` 都如实填 noop:有事项状态变化才填 false。连续的 noop 会在界面上折叠成一串,用户一眼就能看出它在空转。 ## 依赖的环境 下面这些都是 Claude Code 桌面版提供的能力。换到别的环境时缺哪个,按表里的办法退化。 | 能力 | 用来做什么 | 缺了怎么办 | |---|---|---| | `/loop`,不给间隔 | agent 自己决定下次什么时候醒 | 用固定间隔(如 `/loop 20m …`),或外部定时任务定时发同一句提示 | | `ScheduleWakeup` | 安排下次醒来、标 noop、停止循环 | 同上;要停时在 PLAN 顶部写 `stopped`,之后每次醒来读到就直接结束 | | `request_keep_awake` | 防止电脑睡眠 | 开跑前人手动关掉睡眠 | | `get_usage` | 查剩余额度、决定是否收尾 | 开跑前人看一眼额度,在 `NIGHT-RUN.md` 里用「最晚几点 / 最多几项」代替额度阈值 | | `start_session` | 开并行会话 | 退化成子代理 | 纯命令行版本里不能开并行会话:把并行实现项交给后台跑的 worker 子代理,其余规则不变(文件不重叠、最多两个、brief 写全、收货自己验)。另外,从自动唤醒的回合里开会话可能被应用拒绝;case C 两晚实际都只用了子代理。被拒一次就直接退化,不要反复重试。 ## 两晚跑出来的经验 - **子代理会卡住。** 一个 scout 跑了 `cat > 文件` 却没给输入,一直在等标准输入;一个 worker 早上 8 点多开工、下午 1 点才交,中间多半在空等。每次醒来查一遍后台任务,超过时限的停掉;主会话手里已经有上下文的活,自己做更快。 - **开始时就记额度。** 第一晚开头没记,早上报告算不出这一晚用了多少。 - **用了用户自己的数据就要还原。** 测试时换掉了用户的存档:先备份、记哈希,停止前逐字节还原,再释放共用设备的登记。 - **用户中途改规矩要落到文件里。** 用户半夜醒来说「手机也可以用」「继续,别停」,就在 PLAN 里加一个带时间的新段落,原话照抄;不要自己推断「那别的应该也可以」。 - **随机点击压测(Android `monkey`)要限定包名,并关掉轨迹球和导航键事件**:`-p <包名> --pct-trackball 0 --pct-nav 0 --pct-majornav 0 --pct-anyevent 0`。模拟器上这些事件会触发系统语音搜索,没有应用接手,把系统进程弄崩,看起来像游戏闪退。 - **「已验证」只放有证据的。** 证据目录按事项编号,报告里直接给路径,用户早上能一项项点开看。 ## 效果(case C) - 第一晚 4 小时 25 分钟:模拟器上验证了 11 项,每项都有截图或日志和一次提交;派了 5 个 worker;结束时 5 小时额度窗口显示用了 51%。 - 另一晚在模拟器上跑随机点击压测,两轮各 3000 次,0 闪退。skills/night-shift/templates/NIGHT-RUN.md9.1 KBf40b5a3c55c1upstream ↗
# 夜间全自动运行指令(<项目名>) > 用法:在本项目的 Claude Code 会话里输入 > `/loop 读 <状态目录>/NIGHT-RUN.md 并严格按它执行;每次醒来都重新读一遍它` > 不给间隔,让 agent 自己定节奏。之后不用再管。 > 本文件是指令本身;`<状态目录>/NIGHT-PLAN.md`、`NIGHT-LOG.md`、`NIGHT-REPORT.md` 是它运行时写的状态文件。 > > 填法:把所有 `<…>` 换成你项目的值;用不上的行整行删掉,不要留占位。 --- ## 开跑前人做的事(每次挂机前过一遍,两分钟) 1. 权限模式是 auto(会话顶部能看到)。不是的话任何一次确认框都会把整晚卡死。 2. 主会话模型选 `<主模型>`(平时的主力模型,不用最贵那档:整晚体力活会把额度烧光,判断力的差距在这类活上体现不出来)。子代理:scout = `<便宜模型>`,worker = `<中档模型>`。 3. 测试设备 `<设备名>` 开着并在线(`<连接方式>`);`<不许碰的设备>` 拔掉或关掉。 4. 电脑插电。防睡眠由 agent 自己调 keep-awake,但合盖、手动睡眠之类的动作要自己避免。 5. 项目是 git 仓库并且工作区干净;不是的话让 agent 在第一次醒来时自己 init(下面有规定)。 6. 今晚有例外(允许用某台设备、允许过了截止时间继续……)就写进文末「今晚的额外授权」,不要只在聊天里说。 --- ## 给 agent 的指令(从这里开始是你要执行的) 你是本项目的夜间值班主 agent。用户已经离开,到 `<截止时间>` 之前不会回答任何问题,也不会看屏幕。你的目标:在不打扰用户、不做任何危险操作的前提下,把 `NIGHT-PLAN.md` 里的事项尽可能多地推进到「已在 `<设备名>` 上验证」。 ### 每次醒来先做(按顺序,不跳过) 1. 读 `NIGHT-PLAN.md`(不存在就按下一节生成)和 `NIGHT-LOG.md` 最后 40 行,弄清上次做到哪。查有没有子会话(`list_sessions`,linked)、子代理或后台命令还在跑;超过 brief 里时限的停掉,LOG 记一行。不要重读 `<项目状态文档>` 全文,只读 PLAN 里引用的章节。 2. 调 `request_keep_awake`。 3. 调 `get_usage`。剩余额度低于 `<额度阈值,默认 15%>`:只做收尾(写报告、提交),然后停止循环。 4. 确认 `<设备名>` 在线(`<检查命令>`)。不在线就 `<拉起办法>`,等 90 秒再试;两次仍不在线,只做不需要设备的事项,并在 LOG 里记一行。 5. 本地时间已过 `<截止时间>`,并且「今晚的额外授权」里没有延长:直接进「停止」流程。 ### 第一次醒来:建基线和计划 1. 项目不是 git 仓库时:`git init`,写 `.gitignore`(`<构建产物、大文件、缓存目录和后缀>`),做一次基线提交。之后每完成一项都提交。 2. LOG 第一行记:时间、额度(5 小时窗口和周额度)、git 基线哈希、用的设备、有没有子会话。 3. 从 `<项目状态文档>` 的状态段和 `<待办来源>` 生成 `NIGHT-PLAN.md`(格式见文末),每项一行:优先级、状态、做什么、完成标准(状态真的变了,且杀进程重启后仍正确)、涉及文件、验证方式。 4. 顺序:先验证「已写未验证」的,再做「未开始」里收益大、最独立的,依赖外部条件(`<例如需要联网、需要别人的数据>`)的放最后。排序依据:`<用户必经路径> > <日常循环> > <边角功能>`。 5. 计划生成后提交,LOG 里写一行「计划建立,共 N 项」。 ### 执行规则 - **一次只开一个事项**,做到验证通过或判定阻塞再换下一个。PLAN 里同时只有一项是 in_progress。 - **分工**:大范围搜索、读日志找第一个异常、通读反编译产物 → scout;规格已经写清的实现、补测试用例、批量改表 → worker;你自己只做判断、定规格、收货、设备验证。几次工具调用能做完的小活自己做,不拆。 - **派活必须写全**:目标、背景(文件和行号)、范围(只许改哪些文件)、完成标准、交付格式、时限(「N 分钟内交,不开后台任务」)。收货时自己重跑测试、抽查 diff、确认没越界改文件;子代理说「已完成」不算数。 - **并行会话**:PLAN 里有两个以上互不依赖、文件不重叠的实现事项时,用 `start_session`(initiation 为 user_asked,这是用户在本文件里授权的)各开一个会话,fresh 上下文,每个只改自己模块的文件和自检脚本。同一时刻最多两个子会话。被应用拒绝就改用后台 worker 子代理,不重试。它们交回后由你做合并构建和设备验证。`<构建脚本、补丁主入口、存档结构>` 和 `<状态目录>/` 只有你能改。 - **验证标准**:证据必须是 `<截图 / 日志片段 / 存档 diff>`,文件放 `<证据目录>/<日期>/<事项编号-名字>/`,路径写进 LOG。没证据一律写「代码已实现,待验证」。 - **失败处理**:同一事项连续两次尝试失败,或在它上面已耗 1 小时 → PLAN 标 blocked,LOG 写现象、日志路径、你的猜测,换下一项。不要在一个坑上转圈。 - **每完成一项**:`git commit`,提交信息写明验证状态;新发现的坑追加到 `<坑记录文件>`。 - **省上下文**:长输出先写到 `<证据目录>/logs/` 再让 scout 摘要;反编译文件、大表不要整个读进上下文;给子会话的 brief 自己写清楚,不说「见上文」。 - **需要用户拍板的事**(`<例如资源来源、数值取舍、砍不砍功能、账号和协议>`):选最保守的默认值继续,并记进 REPORT 的「待你决定」。不要停下来等。 ### 绝对不做(按项目填) - 不碰 `<不许碰的设备:名字或串号>`;只用 `<设备名>`。`<别的项目占用的设备或端口>` 也不用。 - 不 `<清数据 / 卸载 / 重置类命令>`。需要新数据只删 `<具体文件>`;删之前先备份,确认备份文件存在再删。 - 换掉了用户自己的数据(`<存档或配置的位置>`):先备份并记哈希,停止前逐字节还原,`<共用设备登记表>` 里释放占用。 - 不删 `<受保护的目录和文件>`。不改 `<其他仓库或目录>`。不 `git push`,不发布、不上传任何东西。 - 不改系统设置、不装系统级软件;`<包管理器>` 装进项目目录可以。 - 不开超过两个子会话,不用 `<不许用的模型>` 开子代理(本文件没有授权)。 - 不在 LOG 和 REPORT 里写「应该没问题」:要么有证据,要么写「未验证」。 - `<项目特有的环境规矩,例如某个 shell 下带设备路径的命令要先设什么环境变量>` ### 停止条件(任一满足就调 `ScheduleWakeup` 的 stop) PLAN 全部 done 或 blocked;额度低于 `<额度阈值>`;连续三次醒来没有任何事项状态变化;本地时间到 `<截止时间>`(「今晚的额外授权」另有说明的除外)。 停止前先还原用户数据(如果动过),再写 `<状态目录>/NIGHT-REPORT.md`,五段,每段要短: 1. 已验证(事项 + 证据路径 + 提交哈希) 2. 已实现未验证(为什么没验上) 3. 阻塞(现象、日志路径、你的猜测、建议用户怎么查) 4. 待你决定(每条给出你选的默认值和备选) 5. 本晚额度消耗(开始和结束各多少)、回来可以直接用的产物路径、所有子会话和子代理的名字和状态 然后提交,停止循环。 ### 醒来间隔 有子会话、子代理或后台命令在跑:兜底 1200 秒,靠完成通知唤醒。否则做完一项立刻做下一项,不要为了「检查一下」而醒来。每次调 `ScheduleWakeup` 时 noop 要如实:有事项状态变化才是 false。 --- ## 今晚的额外授权(用户填;没有就留空) 用户中途改规矩时,agent 也在这里补一条,带时间,原话照抄。 - `<日期 时间>`:`<用户原话>` --- ## 状态文件格式 `NIGHT-PLAN.md`: ```markdown # 夜间计划(<日期>,按 NIGHT-RUN.md 执行) 设备:<设备名和连接方式>。不用:<不许碰的设备>。 用户数据:<换没换过;备份位置和哈希;停止前必须还原>。 | # | 优先级 | 状态 | 事项 | 完成标准 | 涉及文件 | 验证方式 | |---|---|---|---|---|---|---| | 1 | P1 | in_progress | … | 状态变化可见,重启后仍正确,0 报错 | … | 截图 + 日志 | | 2 | P2 | pending | … | … | … | 存档 diff | ``` 状态只用 pending / in_progress / done / blocked,后面括号里可以补一句(例如「done(另一个按钮的问题见 #6)」)。 `NIGHT-LOG.md`:一行一件事,开头是本地时间。 ```markdown # 夜间日志 - 02:52 第一次醒来:keep-awake 已开;额度 5 小时窗 43%、周 42%;git 基线 <哈希>;设备 <设备名> 在线;无子会话。 - 02:55 计划建立,共 8 项(#1 in_progress)。 - 03:05 #1 done:<看到了什么>;证据 <证据目录>/<日期>/01-<名字>/;提交 <哈希>。 - 04:05 停掉卡住的 scout(后台命令在等标准输入),它的活我已做完;坑已记入 <坑记录文件>。 ```README.mdupstream ↗
Contents are not inlined in the catalog. Open the upstream file.
Plain-text copy, no login: /skill-bundles/cynthia-wlan9509-offline-game-revival-skills-night-shift.md