Community生产力与协作github.com

brmdias/investigate

运行客户问题的完整调查工作流——搜索知识库、文档、代码和外部跟踪器,然后推荐测试环境。

investigate 是什么?

该技能自动化了针对客户问题的完整技术支持客户经理(TAM)调查流程。它从客户名称和问题描述开始,依次执行以下步骤:查找客户档案、搜索知识库(类似调查和最佳实践)、检查文档、在产品代码中验证实际行为、通过外部跟踪器(GitHub Issues 和 Jira)检查已知问题和开发状态,最终推荐合适的测试环境(沙箱)。技能强调在调查过程中记录所有发现,并生成结构化的摘要,包括客户上下文、知识库结果、文档状态、代码分析、外部跟踪器状态及推荐的测试环境。最后,它会自动创建一份新的调查文档,并将其注册到调查报告索引中,确保知识被永久捕获并可供未来调查搜索。该技能适用于 Claude Code、Cursor 等支持工具调用的 AI 代理平台。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/brmdias/automation-tam-kb-skills/tree/HEAD/skills/investigate

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

调查工作流技能

自动化针对客户问题的完整 TAM 调查流程。

用法

/investigate <客户名称> <问题描述>

示例:

  • /investigate LSEG "webhook 超时错误"
  • /investigate "Network International" "BeyondTrust 插件认证"
  • /investigate Roche "调度器未触发作业"

该技能的用途

执行来自 CLAUDE.md 的完整调查工作流:

  1. 查找客户档案 - 定位并读取客户环境详情
  2. 搜索知识库 - 查找类似调查和最佳实践
  3. 检查文档 - 验证行为是否已记录
  4. 在代码中验证 - 搜索产品源代码以了解实际行为
  5. 检查外部跟踪器 - 搜索 GitHub Issues 和 Jira 以了解已知的错误/开发
  6. 推荐测试环境 - 根据问题类型建议合适的沙箱
  7. 总结发现 - 提供带有引用的结构化摘要
  8. 记录调查结果 - 在 investigations/ 中使用模板创建新的调查文件

指令

当此技能被调用时,请遵循以下步骤:

步骤 1:提取参数

从参数中识别:

  • customer_name:客户/公司名称
  • issue_keywords:描述问题的关键术语(错误消息、功能、组件)

步骤 2:查找客户档案

Grep pattern="<customer_name>" path="customers/" output_mode="files_with_matches"

如果找到:

  • Read 客户档案文件
  • 注意:环境(云/本地)、Rundeck 版本、规模、过去的问题
  • 保存客户上下文以备后用

如果未找到:

  • 注意:“客户档案未找到——可能是潜在客户或初次接触”
  • 继续调查

步骤 3:搜索知识库

类似调查:

Grep pattern="<issue_keywords>" glob="investigations/**/*.md" output_mode="content" -C 3

相关最佳实践:

Grep pattern="<issue_keywords>" glob="best-practices/**/*.md" output_mode="content" -C 2

对于每个结果:

  • 注意文件路径、日期(如果文件名中有的话)和关键发现
  • 确定是否为精确匹配或类似模式
  • 提取解决方案或变通方法

步骤 4:检查文档

Grep pattern="<issue_keywords>" path="repositories/docs/" output_mode="content" -C 2

确定:

  • 这是否是已记录的行为?
  • 是否存在配置选项或已知限制?
  • 文档是否与客户期望相符?

步骤 5:验证产品代码

Grep pattern="<relevant_class_or_method>" path="repositories/rundeckpro/" output_mode="content" head_limit=50

查找:

  • 实际实现行为
  • 默认值或常量
  • 错误消息来源
  • 版本特定逻辑

步骤 6:检查外部跟踪器

GitHub 社区问题(通过 Runlayer 连接器):

通过 Runlayer 连接器查询 GitHub。调用 search_tools 定位 GitHub 问题搜索工具,然后调用 execute_tool 在 rundeck/rundeck 和 rundeckpro/rundeckpro 中搜索 <issue_keywords>,包括开放和已关闭的问题(每个限制约 10 个)。不要通过 shell 调用 gh。

Jira 开发跟踪(通过 Runlayer 连接器):

通过 Runlayer 连接器查询 Jira。调用 search_tools 定位 Jira 问题搜索工具,然后使用返回的确切 tool_name 和参数调用 execute_tool,在项目 RUN 中搜索 <issue_keywords>,按更新日期排序(等效 JQL:project=RUN AND text~"<issue_keywords>" ORDER BY updated DESC)。不要直接调用 mcp__atlassian__* 工具。

对于每个相关结果:

  • 注意问题编号、状态和摘要
  • 检查是否在特定版本中修复
  • 注意提到的任何变通方法

步骤 7:推荐测试环境

仅在沙箱环境可用时执行此操作。如果不可用,请注明:“无可用沙箱环境——建议使用本地 WAR 进行快速复现”。 根据问题特征,推荐沙箱:

决策逻辑: 分析可用的沙箱环境并推荐最合适的。 参考:如果需要连接详情,Read .claude/memory/sandbox-environments.md 不要在此技能中连接到沙箱——仅提供推荐。

步骤 8:生成结构化摘要

以以下格式提供发现:

# 调查摘要:<客户名称> - <问题描述>

## 客户上下文
- **档案:** [已找到/未找到]
- **环境:** [云/本地, 版本, 规模]
- **过往问题:** [相关历史,如有]

## 知识库发现

### 类似调查
- [调查文件.md](路径) - <简要摘要>
- [状态:已解决/变通/开放]

### 相关最佳实践
- [最佳实践文件.md](路径) - <简要摘要>

## 文档状态
- **已记录:** [是/否/部分]
- **引用:** [包含行号的文件路径]
- **关键细节:** [相关配置、限制或指南]

## 代码分析
- **组件:** [类/方法名称]
- **行为:** [实际实现行为]
- **来源:** [file_path:line_number]

## 外部跟踪器状态

### GitHub Issues
- rundeck/rundeck#<编号> - <摘要> [状态]
- rundeckpro/rundeckpro#<编号> - <摘要> [状态]

### Jira Issues
- RUN-<编号> - <摘要> [状态,适用时附修复版本]

## 推荐的测试环境
**环境:** [AWS EKS / AWS EC2 / Local WAR / PDT-RDTAM]
**原因:** [数据库类型 / 问题细节 / 测试需求]
**连接:** 请参见 .claude/memory/sandbox-environments.md

## 后续步骤
1. [立即行动项]
2. [测试建议]
3. [客户沟通指南]

## 相关资源
- 客户档案:[路径,如果存在]
- 调查:[相关文件列表]
- 最佳实践:[适用指南列表]
- 文档:[关键文档页面]

质量准则

详尽但简洁:

  • 不要包含每个搜索结果——优先考虑相关发现
  • 为所有引用注明文件路径(例如 investigations/2026-03-15-issue.md:45)
  • 清晰地标注未知项(“未找到类似案例”而非模糊表述)

提供可操作的见解:

  • 不要仅仅列出发现——综合模式
  • 如果多次调查显示相同的解决方案,突出显示它
  • 如果文档与代码冲突,明确标记出来

考虑客户上下文:

  • 根据客户环境(云 vs 本地、版本)量身定制建议
  • 如果存在相关模式,引用他们的过往问题
  • 调整测试环境推荐以匹配他们的设置

错误处理

如果客户未找到:

  • 在没有客户上下文的情况下继续调查
  • 注意:“如果是重复接触,建议创建客户档案”

如果知识库没有结果:

  • 尝试更广泛的搜索词
  • 注意:“新问题——考虑在解决后将其记录为调查”

如果外部跟踪器不可用:

  • 注意工具故障
  • 使用可用信息继续
  • 建议手动检查:“GitHub 搜索失败——手动检查 rundeck/rundeck 问题”

如果问题描述不明确:

  • 使用可用关键字尽力而为
  • 注意:“问题描述不明确——搜索覆盖了:[列出使用的术语]”
  • 建议:“使用具体的错误消息或组件名称优化搜索”

步骤 9:记录调查结果

完成调查并展示摘要后,创建一个新的调查文件来记录发现:

创建文件:

investigations/YYYY-MM-DD-brief-kebab-case-description.md

使用模板: Read investigations/TEMPLATE.md 以获取结构

填充内容:

  • 标题: 问题的简要描述
  • 日期: 今天的日期(YYYY-MM-DD 格式)
  • 客户: 调查中的客户名称
  • 产品领域: 相关组件(webhooks、作业、节点等)
  • 标签: 从类似调查中发现,加上问题特定的标签
  • 问题陈述: 用户提供的问题描述
  • 环境详情: 来自客户档案(如果找到)
  • 调查步骤: 执行的搜索步骤摘要
  • 根本原因: 如果在调查期间确定
  • 解决方案/解决方法: 如果在知识库或文档中找到
  • 相关文档: 搜索过程中发现的引用
  • 代码/文档引用: 来自搜索结果的文件路径及行号
  • 备注/经验: 调查中的任何模式或见解

创建文件后:

  1. 使用新条目更新 investigations/INDEX.md:
    • 添加到适当的类别部分
    • 添加到按时间顺序的表格
    • 在“按标签快速搜索”部分添加标签
    • 更新“最后更新”日期

备注

  • 调查在知识库中创建了永久记录
  • 平均执行时间:搜索 30-60 秒 + 文档 2-3 分钟
  • 所有发现均为研究——仍需要在推荐环境中进行实际测试
  • 如需战略性定位建议,请单独调用 Read .claude/memory/tam-advisory-philosophy.md
  • 文档确保知识被捕获并可供未来调查搜索

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能