← Back to Skills Marketplace
caesargattuso

looop

by caesargattuso · GitHub ↗ · v1.1.1 · MIT-0
cross-platform ⚠ suspicious
226
Downloads
0
Stars
0
Active Installs
11
Versions
Install in OpenClaw
/install looop
Description
Claude Automated Development Toolkit - Decompose requirements documents, single files, or inline text into detailed task lists and automatically execute in l...
README (SKILL.md)

Claude Automated Development Toolkit

You 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.

Parameters

Parameter Required When Description
--docs \x3CDIR> Decomposing requirements directory Requirements document directory path
--doc \x3CFILE> Decomposing single doc file Single requirements document file path
--requirement \x3CTEXT> Decomposing inline requirement Direct requirement text string
--src \x3CDIR> 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.

File Storage Location

All task-related files are stored in \x3Csrc_dir>/.looop/ directory:

File Path Description
tasks.json \x3Csrc_dir>/.looop/tasks.json Task list data
progress.txt \x3Csrc_dir>/.looop/progress.txt Task progress records
*.log \x3Csrc_dir>/.looop/*.log Task execution logs

Log Files

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:

  • Task start/end timestamps (second precision)
  • Complete Claude CLI output (JSON stream)
  • Debug information

No log files for:

  • --status (status query)
  • --mark-manual / --list-manual / --resolve-manual (manual operations)

Execute Script

Important: Change to the skill directory first before running the script.

cd \x3Cskill_directory> && python run.py --src \x3CDIR> [--docs \x3CDIR> | --doc \x3CFILE> | --requirement \x3CTEXT>] [other parameters]

Core Workflow

Phase 1: Task Decomposition (requires docs/doc/requirement + src)

Directory mode: python run.py --docs \x3Crequirements_dir> --src \x3Ccode_dir> --decompose

Single file mode: python run.py --doc \x3Crequirements_file> --src \x3Ccode_dir> --decompose

Inline requirement mode: python run.py --requirement "\x3Crequirement text>" --src \x3Ccode_dir> --decompose

The script will automatically:

  1. Create \x3Csrc_dir>/.looop/ directory
  2. Read requirement source (documents or inline text)
  3. Call Claude to analyze and decompose into independent small tasks
  4. Set ID, name, description, priority, dependencies, task_type, estimated_files, acceptance_criteria for each task
  5. Save task list to \x3Csrc_dir>/.looop/tasks.json

Phase 2: Task Execution (only requires src)

Command: python run.py --src \x3Ccode_dir>

The script will first check if \x3Csrc_dir>/.looop/tasks.json exists:

  • Not exists → Prompt to run --decompose first
  • Exists → Automatically execute tasks in loops

Execution process:

  1. Select next executable task from tasks.json
  2. Call Claude to execute task, code goes into src directory
  3. Record progress to progress.txt
  4. Update task status, execute git commit
  5. Continue next round until all tasks complete

Optional Parameters

Parameter Short Description
--decompose -d Decompose requirements documents or text into task list
--status -s View task status statistics
--max-tasks \x3CN> -m \x3CN> Maximum N tasks to execute
--push -P Execute git push after completion
--mark-manual \x3CID> -M \x3CID> Mark task as needing manual intervention
--list-manual -L List tasks needing manual intervention
--resolve-manual \x3CID> -R \x3CID> Restore task to pending status

Usage Examples

# 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

tasks.json Data Structure

{
  "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".

Task Status

Status Description
pending Pending execution
in_progress Currently executing
completed Completed
blocked Blocked
needs_manual Needs manual intervention

Execution Flow

  1. Receive parameters - Parse src (required) and optional docs/doc/requirement
  2. Build command - Build python command based on parameters
  3. Execute script - Change to skill directory, then run run.py using Bash tool
  4. Output results - Display execution output and progress
Usage Guidance
This skill appears to do what it claims (automate decomposition and run tasks via a local Claude CLI), but it takes several risky shortcuts: it runs Claude with --dangerously-skip-permissions, automatically commits (and can push) changes to your git repo, and writes the full Claude CLI output into per-task logs. Before installing or running it: (1) review the code yourself or run it in an isolated/test repository (not your main work repo); (2) never use the --push option on a repo you care about until you’ve inspected the produced commits; (3) inspect the .looop logs for sensitive output and consider removing or encrypting logs if they may contain secrets; (4) prefer running with interactive permission checks enabled (remove --dangerously-skip-permissions) or run the claude-cli commands manually first; (5) if you lack confidence, run the skill inside a throwaway VM or container and audit all changes it makes to the filesystem and git history.
Capability Analysis
Type: OpenClaw Skill Name: looop Version: 1.1.1 The 'looop' skill is an autonomous development toolkit that uses the Claude CLI to decompose and execute tasks in a loop. It is classified as suspicious because it explicitly uses the '--dangerously-skip-permissions' flag in run.py, bypassing all user-confirmation prompts for file modifications and command executions. While this is intended for automation, it creates a high-risk environment where a malicious requirements document (processed in run.py) could trigger prompt injection, leading the agent to perform harmful actions like data exfiltration or unauthorized code commits/pushes without oversight. The use of shell=True in subprocess calls further increases the risk profile.
Capability Assessment
Purpose & Capability
Name/description claim automated decomposition + execution using Claude — the code and SKILL.md request a local Claude CLI and git, and write into a project src directory. Requiring the Claude CLI and git is coherent. Note: the SKILL.md and run.py intentionally use '--dangerously-skip-permissions' and automatically commit/push changes, which is not strictly necessary for decomposition and execution and increases risk.
Instruction Scope
Runtime instructions and the code tell the agent to read project documents (paths), create a .looop directory in the user-supplied src, run the local 'claude' CLI with a generated prompt, save full Claude CLI stream JSON to per-task log files, update tasks.json, and perform git commits (and optional push). The use of --dangerously-skip-permissions (in both SKILL.md and run.py's claude invocation) bypasses interactive permission checks. Logging the complete Claude CLI output (logger.claude) means any sensitive output Claude emits will be stored in project logs. Automatic commits/pushes mean generated changes can be written to and potentially pushed from the user's repo without additional confirmation.
Install Mechanism
No install spec; this is an instruction-plus-code skill that uses local binaries (claude, git). No downloads or archive extraction are present in the package, so the install risk is low.
Credentials
The skill declares no required environment variables or external credentials, and the code does not request unrelated secrets. It does copy the process environment into the subprocess env when invoking Claude and conditionally sets CLAUDE_CODE_GIT_BASH_PATH on Windows after probing the system. While no direct credential requests exist, the skill will run commands that may access the user's git credentials (for commit/push) and will log full Claude output, which could include secrets — this behavior is disproportionate for unattended operation.
Persistence & Privilege
always:false (normal). The skill is user-invocable and can be invoked autonomously (platform default). Combined with its behaviors (permission bypass, automatic git commits/pushes, and comprehensive logging), autonomous invocation increases the blast radius — a cautionary combination even though autonomous invocation alone is expected.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install looop
  3. After installation, invoke the skill by name or use /looop
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.1
No user-visible changes in this version. - Changelog note: No file changes detected; SKILL.md appears unchanged except for truncation at the end. Functionality and parameters remain as previously described.
v1.1.0
looop 1.0.9 - Expanded requirements decomposition: Supports projects defined by directory, single file, or inline text. - Enhanced task breakdown: Each task now includes task type, estimated files, and clear acceptance criteria. - Updated `tasks.json` structure for greater technical detail and precise project tracking. - Clarified usage notes and improved documentation for all inputs and outputs.
v1.0.8
- Added support for inline requirement decomposition with the new `--requirement <TEXT>` parameter. - `--docs`, `--doc`, and `--requirement` options are now mutually exclusive for decomposition. - Documentation and usage examples updated to reflect support for one-line inline requirements. - The `tasks.json` structure now accommodates inline requirements via `"requirements_text"` and sets `"docs_dir": null` when applicable.
v1.0.7
- Documentation updated for consistency, clarifying that all .looop files are stored under <src_dir> instead of specifically src/. - Minor formatting and table improvements for improved readability. - No changes to code logic or file structure.
v1.0.6
- No code or documentation changes detected. - Version bump only; contents and usage remain unchanged from previous release.
v1.0.5
- No code or documentation changes detected in this release. - Version bumped to 1.0.5 without any functional modifications.
v1.0.4
- Added support for decomposing a single requirements document using the new --doc <FILE> parameter. - Clarified mutual exclusivity between --docs (directory) and --doc (single file) for decomposition. - Updated usage examples and documentation to show both directory and single file decomposition modes. - Improved parameter table and instructions for greater clarity on decomposition options. - No code changes; documentation update only.
v1.0.3
- No file changes detected for this version. - Documentation and usage details remain consistent with the previous version. - No functional or interface changes present in this release.
v1.0.2
- Added logger.py for task execution logging. - Introduced per-task log files saved to src/.looop/ with timestamps and task details. - Log files contain task start/end times, full Claude CLI output, and debug info. - No logs generated for status queries or manual intervention commands. - Updated documentation to describe new log file structure and usage.
v1.0.1
- Added requirements and permissions sections to SKILL.md, specifying dependencies (claude-cli, git) and granted permissions. - Included a warning about bypassing permission checks and auto-committing/pushing to git. - No file or functional changes; documentation update only.
v1.0.0
- Initial release of the Claude Automated Development Toolkit ("looop") skill. - Converts requirements documents into structured task lists and automates task execution in a loop until project completion. - Supports phased workflow: requirements decomposition and task execution, with status tracking and progress recording. - Stores all task data and progress in the `src/.looop/` directory. - Provides various command-line parameters for decomposing requirements, task execution, progress viewing, manual intervention, and git integration.
Metadata
Slug looop
Version 1.1.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 11
Frequently Asked Questions

What is looop?

Claude Automated Development Toolkit - Decompose requirements documents, single files, or inline text into detailed task lists and automatically execute in l... It is an AI Agent Skill for Claude Code / OpenClaw, with 226 downloads so far.

How do I install looop?

Run "/install looop" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is looop free?

Yes, looop is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does looop support?

looop is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created looop?

It is built and maintained by caesargattuso (@caesargattuso); the current version is v1.1.1.

💬 Comments