mcpField
F
fix-reporter

fix-reporter

github.com/majesticlabs-dev开发5061 次安装7 周前更新
代码仓库

关于 fix-reporter

用于将已解决的技术问题整理为可搜索 Markdown 经验文档的技能,并添加 YAML 元数据。它引导开发者收集背景、检查重复、验证格式并关联相关问题。

主要功能

  1. 01记录症状与根本原因
  2. 02搜索已有经验文档
  3. 03生成分类文件名
  4. 04验证 YAML 元数据
  5. 05交叉关联相关问题

适用场景

  1. 01记录复杂调试问题的解决方案
  2. 02为后续会话保存修复经验
  3. 03避免重复记录问题
  4. 04发现反复出现的技术问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill fix-reporter

安装后在 Claude Code 中输入/fix-reporter确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

schema.yaml
assets/
critical-pattern-template.md
resolution-template.md
references/
yaml-schema.md

详细介绍

fix-reporter 技能

用途: 记录已解决的问题,构建可搜索的组织知识库。

组织方式: 每个问题单独存放在 .agents/lessons/[category]/[filename].md 文件中,并使用 YAML frontmatter。带有 workflow_phase 字段的文件可由 lessons-discoverer Agent 发现。

7 步记录流程

步骤 1:检测确认

自动调用触发词:

  • “that worked”、“it's fixed”、“working now”、“problem solved”、“that did it”

手动调用: /report-fix 命令

以下情况需要记录:

  • 需要多次尝试调查
  • 耗时较长、棘手的调试
  • 不明显的解决方案
  • 记录下来有助于后续会话

以下情况无需记录: 简单的拼写错误、明显的语法错误、微不足道的修复

步骤 2:收集上下文

从对话中提取:

字段来源
模块名称出现问题的项目模块
症状可观察到的错误或行为(具体消息)
调查尝试哪些尝试无效以及原因
根本原因技术说明
解决方案修复问题的代码或配置更改
预防措施如何避免问题再次发生

如果缺少关键信息: 向用户询问,并等待回复后再进行步骤 3。

步骤 3:检查现有文档
# Search for similar issues
grep -r "exact error phrase" .agents/lessons/
ls .agents/lessons/[category]/

如果找到类似问题: 提供以下选项:

  1. 创建带有交叉引用的新文档(推荐)
  2. 更新现有文档(仅限根本原因相同的情况)
  3. 其他

如果未找到: 继续步骤 4。

步骤 4:生成文件名

格式:[sanitized-symptom]-[module]-[YYYYMMDD].md

规则:

  • 使用小写字母,以连字符替代空格
  • 删除特殊字符
  • 截断至少于 80 个字符

示例:

  • missing-import-auth-module-20251110.md
  • n-plus-one-user-queries-UserService-20251110.md
步骤 5:验证 YAML 架构

根据 schema.yaml 和 references/yaml-schema.md 进行验证。

必填字段:

  • module、date、problem_type、component
  • symptoms(数组,1–5 项)、root_cause
  • resolution_type、severity

验证失败时必须阻止后续操作——显示错误并请求修正。

步骤 6:创建文档
CATEGORY="[mapped from problem_type]"
mkdir -p .agents/lessons/${CATEGORY}

使用以下内容填充 assets/resolution-template.md:

  • 步骤 2 中的上下文
  • 步骤 5 中验证通过的 YAML

可选的发现字段: 如果希望课程内容自动呈现,可添加 workflow_phase、tech_stack、lesson_type、impact、keywords。

步骤 7:交叉引用

如果步骤 3 中发现类似问题:

  • 在两份文档中添加“相关问题”链接

如果存在 3 个或更多类似问题:

  • 考虑将内容添加到 .agents/lessons/patterns/common-solutions.md

如果 severity=critical 且解决方案不明显:

  • 在输出中注明:“考虑添加到 Critical Patterns”

输出

记录完成后,调用 fix-decision-router 技能,并提供:

doc_path: .agents/lessons/[category]/[filename].md
category: [problem_type category]

类别映射

problem_type目录
build_errorbuild-errors/
test_failuretest-failures/
runtime_errorruntime-errors/
performance_issueperformance-issues/
database_issuedatabase-issues/
security_issuesecurity-issues/
ui_bugui-bugs/
integration_issueintegration-issues/
logic_errorlogic-errors/
developer_experiencedeveloper-experience/
workflow_issueworkflow-issues/
best_practicebest-practices/
documentation_gapdocumentation-gaps/

成功标准

  • YAML frontmatter 已通过验证
  • 文件已创建在 .agents/lessons/[category]/ 中
  • 枚举值与架构完全一致
  • 已包含代码示例
  • 如果发现相关问题,已添加交叉引用
  • 已调用 fix-decision-router

错误处理

错误操作
缺少上下文询问用户并等待
YAML 验证失败显示错误,在通过验证前阻止后续操作
类似问题存在歧义提供选项,让用户选择

质量指南

应包含:

  • 精确的错误消息(直接复制粘贴)
  • 文件:行号引用
  • 可观察到的症状
  • 记录失败的尝试
  • 技术原因说明
  • 代码示例(修改前/后)
  • 预防建议

应避免:

  • 模糊的描述
  • 缺少技术细节
  • 缺少上下文(版本、文件)
  • 没有说明的代码转储

评论

支持 Markdown