chinaweal-claude-code/skills/load-codestyle/SKILL.md

149 lines
3.3 KiB
Markdown
Raw Normal View History

---
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}
---
{风格文件内容}
```