plugins/tools/cortex/skills/cortex-cron/SKILL.md
注册 cortex 周期任务 (lint/fold/dashboard) 到 launchd/cron/GHA; dry-run + 确认; 支持 uninstall。仅显式触发。
npx skillsauth add lazygophers/ccplugin cortex-cronInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
把 cortex 维护脚本注册到系统级定时器, 走 claude --bare -p 编程式调用。
~/Library/LaunchAgents/dev.lazygophers.cortex.<job>.plist~/.config/systemd/user/cortex-<job>.{service,timer}) 或 crontab 行$CI env) → 输出 GHA workflow yaml, 不自动写cron daemon 不继承 shell 环境, 故 snippet 中 PLUGIN_ROOT 必须是绝对路径字符串, 而非 ${PLUGIN_ROOT} 占位。install_cron.sh 按下列优先级解析:
--plugin-root <path> 命令行覆盖$CORTEX_INSTALL_PATH 环境变量~/.claude/plugins/marketplaces/ccplugin-market/plugins/tools/cortex (主, 默认)~/.config/claude/plugins/marketplaces/ccplugin-market/plugins/tools/cortex (XDG 兜底)$CLAUDE_PLUGIN_ROOT (CC 主线注入)源码路径 (
/Users/foo/persons/.../plugins/tools/cortex) 仅适合本地开发, cron 上下文不可达。优先用 marketplace 安装路径。
| Job | 时机 | 命令 (snippet 中已替换为绝对路径) |
|-----|------|------|
| lint | daily 01:00 | <PLUGIN_ROOT>/scripts/cron/lint.sh |
| fold | weekly Sun 02:00 | <PLUGIN_ROOT>/scripts/cron/fold.sh |
| dashboard | weekly Sun 02:30 | <PLUGIN_ROOT>/scripts/cron/dashboard.sh |
其中 <PLUGIN_ROOT> 通常为 ~/.claude/plugins/marketplaces/ccplugin-market/plugins/tools/cortex。
每脚本走 claude --bare --no-session-persistence --settings ~/.claude/settings.glm-4.5-flash.json -p "...", 见 research/01-claude-code-programmatic.md §E。
| 子命令 | 行为 |
|--------|------|
| cortex-cron install [job] | dry-run 显示要写入的 plist/crontab, 调 AskUserQuestion 确认后落盘 |
| cortex-cron status | 列已注册任务 (launchctl list / systemctl --user list-timers / crontab -l 过滤) |
| cortex-cron uninstall [job] | 卸载指定 job 或全部 |
| cortex-cron run <job> | 立即手跑一次 (调试用) |
AskUserQuestion 工具询问: "确认写入此 snippet?" options: 写入 / 取消 / 改时间; 用户选 写入 才落盘。--allowed-tools "Bash Read Glob", 不让 LLM 误改 vault。--fix 类操作不进 cron。scripts/cron/run.sh 提供 flock -n + timeout 600。~/.claude/settings.json。$CI 时只打印 GHA yaml, 不真写。cortex-cron uninstall # 卸载全部 cortex.* 任务
cortex-cron uninstall lint # 仅卸载 lint
$ cortex-cron install lint
[dry-run] launchd plist:
~/Library/LaunchAgents/dev.lazygophers.cortex.lint.plist
schedule: 01:00 daily
command: bash ${PLUGIN_ROOT}/scripts/cron/lint.sh --vault /Users/foo/obsidian
[调 AskUserQuestion: "确认写入此 plist 到 launchd?" → 写入 / 取消 / 改时间]
用户选 "写入":
✓ written. 加载: launchctl load ~/Library/LaunchAgents/dev.lazygophers.cortex.lint.plist
tools
--- name: trellisx-workspace description: 维护 `.trellis/task.md` 任务看板 —— trellis 缺的跨任务总览。**一个表格, 一行一个任务**, 列为 id/名称/描述/状态/阶段/进度/worktree (状态/阶段中文显示)。在 task create/start/阶段切换/archive 后**及时更新**对应行; 并**自动清理超 7 天的已完成行**防膨胀。保持看板与 task.json 实时一致。 when_to_use: 维护 / 创建 / 更新 `.trellis/task.md` 任务看板时; task 生命周期任一节点 (create/start/阶段推进/archive) 之后同步看板时; 用户问"当前有哪些任务 / 任务进度 / 任务看板"时。被 trellisx-flow 与 trellisx-apply 注入的流程引用。 user-invocable: true argument-hint: [show|update|sync|cleanup ...] [task id] arguments:
testing
强制以 Trellis task 闭环处理用户指定的请求 (自判新建/并入 → plan→exec→check→finish 全程不跳步)。**仅用户显式主动调用** (/trellisx-flow 或明确要求"强制走 task 处理这个"); **禁止自动 / 被动 / 推断式调用** —— 不要因为某个请求"看起来该建 task"就自动触发本 skill, 那是 apply 注入的 no_task 倾向的职责。
testing
把 强推task + subtask拆分 + worktree隔离 + 闭环收尾 四维度增量注入当前项目 .trellis/ (workflow.md 的 no_task/planning/in_progress 块 + spec 背书文档 + trellis 生命周期 hook worktree 自动化)。强推 task 与闭环为纯 prompt 软约束 (非平台 hook 硬拦截)。**纯增量追加, 绝不替换 trellis 原生文本** (no_task 分类+征同意/check/finish/前缀全保留)。幂等 (marker 包裹)。
development
Claude Code 会话历史整理 — 扫 ~/.claude/projects/**/*.jsonl 全部 session transcripts, 提取学习增量 (用户校正/决策/踩坑/L0 规则) → 全局记忆库 ~/.cortex/.wiki/memory/. 默认 --apply 落盘 (--dry-run opt-in 仅出 JSON plan 预览). 与 cortex-extract (L4-inbox 内部) 互补.