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

3.3 KiB
Raw Permalink Blame History

name description argument-hint version user-invocable allowed-tools
load-codestyle 加载指定语言的代码风格参考文件。Loads code style reference files for a specified language from skill目录/style/{language}/*.md [language] 1.0.0 true 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} 是语言名称小写,如 javapythonjavascriptgo

实际查找路径

~/.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

格式:

---
name: codestyle-{language}
description: {语言} 代码风格参考
type: reference
language: {language}
---

{风格文件内容}