From 8ca7962306e60e71e04b141bbca7079e6ccb560d Mon Sep 17 00:00:00 2001 From: ResearchForumOnline <116322650+ResearchForumOnline@users.noreply.github.com> Date: Fri, 31 Jul 2026 17:20:41 +0100 Subject: [PATCH] Align browser capability search ranking --- openzero/skills/catalog.py | 6 ++++++ openzero/skills/tests/test_catalog.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/openzero/skills/catalog.py b/openzero/skills/catalog.py index 77d7685..bcdb1e4 100644 --- a/openzero/skills/catalog.py +++ b/openzero/skills/catalog.py @@ -223,6 +223,12 @@ def _search_score(skill: Mapping[str, Any], query: str) -> int: score += 12 * len(query_tokens & _tokens(f"{skill_id} {name}")) score += 6 * len(query_tokens & _tokens(triggers)) score += 2 * len(query_tokens & _tokens(summary)) + if ( + skill_id == "browser-tabs" + and PUBLIC_WEB_TARGET_RE.search(query_clean) + and BROWSER_INSPECTION_RE.search(query_clean) + ): + score += 50 return score diff --git a/openzero/skills/tests/test_catalog.py b/openzero/skills/tests/test_catalog.py index 00dfe30..5936339 100644 --- a/openzero/skills/tests/test_catalog.py +++ b/openzero/skills/tests/test_catalog.py @@ -69,6 +69,12 @@ def test_plain_conversation_does_not_bind_unrelated_skills(self): ["browser-tabs"], ) + def test_domain_inspection_search_ranks_browser_first(self): + self.assertEqual( + search_catalog("check talktoai.org what do you see?")[0]["id"], + "browser-tabs", + ) + def test_domain_inspection_binds_browser_without_browser_keyword(self): self.assertEqual( select_skill_ids("check talktoai.org what do you see?"),