playbook/antigravity-awesome-skills/docs_zh-CN/maintainers/smart-auto-categorization.md

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)"
  • 更易于浏览

示例下拉菜单

排序顺序:

  1. All Categories
  2. Backend (164)
  3. Web Development (107)
  4. Automation (103)
  5. DevOps (83)
  6. AI/ML (79)
  7. ... 更多类别 ...
  8. 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

故障排除

"分类失败"的技能

某些技能可能太通用或独特。您可以:

  1. 在技能的前置元数据中手动设置类别:
category: your-chosen-category
  1. 向 CATEGORY_KEYWORDS 配置添加关键词

  2. 移动到文件夹(如果它适合更广泛的类别):

skills/backend/my-new-skill/SKILL.md

重新生成索引

对 SKILL.md 文件进行更改后:

python tools/scripts/generate_index.py

这将:

  • 解析前置元数据类别
  • 回退到文件夹结构
  • 生成新的 skills_index.json
  • 复制到 apps/web-app/public/skills.json

后续步骤

  1. 在 Web 应用程序中测试: 尝试改进的类别过滤器
  2. 添加缺失的关键词: 如果某些技能仍未分类
  3. 组织剩余的未分类技能: 自动分配或手动审查
  4. 监控增长: 使用报告来跟踪新技能与已分类技能

结果: 更清晰的类别过滤器,具有智能、有意义的组织!🎉