Task Father
Generator for file-based task state machines (registry + task folders + lifecycle state + queue files + cron specs/jobs) for long-running work.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 971 · 2 current installs · 2 all-time installs
byZhihao@moodykong
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description match the included script and SKILL.md. The Python script creates task folders, registry rows, queue files, and cron spec files and calls the local 'openclaw cron' CLI as described — these requirements are proportionate to a file-based task state machine generator.
Instruction Scope
SKILL.md limits actions to creating files under the workspace, managing state files, and calling 'openclaw cron add/rm'. The script reads an optional config.env and will create/update files under the configured WORKSPACE_DIR (defaulting to /home/miles/.openclaw/workspace). This is expected, but users should note it will write and modify files in that workspace and create cron spec JSONs and run the local openclaw CLI.
Install Mechanism
No install spec — instruction-only with a bundled script. Nothing is downloaded or extracted from external URLs; risk from install mechanism is minimal.
Credentials
The skill declares no required environment variables or credentials and the script only optionally loads a local config.env. It does not request unrelated secrets or remote API keys. The only external dependency is the local 'openclaw' CLI (used to register/unregister cron jobs), which aligns with the purpose.
Persistence & Privilege
Skill is not always-enabled and does not request elevated platform privileges. It writes only to its workspace/task directories and does not modify other skills or global agent config beyond calling the openclaw CLI, which is consistent with its role.
Assessment
This skill appears to do what it says: create task folders, state files, and cron specs and to call the local 'openclaw' CLI. Before installing or running it, review the included scripts/task_father.py (you already have it) and back up any existing workspace files you care about (it will create/overwrite task files and registry rows). Confirm 'openclaw' is the intended local CLI and that you trust it on your machine. Be cautious with task slugs and with messages passed to cron-add (they end up in JSON and are passed to the CLI). If you want tighter safety, run the script in a sandbox or test workspace first.Like a lobster shell, security has layers — review code before you run it.
Current versionv0.1.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
task-father
Create and manage durable, file-based task state machines under the OpenClaw workspace.
Target filesystem shape:
TASK_REGISTRY.md(global index)tasks/<task_slug>/TASK.md(front matter + purpose/decisions/blockers/changelog + capabilities)TODOS.md(checklist)scripts/crons/artifacts/- optional queue-state files (
queue.jsonl,done.jsonl,failed.jsonl,lock.json)
Prerequisites
Run on host where OpenClaw is running:
python3 --versionopenclaw statusopenclaw cron --help
Configuration (portable)
Skill-local config files:
- Example (shareable):
config.env.example - Real machine config:
config.env
Keys:
WORKSPACE_DIR(default:/home/miles/.openclaw/workspace)TASKS_DIR(default:tasks)REGISTRY_FILE(default:TASK_REGISTRY.md)DEFAULT_AGENT_ID(default:main)DEFAULT_CRON_TZ(default:America/Indianapolis)
Initialization / Installation / Onboarding
Preferred (chat-first)
Answer in chat:
- task slug (filesystem-safe)
- task title
- task purpose
- optional skills/plugins/tools expected for this task
- whether queue files are needed
- whether a cron job should be created now
Then run:
python3 scripts/task_father.py init <slug> --title "..." --purpose "..." --skills "a,b" --plugins "x,y" --tools "read,write,exec"- optional queue mode:
python3 scripts/task_father.py enable-queue <slug>
- optional cron setup:
python3 scripts/task_father.py cron-add <slug> --cron "*/10 * * * *" --message "<worker prompt>" --name "task-<slug>"
Optional (terminal)
cp config.env.example config.env- Edit
config.env - Initialize task:
python3 scripts/task_father.py init <slug> --title "..."
Lifecycle commands
- Set task status (updates
state.json+ changelog):python3 scripts/task_father.py set-state <slug> active
- Append changelog entry:
python3 scripts/task_father.py log <slug> "blocked by API quota"
- Enable queue files:
python3 scripts/task_father.py enable-queue <slug>
- Add cron:
python3 scripts/task_father.py cron-add <slug> --cron "*/5 * * * *" --message "..." --name "task-<slug>"
- Remove cron:
python3 scripts/task_father.py cron-rm <slug> --name "task-<slug>"
Task documentation contract
Each task must contain:
TASK.mdwith front matter and sections:
- Purpose
- Important Decisions
- Blockers
- Capabilities (skills/plugins/tools)
- Change Log (timestamp + short description)
-
TODOS.mdwith checklist items. -
If queue-style long processing is used:
queue.jsonl,done.jsonl,failed.jsonl,lock.json.
- Scripts under:
<task_folder>/scripts/
- Cron files under:
<task_folder>/crons/
Reproducibility notes
- Keep machine-specific values in
config.env, not inSKILL.md. - Keep logs append-only where possible.
- Use small resumable batches for long work.
Files
3 totalSelect a file
Select a file to preview.
Comments
Loading comments…
