关于 analyzer-config
面向维护 .NET 仓库配置的编码 Agent 技能,帮助建立清晰、可验证的分析器规则归属。重点是以根 `.editorconfig` 为默认策略,并通过计划、迭代审查和验证形成具体变更。
主要功能
- 01规划并迭代配置任务
- 02统一分析器严重性设置
- 03建立根 `.editorconfig`
- 04区分 MSBuild 与编辑器配置
- 05执行构建与最终验证
适用场景
- 01为仓库创建根 `.editorconfig`
- 02解决分析器规则归属不清
- 03调整冲突的分析器严重性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ managedcode/ dotnet-skills --skill analyzer-config安装后在 Claude Code 中输入/analyzer-config确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
manifest.jsonreferences/analyzer-config.mdrules.mdtemplate.md详细介绍
.NET 分析器配置
触发条件
- 仓库需要根目录
.editorconfig - 分析器严重级别和样式规则的归属不明确
- 团队希望为规则配置确立唯一可信来源
价值
- 产出具体的项目变更:代码、文档、配置、测试、CI 或审查产物
- 通过明确的规划、验证和最终检查,减少模糊空间
- 留下可复用的项目上下文,让后续任务更快、更安全
不适用场景
- 只选择分析器,不更改配置
- 仅执行格式化,且不存在配置归属问题
输入
- 最近的
AGENTS.md - 当前的
.editorconfig - 任何
Directory.Build.props覆盖设置
快速开始
- 阅读最近的
AGENTS.md,确认范围和约束。 - 通过
Ralph Loop运行此技能的Workflow,直至结果可接受。 - 按照
Required Result Format返回具体产物和验证证据。
工作流
- 优先使用一个仓库根目录
.editorconfig,并设置root = true。 - 当某个子目录有明确的作用范围(例如需要更严格的规则、不同的生成代码处理方式,或针对测试代码或旧代码采用不同策略)时,再添加嵌套的
.editorconfig文件。 - 将严重级别设置保留在
.editorconfig中,不要分散到 IDE 设置中。 - 文件应采用标准 EditorConfig 格式,而不是自创的
.NET变体:- 文件名使用小写
.editorconfig - 在前言中设置
root = true - 不添加行内注释
- glob 模式使用正斜杠
- 文件名使用小写
- 将
EnableNETAnalyzers等批量开关保留在 MSBuild 文件中,不要放入.editorconfig。 - 将
.globalconfig视为特殊情况,而非仓库的常规配置方式。
缺少配置时的初始化
如果用户请求配置分析器,但当前尚未建立结构化配置:
- 检测当前状态:
rg --files -g '.editorconfig' -g '.globalconfig'rg -n "EnableNETAnalyzers|AnalysisLevel|AnalysisMode" -g '*.csproj' -g 'Directory.Build.*' .
- 创建或规范化一个仓库根目录
.editorconfig,并设置root = true。 - 将规则严重级别移入
.editorconfig,并将批量分析器开关保留在项目配置或 MSBuild 配置中。 - 仅当某个子目录确实需要不同的作用范围策略时,才添加嵌套的
.editorconfig文件。 - 运行
dotnet build SOLUTION_OR_PROJECT,并返回status: configured或status: improved。 - 如果仓库有意采用其他文档明确说明的分析器配置归属模式,则返回
status: not_applicable。
交付内容
- 明确的分析器配置归属模式
- Agent 可安全扩展的根目录
.editorconfig布局
验证
- 规则严重级别在本地和 CI 构建中均可复现
- IDE 专属设置不会悄然覆盖仓库策略
- 默认配置方式为根目录
.editorconfig,而非意外采用其他方式
Ralph Loop
所有任务均须使用 Ralph Loop,包括文档、架构、测试和工具相关工作。
- 先制定计划(必须):
- 分析当前状态
- 明确目标结果、约束和风险
- 编写详细的执行计划
- 列出最后要运行的验证技能,并说明执行顺序和原因
- 执行一个计划步骤,并产出具体变更。
- 审查结果,并记录发现的问题及可执行的后续修复措施。
- 分批实施修复,并重新运行相关检查或审查步骤。
- 每轮迭代后更新计划。
- 重复以上步骤,直至结果可接受或只剩明确列出的例外。
- 如果缺少依赖,则安装或配置该依赖;否则返回
status: not_applicable,并明确说明原因和替代方案。
必需的结果格式
status:complete|clean|improved|configured|not_applicable|blockedplan:简明计划和当前迭代步骤actions_taken:所做的具体更改validation_skills:最后运行的技能;如跳过,说明原因verification:命令、检查或审查证据摘要remaining:尚未解决的主要事项,或none
对于未执行操作、仅提供设置说明的请求,返回 status: configured,并给出确切的后续命令。
加载参考资料
请求示例
- “将
.editorconfig设为唯一事实来源。” - “为此仓库编写规范的根目录
.editorconfig。” - “修复此 .NET 仓库中冲突的分析器严重性。”
评论
支持 Markdown