diff --git a/desktop/src/__tests__/skillsSettings.test.tsx b/desktop/src/__tests__/skillsSettings.test.tsx
index 0ecefea1..e7f034c7 100644
--- a/desktop/src/__tests__/skillsSettings.test.tsx
+++ b/desktop/src/__tests__/skillsSettings.test.tsx
@@ -144,6 +144,47 @@ describe('Settings > Skills tab', () => {
expect(screen.getByText('Telegram Access')).toBeInTheDocument()
})
+ it('filters installed skills locally by keyword and clears the search', () => {
+ useSkillStore.setState({
+ skills: [
+ {
+ name: 'alpha',
+ displayName: 'Alpha Skill',
+ description: 'First skill description',
+ source: 'user',
+ userInvocable: true,
+ contentLength: 400,
+ hasDirectory: true,
+ },
+ {
+ name: 'telegram:access',
+ displayName: 'Telegram Access',
+ description: 'Plugin-provided access workflow',
+ source: 'plugin',
+ pluginName: 'telegram',
+ userInvocable: true,
+ contentLength: 280,
+ hasDirectory: true,
+ },
+ ],
+ })
+
+ render(
- {t('settings.plugins.browserDescription')} -
- {lastReloadSummary && ( -- {t('settings.plugins.lastReload', { - enabled: String(lastReloadSummary.enabled), - skills: String(lastReloadSummary.skills), - errors: String(lastReloadSummary.errors), - })} +
+ {t('settings.plugins.browserDescription')}
- )} -+ {t('settings.plugins.lastReload', { + enabled: String(lastReloadSummary.enabled), + skills: String(lastReloadSummary.skills), + errors: String(lastReloadSummary.errors), + })} +
+ )}{t('settings.skills.browserDescription')}
++ {t('settings.skills.searchResultCount', { + count: String(filteredSkills.length), + total: String(skills.length), + })} +
+ )} ++ {t('settings.skills.noSearchResults')} +
++ {t('settings.skills.noSearchResultsHint')} +
+