--- name: load-codestyle description: "加载指定语言的代码风格参考文件。Loads code style reference files for a specified language from skill目录/style/{language}/*.md" argument-hint: "[language]" version: "1.0.0" user-invocable: true allowed-tools: Read, Glob, Bash --- # 代码风格加载器 (Code Style Loader) ## 触发条件 当用户说以下任意内容时启动: - `/load-codestyle` - "加载代码风格" - "加载{语言}代码风格" - "查看代码风格规范" ## 功能说明 本 Skill 负责从指定目录加载代码风格参考文件,并将其内容作为当前代码审查和编写的参考依据。 ## 核心逻辑 ### Step 1:确定语言 用户可以通过以下方式指定语言: - 直接在命令中指定:如 `/load-codestyle java` - 在对话中提及:如 "加载 Java 代码风格" - 如果用户未指定,询问用户希望加载哪种语言的代码风格 ### Step 2:查找风格文件 在以下位置查找代码风格文件: **目录结构**: ``` {skill目录}/style/{language}/*.md ``` 其中: - `{skill目录}` 是技能配置的基础目录,默认为 `~/.claude/skills/load-codestyle/` - `{language}` 是语言名称小写,如 `java`、`python`、`javascript`、`go` 等 **实际查找路径**: ``` ~/.claude/skills/load-codestyle/style/{language}/*.md ``` ### Step 3:加载文件内容 1. 使用 `Glob` 工具查找匹配的文件 2. 使用 `Read` 工具读取每个匹配的文件 3. 汇总所有文件内容 ### Step 4:输出结果 向用户展示: ``` 已加载 {语言} 代码风格参考文件: 文件列表: - file1.md - file2.md ... --- {文件1内容} --- {文件2内容} --- ... ``` ### Step 5:保存为上下文 将加载的风格文件内容保存到会话记忆中,以便后续代码审查和编写参考: 参考 `~/.claude/skills/load-codestyle/memory/codestyle-{language}.md` ## 支持的语言 | 语言 | 目录 | |------|------| | Java | `style/java/*.md` | | Python | `style/python/*.md` | | JavaScript | `style/javascript/*.md` | | TypeScript | `style/typescript/*.md` | | Go | `style/go/*.md` | | C/C++ | `style/c/*.md` | | Rust | `style/rust/*.md` | | Kotlin | `style/kotlin/*.md` | ## 错误处理 - **目录不存在**:`style/{language}/` 目录不存在时,提示用户并列出已支持的目录 - **没有找到文件**:目录存在但没有 `.md` 文件时,提示用户 - **权限错误**:无法读取文件时,提示具体的权限问题 ## 使用示例 ``` 用户:/load-codestyle java 助手:已加载 Java 代码风格参考文件: 文件列表: - naming-conventions.md - spring-boot-guidelines.md --- # Java 命名规范 ## 类命名 - 使用 UpperCamelCase - 示例:UserService, OrderController ## 方法命名 - 使用 lowerCamelCase - 示例:getUserById, createOrder ... --- # Spring Boot 开发规范 ## Controller 层 - 使用 @RestController 注解 - 返回统一响应格式 RestResult ... ``` ## 记忆功能 本 Skill 会自动将加载的风格文件内容保存到记忆系统中,使得后续对话可以快速引用。 保存路径:`~/.claude/skills/load-codestyle/memory/codestyle-{language}.md` 格式: ```markdown --- name: codestyle-{language} description: {语言} 代码风格参考 type: reference language: {language} --- {风格文件内容} ```