Fullrun Skill
Overview
This skill implements a task execution system with the following features:
- 1. State Management: Uses
.claude-status.txt file to track execution state
-
0 = Idle, ready to execute (or file doesn't exist)
-
1 = Claude is currently executing tasks
-
2 = All tasks completed, monitoring should exit
- 2. Task List: Reads pending tasks from INLINECODE4
- 3. Scripts: Executable scripts in the
scripts/ directory
Requirements
- - jq - Required for install/uninstall scripts
- macOS:
brew install jq
- Linux:
apt install jq or INLINECODE8
File Structure
CODEBLOCK0
Usage
Installation (run once per project)
The installer creates project-local configuration in ./.claude/ - no global settings are modified.
CODEBLOCK1
What the installer does:
- 1. Creates
.claude/ directory in your project - Copies scripts to INLINECODE11
- Creates or updates
.claude/settings.local.json with:
- Permission rule for project scripts
- SessionStart hook for auto-monitoring
Scope: Configuration is project-local only. Other projects are not affected.
Uninstall
CODEBLOCK2
This removes:
- - The
.claude/fullrun/ directory - Fullrun permission rule from INLINECODE14
- Fullrun hook from SessionStart (preserves other hooks)
- INLINECODE15 if it becomes empty
Start scheduled monitoring (recommended)
CODEBLOCK3
Manually execute tasks
CODEBLOCK4
Check status
CODEBLOCK5
Stop monitoring
CODEBLOCK6
Execution Rules
- 1. If
.claude-status.txt does not exist or contains 0, start executing unfinished tasks from INLINECODE18 - When executing tasks, set
.claude-status.txt to INLINECODE20 - When all tasks are completed, set
.claude-status.txt to INLINECODE22 - Scheduled task checks every 1 minute:
- If status =
0 or file doesn't exist + pending tasks = start execution
- If status =
1 = Claude is running, continue waiting
- If status =
2 = All tasks completed, exit monitoring
- 5. Monitoring automatically exits when all tasks are completed (status=2)
Task Marking Format
In checklist.md, tasks use the following format:
- -
[ ] indicates incomplete - INLINECODE28 indicates completed
Example:
CODEBLOCK7
Notes
- - Scheduled monitoring is session-level, stops when the current terminal session ends
- For persistent monitoring, use system cron or launchd
- The SessionStart hook checks for
checklist.md in the current working directory at runtime - Configuration is project-local via INLINECODE30
Security Notes
What this skill accesses:
- - Reads
checklist.md in your current project directory - Creates/reads
.claude-status.txt in your current project directory - Writes execution log to INLINECODE33
- Does NOT access the internet
- Does NOT request or transmit credentials
What the installer modifies:
- -
.claude/settings.local.json - Project-local settings (gitignored) - INLINECODE35 - Project-local scripts
Persistence:
- - The SessionStart hook runs at the start of each Claude Code session in this project
- It only starts monitoring if
checklist.md exists and no execution is in progress - Uninstall removes all modifications in the project
How Task Execution Works
- 1. The shell scripts (
fullrun.sh, cron-manager.sh) handle:
- State management (
.claude-status.txt)
- Task queue management (reading
checklist.md)
- Logging (
.fullrun.log)
- Marking tasks as complete
- 2. Task execution is delegated to Claude Code:
- When a task is started, it outputs the task description
- Claude Code reads the task and executes the appropriate commands
- This design allows for complex, multi-step tasks that require AI reasoning
Cross-Platform Compatibility
- - macOS: Fully supported
- Linux: Fully supported
- Windows: Requires WSL or Git Bash
The scripts use awk for text processing to ensure consistent behavior across all platforms.
Fullrun 技能
概述
该技能实现了一个任务执行系统,具有以下功能:
- 1. 状态管理:使用 .claude-status.txt 文件跟踪执行状态
- 0 = 空闲,准备执行(或文件不存在)
- 1 = Claude 当前正在执行任务
- 2 = 所有任务已完成,监控应退出
- 2. 任务列表:从 checklist.md 读取待处理任务
- 3. 脚本:scripts/ 目录中的可执行脚本
要求
- macOS:brew install jq
- Linux:apt install jq 或 yum install jq
文件结构
project/
├── SKILL.md # 本技能定义文件
├── checklist.md # 任务列表文件(在项目中创建)
├── .claude-status.txt # 执行状态文件(自动生成)
├── .fullrun.log # 执行日志(自动生成)
├── .monitor.pid # 监控进程 PID(自动生成)
├── .claude/
│ └── fullrun/
│ └── scripts/ # 已安装脚本(自动生成)
│ ├── main.sh # 主入口点
│ ├── fullrun.sh # 任务执行脚本
│ └── cron-manager.sh # 定时任务管理脚本
└── scripts/
├── main.sh # 主入口点(源文件)
├── fullrun.sh # 任务执行脚本(源文件)
├── cron-manager.sh # 定时任务管理脚本(源文件)
├── install.sh # 安装脚本
└── uninstall.sh # 卸载脚本
使用方法
安装(每个项目运行一次)
安装程序在 ./.claude/ 中创建项目本地配置 - 不修改任何全局设置。
bash
在项目目录中运行:
./scripts/install.sh
安装程序执行的操作:
- 1. 在项目中创建 .claude/ 目录
- 将脚本复制到 .claude/fullrun/scripts/
- 创建或更新 .claude/settings.local.json,包含:
- 项目脚本的权限规则
- 用于自动监控的 SessionStart 钩子
范围: 配置仅限项目本地。其他项目不受影响。
卸载
bash
./scripts/uninstall.sh
此操作将移除:
- - .claude/fullrun/ 目录
- .claude/settings.local.json 中的 Fullrun 权限规则
- SessionStart 中的 Fullrun 钩子(保留其他钩子)
- 如果 .claude/settings.local.json 变为空则删除该文件
启动定时监控(推荐)
bash
./.claude/fullrun/scripts/main.sh start
手动执行任务
bash
./.claude/fullrun/scripts/main.sh run
检查状态
bash
./.claude/fullrun/scripts/main.sh status
停止监控
bash
./.claude/fullrun/scripts/main.sh stop
执行规则
- 1. 如果 .claude-status.txt 不存在或包含 0,则开始执行 checklist.md 中未完成的任务
- 执行任务时,将 .claude-status.txt 设置为 1
- 所有任务完成后,将 .claude-status.txt 设置为 2
- 定时任务每 1 分钟检查一次:
- 如果状态 = 0 或文件不存在且有待处理任务 = 开始执行
- 如果状态 = 1 = Claude 正在运行,继续等待
- 如果状态 = 2 = 所有任务已完成,退出监控
- 5. 所有任务完成后(状态=2),监控自动退出
任务标记格式
在 checklist.md 中,任务使用以下格式:
示例:
markdown
检查清单
- - [ ] 任务 1:完成一个功能
- [ ] 任务 2:编写测试
- [x] 任务 3:已完成的任务
注意事项
- - 定时监控是会话级别的,当前终端会话结束时停止
- 如需持久监控,请使用系统 cron 或 launchd
- SessionStart 钩子在运行时检查当前工作目录中的 checklist.md
- 配置通过 .claude/settings.local.json 实现项目本地化
安全说明
本技能访问的内容:
- - 读取当前项目目录中的 checklist.md
- 在当前项目目录中创建/读取 .claude-status.txt
- 将执行日志写入 .fullrun.log
- 不访问互联网
- 不请求或传输凭据
安装程序修改的内容:
- - .claude/settings.local.json - 项目本地设置(已加入 gitignore)
- .claude/fullrun/scripts/ - 项目本地脚本
持久性:
- - SessionStart 钩子在该项目的每个 Claude Code 会话开始时运行
- 仅当 checklist.md 存在且没有正在进行的执行时,才会启动监控
- 卸载将移除项目中的所有修改
任务执行方式
- 1. Shell 脚本(fullrun.sh、cron-manager.sh)处理:
- 状态管理(.claude-status.txt)
- 任务队列管理(读取 checklist.md)
- 日志记录(.fullrun.log)
- 标记任务完成
- 2. 任务执行委托给 Claude Code:
- 任务开始时,输出任务描述
- Claude Code 读取任务并执行相应的命令
- 此设计允许执行需要 AI 推理的复杂多步骤任务
跨平台兼容性
- - macOS:完全支持
- Linux:完全支持
- Windows:需要 WSL 或 Git Bash
脚本使用 awk 进行文本处理,以确保在所有平台上行为一致。