Skip to content

Bug: schedule skill's SKILL.md is out of sync with createscheduledtask tool schema #169

@LorenzoColombani

Description

@LorenzoColombani

Summary

The built-in schedule skill (creatorType: anthropic) instructs Claude to send a taskName parameter and treats description as a heading/label referring to the prompt body. The actual create_scheduled_task MCP tool requires taskId, prompt, and description (a short one-line UI label) — none of which match what the skill describes.

Every first-time invocation burns 2–3 failed tool calls on schema validation errors until Claude reads the error messages and guesses the correct field names.


Evidence This Is an Anthropic-Shipped Skill

Local skills-plugin manifest entry:

{
  "skillId": "schedule",
  "name": "schedule",
  "description": "Create a scheduled task that can be run on demand or automatically on an interval.",
  "creatorType": "anthropic",
  "updatedAt": null,
  "enabled": true
}

creatorType: anthropic = shipped by Anthropic. Local edits to SKILL.md revert on next sync (verified).


Tool Schema Ground Truth

create_scheduled_task required params:

  • taskId — kebab-case identifier
  • prompt — full instructions executed at run time
  • description — short one-line UI label shown in the scheduled-tasks list

Scheduling: cronExpression OR fireAt (mutually exclusive, optional for ad-hoc)


Current SKILL.md — The Mismatch

  • Step 2 heading: "Draft a prompt" — says "Include in the description" and "Write the description in second-person imperative" — conflates prompt and description
  • Step 3: "Choose a taskName" — this parameter does not exist; should be taskId
  • The real description field (short one-line UI label, 10–20 words) is never mentioned

Steps to Reproduce

  1. In Cowork mode (or any Claude surface that exposes the schedule skill and scheduled-tasks MCP), ask Claude to schedule a recurring task.
  2. Claude loads the schedule skill, drafts a prompt, picks a taskName, and calls create_scheduled_task.
  3. The call fails with a schema validation error: missing required taskId and description, unknown taskName.
  4. Claude retries 1–2 more times, reading errors, before producing a valid call.

Expected: first call succeeds.
Actual: 2–3 failed calls per first-time use, every session, every user.


Proposed Fix (Text-Level Diff)

# Current Fixed
2 (heading) Draft a prompt Draft the prompt
2 Include in the description Include in the prompt
2 Write the description in second-person imperative Write the prompt in second-person imperative
3 (new) (missing) Write a short description — a one-line UI label (10–20 words) shown in the scheduled-tasks list, NOT the full prompt. Example: "Ping me at 4 pm for console inventory, then draft LeBonCoin listings."
3 (old) Choose a taskName — descriptive name in kebab-case Choose a taskId — descriptive identifier in kebab-case. This is passed as the taskId parameter.
4 Determine scheduling Determine scheduling (renumbered to 5)

Final structure:

  1. Analyze the session
  2. Draft the prompt
  3. Write a short description
  4. Choose a taskId
  5. Determine scheduling

Finally, call the create_scheduled_task tool.


Impact

Affects every user invoking the schedule skill. Not setup-specific. Wastes 2–3 tool-call round-trips and produces visible error noise on first use.n'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions