delaylocallisted
Install: claude install-skill abs1294/fulin-claude-plugins
# delaylocal — 排程 prompt 到 5h quota 重置後(工具化;goal2 plugin 的 delaylocal skill)
## 架構(薄 skill + 確定性工具)
確定性邏輯全在工具裡,skill 只負責「呼叫工具 → 拿結果 → CronCreate」,不靠 AI 即興。
- `delaylocal.js`:鎖定**當前 session**(讀 `CLAUDE_CODE_SESSION_ID`)的 5h quota 重置時間。goal 模式(預設):排程時就把引擎 prompt(只有 `/goal <條件>;已發 LINE` 加一句指向錨定區,≤3900 字)落到 `~/.claude/goal2/runs/<id>/prompt.txt`,任務全文、工作清單、報告格式、notify 指令全進同目錄 `anchor.md`(走系統提示,不受 /goal 的 4000 字元限制),cron 的 final_prompt 只做「session 守衛 → 叫 Claude 背景執行 `delaylocal.js --run <run_dir>`」;到點後 `--run` 起子程序 `claude -p "/goal …"` 跑官方引擎到達成。plain 模式:final_prompt 內建「session 守衛 + 無人值守文字紀律 + 任務 + LINE 通知」,不起子程序。
- **為什麼 goal 模式要繞子程序**:2.1.196 起 cron fire 的 prompt 不再解析 slash command,開頭 `/goal` 只是純文字(官方 scheduled-tasks 文件、GitHub #75837);`claude -p "/goal …"` 是唯一入口(見 `../../lib/engine.js` 檔頭與 goal skill 的 SKILL.md)。
- `notify-line.js`:LINE push 通知工具(node https,處理中文 / emoji)。
> 本 skill 的 js(`delaylocal.js` / `notify-line.js`)與這份 `SKILL.md` **同目錄**。
> 執行時用「本 SKILL.md 所在目錄」組出 js 絕對路徑即可——user-level skill、symlink、plugin 安裝
> 三種情境都成立(不依賴 `CLAUDE_PLUGIN_ROOT` 是否存在)。
> `delaylocal.js` 另依賴 plugin 根層的 `../../lib/`(`goal-head.js`:/goal 第一行 4000 字元門檻;`cron-time.js`:cron 轉換與跨月警告;`config.js`:設定檔讀取;`engine.js`:子程序引擎),
> 與同 plugin 的 goal skill 共用。**須整個 plugin 一起安裝**,只複製 `skills/delaylocal/` 資料夾會找不到 lib(工具會明確報錯)。
## 前置設定(一次性,每台機器)
**需要 Node.js**(`delaylocal.js` 與 `notify-line.js` 皆為 node 腳本):
- Windows:`winget install OpenJS.NodeJS` 或官網安裝包
- macOS:`brew install node`
- Linux:發行版套件管理器,或 nvm / no