Add kanban_bulk_create_tasks tool for batch task creation#80
Open
rephapeng wants to merge 1 commit into
Open
Conversation
When asked to create several tasks at once, the model reaches for a single bulk call. Without such a tool it hallucinates `kanban_bulk_create_tasks`; the quality monitor rejects it, and after the 2-correction cap the model often gives up and falsely reports a "board/registry error server-side" — so the tasks never get created (observed with the 9B/9C/9D plan). Provide the real tool. It wraps kanban_create_task.execute per item (identical permission/validation), creates partial-on-error, and supports intra-batch dependencies via depends_on_index (1-based index of an earlier task in the same batch) so e.g. 9C/9D can depend on 9B before its id exists.
e2ccbfb to
8b56cf0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a
kanban_bulk_create_taskstool to the kanban skill so an agent can create several board tasks in a single call, instead of issuing onekanban_create_taskcall per task.Why
When asked to create several tasks at once (e.g. a multi-step plan like 9B/9C/9D), the model naturally reaches for a single "bulk create" call. Since no such tool existed, it would hallucinate a
kanban_bulk_create_taskscall. The quality monitor then rejected the unknown tool, and after the 2-correction cap the model frequently gave up and falsely reported a "board/registry error server-side" — so the tasks were never created at all.Providing the real tool removes that failure at the source: the call the model already wants to make now exists and succeeds.
What it does
skills/kanban/backend/tools/kanban_bulk_create_tasks.py— wrapskanban_create_task.executeonce per item, so permission checks, validation, and single-task dependency handling stay byte-for-byte identical to the single-create path. The sibling tool is loaded by file path becauseskills/is not an importable package.skills/kanban/tools.json— registers the tool schema so it's exposed to the agent.Behaviour
tasksarray (max 50 per call). Each item takes the same fields askanban_create_task(titlerequired;description,priority,assignee,dependenciesoptional).{status, created_count, task_ids, results, errors}wherestatusis:success— all createdpartial— some failederror— all faileddepends_on_index(1-based index of an earlier task in the same batch). The referenced task's real id is resolved once it is created, so e.g. 9C/9D can depend on 9B without knowing its id in advance.Testing
python -c "import ast; ast.parse(...)"— tool module parsesjson.load(...)onskills/kanban/tools.json— schema is valid JSON