mcpField
S
scheduler

scheduler

github.com/jshchnzAgent 工作流512574 次安装40 周前更新
代码仓库

关于 scheduler

scheduler 是面向 Claude Code 的任务排期技能,可将自然语言时间转为 cron 计划,并通过操作系统原生调度器运行一次性或重复任务。它还支持隔离 Git worktree 执行需修改代码的任务。

主要功能

  1. 01自然语言转换为 cron 表达式
  2. 02创建一次性和重复任务
  3. 03使用系统原生调度器执行
  4. 04在隔离 Git worktree 中运行任务
  5. 05查看任务状态与执行日志

适用场景

  1. 01安排工作日代码审查
  2. 02每周检查依赖和安全问题
  3. 03定时运行测试套件
  4. 04在隔离分支中执行代码修改任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jshchnz/claude-code-scheduler --skill scheduler

安装后在 Claude Code 中输入/scheduler确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CRON_REFERENCE.md
PLATFORM_SETUP.md
scripts/
parse-cron.py
setup-crontab.sh
setup-launchd.sh
setup-schtasks.ps1

详细介绍

调度助手

你可以帮助用户设置和管理 Claude Code 的计划任务。你可以:

  • 将自然语言转换为 cron 表达式(“每个工作日早上 9 点” -> “0 9 * * 1-5”)
  • 解释 cron 语法和调度概念
  • 设置原生操作系统调度器(launchd、cron、Task Scheduler)
  • 排查调度问题
  • 为常见工作流推荐自动化模式

快速开始

创建计划任务:

/scheduler:schedule-add

查看所有计划任务:

/scheduler:schedule-list

一次性任务与重复任务

调度器同时支持一次性和重复任务:

一次性任务

在特定时间运行一次的任务:

  • “今天下午 3 点运行”
  • “明天中午”
  • “下周二下午 2 点”

一次性任务执行后会自动清理。

重复任务

按计划重复运行的任务:

  • “每天早上 9 点”
  • “每天晚上 6 点”
  • “工作日早上 10 点”
  • 类似 0 9 * * 1-5 的 cron 表达式

检测规则: 除非包含“每次”“每天”“每周”或类似的重复关键词,否则任务会被视为一次性任务。

Git Worktree 模式(隔离分支)

对于会进行更改的任务,worktree 模式会在隔离环境中运行:

You: Every night at 2am, refactor deprecated API calls and push for review

Claude: Should this run in an isolated git worktree?
        → Yes, create branch and push changes
        → No, run in main working directory

You: Yes

Claude: ✓ Task created with worktree isolation
        Branch prefix: claude-task/
        Remote: origin

工作方式:

  1. 任务触发 → 创建包含新分支的全新 worktree
  2. Claude 在 worktree 中运行(与主分支隔离)
  3. 更改会提交并推送到远程
  4. 推送成功后清理 worktree
  5. 你可以在方便时审核 PR

配置选项:

选项默认值说明
worktree.enabledfalse启用 worktree 隔离
worktree.branchPrefix"claude-task/"分支名称前缀
worktree.remoteName"origin"要推送到的远程仓库

如果推送失败,worktree 会保留以供手动审核。

Cron 快速参考

* * * * *
| | | | |
| | | | +-- Day of week (0-6, Sun=0)
| | | +---- Month (1-12)
| | +------ Day of month (1-31)
| +-------- Hour (0-23)
+---------- Minute (0-59)

常见模式:

模式说明
0 9 * * *每天上午 9:00
0 9 * * 1-5每个工作日上午 9:00
*/15 * * * *每 15 分钟
0 */2 * * *每 2 小时
0 9 1 * *每月 1 日上午 9:00
0 9 * * 1每周一上午 9:00

完整语法请参阅 CRON_REFERENCE.md。

平台设置

任务由操作系统的原生调度器执行:

  • macOS: launchd(LaunchAgents)
  • Linux: crontab
  • Windows: Task Scheduler

平台相关详情请参阅 PLATFORM_SETUP.md。

常见用例

每日代码审查
Schedule: 0 9 * * 1-5 (weekdays at 9am)
Command: /review-code --scope=yesterday
每周依赖项审计
Schedule: 0 10 * * 1 (Mondays at 10am)
Command: Check for outdated dependencies and security vulnerabilities
自动化测试
Schedule: 0 */4 * * * (every 4 hours)
Command: Run test suite and report failures

故障排除

任务没有运行?

  1. 检查 /scheduler:schedule-status 确认运行状况
  2. 确认任务已启用:/scheduler:schedule-list
  3. 查看日志:/scheduler:schedule-logs <task-id>
  4. 确保调度器的 PATH 中包含 claude CLI

常见问题:

  • 调度器环境中的 PATH 设置不正确
  • 工作目录不存在
  • 命令语法错误
  • 调度器守护进程未运行

辅助脚本

验证 cron 表达式:

python scripts/parse-cron.py "0 9 * * 1-5"

可用命令

命令说明
/scheduler:schedule-add创建新的计划任务
/scheduler:schedule-list查看所有计划任务
/scheduler:schedule-remove <id>移除计划任务
/scheduler:schedule-status检查调度器运行状况
/scheduler:schedule-run <id>手动运行任务
/scheduler:schedule-logs <id>查看执行日志

评论

支持 Markdown