skills/jb-beansloop/SKILL.md
Use when working one bean or all beans in a beans-enabled repo through the Ralp loop.
npx skillsauth add bjesuiter/skills jb-beansloopInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to run a beans-driven Ralph-style loop when working in a beans-enabled repo and running an anthropic model.
Use this skill only when BOTH are true:
.beans.yml exists)beans cli existsIgnore this skill when:
.beans.yml is missing.beans cli is missing.If a user request conflicts with beans usage (for example: asks to skip bean creation), ask for confirmation before proceeding.
When you need a new issue to work on select the next most important bean via the beans skill and based on your own judgement.
This mode should run unattended for as long as possible (overnight-friendly). If a bean is blocked, select another unblocked bean instead of stopping. Only stop when all remaining beans are either completed or blocked.
Query for actionable beans (exclude completed, scrapped, and draft).
beans query '{ beans(filter: { excludeStatus: ["completed", "scrapped", "draft"], isBlocked: false }) { id title status type priority } }'
Evaluate the "most important" bean based on the following criteria:
After you found an issue to work on, mark it as in-progress and start working on it until the acceptance criteria are met.
If installed, you MUST use the tdd skill by Matt Pocock to work on the issue.
If you can't finish the current bean because you encounter an unresolveable issue, mark the current bean as blocked and link the follow-up bug/ticket.
If the user says:
next issuenext beannext beansnext ticket
trigger the "Next Issue Mode (Automatic)" but DON'T run a loop in this case!Rules:
committer skill to commit and push.blocked and link the follow-up bug.
Then run "Next Issue Mode (Automatic)" again.Before marking any bean as completed, ensure the app still works:
npm run build, bun run build, etc.)npm run lint, tsc --noEmit, etc.)npm run test, bun run test, etc.)If any step fails:
Note on statuses: beans only supports status values listed in the repo config (draft, todo, in-progress, completed, scrapped). Use tags or a short note in the bean body for labels like blocked, broken, or ai verified unless your repo defines those as valid statuses.
Use the jb-browser-testing skill for all browser verification.
ai verified at <timestamp>.broken and link the follow-up bug.ai verified or broken.Recommended result format in the bean body:
## AI Verification
- Result: passed | failed
- Timestamp: <timestamp>
- Notes: <short summary>
# Get active beans
beans query '{ beans(filter: { excludeStatus: ["completed", "scrapped", "draft"] }) { id title status type priority } }'
# Read a bean
beans query '{ bean(id: "<id>") { title status type body } }'
# Create a bean
beans create "Title" -t task -d "Description" -s todo
# Update status
beans update <id> --status completed
testing
Use when the user mentions Clawpatch/clawpatch.ai, semantic feature review, repo-wide AI audit, persistent findings, or clawpatch init/map/review/report/fix/revalidate.
development
Use when the user asks for autoreview, Codex/Claude second-model review, or final review of dirty changes, a branch, commit, or PR before ship.
testing
Use when the user asks to cut, prepare, publish, tag, or verify a release, especially npm/package releases.
tools
Use when adding, writing, fixing, or exposing a script for the Tuna macOS launcher.