5.9 KiB
智能自动分类指南
概述
技能集合现在使用智能自动分类来消除"未分类",并根据内容将技能组织成有意义的类别。
当前状态
✅ 当前仓库通过生成的目录索引
- 大多数技能都在有意义的类别中
- 较小的尾部仍需要手动审查或更好的关键词覆盖
- 11 个主要类别
- 类别按技能数量排序(最多的在前)
类别分布
| 类别 | 数量 | 示例 |
|---|---|---|
| Backend | 164 | Node.js、Django、Express、FastAPI |
| Web Development | 107 | React、Vue、Tailwind、CSS |
| Automation | 103 | Workflow、Scripting、RPA |
| DevOps | 83 | Docker、Kubernetes、CI/CD、Git |
| AI/ML | 79 | TensorFlow、PyTorch、NLP、LLM |
| Content | 47 | Documentation、SEO、Writing |
| Database | 44 | SQL、MongoDB、PostgreSQL |
| Testing | 38 | Jest、Cypress、Unit Testing |
| Security | 36 | Encryption、Authentication |
| Cloud | 33 | AWS、Azure、GCP |
| Mobile | 21 | React Native、Flutter、iOS |
| Game Dev | 15 | Unity、WebGL、3D |
| Data Science | 14 | Pandas、NumPy、Analytics |
工作原理
1. 基于关键词的分析
系统分析技能名称和描述中的关键词:
- Backend: nodejs、express、fastapi、django、server、api、database
- Web Dev: react、vue、angular、frontend、css、html、tailwind
- AI/ML: ai、machine learning、tensorflow、nlp、gpt
- DevOps: docker、kubernetes、ci/cd、deploy
- 更多...
2. 优先级系统
前置元数据类别 > 检测到的关键词 > 回退(未分类)
如果技能已经有前置元数据类别,则保留该类别。
3. 基于范围的匹配
- 完全短语匹配的权重是部分匹配的 2 倍
- 使用单词边界以避免误报
使用自动分类
对未分类技能运行
python tools/scripts/auto_categorize_skills.py
首先预览更改(试运行)
python tools/scripts/auto_categorize_skills.py --dry-run
输出
======================================================================
AUTO-CATEGORIZATION REPORT
======================================================================
Summary:
✅ Categorized: 776
⏭️ Already categorized: 46
❌ Failed to categorize: 124
📈 Total processed: full repository
Sample changes:
• 3d-web-experience
uncategorized → web-development
• ab-test-setup
uncategorized → testing
• agent-framework-azure-ai-py
uncategorized → backend
Web 应用程序改进
类别过滤器
之前:
- 包括"未分类"的无序列表
- 没有类别大小指示
之后:
- 类别按技能数量排序(最多的在前,"未分类"最后)
- 显示计数:"Backend (164)" "Web Development (107)"
- 更易于浏览
示例下拉菜单
排序顺序:
- All Categories
- Backend (164)
- Web Development (107)
- Automation (103)
- DevOps (83)
- AI/ML (79)
- ... 更多类别 ...
- Uncategorized (126) ← 在最后
对于技能创建者
添加新技能时
在前置元数据中包含类别:
---
name: my-skill
description: "..."
category: web-development
date_added: "2026-03-06"
---
如果您不确定
系统将在下次索引重新生成时自动分类:
python tools/scripts/generate_index.py
关键词参考
按类别可用的自动分类关键词:
Backend: nodejs、node.js、express、fastapi、django、flask、spring、java、python、golang、rust、server、api、rest、graphql、database、sql、mongodb
Web Development: react、vue、angular、html、css、javascript、typescript、frontend、tailwind、bootstrap、webpack、vite、pwa、responsive、seo
Database: database、sql、postgres、mysql、mongodb、firestore、redis、orm、schema
AI/ML: ai、machine learning、ml、tensorflow、pytorch、nlp、llm、gpt、transformer、embedding、training
DevOps: docker、kubernetes、ci/cd、git、jenkins、terraform、ansible、deploy、container、monitoring
Cloud: aws、azure、gcp、serverless、lambda、storage、cdn
Security: encryption、cryptography、jwt、oauth、authentication、authorization、vulnerability
Testing: test、jest、mocha、pytest、cypress、selenium、unit test、e2e
Mobile: mobile、react native、flutter、ios、android、swift、kotlin
Automation: automation、workflow、scripting、robot、trigger、integration
Game Development: game、unity、unreal、godot、threejs、2d、3d、physics
Data Science: data、analytics、pandas、numpy、statistics、visualization
自定义
添加自定义关键词
编辑 tools/scripts/auto_categorize_skills.py:
CATEGORY_KEYWORDS = {
'your-category': [
'keyword1', 'keyword2', 'exact phrase', 'another-keyword'
],
# ... 其他类别
}
然后重新运行:
python tools/scripts/auto_categorize_skills.py
python tools/scripts/generate_index.py
故障排除
"分类失败"的技能
某些技能可能太通用或独特。您可以:
- 在技能的前置元数据中手动设置类别:
category: your-chosen-category
-
向 CATEGORY_KEYWORDS 配置添加关键词
-
移动到文件夹(如果它适合更广泛的类别):
skills/backend/my-new-skill/SKILL.md
重新生成索引
对 SKILL.md 文件进行更改后:
python tools/scripts/generate_index.py
这将:
- 解析前置元数据类别
- 回退到文件夹结构
- 生成新的 skills_index.json
- 复制到 apps/web-app/public/skills.json
后续步骤
- 在 Web 应用程序中测试: 尝试改进的类别过滤器
- 添加缺失的关键词: 如果某些技能仍未分类
- 组织剩余的未分类技能: 自动分配或手动审查
- 监控增长: 使用报告来跟踪新技能与已分类技能
结果: 更清晰的类别过滤器,具有智能、有意义的组织!🎉