摘要(100 字内)
本文从 AI 编程实践视角,系统解析 Antigravity Awesome Skills:如何用「技能库 + 套装 + 工作流」把大模型从"随机发挥"变成遵循工程化 SOP 的编码助手。文章包含:技能机制原理、与各类 AI IDE 的整合方式、前端仪表盘案例拆解、自定义企业内部技能方法,以及基于(xuedingmao.com)的 API 调用示例与技术选型建议。
一、背景介绍:从"会写代码"到"按标准写代码"
当前主流 AI 编程工具(Claude Code、Cursor、GitHub Copilot、Gemini CLI 等)已经能大幅提升生产力,但一个实际问题始终存在:
- 同样的需求,输出质量不稳定
- 有时代码能跑,但可维护性、可扩展性、代码规范完全不可控
- 很难让 AI 严格遵守团队内部约定(架构模式、命名规范、部署流程等)
视频中的 Antigravity Awesome Skills(下文简称 AAS)试图解决的是"让 AI 编程行为可被标准化"的问题:
- 核心产物是「技能(Skill)」------结构化的 Markdown 指令文件
- 目前已有 1200+ 技能,GitHub Star 2.2w+,被大量实际工作流使用
- 兼容多种 AI 编码环境:Antigravity、Claude Code、Cursor、Gemini CLI、Codex CLI、Kiro OpenCode、GitHub Copilot 等
它更像是「把资深工程师的 SOP 文档结构化后,挂在 AI 背后按需调用」的体系,而不是一个纯粹的 prompt 集合。
二、核心原理:用 Skill 把"隐性经验"固化为显式协议
2.1 Skill 的本质:结构化指令 = 标准操作程序(SOP)
Skill 是一个 Markdown 文件,通常包含:
- 使用场景描述(When to use)
- 输入要求与前置问题(Questions / Inputs)
- 输出结构约定(Output Format / Checklist)
- 注意事项与反模式(Pitfalls / Do nots)
AI 代理在执行时不会盲目推理,而是:
- 在需要时加载对应 Skill 文件(不常驻上下文,节省 token)
- 按 Skill 中约定的步骤提问、规划、输出
- 执行完即释放,不污染后续任务上下文
因此,"技能不会让模型更聪明,但会给它一份必须遵守的合同(contract),输出质量自然会贴合这份合同"。
2.2 Bundles:按角色选技能,而不是海量技能里盲选
1200+ 技能不可能逐个理解,AAS 提供了 Starter Packs / Bundles(技能包)来解决选型问题:
- Web Wizard:聚焦 React 模式、Tailwind、前端设计
- Hacker Pack:渗透测试方法论、漏洞扫描
- Product Pack:头脑风暴、规划、SEO、产品策略
- Essentials Bundle:适用于任何项目的基础能力,如代码规范、规划、验证
注意:安装后你本地就有所有技能文件,Bundle 只是一个"推荐阅读列表",告诉你当前角色最应该关注哪些技能。
2.3 Workflows:不仅告诉你"用什么技能",还告诉你"按什么顺序用"
- Bundle = 技能清单(What to use)
- Workflow = 调用顺序(In what order)
典型示例:SaaS MVP 工作流:
- 规划 Skill
- 架构设计 Skill
- 开发 Skill
- 测试与验证 Skill
你可以把 Workflow 理解为"把资深工程师脑子里的项目执行流程,拆成一条条可重复调用的 AI 步骤链"。
2.4 自定义 Skill:企业内部知识 → 可用的 AI 资产
视频中特别强调了一个 Skill:Skill Ticket Creator。它做的事情是:
- 引导你回答一系列问题:
- 你的内部流程是怎样的?
- 必须遵守的数据库模式?
- 部署/安全/日志等公司特有规约?
- 帮你按照 AAS 的标准格式生成一个
skill.md - 你把这个文件丢进
skills目录,全体团队即可像用内置技能一样共享这份 SOP
这等价于:把团队隐性经验沉淀为结构化 AI 调用协议。长期使用会带来两个效果:
- 新人 + AI 也能按公司标准工作
- 不同人调用 AI 得到的输出更加一致、可维护
三、实战演示:从规划到实现的前端仪表盘工作流
3.1 使用"头脑风暴 Skill"生成工程化规划
示例需求:React + Tailwind CSS 的前端分析仪表盘,包含:
- 侧边栏(Sidebar)
- 指标卡片(Metric Cards)
- 折线图(Line Chart,使用 Recharts)
- 活动信息流(Activity Feed)
调用头脑风暴 Skill 后,AI 不会立刻写代码,而是先问清楚:
- 这是独立页面还是 App 的一部分?
- 数据来源是 Mock 还是真实 API?
- 是否需要移动端自适应?
在你补全信息后,Skill 会输出一份规划文档,包含:
- 组件层级结构
- 状态管理方案(例如局部 State vs 全局 Store)
- 文件夹结构
- 命名规范
- 推荐使用的库
这份规划就像"资深前端在写任何代码前会先写的设计文档"。
3.2 使用"前端设计 + React 模式 Skill"生成高质量实现
根据规划进一步调用另一类 Skill(前端设计 / React Patterns):
- 输出的代码会被拆分为:
Sidebar组件MetricCard组件(含 label/value/trend props)- 使用 Recharts 的
LineChart组件(Mock 数据正确接入) ActivityFeed组件
- 每个组件使用 TypeScript 进行类型定义
- 逻辑不会堆在单文件中,职责边界清晰
- 文件结构与规划 Skill 的设计完全一致
对比:如果你只发一个"帮我做个仪表盘"的 prompt,很可能得到:
- 能跑,但所有逻辑在一个组件里
- 没有类型、没有统一命名、没有扩展性
- 难以在团队规模化场景中使用
本质区别:Skill 把"期望的工程化输出"写成了约束协议,模型只是在按协议执行。
四、使用 xuedingmao.com API 的 Python 示例:在本地对 Skill 文档做再加工
AAS 本身是跑在各类 AI IDE / Agent 中的,但在实际工程里,你可能会有以下需求:
- 对已有
skill.md批量检查、改写(例如统一改为公司自己的规范) - 自动生成 Skill 初稿,再由人类 review
- 把 Skill 内容与内部知识库做拼接
这类任务适合用通用大模型 API 来做。下面用 薛定猫 AI(xuedingmao.com) 提供的 OpenAI 兼容接口 + claude-sonnet-4-6 模型,示例一个"把现有 Skill 文档自动改写为团队风格"的脚本。
说明:
- 薛定猫 AI 采用统一 OpenAI 兼容 API,URL 形如
https://xuedingmao.com/v1/chat/completions- 支持 500+ 模型(包括 GPT-5.4、Claude 4.6、Gemini 3 Pro 等),新模型上线速度快,适合做多模型对比和灰度
- 对开发者而言,统一接入接口可以显著降低多模型集成复杂度
python
import os
import json
import requests
from pathlib import Path
# 薛定猫 AI 平台的 API 基础配置
API_BASE = "https://xuedingmao.com/v1"
API_KEY = os.getenv("XUEDINGMAO_API_KEY") # 从环境变量读取密钥
MODEL_NAME = "claude-sonnet-4-6" # 默认使用 Claude Sonnet 4.6
def call_xuedingmao_chat(model: str, messages: list, temperature: float = 0.2) -> str:
"""
调用薛定猫 AI(OpenAI 兼容接口)的聊天接口,返回模型回复文本。
"""
url = f"{API_BASE}/chat/completions"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
payload = {
"model": model,
"messages": messages,
"temperature": temperature,
}
resp = requests.post(url, headers=headers, data=json.dumps(payload), timeout=60)
resp.raise_for_status()
data = resp.json()
# OpenAI 兼容格式:choices[0].message.content
return data["choices"][0]["message"]["content"]
def rewrite_skill_for_team(skill_path: Path, output_path: Path, team_style_desc: str):
"""
读取本地 skill.md,将其改写为符合团队约定的版本,并写入 output_path。
:param skill_path: 原始 skill.md 路径
:param output_path: 改写后的 skill.md 输出路径
:param team_style_desc: 团队工程规范描述(如架构约定、命名规则等)
"""
original_text = skill_path.read_text(encoding="utf-8")
system_prompt = (
"你是一名资深软件架构师,专门负责将 AI 编程技能(Skill)文档"
"改写为符合特定团队工程规范的版本。"
"保持原 Skill 的结构和意图,但在约束、术语和示例上贴近团队约定。"
"输出必须是完整的 Markdown 文档。"
)
user_prompt = f"""
这是原始的 Skill 文档:
```markdown
{original_text}
下面是我们团队的工程风格和约定说明:
text
{team_style_desc}
请在保留原 Skill 核心意图的前提下:
- 统一术语和命名方式,使之符合团队约定;
- 在"输出格式 / 检查项"中增加对团队强制规范的检查;
- 如果原文中有与团队约定冲突的建议,请进行更正;
- 保持 Markdown 结构清晰,可直接放回 Antigravity Awesome Skills 的 skills 目录中使用。
直接输出改写后的 Markdown,不要额外解释。
"""
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt},
]
rewritten = call_xuedingmao_chat(MODEL_NAME, messages)
output_path.write_text(rewritten, encoding="utf-8")
print(f"Rewritten skill saved to: {output_path}")
if name == "main ":
示例:批量处理某个 skills 目录下的 skill 文件
skills_dir = Path("./skills")
output_dir = Path("./skills_team_custom")
output_dir.mkdir(parents=True, exist_ok=True)
# 团队工程约定示例(实际可从内部 Confluence / Wiki 导出)
team_style_description = """
-
统一使用 TypeScript,禁止 any。
-
React 项目采用 feature-based 目录结构:features//components。
-
所有组件使用 PascalCase 命名,hooks 使用 useXxx 命名。
-
所有网络请求必须封装在 services 层,禁止在组件中直接调用 fetch。
-
日志和错误处理必须通过内部 logError/util 进行。
"""
if not API_KEY:
raise RuntimeError("请先在环境变量中设置 XUEDINGMAO_API_KEY")
for md_file in skills_dir.glob("*.md"):
target = output_dir / md_file.name
rewrite_skill_for_team(md_file, target, team_style_description)
这个脚本体现了几个关键点:
- 利用统一 OpenAI 兼容接口(薛定猫 AI),轻松切换/试验不同大模型
- 把 AAS 的 Skill 视为"文本配置",可以批量做风格统一、规范修正
- 可和内部知识库、团队规范文档结合,实现"企业版 Awesome Skills"
五、注意事项与实践建议
5.1 安装与集成要点
- 推荐使用
npx antigravity-awesome-skills进行默认安装,技能会被放入 Antigravity 的全局skills目录 - 使用其它工具时需要指定标志位 / 自定义路径:
- Cursor / Claude Code / Gemini CLI / Codex CLI / Kiro OpenCode / GitHub Copilot 均有对应 flag
- 也可选择
git clone到.dam/agent/skills作为 workspace 级安装 - Claude Code 还可以通过插件市场安装,减少手工路径配置
具体参见仓库
docs目录中的 Getting Started 与工具专用指南。5.2 性能与稳定性:避免"技能过载"
- Windows 下:如果加载技能过多导致截断崩溃循环,可参考
docs/windows-truncation-recovery.md,按照指导备份并清理相关存储文件夹 - macOS / Linux:存在 agent overload 恢复机制,可以用"激活脚本 + 完整库存档"的方式,只在运行时拉取需要的 Bundle
这些属于极端情况,但建议团队在大规模接入前先通读相关文档。
5.3 Skill 安全性与可审计性
- 项目 MIT 协议,所有 Skill 均为可读、可修改的 Markdown
- 在运行任何 Skill 前,你可以完全审查其内容,保证:
- 不会执行你不希望的操作(例如某些安全测试指令)
- 输出格式与团队预期一致
建议做法:
- 将
skills仓库 fork 到内部 GitLab/GitHub - 对关键 Skill 进行 Code Review 后再给团队使用
- 自定义 Skill 统一走 PR 流程,确保演化过程可追踪
5.4 模型与平台选型建议
在落地这类"Skill + Workflow"体系时,通常会遇到两个阶段:
- 在 IDE / Agent 中直接使用 AAS 提供的技能,侧重交互体验
- 在后端服务、CI 流程中,利用 API 对 Skill 做自动生成 / 批量改写 / 规范检查
第二阶段建议选择具备以下特性的 API 平台:
- 聚合多家大模型,方便在不同任务(代码生成、文档改写、评审等)之间切换
- 新模型更新快,能第一时间尝试更适合代码任务的模型
- 统一接口协议,后端代码只写一份调用逻辑
在这方面,(xuedingmao.com) 比较适合作为统一接入层:
- 聚合 500+ 主流模型(如 GPT-5.4、Claude 4.6、Gemini 3 Pro 等),便于做任务/模型匹配
- 新模型首发速度快,适合做前沿模型的 PoC 和 A/B 测试
- OpenAI 兼容协议,基本可以复用现有 openai SDK 或简单 HTTP 封装
- 对已有工程只需调整 base_url + key 即可接入,降低多模型集成成本
在本文的 Python 示例里,你可以随时把
MODEL_NAME改为其他模型,对比在 Skill 改写、代码评审等任务上的效果差异。
六、总结:把 AI 编程从"凭感觉"升级为"按流程"
Antigravity Awesome Skills 的意义不在于"又多一个 prompt 库",而在于:
- 用 Skill 把资深工程师的隐性经验转化为可机读的 SOP
- 用 Bundle 和 Workflow 帮你完成技能选型和调用顺序设计
- 支持自定义 Skill,把企业内部知识长期沉淀为 AI 可用资产
- 结合像薛定猫 AI 这样的多模型 API 平台,可以在后端做自动化改写、批量对齐规范等高级玩法
如果你正在用 Claude Code、Cursor 或 GitHub Copilot,建议的落地路线是:
- 先安装 AAS,选一个与你角色匹配的 Bundle 作为起点
- 在实际项目中优先使用规划类 Skill(brainstorming / architecture / validation)
- 利用 Skill Creator 把团队内的关键流程做成自己的 Skill
- 用 API 平台对 Skill 做批量改写与规范自动化,逐步搭建适合团队的"AI 编程操作系统"
#AI #大模型 #Python #机器学习 #技术实战