feat: Add OpenClaw skill for iloom CLI#642
feat: Add OpenClaw skill for iloom CLI#642NoahCardoza wants to merge 13 commits intoiloom-ai:mainfrom
Conversation
|
@NoahCardoza is this one ready for review? |
|
@acreeger I forgot to link #635 as a blocker. I'm waiting for this to be merged so I can update the instructions and test with these flags. Also, in my testing, every so often OpenClaw forgets to use |
@NoahCardoza Done! |
b560abd to
f76bcca
Compare
|
@acreeger I believe I've been able to test most of the commands. And as you can see, I actually generated most of this via prompts to my OpenClaw assistant @helixclaw. We can always refine, fine tune. It's probably good to get this in so the skill documentation can grow with the new features you're working on. Down the line, I'd like to look into how we can have OpenClaw respond to mentions in PRs and issues, but I think that could be accomplished via webhook without any modifications to iloom itself. |
|
Awesome! Let me take a look and see how much the changes affect the normal flow. If it's a minimal, I can merge it super quickly. (but not tonight because I'm on the East Coast) |
|
One thing I realized this morning when running and monitoring the tool calling of OpenClaw was that it didn't realize the epic I assigned it would be fully completed using a swarm and essentially replicated that functionality. I should update the docs to explain this, is there a flag to auto accept the swarm prompt? (I haven't looked yet.) I also felt like it was polling too often... which I think contributed to a ballooning context window (I'm not sure why it wasn't auto-compacting, it was using 200k/200k 😬). We should explain that the I noticed it was also trying to write/fix files and run tests... I'm not exactly sure why. Maybe it saw that iloom encountered failing tests and tried to solve them itself. Then, it ended up committing with Normally it's performed very well, but this morning it just went haywire. I'm going to try to fine tune the skill to account for these and instruct it to use iloom exclusively when instructed since it can handle the whole development pipeline on it's own. EditI was just looked for the "auto swarm" flag and found |
|
It seems like evaluating the whole JSON stream blows up the context window and for some reason compaction doesn't seem to happen automatically when monitoring the iloom process. At the moment, I've instructed OpenClaw to run Regardless, it seems like we have two overarching approaches:
I'll focus on 1.1 since it solves the immediate problem, but I'll continue exploring the other approaches. |
|
I have no idea why it's reading that JSON stream either - the yolo flag will simply use interactive mode, but with dangerously skipped permissions, and some changes to the system prompt to continue without asking for any help from the user. I would not try to solve the problem of getting questions answered - the real solution for that is to use the SDK, but then you can't use your anthropic subscription, you're limited to API usage only, which will be prohibitively expensive for most people. I would encourage the use of the hub issues to review the assumptions. If you were to do it, you would wanna run it in headless mode with -p, redirect the JSON stream to a file, have the claw just wait for that instance to shut down, tail the json to get the input required from the user or the latest status , get the answer from the user, then resume the agent with a prompt that contains the answer. Spin will actually auto resume the last session, however, you can't pass a prompt to it - if you could, you could pass the prompt with the answer. If that makes any sense at all 😂 |
|
I was actually playing with that exact flow after I posted the comment with pure Claude and was initially thinking we could add the ability for the
We could also use a temporary HTTP server to receive the answer back from OpenClaw. What do you think? For now, I've found this il spin | jq -crRC '. as $raw | try (fromjson | select(.type == "assistant").message.content[] | select(.text).text) catch "iloom: "+ $raw' |
Refs iloom-ai#626 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ning, and streaming - Add initialization.md reference with full settings schema and manual setup guide - Replace il init recommendation with direct settings file creation for AI agents - Update plan/spin commands to use --print --json-stream in background mode - Document sizeable vs small change workflows (plan→review→start→spin vs inline start) - Mark il init as human-only, not recommended for AI agents
- Add 'GitHub Remote Configuration' section to SKILL.md explaining fork workflows and why agents should ask users instead of auto-configuring - Document settings.local.json for per-developer remote preferences - Add --no-terminal to all autonomous start patterns (SKILL.md and non-interactive-patterns.md) - Add fork workflow step to initialization.md manual setup guide - Add terminal window bypass to decision bypass map Closes #7
Update all skill docs to reflect upstream v0.10.0 adding --json-stream support to commit, finish, and rebase commands: - SKILL.md: update finish/commit examples with --json-stream + background, expand safety rule #2 and Important note to cover all extended commands - non-interactive-patterns.md: add 'Background Commands — Extended Operations' section for commit/finish/rebase, move rebase out of 'Foreground Only', add autonomous rebase pattern, update JSON Output table - development-commands.md: add --json-stream flag to commit and rebase tables, update examples to use background mode - core-workflow.md: add --json-stream flag to finish table, update examples Refs #3
--json and --json-stream are mutually exclusive (per upstream iloom-ai#635). Prefer --json-stream for these commands since it provides incremental progress visibility. --json remains for commands that don't support --json-stream (list, cleanup, start, etc.). Refs #3
- Clarify issueManagement.github.remote vs mergeBehavior.remote semantics: issueManagement = canonical repo for issues/PRs/comments, mergeBehavior = where branches are pushed (cross-fork PR support) - Add table showing common workflow patterns (fork, direct, fork+local issues) - Document that GitHub labels must exist before use; guidance on creating labels when user has write/triage permissions, or listing existing ones - Document --json and --json-stream mutual exclusivity in safety rules - Add required prompt argument to all il plan --yolo examples - Update planning references with prompt requirement note
Replace blanket 'always use pty:true' guidance with three categories: - No PTY needed: list, issues, projects, recap, start --no-claude, cleanup, finish, commit --no-review, build, test, lint, etc. - Background required: plan, spin, start (with Claude), summary, enhance - Foreground PTY only: init, shell, rebase (interactive, not for agents) Updates both SKILL.md and references/non-interactive-patterns.md. Closes #4
90df2ff to
48376c1
Compare
|
@NoahCardoza what are we blocked on here - what do you need from me? Just a review/merge? |
|
I think we could merge as is, but we may want to warn that it seems to eat through tokens. I think there are more optimizations in order. However, the linking to OpenClaw works and it's able to use iloom. It's just that sometimes it tries to take matters into it's own hands and kills the iloom process when it's running for a long time, especially in swarm mode where the subprocesses are spun up and there isn't much output in the parent process... I'll continue to tinker with it. It's up to you if we want to get it in or keep trying to optimize it before introducing it into main. Maybe I need to simplify the instructions and just give it the happy path flows instead of everything about iloom when it really only needs to know how to use plan, start, spin, finish and possibly cleanup (in that order). |
|
Let's get it in there first and then optimize. I've already made some optimizations to swarm mode. It no longer uses sub-processes and uses a simpler workflow. If you think the documentation could be simplified though I would do that. Thanks!! |
Status
TODO
il openclawcommand to install OpenClaw skill.Summary
Implements the OpenClaw skill that enables AI agents to manage iloom workspaces programmatically. This skill provides comprehensive documentation of iloom's CLI commands, flags, and interaction patterns.
Closes #626
Changes
openclaw-skill/directory structure at repository rootSKILL.mdwith OpenClaw frontmatter and quick-start patternscore-workflow.md- init, start, finish, cleanup, list commandsdevelopment-commands.md- spin, commit, rebase, build, test, etc.planning-and-issues.md- plan, add-issue, enhance, issuesconfiguration.md- settings, env vars, global flagsnon-interactive-patterns.md- PTY, background, autonomous operationKey Features
il planfor feature decompositionpty:truerequirementbackground:truewith monitoringTest Plan
🤖 Generated with Claude Code