fix(skill): align category tabs with actual skill tags

Remove unused categories (Search, Security, Analysis) and add
real ones (Document, Design, Creative). Consolidate xlsx tags to
Document/Productivity and webapp-testing to Development only,
eliminating orphan tags with single-skill coverage.
This commit is contained in:
yyh
2026-01-30 15:20:37 +08:00
parent 32329cf27b
commit c33d27938d
3 changed files with 9 additions and 10 deletions

View File

@ -7,14 +7,13 @@ export type TemplateCategory = {
id: string
label: string
}
// TODO: use real categories from backend
const MOCK_CATEGORIES: TemplateCategory[] = [
const CATEGORIES: TemplateCategory[] = [
{ id: 'all', label: 'All' },
{ id: 'document', label: 'Document' },
{ id: 'productivity', label: 'Productivity' },
{ id: 'analysis', label: 'Analysis' },
{ id: 'search', label: 'Search' },
{ id: 'development', label: 'Development' },
{ id: 'security', label: 'Security' },
{ id: 'design', label: 'Design' },
{ id: 'creative', label: 'Creative' },
]
type CategoryTabsProps = {
@ -24,7 +23,7 @@ type CategoryTabsProps = {
}
const CategoryTabs = ({
categories = MOCK_CATEGORIES,
categories = CATEGORIES,
activeCategory,
onCategoryChange,
}: CategoryTabsProps) => {

View File

@ -135,7 +135,7 @@ export const SKILL_TEMPLATES: SkillTemplateEntry[] = [
description: 'Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.',
fileCount: 5,
icon: '🧪',
tags: ['Development', 'Testing'],
tags: ['Development'],
loadContent: () => import('./skills/webapp-testing').then(m => m.default),
},
{
@ -144,7 +144,7 @@ export const SKILL_TEMPLATES: SkillTemplateEntry[] = [
description: 'Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas',
fileCount: 2,
icon: '📈',
tags: ['Document', 'Analysis'],
tags: ['Document', 'Productivity'],
loadContent: () => import('./skills/xlsx').then(m => m.default),
},
]

View File

@ -68,7 +68,7 @@ const UI_CONFIG: Record<string, { displayName: string, icon: string, tags: strin
'pdf': { displayName: 'PDF', icon: '📄', tags: ['Document', 'Productivity'] },
'docx': { displayName: 'DOCX', icon: '📝', tags: ['Document', 'Productivity'] },
'pptx': { displayName: 'PPTX', icon: '📊', tags: ['Document', 'Productivity'] },
'xlsx': { displayName: 'XLSX', icon: '📈', tags: ['Document', 'Analysis'] },
'xlsx': { displayName: 'XLSX', icon: '📈', tags: ['Document', 'Productivity'] },
'frontend-design': { displayName: 'Frontend Design', icon: '🎨', tags: ['Development', 'Design'] },
'canvas-design': { displayName: 'Canvas Design', icon: '🖼️', tags: ['Design', 'Creative'] },
'algorithmic-art': { displayName: 'Algorithmic Art', icon: '✨', tags: ['Creative', 'Development'] },
@ -76,7 +76,7 @@ const UI_CONFIG: Record<string, { displayName: string, icon: string, tags: strin
'web-artifacts-builder': { displayName: 'Web Artifacts Builder', icon: '🌐', tags: ['Development', 'Design'] },
'doc-coauthoring': { displayName: 'Doc Co-authoring', icon: '📋', tags: ['Productivity'] },
'skill-creator': { displayName: 'Skill Creator', icon: '🛠️', tags: ['Development'] },
'webapp-testing': { displayName: 'Webapp Testing', icon: '🧪', tags: ['Development', 'Testing'] },
'webapp-testing': { displayName: 'Webapp Testing', icon: '🧪', tags: ['Development'] },
'slack-gif-creator': { displayName: 'Slack GIF Creator', icon: '🎬', tags: ['Creative', 'Productivity'] },
'theme-factory': { displayName: 'Theme Factory', icon: '🎭', tags: ['Design'] },
'brand-guidelines': { displayName: 'Brand Guidelines', icon: '🏷️', tags: ['Design', 'Productivity'] },