+
+
Skills
+
+ Reusable instructions the agent loads automatically. Project skills live in this project; global
+ skills are shared across all projects.
+
+
+
+ {/* Project skills */}
+
+
+
+ Project skills
+
+ {project.length}
+
+
+ {editing === null && (
+
+ )}
+
+
+ {editing !== null && (
+
+ )}
+
+ {project.length === 0 && editing === null ? (
+
+ No project skills yet. Add one to teach the agent project-specific conventions.
+
+ ) : (
+
+ {project.map((s) => (
+ startEdit(s)} onDelete={() => remove(s.name)} />
+ ))}
+
+ )}
+
+
+ {/* Global skills */}
+
+
+
+ Available globally
+
+ {global.length}
+
+
+ {global.length > 0 && (
+ setQuery(e.target.value)}
+ placeholder="Search skills…"
+ className="w-44 rounded-lg border border-gray-300 px-3 py-1.5 text-sm focus:w-56 transition-all"
+ />
+ )}
+
+
+ Installed for every project (e.g. SEO/GEO pack, Nuxt UI). Read-only here.
+
+ {isLoading ? (
+ Loading…
+ ) : filteredGlobal.length === 0 ? (
+
+ {global.length === 0 ? 'No global skills installed.' : 'No skills match your search.'}
+
+ ) : (
+
+ {filteredGlobal.map((s) => (
+
+ ))}
+
+ )}
+
+
+ );
+}
+
+export default SkillsSettings;
diff --git a/lib/constants/claudeModels.ts b/lib/constants/claudeModels.ts
index b5465428..1e795f81 100644
--- a/lib/constants/claudeModels.ts
+++ b/lib/constants/claudeModels.ts
@@ -1,4 +1,5 @@
export type ClaudeModelId =
+ | 'claude-opus-4-8'
| 'claude-opus-4-6'
| 'claude-sonnet-4-6'
| 'claude-haiku-4-5-20251001';
@@ -16,20 +17,33 @@ export interface ClaudeModelDefinition {
}
export const CLAUDE_MODEL_DEFINITIONS: ClaudeModelDefinition[] = [
+ {
+ id: 'claude-opus-4-8',
+ name: 'Claude Opus 4.8',
+ description: 'The most intelligent model for building agents and coding',
+ supportsImages: true,
+ aliases: [
+ 'claude-opus-4-8',
+ 'claude-opus-4.8',
+ 'opus-4-8',
+ 'opus-4.8',
+ // Generic opus aliases resolve to the newest Opus
+ 'claude-opus-4',
+ 'claude-opus',
+ 'opus-4',
+ 'opus',
+ ],
+ },
{
id: 'claude-opus-4-6',
name: 'Claude Opus 4.6',
- description: 'The most intelligent model for building agents and coding',
+ description: 'Previous-generation Opus',
supportsImages: true,
aliases: [
'claude-opus-4-6',
'claude-opus-4.6',
- 'claude-opus-4',
- 'claude-opus',
'opus-4-6',
'opus-4.6',
- 'opus-4',
- 'opus',
// Legacy aliases
'claude-opus-4-5-20251101',
'claude-opus-4-5',
@@ -90,7 +104,7 @@ export const CLAUDE_MODEL_DEFINITIONS: ClaudeModelDefinition[] = [
},
];
-export const CLAUDE_DEFAULT_MODEL: ClaudeModelId = 'claude-sonnet-4-6';
+export const CLAUDE_DEFAULT_MODEL: ClaudeModelId = 'claude-opus-4-8';
const CLAUDE_MODEL_ALIAS_MAP: Record