Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add nickhou1983/copilot-orchestra-demo --skill "code-standards-check"
Install specific skill from multi-skill repository
# Description
>
# SKILL.md
name: code-standards-check
description: >
代码规范检查与审计 Skill。对指定文件或目录进行系统化的代码规范检查,自动识别语言并加载对应规范集,
输出包含 🔴MUST/🟡SHOULD/🟢NIT 三级严重度的结构化检查报告。
触发条件:(1) 代码规范检查/审查,(2) Code standards check/audit,
(3) 生成代码规范检查报告,(4) 检查代码是否符合规范,(5) 规范合规性扫描。
argument-hint: 提供要检查的文件路径、目录或代码片段
user-invocable: true
代码规范检查 Skill (Code Standards Check)
概述
本 Skill 对指定的代码文件或目录执行系统化的规范合规性检查,基于 references 目录中的规范集进行审计,
并输出结构化的检查报告。
工作流程
Step 1: 确定检查范围
- 如果用户指定了文件或目录路径,使用该路径作为检查范围
- 如果用户未指定路径,询问用户要检查的代码范围
- 使用工具列出目标目录中的文件,确认待检查文件清单
Step 2: 识别语言并加载规范集
根据文件扩展名识别语言,使用 read_file 工具从 references 目录加载对应的规范文件:
始终加载(必选):
- references/general-standards.md — 通用编码规范(命名、函数、错误处理、注释、模块、Git)
- references/security-standards.md — 安全规范(OWASP Top 10)
- references/report-template.md — 报告模板
按语言加载(按需):
| 文件扩展名 | 规范文件 |
|---|---|
.ts, .tsx, .js, .jsx, .vue |
references/typescript-standards.md |
.py |
references/python-standards.md |
.go |
references/go-standards.md |
如果检查范围包含多种语言,加载所有相关的语言规范文件。
Step 3: 逐文件检查
对每个文件执行以下检查:
- 读取文件内容:使用
read_file工具读取完整文件内容 - 逐条规则检查:按照已加载规范集中的每条规则逐一检查
- 记录违规项:对发现的违规记录以下信息:
- 规则 ID(如 G01-01、TS02-03、SEC01-02)
- 严重度(🔴 MUST / 🟡 SHOULD / 🟢 NIT)
- 违规文件路径和行号
- 违规代码片段
- 修复建议和修复后代码示例
Step 4: 生成检查报告
按照 references/report-template.md 中定义的模板格式生成报告,包含:
- 检查概览:文件数量、违规统计、通过率、星级评分
- 🔴 必须修复 (MUST FIX):阻塞级问题,附带修复代码
- 🟡 建议修复 (SHOULD FIX):推荐改进项,附带修复代码
- 🟢 优化建议 (NIT):代码风格和可读性优化
- 规则覆盖度:已检查的规范类别命中统计
- 改进建议:基于检查结果的整体改进方向
Step 5: 星级评分标准
| 评分 | 条件 |
|---|---|
| ⭐⭐⭐⭐⭐ | 0 个 MUST,0 个 SHOULD |
| ⭐⭐⭐⭐ | 0 个 MUST,≤3 个 SHOULD |
| ⭐⭐⭐ | 0 个 MUST,>3 个 SHOULD |
| ⭐⭐ | 1-2 个 MUST |
| ⭐ | ≥3 个 MUST |
检查原则
- 精确定位:每个违规项必须标注文件路径和行号
- 可操作性:每个 MUST/SHOULD 违规必须提供修复前后的代码对比
- 不误报:仅报告确实违反规范的问题,不对合理设计做过度纠正
- 语境敏感:考虑代码的实际上下文,避免机械套用规则
- 安全优先:安全相关违规一律标记为 🔴 MUST
注意事项
- 单次检查建议不超过 20 个文件,超过时建议分批检查
- 第三方生成代码或 vendor 代码无需检查
- 测试文件可适当放宽部分规范(如函数长度)
- 配置文件(如
.json,.yaml)不在检查范围内
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.