From d6835fe0b0f6213a344bcb1e0705b0ddf6bbece5 Mon Sep 17 00:00:00 2001 From: cynarAI <155274210+cynarAI@users.noreply.github.com> Date: Sat, 10 Oct 2026 19:07:31 +0200 Subject: [PATCH] Keep schedule_create for later or repeated work (#200) A live check showed the agent answering a business-idea question by creating a schedule that would run the analysis later. The schedule_create description now says never to use it for work the user wants now, however long. --- packages/adapters/src/builtin-tools.ts | 2 +- packages/adapters/src/schedule-tools.test.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/adapters/src/builtin-tools.ts b/packages/adapters/src/builtin-tools.ts index 21ec656..d1d86da 100644 --- a/packages/adapters/src/builtin-tools.ts +++ b/packages/adapters/src/builtin-tools.ts @@ -951,7 +951,7 @@ export const builtinAgentTools: ConnectorTool[] = [ { name: "schedule_create", description: - 'Create a reminder or recurring job for this bot. Use it whenever the user describes something that should happen later or again, even in passing ("remind me in 10 minutes", "every Sunday I plan the week"): create it right away instead of asking first; the user sees it in the conversation and can undo it. Without a time, use 08:00 for mornings, 19:00 for evenings and 09:00 otherwise. Reusing the name of an active repeating schedule changes that schedule instead of adding another. Repeats: cron or every/unit (min 1 minute). One-shot: runAt, delayMinutes, or delaySeconds.', + 'Create a reminder or recurring job for this bot. Use it whenever the user describes something that should happen later or again, even in passing ("remind me in 10 minutes", "every Sunday I plan the week"): create it right away instead of asking first; the user sees it in the conversation and can undo it. Never use it for work the user wants now, however long: do that work in this turn. Without a time, use 08:00 for mornings, 19:00 for evenings and 09:00 otherwise. Reusing the name of an active repeating schedule changes that schedule instead of adding another. Repeats: cron or every/unit (min 1 minute). One-shot: runAt, delayMinutes, or delaySeconds.', inputSchema: { type: "object", properties: { diff --git a/packages/adapters/src/schedule-tools.test.ts b/packages/adapters/src/schedule-tools.test.ts index dd678e0..feed050 100644 --- a/packages/adapters/src/schedule-tools.test.ts +++ b/packages/adapters/src/schedule-tools.test.ts @@ -1,5 +1,6 @@ import { ONCE_ROUTINE_CRON } from "@rakazo/core"; import { describe, expect, it, vi } from "vitest"; +import { builtinAgentTools } from "./builtin-tools.js"; import { cancelScheduleFromTool, createScheduleFromTool, @@ -781,4 +782,9 @@ describe("scheduling on behalf of another bot", () => { expect(extended.inputSchema.required).toEqual(["name"]); expect(Object.keys(tool.inputSchema.properties)).toEqual(["name"]); }); + + it("keeps schedule_create for later or repeated work, not work wanted now", () => { + const tool = builtinAgentTools.find((candidate) => candidate.name === "schedule_create"); + expect(tool?.description).toContain("Never use it for work the user wants now"); + }); });