Install
openclaw skills install looopClaude Automated Development Toolkit - Decompose requirements documents, single files, or inline text into detailed task lists and automatically execute in loops until project completion
openclaw skills install looopYou are an automated development assistant responsible for decomposing project requirements (from documents, single files, or inline text) into executable task lists and automatically executing each task in loops until the project is complete.
| Parameter | Required When | Description |
|---|---|---|
--docs <DIR> | Decomposing requirements directory | Requirements document directory path |
--doc <FILE> | Decomposing single doc file | Single requirements document file path |
--requirement <TEXT> | Decomposing inline requirement | Direct requirement text string |
--src <DIR> | Always required | Code storage directory path |
Note: --docs, --doc, and --requirement are mutually exclusive for decomposition. Use --requirement when you have a simple one-line requirement, --doc when you have a single requirements file, or --docs when you have multiple files in a directory.
All task-related files are stored in <src_dir>/.looop/ directory:
| File | Path | Description |
|---|---|---|
| tasks.json | <src_dir>/.looop/tasks.json | Task list data |
| progress.txt | <src_dir>/.looop/progress.txt | Task progress records |
| *.log | <src_dir>/.looop/*.log | Task execution logs |
Task execution logs are created per task, named by task ID, name and timestamp:
| Filename Pattern | When Created |
|---|---|
Task_#0_Decompose_YYYY-MM-DD_HH-MM-SS.log | Requirements decomposition |
Task_#N_TaskName_YYYY-MM-DD_HH-MM-SS.log | Each task execution |
Log content:
No log files for:
--status (status query)--mark-manual / --list-manual / --resolve-manual (manual operations)Important: Change to the skill directory first before running the script.
cd <skill_directory> && python run.py --src <DIR> [--docs <DIR> | --doc <FILE> | --requirement <TEXT>] [other parameters]
Directory mode: python run.py --docs <requirements_dir> --src <code_dir> --decompose
Single file mode: python run.py --doc <requirements_file> --src <code_dir> --decompose
Inline requirement mode: python run.py --requirement "<requirement text>" --src <code_dir> --decompose
The script will automatically:
<src_dir>/.looop/ directory<src_dir>/.looop/tasks.jsonCommand: python run.py --src <code_dir>
The script will first check if <src_dir>/.looop/tasks.json exists:
--decompose firstExecution process:
| Parameter | Short | Description |
|---|---|---|
--decompose | -d | Decompose requirements documents or text into task list |
--status | -s | View task status statistics |
--max-tasks <N> | -m <N> | Maximum N tasks to execute |
--push | -P | Execute git push after completion |
--mark-manual <ID> | -M <ID> | Mark task as needing manual intervention |
--list-manual | -L | List tasks needing manual intervention |
--resolve-manual <ID> | -R <ID> | Restore task to pending status |
# Decompose requirements from directory (requires docs + src)
python run.py --docs docs --src src --decompose
# Decompose from single document file
python run.py --doc docs/feature-x.md --src src --decompose
# Decompose from inline requirement text
python run.py --requirement "Implement a user login feature with form validation and JWT authentication" --src src --decompose
# Execute tasks (only requires src)
python run.py --src src
# View status
python run.py --src src --status
# Execute max 3 tasks and push
python run.py --src src --max-tasks 3 --push
{
"project": "Project name",
"created_at": "YYYY-MM-DD",
"docs_dir": "docs",
"src_dir": "src",
"requirements_docs": [
"docs/xxx.md"
],
"tasks": [
{
"id": 1,
"name": "Task name (concise, imperative)",
"description": "Detailed technical description including: what to build, files to create/modify, key implementation points",
"priority": "high|medium|low",
"dependencies": [],
"task_type": "setup|core|feature|refactor|test|docs",
"estimated_files": ["expected_file_path_1"],
"acceptance_criteria": ["Specific verifiable criteria"],
"status": "pending",
"result": null,
"issues": [],
"completed_at": null
}
]
}
Task Fields:
| Field | Description |
|---|---|
id | Unique task identifier |
name | Concise imperative name (e.g. 'Create user model') |
description | Detailed technical description with what/how/why/scope |
priority | high (essential), medium (important), low (optional) |
dependencies | Array of task IDs that must complete first |
task_type | setup, core, feature, refactor, test, docs |
estimated_files | Expected files to be created/modified |
acceptance_criteria | Specific verifiable completion criteria |
status | pending, in_progress, completed, blocked, needs_manual |
Note: When using --requirement, the structure will include "requirements_text": "..." and "docs_dir": null instead of "requirements_docs" and "docs_dir".
| Status | Description |
|---|---|
pending | Pending execution |
in_progress | Currently executing |
completed | Completed |
blocked | Blocked |
needs_manual | Needs manual intervention |