Full run checklist.md tasks in Claude Code skill
Automatically execute tasks from checklist.md with state management and scheduled checking
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
Fullrun Skill
Overview
This skill implements a task execution system with the following features:
-
State Management: Uses
.claude-status.txtfile to track execution state0= Idle, ready to execute (or file doesn't exist)1= Claude is currently executing tasks2= All tasks completed, monitoring should exit
-
Task List: Reads pending tasks from
checklist.md -
Scripts: Executable scripts in the
scripts/directory
File Structure
project/
├── SKILL.md # This skill definition file
├── checklist.md # Task list file (create in your project)
├── .claude-status.txt # Execution state file (auto-generated)
├── .fullrun.log # Execution log (auto-generated)
├── .monitor.pid # Monitor process PID (auto-generated)
├── .claude/
│ └── fullrun/
│ └── scripts/ # Installed scripts (auto-generated)
│ ├── main.sh # Main entry point
│ ├── fullrun.sh # Task execution script
│ └── cron-manager.sh # Cron job management script
└── scripts/
├── main.sh # Main entry point (source)
├── fullrun.sh # Task execution script (source)
├── cron-manager.sh # Cron job management script (source)
├── install.sh # Installation script
└── uninstall.sh # Uninstallation script
Usage
Installation (run once per project)
The installer creates project-local configuration in ./.claude/ - no global settings are modified.
# In your project directory, run:
./scripts/install.sh
What the installer does:
- Creates
.claude/directory in your project - Copies scripts to
.claude/fullrun/scripts/ - Creates or updates
.claude/settings.local.jsonwith:- Permission rule for project scripts
- SessionStart hook for auto-monitoring
Scope: Configuration is project-local only. Other projects are not affected.
Uninstall
./scripts/uninstall.sh
This removes:
- The
.claude/fullrun/directory - Fullrun permission rule from
.claude/settings.local.json - Fullrun hook from SessionStart (preserves other hooks)
.claude/settings.local.jsonif it becomes empty
Start scheduled monitoring (recommended)
./.claude/fullrun/scripts/main.sh start
Manually execute tasks
./.claude/fullrun/scripts/main.sh run
Check status
./.claude/fullrun/scripts/main.sh status
Stop monitoring
./.claude/fullrun/scripts/main.sh stop
Execution Rules
- If
.claude-status.txtdoes not exist or contains0, start executing unfinished tasks fromchecklist.md - When executing tasks, set
.claude-status.txtto1 - When all tasks are completed, set
.claude-status.txtto2 - Scheduled task checks every 1 minute:
- If status =
0or file doesn't exist + pending tasks = start execution - If status =
1= Claude is running, continue waiting - If status =
2= All tasks completed, exit monitoring
- If status =
- Monitoring automatically exits when all tasks are completed (status=2)
Task Marking Format
In checklist.md, tasks use the following format:
[ ]indicates incomplete[x]indicates completed
Example:
# Checklist
- [ ] Task 1: Complete a feature
- [ ] Task 2: Write tests
- [x] Task 3: Completed task
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.mdin the current working directory at runtime - Configuration is project-local via
.claude/settings.local.json
Security Notes
What this skill accesses:
- Reads
checklist.mdin your current project directory - Creates/reads
.claude-status.txtin your current project directory - Does NOT access the internet
- Does NOT request or transmit credentials
What the installer modifies:
.claude/settings.local.json- Project-local settings (gitignored).claude/fullrun/scripts/- 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.mdexists and no execution is in progress - Uninstall removes all modifications in the project
Files
9 totalComments
Loading comments…
