关于 scheduler
scheduler 是面向 Claude Code 的任务排期技能,可将自然语言时间转为 cron 计划,并通过操作系统原生调度器运行一次性或重复任务。它还支持隔离 Git worktree 执行需修改代码的任务。
主要功能
- 01自然语言转换为 cron 表达式
- 02创建一次性和重复任务
- 03使用系统原生调度器执行
- 04在隔离 Git worktree 中运行任务
- 05查看任务状态与执行日志
适用场景
- 01安排工作日代码审查
- 02每周检查依赖和安全问题
- 03定时运行测试套件
- 04在隔离分支中执行代码修改任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jshchnz/ claude-code-scheduler --skill scheduler安装后在 Claude Code 中输入/scheduler确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CRON_REFERENCE.mdPLATFORM_SETUP.mdscripts/parse-cron.pysetup-crontab.shsetup-launchd.shsetup-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
工作方式:
- 任务触发 → 创建包含新分支的全新 worktree
- Claude 在 worktree 中运行(与主分支隔离)
- 更改会提交并推送到远程
- 推送成功后清理 worktree
- 你可以在方便时审核 PR
配置选项:
| 选项 | 默认值 | 说明 |
|---|---|---|
worktree.enabled | false | 启用 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
故障排除
任务没有运行?
- 检查
/scheduler:schedule-status确认运行状况 - 确认任务已启用:
/scheduler:schedule-list - 查看日志:
/scheduler:schedule-logs <task-id> - 确保调度器的 PATH 中包含
claudeCLI
常见问题:
- 调度器环境中的 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