diff --git a/webui/src/components/settings/SkillsCatalogSettings.tsx b/webui/src/components/settings/SkillsCatalogSettings.tsx
index fb793e5ad..f525f1b61 100644
--- a/webui/src/components/settings/SkillsCatalogSettings.tsx
+++ b/webui/src/components/settings/SkillsCatalogSettings.tsx
@@ -108,7 +108,7 @@ export function SkillsCatalogSettings({ skills }: { skills: SkillSummary[] }) {
aria-selected={view === item}
onClick={() => setView(item)}
className={cn(
- "inline-flex items-center gap-1.5 rounded-[9px] px-3.5 py-1.5 text-[13px] font-medium transition-colors",
+ "inline-flex items-center rounded-[9px] px-3.5 py-1.5 text-[13px] font-medium transition-colors",
view === item
? "bg-background text-foreground shadow-sm"
: "text-muted-foreground hover:text-foreground",
@@ -116,12 +116,7 @@ export function SkillsCatalogSettings({ skills }: { skills: SkillSummary[] }) {
>
{item === "installed"
? t("settings.skills.installedTab", { defaultValue: "Installed" })
- : (
- <>
-
- {t("settings.skills.discoverTab", { defaultValue: "Discover" })}
- >
- )}
+ : t("settings.skills.discoverTab", { defaultValue: "Discover" })}
))}
@@ -228,14 +223,6 @@ export function SkillsCatalogSettings({ skills }: { skills: SkillSummary[] }) {
);
}
-function VercelMark() {
- return (
-
- );
-}
-
function SkillCatalogRow({
skill,
onSelect,
diff --git a/webui/src/i18n/locales/en/common.json b/webui/src/i18n/locales/en/common.json
index 1e8cc1a7a..177cdaf6c 100644
--- a/webui/src/i18n/locales/en/common.json
+++ b/webui/src/i18n/locales/en/common.json
@@ -788,6 +788,9 @@
"skills": {
"description": "Review the instruction skills this agent can load during a conversation.",
"caption": "{{available}} available · {{total}} total",
+ "views": "Skills views",
+ "installedTab": "Installed",
+ "discoverTab": "Discover",
"featured": "Agent skills",
"empty": "No skills are available.",
"sourceWorkspace": "Custom",
diff --git a/webui/src/i18n/locales/es/common.json b/webui/src/i18n/locales/es/common.json
index d8847971f..2aa1dd23e 100644
--- a/webui/src/i18n/locales/es/common.json
+++ b/webui/src/i18n/locales/es/common.json
@@ -775,6 +775,9 @@
"skills": {
"description": "Revisa las habilidades de instrucciones que este agente puede cargar durante una conversación.",
"caption": "{{available}} disponibles · {{total}} en total",
+ "views": "Vistas de habilidades",
+ "installedTab": "Instaladas",
+ "discoverTab": "Descubrir",
"featured": "Habilidades del agente",
"empty": "No hay habilidades disponibles.",
"sourceWorkspace": "Personalizada",
diff --git a/webui/src/i18n/locales/fr/common.json b/webui/src/i18n/locales/fr/common.json
index d241c6fa4..57540a27c 100644
--- a/webui/src/i18n/locales/fr/common.json
+++ b/webui/src/i18n/locales/fr/common.json
@@ -774,6 +774,9 @@
"skills": {
"description": "Consultez les compétences d’instruction que cet agent peut charger pendant une conversation.",
"caption": "{{available}} disponibles · {{total}} au total",
+ "views": "Vues des compétences",
+ "installedTab": "Installées",
+ "discoverTab": "Découvrir",
"featured": "Compétences agent",
"empty": "Aucune compétence disponible.",
"sourceWorkspace": "Personnalisée",
diff --git a/webui/src/i18n/locales/id/common.json b/webui/src/i18n/locales/id/common.json
index 49b06fc00..3d0f02c03 100644
--- a/webui/src/i18n/locales/id/common.json
+++ b/webui/src/i18n/locales/id/common.json
@@ -774,6 +774,9 @@
"skills": {
"description": "Tinjau skill instruksi yang dapat dimuat agent ini selama percakapan.",
"caption": "{{available}} tersedia · {{total}} total",
+ "views": "Tampilan skill",
+ "installedTab": "Terpasang",
+ "discoverTab": "Temukan",
"featured": "Skill agent",
"empty": "Tidak ada skill yang tersedia.",
"sourceWorkspace": "Kustom",
diff --git a/webui/src/i18n/locales/ja/common.json b/webui/src/i18n/locales/ja/common.json
index b85e9c225..270a58848 100644
--- a/webui/src/i18n/locales/ja/common.json
+++ b/webui/src/i18n/locales/ja/common.json
@@ -774,6 +774,9 @@
"skills": {
"description": "このエージェントが会話中に読み込める指示スキルを確認します。",
"caption": "{{available}} 利用可能 · 合計 {{total}}",
+ "views": "スキル表示",
+ "installedTab": "インストール済み",
+ "discoverTab": "見つける",
"featured": "エージェントスキル",
"empty": "利用可能なスキルはありません。",
"sourceWorkspace": "カスタム",
diff --git a/webui/src/i18n/locales/ko/common.json b/webui/src/i18n/locales/ko/common.json
index fa8159d0b..2e321e934 100644
--- a/webui/src/i18n/locales/ko/common.json
+++ b/webui/src/i18n/locales/ko/common.json
@@ -774,6 +774,9 @@
"skills": {
"description": "이 에이전트가 대화 중에 불러올 수 있는 지시 스킬을 확인합니다.",
"caption": "{{available}}개 사용 가능 · 총 {{total}}개",
+ "views": "스킬 보기",
+ "installedTab": "설치됨",
+ "discoverTab": "탐색",
"featured": "에이전트 스킬",
"empty": "사용 가능한 스킬이 없습니다.",
"sourceWorkspace": "사용자 지정",
diff --git a/webui/src/i18n/locales/pt-BR/common.json b/webui/src/i18n/locales/pt-BR/common.json
index e3bac6f03..d5ce8ade6 100644
--- a/webui/src/i18n/locales/pt-BR/common.json
+++ b/webui/src/i18n/locales/pt-BR/common.json
@@ -788,6 +788,9 @@
"skills": {
"description": "Revise as skills de instrução que este agente pode carregar durante uma conversa.",
"caption": "{{available}} disponíveis · {{total}} no total",
+ "views": "Visualizações de skills",
+ "installedTab": "Instaladas",
+ "discoverTab": "Descobrir",
"featured": "Skills do agente",
"empty": "Nenhuma skill disponível.",
"sourceWorkspace": "Personalizada",
diff --git a/webui/src/i18n/locales/vi/common.json b/webui/src/i18n/locales/vi/common.json
index 5ae45f6f7..08db17946 100644
--- a/webui/src/i18n/locales/vi/common.json
+++ b/webui/src/i18n/locales/vi/common.json
@@ -774,6 +774,9 @@
"skills": {
"description": "Xem các kỹ năng chỉ dẫn mà agent này có thể tải trong cuộc trò chuyện.",
"caption": "{{available}} khả dụng · tổng {{total}}",
+ "views": "Chế độ xem kỹ năng",
+ "installedTab": "Đã cài đặt",
+ "discoverTab": "Khám phá",
"featured": "Kỹ năng agent",
"empty": "Không có kỹ năng nào khả dụng.",
"sourceWorkspace": "Tùy chỉnh",
diff --git a/webui/src/i18n/locales/zh-CN/common.json b/webui/src/i18n/locales/zh-CN/common.json
index 385f27aae..137bf0512 100644
--- a/webui/src/i18n/locales/zh-CN/common.json
+++ b/webui/src/i18n/locales/zh-CN/common.json
@@ -788,6 +788,9 @@
"skills": {
"description": "查看此 agent 在对话中可以加载的指令技能。",
"caption": "{{available}} 个可用 · 共 {{total}} 个",
+ "views": "技能视图",
+ "installedTab": "已安装",
+ "discoverTab": "发现",
"featured": "Agent 技能",
"empty": "暂无可用技能。",
"sourceWorkspace": "自定义",
diff --git a/webui/src/i18n/locales/zh-TW/common.json b/webui/src/i18n/locales/zh-TW/common.json
index 2052e8ce2..bc8ae966c 100644
--- a/webui/src/i18n/locales/zh-TW/common.json
+++ b/webui/src/i18n/locales/zh-TW/common.json
@@ -774,6 +774,9 @@
"skills": {
"description": "檢閱此 Agent 可在對話期間載入的指令技能。",
"caption": "{{available}} 個可用 · 共 {{total}} 個",
+ "views": "技能檢視",
+ "installedTab": "已安裝",
+ "discoverTab": "探索",
"featured": "Agent 技能",
"empty": "目前沒有可用的技能。",
"sourceWorkspace": "自訂",
diff --git a/webui/src/tests/app-layout.test.tsx b/webui/src/tests/app-layout.test.tsx
index a6d4971af..99754d938 100644
--- a/webui/src/tests/app-layout.test.tsx
+++ b/webui/src/tests/app-layout.test.tsx
@@ -664,7 +664,9 @@ describe("App layout", () => {
await waitFor(() => expect(connectSpy).toHaveBeenCalled());
const sidebar = screen.getByRole("navigation", { name: "Sidebar navigation" });
fireEvent.click(within(sidebar).getByRole("button", { name: "Skills" }));
- fireEvent.click(await screen.findByRole("tab", { name: "Discover" }));
+ const discoverTab = await screen.findByRole("tab", { name: "Discover" });
+ expect(discoverTab.querySelector("svg")).toBeNull();
+ fireEvent.click(discoverTab);
expect(await screen.findByRole("heading", { name: "Trending today" })).toBeInTheDocument();
expect(screen.getByText("find-skills")).toBeInTheDocument();
expect(screen.getByText(/14,481 installs \/ 24h/)).toBeInTheDocument();
diff --git a/webui/src/tests/i18n.test.tsx b/webui/src/tests/i18n.test.tsx
index c00c5b72a..880dba082 100644
--- a/webui/src/tests/i18n.test.tsx
+++ b/webui/src/tests/i18n.test.tsx
@@ -75,6 +75,9 @@ const LOCALIZED_SETTINGS_COPY_KEYS = [
"settings.apps.description",
"settings.apps.caption",
"settings.apps.restartRequired",
+ "settings.skills.views",
+ "settings.skills.installedTab",
+ "settings.skills.discoverTab",
"settings.nanobotFeatures.disable",
"settings.nanobotFeatures.ready",
"settings.nanobotFeatures.missingDependency",
@@ -437,6 +440,8 @@ describe("webui i18n", () => {
expect(settings.byok.tabs.webSearch).toBe("网页搜索");
expect(settings.overview.webSearch).toBe("网页搜索");
expect(settings.overview.workspace).toBe("工作区");
+ expect(settings.skills.installedTab).toBe("已安装");
+ expect(settings.skills.discoverTab).toBe("发现");
});
it("keeps Brazilian Portuguese settings overview copy localized", () => {