Description
Before embedding the user's query for skill matching, apply a lightweight LLM rewrite step (fast provider, e.g. qwen3:8b) that converts the raw query into a retrieval-friendly form: removes filler words, normalizes intent into a canonical capability description.
Implemented as an optional pass in SkillMatcher::match_skills controlled by a config flag skills.query_rewrite_provider. When empty/unset, falls back to current behavior (no rewrite).
Motivation
Raw user queries are often too literal or verbose for optimal cosine similarity against skill descriptions. AutoSkill demonstrates improved retrieval accuracy with a rewrite step. Since this is on the hot path (per request), it must be fast and optional.
Acceptance Criteria
References
Description
Before embedding the user's query for skill matching, apply a lightweight LLM rewrite step (fast provider, e.g.
qwen3:8b) that converts the raw query into a retrieval-friendly form: removes filler words, normalizes intent into a canonical capability description.Implemented as an optional pass in
SkillMatcher::match_skillscontrolled by a config flagskills.query_rewrite_provider. When empty/unset, falls back to current behavior (no rewrite).Motivation
Raw user queries are often too literal or verbose for optimal cosine similarity against skill descriptions. AutoSkill demonstrates improved retrieval accuracy with a rewrite step. Since this is on the hot path (per request), it must be fast and optional.
Acceptance Criteria
skills.query_rewrite_providerconfig field (optional, accepts provider name from[[llm.providers]])SkillMatcherReferences
specs/058-autoskill-query-rewriting/spec.md