factory-ralph-loop
Facilitates iterative task execution using the Ralph Loop pattern, optimizing code quality by fixing lint errors and passing tests.
Install this skill
Security score
The factory-ralph-loop skill was audited on Mar 8, 2026 and we found 34 security issues across 1 threat category, including 1 critical. Review the findings below before installing.
Categories Tested
Security Issues
Direct command execution function call
| 29 | const result = await factory.spawn({ |
Direct command execution function call
| 60 | const lintResult = spawnSync("npm", ["run", "lint"], { |
Direct command execution function call
| 75 | const result = await factory.spawn({ |
Direct command execution function call
| 118 | const lintResult = spawnSync("npm", ["run", "lint"], { |
Direct command execution function call
| 154 | const result = await factory.spawn({ |
Direct command execution function call
| 189 | const testResult = spawnSync(cmd, args, { |
Direct command execution function call
| 210 | const result = await factory.spawn({ |
Direct command execution function call
| 269 | const result = await factory.spawn({ |
Direct command execution function call
| 332 | const checkResult = spawnSync(cmd, args, { |
Direct command execution function call
| 363 | const result = await factory.spawn({ |
Direct command execution function call
| 411 | const result = spawnSync("npm", ["test"], { encoding: "utf-8" }); |
Direct command execution function call
| 484 | const result = await factory.spawn({ |
Direct command execution function call
| 492 | const check = spawnSync("npm", ["run", "lint", module], { |
Direct command execution function call
| 505 | - **While loop** around `await factory.spawn()` |
Template literal with variable interpolation in command context
| 27 | factory.observe.log("info", `Iteration ${iteration}`, { maxIterations }); |
Template literal with variable interpolation in command context
| 70 | factory.observe.log("info", `Iteration ${iteration}`, { |
Template literal with variable interpolation in command context
| 81 | prompt: `Fix lint errors. Current output:\n\n${lintResult.stdout}\n${lintResult.stderr}`, |
Template literal with variable interpolation in command context
| 146 | factory.observe.log("info", `Iteration ${iteration}`, { |
Template literal with variable interpolation in command context
| 156 | systemPrompt: `You fix lint errors iteratively. |
Template literal with variable interpolation in command context
| 160 | prompt: `Fix lint errors:\n\n${lintResult.stdout}\n${lintResult.stderr}`, |
Template literal with variable interpolation in command context
| 200 | factory.observe.log("info", `Iteration ${iteration}`, { |
Template literal with variable interpolation in command context
| 216 | prompt: `Fix failing tests. Output from '${testCommand}':\n\n${failureOutput}`, |
Template literal with variable interpolation in command context
| 265 | factory.observe.log("info", `Iteration ${iteration}: ${nextTask.id}`, { |
Template literal with variable interpolation in command context
| 271 | systemPrompt: `You implement PRD tasks iteratively. |
Template literal with variable interpolation in command context
| 275 | prompt: `Implement: ${nextTask.id} - ${nextTask.description}\n\nCompleted so far:\n${ |
Template literal with variable interpolation in command context
| 300 | id: `TASK-${id++}`, |
Template literal with variable interpolation in command context
| 357 | factory.observe.log("info", `Iteration ${iteration}`, { |
Template literal with variable interpolation in command context
| 420 | prompt: `Iteration ${iteration}/${maxIterations} |
Template literal with variable interpolation in command context
| 478 | factory.observe.log("info", `Processing module: ${module}`); |
Template literal with variable interpolation in command context
| 486 | systemPrompt: `Fix issues in ${module}`, |
Node child_process module reference
| 52 | import { spawnSync } from "node:child_process"; |
Node child_process module reference
| 98 | import { spawnSync } from "node:child_process"; |
Node child_process module reference
| 179 | import { spawnSync } from "node:child_process"; |
Node child_process module reference
| 315 | import { spawnSync } from "node:child_process"; |