nickhou1983

code-standards-check

0
1
# Install this skill:
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: 逐文件检查

对每个文件执行以下检查:

  1. 读取文件内容:使用 read_file 工具读取完整文件内容
  2. 逐条规则检查:按照已加载规范集中的每条规则逐一检查
  3. 记录违规项:对发现的违规记录以下信息:
  4. 规则 ID(如 G01-01、TS02-03、SEC01-02)
  5. 严重度(🔴 MUST / 🟡 SHOULD / 🟢 NIT)
  6. 违规文件路径和行号
  7. 违规代码片段
  8. 修复建议和修复后代码示例

Step 4: 生成检查报告

按照 references/report-template.md 中定义的模板格式生成报告,包含:

  1. 检查概览:文件数量、违规统计、通过率、星级评分
  2. 🔴 必须修复 (MUST FIX):阻塞级问题,附带修复代码
  3. 🟡 建议修复 (SHOULD FIX):推荐改进项,附带修复代码
  4. 🟢 优化建议 (NIT):代码风格和可读性优化
  5. 规则覆盖度:已检查的规范类别命中统计
  6. 改进建议:基于检查结果的整体改进方向

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.