一、Agent Skills 技术架构

1.1 核心机制解析

Agent Skills 本质是一套结构化的项目级行为约束系统,其核心文件为 SKILL.md。与传统的 .cursorrules 相比,Skills 具有更强的结构化和可复用性。

┌─────────────────────────────────────────────────────────────┐
│                    Agent Skills 工作流                       │
├─────────────────────────────────────────────────────────────┤
│  1. Agent 启动 → 扫描约定目录 → 加载 SKILL.md               │
│  2. 解析规则 → 构建行为约束模型 → 注入推理上下文            │
│  3. 代码生成 → 遵循Skill规范 → 输出符合要求的代码          │
│  4. 验证检查 → 应用规则校验 → 确保代码质量                  │
└─────────────────────────────────────────────────────────────┘

1.2 约定目录规范

AI工具 项目级目录 用户级目录
Claude Code project/.claude/skills/ ~/.claude/skills/
Codex project/.codex/skills/ ~/.codex/skills/
Gemini CLI project/.gemini/skills/ ~/.gemini/skills/
Cursor project/.cursor/skills/ ~/.cursor/skills/

1.3 技术优势

# Skills 系统架构示意
class AgentSkillsSystem:
    def __init__(self):
        self.skills = {}
        self.constraints = []
        
    def load_skill(self, skill_path: str):
        """加载Skill文件"""
        skill_data = self._parse_skill_md(skill_path)
        self.skills[skill_data["name"]] = skill_data
        self.constraints.extend(skill_data["constraints"])
        
    def apply_constraints(self, code: str) -> str:
        """应用约束到代码生成"""
        for constraint in self.constraints:
            code = self._enforce_constraint(code, constraint)
        return code

二、dr-jskill:JHipster风格的Spring Boot Skill

2.1 技术特点

dr-jskill 由 JHipster 创始人 Julien Dubois 打造,是一套高度 opinionated 的 Skill。

技术栈配置:

  • Java 25 + Spring Boot 4.x
  • PostgreSQL 数据库
  • 前端框架可选:Vue.js、React、Angular、Vanilla JS

2.2 Fleet Mode 并行工作原理

class FleetModeCoordinator:
    def __init__(self, skills: dict):
        self.backend_agent = BackendAgent(skills["backend"])
        self.frontend_agent = FrontendAgent(skills["frontend"])
        self.merger = CodeMerger()
        
    def parallel_workflow(self, requirements: str):
        """并行工作流"""
        # 任务分发
        backend_task = self.backend_agent.generate(requirements)
        frontend_task = self.frontend_agent.generate(requirements)
        
        # 并行执行
        backend_code = backend_task.result()
        frontend_code = frontend_task.result()
        
        # 合并结果
        return self.merger.merge(backend_code, frontend_code)

2.3 核心文件结构

文件 作用
SKILL.md 主指令文件,AI读取的核心规则
versions.json 库版本清单,保证依赖最新
references/ 数据库实践、Docker部署、测试规范详细文档

2.4 安装方式

# GitHub Copilot CLI
mkdir -p ~/.github-copilot/skills
git clone https://github.com/jdubois/dr-jskill ~/.github-copilot/skills/dr-jskill

# Claude Code
claude skills install github:jdubois/dr-jskill

三、agent-skill-java-spring-framework:严格架构规范

3.1 技术约束体系

这个 Skill 建立了一套严格的技术约束体系,专门针对 Spring Framework 7.x / Spring Boot 4.x:

约束维度 技术选型
API客户端 RestClient、JdbcClient、HttpServiceProxyFactory
并发模型 Java 25 Structured Concurrency、Scoped Values
模块化架构 Spring Modulith domain-driven 包结构
Null安全 JSpecify @NonNull/@Nullable
命名空间 jakarta.(完全禁止 javax.

3.2 约束执行机制

class ConstraintEnforcer:
    def __init__(self, rules: list):
        self.rules = rules
        
    def check_code(self, code: str) -> list:
        """检查代码是否符合约束"""
        violations = []
        
        for rule in self.rules:
            if not rule.check(code):
                violations.append({
                    "rule": rule.name,
                    "severity": rule.severity,
                    "suggestion": rule.suggestion
                })
                
        return violations
    
    def enforce_restclient(self, code: str) -> str:
        """强制使用RestClient替代RestTemplate"""
        if "RestTemplate" in code:
            code = code.replace("RestTemplate", "RestClient")
            code = self._update_restclient_api(code)
        return code

3.3 安装方式

claude skills install github:AyrtonAldayr/agent-skill-java-spring-framework

四、sivalabs-agent-skills:社区最佳实践

4.1 多维度约束设计

这个 Skill 将 Spring Boot 最佳实践拆分为多个独立维度:

class MultiDimensionSkills:
    def __init__(self):
        self.architecture = ArchitectureSkill()
        self.testing = TestingSkill()
        self.development = DevelopmentSkill()
        self.quality = QualitySkill()
        
    def apply_all(self, project: Project):
        """应用所有维度的约束"""
        project = self.architecture.apply(project)
        project = self.testing.apply(project)
        project = self.development.apply(project)
        project = self.quality.apply(project)
        return project

4.2 核心特性

特性 说明
模块化单体架构 Spring Modulith,按领域分包
ArchUnit测试 自动架构规则校验
Spotless + Checkstyle 代码格式化规范
Docker Compose 容器化开发支持
Taskfile 自动化任务配置

4.3 灵活安装方式

# 安装全部 Skills
npx skills add https://github.com/sivaprasadreddy/sivalabs-agent-skills

# 只装 Spring Boot 这一个
npx skills add https://github.com/sivaprasadreddy/sivalabs-agent-skills --skill spring-boot

# 脚本安装(支持同时适配 Claude/Codex/Gemini/Cursor)
curl -fsSL https://raw.githubusercontent.com/sivaprasadreddy/sivalabs-agent-skills/refs/heads/main/install.sh | bash

五、auth0/agent-skills:企业级安全集成

5.1 安全集成架构

class Auth0SecurityIntegration:
    def __init__(self, config: dict):
        self.config = config
        self.security_chain = SecurityFilterChainBuilder()
        
    def configure_jwt_validation(self):
        """配置JWT校验"""
        return self.security_chain \
            .add_jwt_decoder(self.config["domain"]) \
            .add_audience_validation(self.config["audience"]) \
            .build()
            
    def configure_scope_authorization(self):
        """配置基于Scope的授权"""
        return AuthorityMappingConfig() \
            .map_jwt_scope_to_spring_authority()

5.2 技术要求

  • Java 17+
  • Spring Boot 3.2+
  • Auth0 账号

5.3 核心功能

功能 说明
SecurityFilterChain配置 JWT校验链配置
Scope映射 JWT scope → Spring Security authority
DPoP支持 RFC 9449 高安全性API

六、spring-testing-skills:专业测试体系

6.1 专项Skill分类

Skill 覆盖范围
spring-jpa-testing 数据层,@DataJpaTest + Testcontainers
spring-mvc-testing Web层,@WebMvcTest + MockMvcTester
spring-security-testing 认证授权,@WithMockUser + JWT/OAuth2
spring-webflux-testing 响应式,WebTestClient + StepVerifier
spring-testing-fundamentals 通用原则,AssertJ + BDDMockito

6.2 测试约束

class TestingConstraints:
    def __init__(self):
        self.constraints = [
            "强制使用 MockMvcTester 的新 fluent API",
            "推 Testcontainers + @ServiceConnection",
            "明确避免用 @DirtiesContext"
        ]
    
    def validate_test(self, test_code: str):
        """验证测试代码"""
        issues = []
        
        if "@DirtiesContext" in test_code:
            issues.append("避免使用@DirtiesContext,会导致CI测试缓慢")
            
        if "MockMvc.perform(" in test_code and "MockMvcTester" not in test_code:
            issues.append("建议使用MockMvcTester的fluent API")
            
        return issues

6.3 安装方式

# Claude Code / Kiro(Maven 方式提取)
./mvnw skillsjars:extract -Ddir=~/.claude/skills

# 或直接 npx
npx skills add https://github.com/github/awesome-copilot --skill spring-boot-testing

七、spring-ai-agent-utils:构建自己的Agent

7.1 核心工具实现

@Configuration
public class AgentUtilsConfiguration {
    
    @Bean
    public FileSystemTools fileSystemTools() {
        return new FileSystemTools();
    }
    
    @Bean
    public ShellTools shellTools() {
        return new ShellTools();
    }
    
    @Bean
    public GrepTool grepTool() {
        return new GrepTool();
    }
    
    @Bean
    public GlobTool globTool() {
        return new GlobTool();
    }
    
    @Bean
    public SmartWebFetchTool smartWebFetchTool() {
        return new SmartWebFetchTool();
    }
    
    @Bean
    public SkillsTool skillsTool() {
        return new SkillsTool();
    }
}

7.2 依赖配置

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springaicommunity</groupId>
            <artifactId>spring-ai-agent-utils-bom</artifactId>
            <version>0.7.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springaicommunity</groupId>
        <artifactId>spring-ai-agent-utils</artifactId>
    </dependency>
</dependencies>

7.3 版本要求

  • Java 17+
  • Spring Boot 3.x/4.x
  • Spring AI 2.0.0-M4+

八、企业级集成建议

8.1 API聚合平台接入

对于企业级应用,可以通过API聚合平台(如weelinking等)统一管理Claude Code相关的API调用:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.weelinking.com/v1",
    api_key="YOUR_API_KEY"
)

# 调用Claude进行代码生成
response = client.chat.completions.create(
    model="claude-3-opus",
    messages=[
        {"role": "user", "content": "使用dr-jskill生成一个Spring Boot CRUD应用"}
    ]
)

8.2 推荐组合策略

场景 Skill组合
新项目启动 dr-jskill + sivalabs-agent-skills
架构规范化 agent-skill-java-spring-framework + sivalabs-agent-skills
安全需求 auth0/agent-skills + spring-security-testing
测试驱动开发 spring-testing-skills + sivalabs-agent-skills

九、总结

Agent Skills 生态正在快速发展,这6个核心Skill提供了从项目初始化到架构规范、安全集成、测试体系的完整技术栈。

Skill 核心价值
dr-jskill JHipster风格项目脚手架
agent-skill-java-spring-framework 严格架构约束
sivalabs-agent-skills 社区最佳实践
auth0/agent-skills 企业安全集成
spring-testing-skills 专业测试体系
spring-ai-agent-utils 自建Agent能力

#ClaudeCode #SpringBoot #AgentSkills #AI编程


📖 推荐阅读

如果这篇对你有帮助,以下文章你也会喜欢:

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐