Skip to content

spike: promote hidden run_intent skills to standalone @Tools (convert_units, convert_cooking_measure) #1062

@lokhor

Description

@lokhor

Background

PR #1061 fixed #1058 by promoting convert_currency from run_intent's 50+ value enum to a standalone @Tool. The same 80-char description truncation in SkillRegistry.buildNativeDeclarations() hides other conversion skills from the model.

Affected intents

  • convert_units — "convert 5 miles to km", "how many MB in 2GB". Model won't find it in run_intent.
  • convert_cooking_measure — "2 cups flour in grams", "3 tbsp butter to ml". Same pattern.

Pattern (from #1061)

  1. Create ConvertUnitsSkill / ConvertCookingMeasureSkill implementing Skill
  2. Add @Tool convertUnits(...) / @Tool convertCookingMeasure(...) in KernelAIToolSet
  3. Register via @Binds @IntoSet in SkillsModule
  4. Delegate to existing NativeIntentHandler service methods

Not included

  • calculate_arithmetic — Gemma-4 can do math internally; tool only needed for complex functions
  • Device actions (toggle, play, navigate) — model naturally reaches for run_intent for these

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions