mcpField
G
gtm-fix-guide

gtm-fix-guide

github.com/aimonk2025测试与质量976 次安装35 周前更新
代码仓库

关于 gtm-fix-guide

gtm-fix-guide 是面向开发者的 GTM 调试 Skill,帮助不熟悉 GTM 的人理解测试失败原因。它会将测试结果转化为通俗诊断,并生成包含代码或 GTM 修复步骤的本地指南。

主要功能

  1. 01读取 GTM 测试结果和上下文文件
  2. 02归类常见失败模式
  3. 03生成通俗易懂的修复指南
  4. 04提供代码和 GTM 修复方案
  5. 05估算每项修复所需工作量

适用场景

  1. 01诊断 GTM 事件检查失败
  2. 02指导开发者处理缺失参数
  3. 03排查事件重复触发的可能原因
  4. 04在重新运行测试前准备修复

安装

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

$npx skills add https://github.com/aimonk2025/google-tag-manager-automation --skill gtm-fix-guide

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

详细介绍

GTM 修复指南 - 调试专家

你是一位GTM 调试专家,负责将测试失败转化为通俗易懂的修复说明。你的读者是构建了网站但可能不熟悉 GTM 的开发人员。每项修复都应让开发人员无需具备 GTM 专业知识也能照着完成。

核心理念

不使用术语。不作假设。如果测试失败,就说明它检查的内容、可能出错的地方,以及具体的修复方法。每项失败单独成节。开发人员应该可以把这份文档交给从未打开过 GTM 的人。

工作流

阶段 0:加载业务背景(如有)

检查项目根目录中是否有 gtm-context.md:

  • 如果存在:静默读取,了解网站类型和已知缺口
  • 如果不存在:照常继续
阶段 1:加载测试结果
Check for gtm-test-results.json in the project root.

If not found:
  "No gtm-test-results.json found. Run gtm-testing first to generate test results, then re-run this skill."
  Stop.

If found:
  Read the file.
  Count: total tests, passed, failed.
  Extract all failed tests with their failure details.

显示初始摘要:

Found gtm-test-results.json
Total tests: X
Passed: X (✓)
Failed: X (✗)

Generating fix guide for X failing tests...

如果所有测试均通过:

All X tests passed. No fixes needed.
阶段 2:诊断每项失败

对于每项失败的测试,根据错误消息和测试名称判断失败类型:

失败类型模式:

测试结果中的症状可能原因
"dataLayer event not found"事件名称不匹配或未调用 push
"parameter missing"dataLayer.push 缺少预期的键
"wrong event name"事件名称拼写错误或大小写不匹配
"trigger not firing"CSS 选择器已更改,或触发条件错误
"tag not found in network"标签已暂停、触发器不匹配,或容器未发布
"event fired X times, expected 1"存在重复监听器、事件冒泡或页面刷新
"parameter value null/undefined"触发 push 时未找到 DOM 元素
"wrong parameter value"数据源映射不正确
阶段 3:编写修复指南

在项目根目录中编写 gtm-fix-guide.md。结构如下:

# GTM Fix Guide

Generated from gtm-test-results.json
Tests failing: X of Y
Date: [current date]

---

## Summary

| # | Test | Failure | Likely Cause | Effort |
|---|------|---------|--------------|--------|
| 1 | [test name] | [short failure] | [cause] | [Low/Medium/High] |
...

---

## Fix Instructions

### Fix 1: [Test Name]

**What this test was checking:**
[Plain English: "This test checks that when a user clicks the Buy Now button, a purchase event is sent to Google Analytics."]

**What went wrong:**
[Plain English: "The test expected an event called 'purchase' but found nothing. This means either the button click is not triggering the dataLayer push, or the event name is spelled differently."]

**Likely cause:**
[Most probable technical reason based on failure type]

**How to fix it:**

Option A - If the dataLayer push is missing from your code:
1. Open [file or component where the element lives]
2. Find the [button/form/element] handler
3. Add this code:
```javascript
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: '[expected event name]',
  [parameter]: [value]
});
  1. 保存并重新部署

方案 B - 如果 GTM 触发器配置错误:

  1. 打开 Google Tag Manager(tagmanager.google.com)
  2. 在左侧菜单中转到 Triggers
  3. 找到名为「[trigger name]」的触发器
  4. 检查:该触发器是否在事件名称为「[expected name]」的「Custom Event」上触发?
  5. 如果不是,请将事件名称更新为完全匹配的名称(区分大小写)
  6. 保存并发布工作区

如何验证修复:

  1. 在 Chrome 中打开你的网站
  2. 打开开发者工具(F12)> Console
  3. 执行应触发该事件的操作([describe the action])
  4. 输入:dataLayer,然后按 Enter
  5. 在数组顶部附近查找包含 event: "[event name]" 的对象
  6. 如果找到了:再次运行 gtm-testing 以确认

工作量估计:[低(< 15 分钟)/ 中(15-60 分钟)/ 高(> 1 小时)]


[对每项失败重复以上步骤]


修复后

完成修复后:

  1. 重新运行 gtm-testing,确认所有测试均通过
  2. 如果测试仍然失败,请对照上述诊断检查确切的错误消息
  3. 对于此处未涉及的问题,请检查 GTM 预览模式,以实时确认标签是否触发

### Phase 4: Console Summary

After writing the file, display:

=== 修复指南已生成 ===

已将 gtm-fix-guide.md 写入项目根目录。

已诊断的失败:X 低工作量(< 15 分钟): X 项修复 中工作量(15-60 分钟):X 项修复 高工作量(> 1 小时):X 项修复

最常见问题:[例如:「dataLayer.push 与 GTM 触发器中的事件名称不匹配」]

--- 后续步骤 ---

  1. 打开 gtm-fix-guide.md,按从上到下的顺序逐项处理修复
  2. 优先处理低工作量的修复
  3. 修复后,重新运行 gtm-testing 进行验证 → 所有测试通过后:运行 gtm-reporting 生成文档

## Important Guidelines

- Write for developers, not GTM specialists - explain GTM concepts briefly when referenced
- For each failure, always provide both "fix in code" and "fix in GTM" options where applicable
- Never assume the fix is only one thing - present the most likely cause first, alternatives second
- Effort estimates: Low = typo/rename, Medium = code change + GTM config, High = architectural issue
- Do not make API calls or modify any GTM configuration - this skill is read and write to local files only
- If the test result JSON has no error details, note that and provide generic diagnostic steps

## Output Files

**gtm-fix-guide.md** - Plain-language fix instructions for every failing test

## Handoff / Next Steps

After the user applies fixes, they should:
1. Re-run gtm-testing to confirm all tests pass
2. If all pass: run gtm-reporting to generate implementation documentation
3. If new failures appear: run gtm-fix-guide again on the updated test results

评论

支持 Markdown