摘要

本文解析 Claude Code Skills 的核心机制,并结合知识图谱、设计系统、规范驱动开发与 AI API 实战,构建更稳定、更低 Token 成本的 AI 编程工作流。


背景介绍:为什么 Claude Code 的“工作流”比模型本身更关键?

在 AI 编程场景中,很多开发者关注模型能力,例如代码生成、重构、测试补全、错误定位等。但在真实项目中,真正影响效率的往往不是“模型是否足够聪明”,而是:

  • 上下文是否干净;
  • 项目信息是否结构化;
  • Agent 是否具备可复用的领域知识;
  • UI 生成是否符合真实设计系统;
  • 配置、安全、Token 成本是否可控。

视频中提到的 Claude Code Skills,本质上是一种将 指令、脚本、参考资料、领域规则 打包成文件夹的机制。模型并不会在每次对话中无差别读取全部资料,而是在任务触发时按需加载对应 Skill。

这带来的最大价值是:减少重复 Prompt、降低上下文污染、提升长期项目中的可维护性


核心原理:Claude Code Skills 如何解决工程化问题?

1. Graphify:为代码库构建可查询知识图谱

Graphify 的核心思想是:不要让模型每次都重新扫描几十个源文件,而是先将项目转化为紧凑的结构化图谱。

它的典型处理流程包括:

  1. 使用 tree-sitter 遍历代码抽象语法树;
  2. 提取类、函数、导入关系、调用关系;
  3. 使用 Whisper 本地转录音视频;
  4. 将 PDF、文档、图片交给 LLM 子代理抽取概念与关系;
  5. 输出 graph.json、交互式 HTML 和 Markdown 报告。

这种方式适合大型仓库、Mono Repo、研究资料库等场景。相比每次读取原始文件,知识图谱可以显著减少 Token 消耗,并提高问答稳定性。


2. awesome design.md:让 AI 理解真实设计系统

AI Agent 对 Markdown 的理解远好于 Figma 导出文件或复杂 JSON Token。因此,design.md 成为一种非常适合 AI UI 生成的设计规范载体。

一个高质量 design.md 通常包含:

  • 品牌气质;
  • 色板与语义角色;
  • 字体、字号、字重;
  • 组件状态;
  • 间距规则;
  • 响应式断点;
  • Do / Don’t 规则。

design.md 放在项目根目录,并让 Claude Code 在生成页面时读取它,可以避免默认 Tailwind 风格带来的“千篇一律”。


3. Get Shit Done:规范驱动的六命令开发流

视频中提到的 Get Shit Done 更偏向流程治理。它通过固定命令组织需求澄清、任务拆解、实现、检查、提交等阶段,解决长会话中常见的上下文漂移问题。

这类 Skill 的关键价值不在于生成更多代码,而在于让 Agent 按照稳定流程工作,减少“边写边忘”“需求变形”“实现偏离设计”的问题。


4. Everything Claude Code:生产级 Agent 工具链

Everything Claude Code 更像一个完整工程化套件,包含:

  • Agents;
  • Hooks;
  • Skill 管理;
  • 桌面 Dashboard;
  • Agent Shield 安全扫描;
  • Token 优化策略。

其中 Agent Shield 会对配置执行大量测试,用于发现 Prompt Injection、密钥泄露等风险。对于团队级 AI 编程平台,这类安全检查非常重要。


5. UI/UX Pro Max:行业化设计系统生成

UI/UX Pro Max 聚焦于解决 AI 默认 UI 过于模板化的问题。它内置大量行业规则,例如金融科技、银行、医疗、美容、B2B SaaS、Web3 等。

其机制类似一个行业设计推理引擎:

  • 根据产品类型检索样式库;
  • 匹配配色、字体、落地页模式;
  • 使用 BM25 对候选方案排序;
  • 过滤行业反模式;
  • 输出完整设计规范与检查清单。

例如金融产品会避免夸张紫色渐变和强动画,美容水疗类页面会避免暗黑霓虹风格。这类“反模式约束”对提升 AI UI 质量非常有效。


技术资源与工具选型

在实际 AI 开发中,模型接入层需要兼顾稳定性、模型覆盖率和接口一致性。我个人常用的是薛定猫AI(xuedingmao.com),它采用 OpenAI 兼容模式,适合快速接入不同模型。

其技术价值主要体现在:

  • 聚合 500+ 主流大模型,包括 GPT-5.4、Claude 4.6、Gemini 3.1 Pro 等;
  • 新模型实时首发,便于开发者第一时间验证前沿 API 能力;
  • 统一 API 接口,降低多模型切换与集成复杂度;
  • 对已有 OpenAI SDK 迁移成本较低。

下面示例使用 claude-opus-4-6。该模型在复杂代码理解、架构分析、长链路推理、多文件重构等任务中表现很强,适合构建类似 Graphify 的代码库分析助手。


实战演示:构建一个轻量级代码知识摘要器

下面示例会扫描本地项目,提取 Python 文件中的类、函数和导入关系,然后调用大模型生成架构摘要。它不是完整 Graphify,但体现了同样的工程思想:先结构化,再交给 LLM 推理

安装依赖

pip install openai

Python 完整示例

import os
import ast
import json
from pathlib import Path
from typing import Dict, List, Any

from openai import OpenAI


# =========================
# 1. 基础配置
# =========================

PROJECT_DIR = "./your_project"  # 修改为你的项目目录
MAX_FILES = 80                  # 避免一次性扫描过多文件
MODEL_NAME = "claude-opus-4-6"

client = OpenAI(
    api_key=os.getenv("XUEDINGMAO_API_KEY"),
    base_url="https://xuedingmao.com/v1"
)


# =========================
# 2. 提取 Python AST 信息
# =========================

def analyze_python_file(file_path: Path) -> Dict[str, Any]:
    """
    解析单个 Python 文件,提取 import、class、function 等结构信息。
    """
    result = {
        "file": str(file_path),
        "imports": [],
        "classes": [],
        "functions": []
    }

    try:
        source = file_path.read_text(encoding="utf-8", errors="ignore")
        tree = ast.parse(source)
    except Exception as e:
        result["error"] = str(e)
        return result

    for node in ast.walk(tree):
        if isinstance(node, ast.Import):
            for alias in node.names:
                result["imports"].append(alias.name)

        elif isinstance(node, ast.ImportFrom):
            module = node.module or ""
            for alias in node.names:
                result["imports"].append(f"{module}.{alias.name}")

        elif isinstance(node, ast.ClassDef):
            methods = [
                item.name for item in node.body
                if isinstance(item, ast.FunctionDef)
            ]
            result["classes"].append({
                "name": node.name,
                "methods": methods,
                "lineno": node.lineno
            })

        elif isinstance(node, ast.FunctionDef):
            result["functions"].append({
                "name": node.name,
                "args": [arg.arg for arg in node.args.args],
                "lineno": node.lineno
            })

    return result


def build_project_index(project_dir: str) -> List[Dict[str, Any]]:
    """
    扫描项目目录,生成轻量级结构化索引。
    """
    root = Path(project_dir)
    py_files = list(root.rglob("*.py"))[:MAX_FILES]

    index = []
    for file_path in py_files:
        if any(part in {".venv", "venv", "__pycache__", ".git"} for part in file_path.parts):
            continue
        index.append(analyze_python_file(file_path))

    return index


# =========================
# 3. 调用大模型生成架构摘要
# =========================

def generate_architecture_report(project_index: List[Dict[str, Any]]) -> str:
    """
    将结构化代码索引发送给大模型,生成架构分析报告。
    """
    prompt = f"""
你是一名资深软件架构师。下面是一个 Python 项目的结构化代码索引。
请基于索引完成以下任务:

1. 总结项目的核心模块与职责;
2. 推断模块之间的依赖关系;
3. 找出可能的复杂点或重构风险;
4. 给出后续接入 AI Agent / Claude Code Skills 的工程化建议。

请注意:不要编造索引中不存在的文件或类。

项目索引如下:
{json.dumps(project_index, ensure_ascii=False, indent=2)}
"""

    response = client.chat.completions.create(
        model=MODEL_NAME,
        messages=[
            {
                "role": "system",
                "content": "你擅长代码架构分析、知识图谱抽取和 AI 编程工作流设计。"
            },
            {
                "role": "user",
                "content": prompt
            }
        ],
        temperature=0.2
    )

    return response.choices[0].message.content


# =========================
# 4. 主流程
# =========================

def main():
    if not os.getenv("XUEDINGMAO_API_KEY"):
        raise RuntimeError("请先设置环境变量 XUEDINGMAO_API_KEY")

    project_index = build_project_index(PROJECT_DIR)

    with open("project_index.json", "w", encoding="utf-8") as f:
        json.dump(project_index, f, ensure_ascii=False, indent=2)

    report = generate_architecture_report(project_index)

    with open("architecture_report.md", "w", encoding="utf-8") as f:
        f.write(report)

    print("分析完成:")
    print("- project_index.json")
    print("- architecture_report.md")


if __name__ == "__main__":
    main()

运行前设置 API Key:

export XUEDINGMAO_API_KEY="你的_api_key"
python analyze_project.py

注意事项:落地 Claude Code Skills 的工程建议

1. 不要把所有资料都塞进 Prompt

大型项目中,直接把源码、PRD、设计稿、接口文档全部塞进上下文,会导致 Token 成本上升和回答质量下降。更合理的方式是先构建索引或知识图谱。

2. Skill 应该面向稳定任务封装

适合做成 Skill 的内容包括:

  • 架构约束;
  • 代码规范;
  • UI 设计系统;
  • 安全检查规则;
  • 提交前检查流程;
  • 常用脚本和项目命令。

临时性需求不一定需要 Skill 化。

3. UI 生成要加入反模式约束

仅告诉 AI “做一个好看的页面”通常不够。更有效的方式是明确:

  • 不能使用哪些颜色;
  • 避免哪些布局;
  • 哪些动画不适合行业;
  • 对比度、焦点态、响应式断点如何检查。

4. 安全与成本必须前置设计

团队使用 AI 编程时,需要关注:

  • API Key 泄露;
  • Prompt Injection;
  • 自动执行脚本风险;
  • 模型上下文成本;
  • 日志中的敏感信息。

这也是 Agent Shield、Hooks、上下文压缩策略存在的原因。


总结

Claude Code Skills 的本质不是“多几个插件”,而是将 AI 编程从一次性 Prompt 推向工程化工作流。Graphify 解决知识组织问题,design.md 解决 UI 一致性问题,规范驱动流程解决上下文漂移问题,Agent 工具链解决安全与生产化问题,UI/UX Pro Max 则补齐行业化设计能力。

对于真实项目,建议从当前最痛的环节开始:如果 Token 成本高,先做知识图谱;如果 UI 质量差,先引入 design.md;如果团队协作混乱,先规范 Agent 工作流。

#AI #大模型 #Python #机器学习 #技术实战

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐