feat(skills): UI fuer AI-Skill-Definitionen — Modul 7/16 des UI-Backlogs
Check Cross-Plugin Imports / check (push) Has been cancelled
Check Cross-Plugin Imports / check (push) Has been cancelled
Zweites Modul via Phase-Q-Manifest-Architektur: Registrierung komplett ueber das automation-Plugin-Manifest (page_route /skills + menu_item, Sparkles-Icon) — routes/index.tsx und Sidebar.tsx unangetastet. Der Komponenten-Map-Generator wired den lazy import (39 Komponenten). Backend existierte vollstaendig im automation-Plugin (skill_routes.py: list mit is_active/category-Filtern, create, get, patch, delete; automation:read/write/delete), Frontend hatte 0% Abdeckung. - api/skills.ts: TanStack-Hooks (useSkills mit Filtern, useSkill, create/update/delete mit Cache-Invalidierung) - pages/Skills.tsx: Filter-Tabs (alle/aktiv/inaktiv), Skill-Karten (Name, Aktiv/Inaktiv-Badge, Kategorie, Beschreibung, Tool-Count), Create/Edit-Dialog (Name, Beschreibung, Instructions-Textarea, Kategorie, Tool-IDs als Komma-Liste, Aktiv-Toggle), Delete mit Confirm — Create/Edit hinter automation:write, Delete hinter automation:delete - i18n skills.* + nav.skills de/en Hinweis: Skills sind Orchestrierungs-Metadaten, KEINE Berechtigungsquelle — erlaubte Tools verweisen auf Tool-IDs, fuer die Agent und User bereits berechtigt sein muessen (Backend-Docstring). Verifikation: Vitest 10/10 (Filter-Tabs, Badges inkl. Inaktiv, Tool-Count, Create-Flow, Edit prefilled, Delete mit+ohne Confirm, separates Write/Delete-Gating) · tsc exit 0 · production build exit 0 · Backend-Regressionen (route-order, m5-miniapps, n4-scope) 28/28 · compileall sauber · Cross-Plugin-Checker 0 · Manifest-Check: page_route + menu_item korrekt.
This commit is contained in:
@@ -24,7 +24,8 @@
|
||||
"systemDashboard": "System Dashboard",
|
||||
"approvals": "Freigaben",
|
||||
"delegations": "Delegationen",
|
||||
"marketplace": "Marketplace"
|
||||
"marketplace": "Marketplace",
|
||||
"skills": "Skills"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
@@ -1758,5 +1759,34 @@
|
||||
"deleteConfirm": "Vorlage '{{name}}' wirklich loeschen?",
|
||||
"empty": "Keine Berechtigungs-Vorlagen vorhanden.",
|
||||
"loadError": "Vorlagen konnten nicht geladen werden."
|
||||
},
|
||||
"skills": {
|
||||
"title": "Skills",
|
||||
"create": "Skill erstellen",
|
||||
"createTitle": "Neuen Skill definieren",
|
||||
"createSubmit": "Erstellen",
|
||||
"editTitle": "Skill bearbeiten",
|
||||
"save": "Speichern",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "z.B. Rechnungspruefung",
|
||||
"description": "Beschreibung",
|
||||
"descriptionPlaceholder": "Wofuer ist dieser Skill?",
|
||||
"instructions": "Anweisungen",
|
||||
"instructionsPlaceholder": "Schritt-fuer-Schritt-Anweisungen fuer den Agenten...",
|
||||
"category": "Kategorie",
|
||||
"tools": "Erlaubte Tools",
|
||||
"toolsHelper": "Kommagetrennte Tool-IDs. Leer = keine Tools.",
|
||||
"isActive": "Aktiv",
|
||||
"active": "Aktiv",
|
||||
"inactive": "Inaktiv",
|
||||
"filterAll": "Alle",
|
||||
"filterActive": "Aktiv",
|
||||
"filterInactive": "Inaktiv",
|
||||
"toolCount": "{{count}} Tool(s)",
|
||||
"edit": "Bearbeiten",
|
||||
"delete": "Loeschen",
|
||||
"deleteConfirm": "Skill '{{name}}' wirklich loeschen?",
|
||||
"empty": "Keine Skills vorhanden.",
|
||||
"loadError": "Skills konnten nicht geladen werden."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
"systemDashboard": "System Dashboard",
|
||||
"approvals": "Approvals",
|
||||
"delegations": "Delegations",
|
||||
"marketplace": "Marketplace"
|
||||
"marketplace": "Marketplace",
|
||||
"skills": "Skills"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Sign In",
|
||||
@@ -1758,5 +1759,34 @@
|
||||
"deleteConfirm": "Really delete template '{{name}}'?",
|
||||
"empty": "No permission templates yet.",
|
||||
"loadError": "Failed to load templates."
|
||||
},
|
||||
"skills": {
|
||||
"title": "Skills",
|
||||
"create": "Create skill",
|
||||
"createTitle": "Define a new skill",
|
||||
"createSubmit": "Create",
|
||||
"editTitle": "Edit skill",
|
||||
"save": "Save",
|
||||
"name": "Name",
|
||||
"namePlaceholder": "e.g. Invoice check",
|
||||
"description": "Description",
|
||||
"descriptionPlaceholder": "What is this skill for?",
|
||||
"instructions": "Instructions",
|
||||
"instructionsPlaceholder": "Step-by-step instructions for the agent...",
|
||||
"category": "Category",
|
||||
"tools": "Allowed tools",
|
||||
"toolsHelper": "Comma-separated tool IDs. Empty = no tools.",
|
||||
"isActive": "Active",
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"filterAll": "All",
|
||||
"filterActive": "Active",
|
||||
"filterInactive": "Inactive",
|
||||
"toolCount": "{{count}} tool(s)",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"deleteConfirm": "Really delete skill '{{name}}'?",
|
||||
"empty": "No skills yet.",
|
||||
"loadError": "Failed to load skills."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user