` with originLabel text: + - When `skill.originLabel === "Hermes skill"`, render a small inline badge instead of plain text: + `Hermes skill` + - Keep the existing `
` rendering for other originLabel values unchanged. + + 3. The `unmanagedSkillRows` data already flows from the skill registry API which includes Hermes native skills with `originLabel: "Hermes skill"` and `readOnly: true`. No data changes needed. +
Model
+{hermesModel ?? "Not set"}
+Native Skills
+{nativeSkillCount}
+Memory (VRAM)
++ {hermesMemoryBytes != null ? formatBytes(hermesMemoryBytes) : "Not loaded"} +
++ {defaultAdapter === "hermes_local" + ? `${VOCAB.appName} will set up a local AI workspace with a ${VOCAB.ceo.toLowerCase()}, engineer, and generalist — no API key needed.` + : `Choose a project root directory. ${VOCAB.appName} will set up a ${VOCAB.ceo.toLowerCase()}, engineer, and generalist to start working.`} +
+``` + +**NewAgentDialog.tsx changes (DFLT-02):** + +1. Remove `adapterType` from AGENT_TEMPLATES. Change lines 97-99: +```typescript +const AGENT_TEMPLATES = [ + { id: "pm", label: "Project Manager", role: "pm" as const }, + { id: "engineer", label: "Engineer", role: "engineer" as const }, +]; +``` + +2. Update handleTemplateSelect (around line 136). Remove adapterType from URL: +```typescript +function handleTemplateSelect(template: typeof AGENT_TEMPLATES[number]) { + closeNewAgent(); + setShowAdvancedCards(false); + navigate( + `/agents/new?role=${encodeURIComponent(template.role)}&name=${encodeURIComponent(template.label)}`, + ); +} +``` + +This makes templates adapter-neutral. The /agents/new form will use its own default adapter logic. +