Run CI checks and write failures to plan findings
Runs CI checks and logs failures to plan findings for automated fixing
/plugin marketplace add settlemint/agent-marketplace/plugin install crew@settlemint[plan slug]work/Run CI checks (test, lint, typecheck, format) and write all failures to the plan's findings section. This allows the Ralph Loop to see failures and fix them in the next iteration.
</objective> <workflow>const pm = Bash({
command:
"[ -f bun.lock ] && echo bun || ([ -f pnpm-lock.yaml ] && echo pnpm || echo npm)",
}).trim();
Task({
subagent_type: "Bash",
prompt: `Run full CI and report ALL failures:
1. Run: ${pm} run ci || (${pm} run lint && ${pm} run test && ${pm} run typecheck)
2. Parse output and list EVERY failure:
- Test failures: file:line - test name - error
- Lint errors: file:line - rule - message
- Type errors: file:line - TS error - message
- Format issues: file - description
3. Output format (one per line):
[TEST|LINT|TYPE|FORMAT] file:line - message
4. End with summary:
TOTAL: X failures (Y test, Z lint, W type, V format)
or
ALL CHECKS PASSING`,
description: "ci-full",
run_in_background: false,
});
const failures = parseFailures(ciOutput);
// Returns: [{ type, file, line, message }]
const slug = "$ARGUMENTS".trim();
const planPath = `.claude/plans/${slug}.yaml`;
const plan = Read({ file_path: planPath });
// Clear old CI findings (they're stale)
plan.findings = plan.findings || {};
plan.findings.ci = [];
// Add current failures
for (const failure of failures) {
plan.findings.ci.push({
id: `CI-${String(plan.findings.ci.length + 1).padStart(3, "0")}`,
type: failure.type.toLowerCase(),
status: "open",
file: failure.file,
line: failure.line,
message: failure.message,
added: new Date().toISOString(),
});
}
Write({ file_path: planPath, content: yaml.stringify(plan) });
if (failures.length === 0) {
console.log("CI PASSING - no failures to add to plan");
} else {
console.log(
`CI FAILING - added ${failures.length} findings to plan:`,
failures.map((f) => ` ${f.type}: ${f.file}:${f.line}`).join("\n"),
);
}
</workflow>
<success_criteria>
</success_criteria>
<notes>Follow @patterns/ci-requirements.md for CI check requirements.
</notes>