@amplitude/wizard 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/LICENSE +25 -1
  2. package/dist/bin.js +47 -11
  3. package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.js +11 -1
  4. package/dist/src/frameworks/react-router/react-router-wizard-agent.js +65 -8
  5. package/dist/src/frameworks/vue/vue-wizard-agent.js +6 -1
  6. package/dist/src/lib/agent-interface.js +46 -0
  7. package/dist/src/lib/agent-runner.js +112 -51
  8. package/dist/src/lib/api.d.ts +35 -0
  9. package/dist/src/lib/api.js +118 -0
  10. package/dist/src/lib/commandments.js +1 -0
  11. package/dist/src/lib/constants.d.ts +1 -1
  12. package/dist/src/lib/constants.js +3 -3
  13. package/dist/src/lib/credential-resolution.js +7 -0
  14. package/dist/src/lib/framework-config.d.ts +9 -0
  15. package/dist/src/lib/mcp-with-fallback.d.ts +43 -0
  16. package/dist/src/lib/mcp-with-fallback.js +220 -0
  17. package/dist/src/lib/version-check.d.ts +17 -0
  18. package/dist/src/lib/version-check.js +72 -0
  19. package/dist/src/lib/wizard-session.d.ts +22 -7
  20. package/dist/src/lib/wizard-session.js +5 -3
  21. package/dist/src/run.d.ts +18 -1
  22. package/dist/src/run.js +104 -15
  23. package/dist/src/ui/agent-ui.d.ts +2 -0
  24. package/dist/src/ui/agent-ui.js +10 -0
  25. package/dist/src/ui/logging-ui.d.ts +2 -0
  26. package/dist/src/ui/logging-ui.js +6 -0
  27. package/dist/src/ui/tui/components/ConsoleView.js +14 -1
  28. package/dist/src/ui/tui/components/JourneyStepper.js +1 -3
  29. package/dist/src/ui/tui/flows.d.ts +0 -1
  30. package/dist/src/ui/tui/flows.js +1 -9
  31. package/dist/src/ui/tui/ink-ui.d.ts +2 -0
  32. package/dist/src/ui/tui/ink-ui.js +6 -0
  33. package/dist/src/ui/tui/screen-registry.js +0 -2
  34. package/dist/src/ui/tui/screens/DataIngestionCheckScreen.d.ts +5 -3
  35. package/dist/src/ui/tui/screens/DataIngestionCheckScreen.js +124 -4
  36. package/dist/src/ui/tui/screens/OutroScreen.js +12 -3
  37. package/dist/src/ui/tui/store.d.ts +22 -3
  38. package/dist/src/ui/tui/store.js +52 -18
  39. package/dist/src/ui/tui/utils/diagnostics.js +1 -3
  40. package/dist/src/ui/wizard-ui.d.ts +8 -0
  41. package/dist/src/utils/analytics.d.ts +15 -0
  42. package/dist/src/utils/analytics.js +37 -0
  43. package/dist/src/utils/setup-utils.js +6 -1
  44. package/package.json +2 -2
  45. package/skills/integration/integration-android/SKILL.md +7 -10
  46. package/skills/integration/integration-android/references/amplitude-quickstart.md +1 -1
  47. package/skills/integration/integration-android/references/android.md +1468 -0
  48. package/skills/integration/integration-android/references/basic-integration-1.0-begin.md +3 -1
  49. package/skills/integration/integration-android/references/basic-integration-1.1-edit.md +183 -0
  50. package/skills/integration/integration-android/references/basic-integration-1.3-conclude.md +81 -11
  51. package/skills/integration/integration-angular/SKILL.md +6 -8
  52. package/skills/integration/integration-angular/references/amplitude-quickstart.md +1 -1
  53. package/skills/integration/integration-angular/references/basic-integration-1.0-begin.md +3 -1
  54. package/skills/integration/integration-angular/references/basic-integration-1.1-edit.md +183 -0
  55. package/skills/integration/integration-angular/references/basic-integration-1.3-conclude.md +81 -11
  56. package/skills/integration/integration-angular/references/browser-sdk-2.md +67 -20
  57. package/skills/integration/{integration-swift/references/analytics.md → integration-angular/references/browser-unified-sdk.md} +591 -157
  58. package/skills/integration/integration-astro-hybrid/SKILL.md +6 -13
  59. package/skills/integration/integration-astro-hybrid/references/amplitude-quickstart.md +1 -1
  60. package/skills/integration/integration-astro-hybrid/references/basic-integration-1.0-begin.md +3 -1
  61. package/skills/integration/integration-astro-hybrid/references/basic-integration-1.1-edit.md +183 -0
  62. package/skills/integration/integration-astro-hybrid/references/basic-integration-1.3-conclude.md +81 -11
  63. package/skills/integration/integration-astro-hybrid/references/browser-sdk-2.md +67 -20
  64. package/skills/integration/{integration-android/references/analytics.md → integration-astro-hybrid/references/browser-unified-sdk.md} +591 -157
  65. package/skills/integration/integration-astro-ssr/SKILL.md +6 -11
  66. package/skills/integration/integration-astro-ssr/references/amplitude-quickstart.md +1 -1
  67. package/skills/integration/integration-astro-ssr/references/basic-integration-1.0-begin.md +3 -1
  68. package/skills/integration/integration-astro-ssr/references/basic-integration-1.1-edit.md +183 -0
  69. package/skills/integration/integration-astro-ssr/references/basic-integration-1.3-conclude.md +81 -11
  70. package/skills/integration/integration-astro-ssr/references/browser-sdk-2.md +67 -20
  71. package/skills/integration/{integration-javascript_node/references/analytics.md → integration-astro-ssr/references/browser-unified-sdk.md} +591 -157
  72. package/skills/integration/integration-astro-static/SKILL.md +6 -8
  73. package/skills/integration/integration-astro-static/references/amplitude-quickstart.md +1 -1
  74. package/skills/integration/integration-astro-static/references/basic-integration-1.0-begin.md +3 -1
  75. package/skills/integration/integration-astro-static/references/basic-integration-1.1-edit.md +183 -0
  76. package/skills/integration/integration-astro-static/references/basic-integration-1.3-conclude.md +81 -11
  77. package/skills/integration/integration-astro-static/references/browser-sdk-2.md +67 -20
  78. package/skills/integration/integration-astro-static/references/browser-unified-sdk.md +2212 -0
  79. package/skills/integration/integration-astro-view-transitions/SKILL.md +6 -10
  80. package/skills/integration/integration-astro-view-transitions/references/amplitude-quickstart.md +1 -1
  81. package/skills/integration/integration-astro-view-transitions/references/basic-integration-1.0-begin.md +3 -1
  82. package/skills/integration/integration-astro-view-transitions/references/basic-integration-1.1-edit.md +183 -0
  83. package/skills/integration/integration-astro-view-transitions/references/basic-integration-1.3-conclude.md +81 -11
  84. package/skills/integration/integration-astro-view-transitions/references/browser-sdk-2.md +67 -20
  85. package/skills/integration/integration-astro-view-transitions/references/browser-unified-sdk.md +2212 -0
  86. package/skills/integration/integration-django/SKILL.md +5 -16
  87. package/skills/integration/integration-django/references/amplitude-quickstart.md +1 -1
  88. package/skills/integration/integration-django/references/basic-integration-1.0-begin.md +3 -1
  89. package/skills/integration/integration-django/references/basic-integration-1.1-edit.md +183 -0
  90. package/skills/integration/integration-django/references/basic-integration-1.3-conclude.md +81 -11
  91. package/skills/integration/integration-django/references/python.md +1 -1
  92. package/skills/integration/integration-expo/SKILL.md +8 -13
  93. package/skills/integration/integration-expo/references/amplitude-quickstart.md +1 -1
  94. package/skills/integration/integration-expo/references/basic-integration-1.0-begin.md +3 -1
  95. package/skills/integration/integration-expo/references/basic-integration-1.1-edit.md +183 -0
  96. package/skills/integration/integration-expo/references/basic-integration-1.3-conclude.md +81 -11
  97. package/skills/integration/integration-expo/references/react-native-sdk.md +11 -10
  98. package/skills/integration/integration-fastapi/SKILL.md +5 -16
  99. package/skills/integration/integration-fastapi/references/amplitude-quickstart.md +1 -1
  100. package/skills/integration/integration-fastapi/references/basic-integration-1.0-begin.md +3 -1
  101. package/skills/integration/integration-fastapi/references/basic-integration-1.1-edit.md +183 -0
  102. package/skills/integration/integration-fastapi/references/basic-integration-1.3-conclude.md +81 -11
  103. package/skills/integration/integration-fastapi/references/python.md +1 -1
  104. package/skills/integration/integration-flask/SKILL.md +5 -15
  105. package/skills/integration/integration-flask/references/amplitude-quickstart.md +1 -1
  106. package/skills/integration/integration-flask/references/basic-integration-1.0-begin.md +3 -1
  107. package/skills/integration/integration-flask/references/basic-integration-1.1-edit.md +183 -0
  108. package/skills/integration/integration-flask/references/basic-integration-1.3-conclude.md +81 -11
  109. package/skills/integration/integration-flask/references/python.md +1 -1
  110. package/skills/integration/integration-javascript_node/SKILL.md +6 -12
  111. package/skills/integration/integration-javascript_node/references/amplitude-quickstart.md +1 -1
  112. package/skills/integration/integration-javascript_node/references/basic-integration-1.0-begin.md +3 -1
  113. package/skills/integration/integration-javascript_node/references/basic-integration-1.1-edit.md +183 -0
  114. package/skills/integration/integration-javascript_node/references/basic-integration-1.3-conclude.md +81 -11
  115. package/skills/integration/integration-javascript_node/references/node.md +1457 -0
  116. package/skills/integration/integration-javascript_web/SKILL.md +7 -16
  117. package/skills/integration/integration-javascript_web/references/amplitude-quickstart.md +1 -1
  118. package/skills/integration/integration-javascript_web/references/basic-integration-1.0-begin.md +3 -1
  119. package/skills/integration/integration-javascript_web/references/basic-integration-1.1-edit.md +183 -0
  120. package/skills/integration/integration-javascript_web/references/basic-integration-1.3-conclude.md +81 -11
  121. package/skills/integration/integration-javascript_web/references/browser-sdk-2.md +67 -20
  122. package/skills/integration/integration-javascript_web/references/browser-unified-sdk.md +2212 -0
  123. package/skills/integration/integration-laravel/SKILL.md +5 -11
  124. package/skills/integration/integration-laravel/references/amplitude-quickstart.md +1 -1
  125. package/skills/integration/integration-laravel/references/analytics.md +1 -1
  126. package/skills/integration/integration-laravel/references/basic-integration-1.0-begin.md +3 -1
  127. package/skills/integration/integration-laravel/references/basic-integration-1.1-edit.md +183 -0
  128. package/skills/integration/integration-laravel/references/basic-integration-1.3-conclude.md +81 -11
  129. package/skills/integration/integration-nextjs-app-router/SKILL.md +6 -13
  130. package/skills/integration/integration-nextjs-app-router/references/amplitude-quickstart.md +1 -1
  131. package/skills/integration/integration-nextjs-app-router/references/basic-integration-1.0-begin.md +3 -1
  132. package/skills/integration/integration-nextjs-app-router/references/basic-integration-1.1-edit.md +183 -0
  133. package/skills/integration/integration-nextjs-app-router/references/basic-integration-1.3-conclude.md +81 -11
  134. package/skills/integration/integration-nextjs-app-router/references/browser-sdk-2.md +67 -20
  135. package/skills/integration/integration-nextjs-app-router/references/browser-unified-sdk.md +2212 -0
  136. package/skills/integration/integration-nextjs-pages-router/SKILL.md +6 -13
  137. package/skills/integration/integration-nextjs-pages-router/references/amplitude-quickstart.md +1 -1
  138. package/skills/integration/integration-nextjs-pages-router/references/basic-integration-1.0-begin.md +3 -1
  139. package/skills/integration/integration-nextjs-pages-router/references/basic-integration-1.1-edit.md +183 -0
  140. package/skills/integration/integration-nextjs-pages-router/references/basic-integration-1.3-conclude.md +81 -11
  141. package/skills/integration/integration-nextjs-pages-router/references/browser-sdk-2.md +67 -20
  142. package/skills/integration/integration-nextjs-pages-router/references/browser-unified-sdk.md +2212 -0
  143. package/skills/integration/integration-nuxt-3.6/SKILL.md +6 -5
  144. package/skills/integration/integration-nuxt-3.6/references/EXAMPLE.md +1 -1
  145. package/skills/integration/integration-nuxt-3.6/references/amplitude-quickstart.md +1 -1
  146. package/skills/integration/integration-nuxt-3.6/references/basic-integration-1.0-begin.md +3 -1
  147. package/skills/integration/integration-nuxt-3.6/references/basic-integration-1.1-edit.md +183 -0
  148. package/skills/integration/integration-nuxt-3.6/references/basic-integration-1.3-conclude.md +81 -11
  149. package/skills/integration/integration-nuxt-3.6/references/browser-sdk-2.md +67 -20
  150. package/skills/integration/integration-nuxt-3.6/references/browser-unified-sdk.md +2212 -0
  151. package/skills/integration/integration-nuxt-4/SKILL.md +6 -5
  152. package/skills/integration/integration-nuxt-4/references/amplitude-quickstart.md +1 -1
  153. package/skills/integration/integration-nuxt-4/references/basic-integration-1.0-begin.md +3 -1
  154. package/skills/integration/integration-nuxt-4/references/basic-integration-1.1-edit.md +183 -0
  155. package/skills/integration/integration-nuxt-4/references/basic-integration-1.3-conclude.md +81 -11
  156. package/skills/integration/integration-nuxt-4/references/browser-sdk-2.md +67 -20
  157. package/skills/integration/integration-nuxt-4/references/browser-unified-sdk.md +2212 -0
  158. package/skills/integration/integration-python/SKILL.md +8 -13
  159. package/skills/integration/integration-python/references/amplitude-quickstart.md +1 -1
  160. package/skills/integration/integration-python/references/basic-integration-1.0-begin.md +3 -1
  161. package/skills/integration/integration-python/references/basic-integration-1.1-edit.md +183 -0
  162. package/skills/integration/integration-python/references/basic-integration-1.3-conclude.md +81 -11
  163. package/skills/integration/integration-python/references/python.md +1 -1
  164. package/skills/integration/integration-react-native/SKILL.md +8 -9
  165. package/skills/integration/integration-react-native/references/amplitude-quickstart.md +1 -1
  166. package/skills/integration/integration-react-native/references/basic-integration-1.0-begin.md +3 -1
  167. package/skills/integration/integration-react-native/references/basic-integration-1.1-edit.md +183 -0
  168. package/skills/integration/integration-react-native/references/basic-integration-1.3-conclude.md +81 -11
  169. package/skills/integration/integration-react-native/references/react-native-sdk.md +11 -10
  170. package/skills/integration/integration-react-react-router-6/SKILL.md +6 -12
  171. package/skills/integration/integration-react-react-router-6/references/amplitude-quickstart.md +1 -1
  172. package/skills/integration/integration-react-react-router-6/references/basic-integration-1.0-begin.md +3 -1
  173. package/skills/integration/integration-react-react-router-6/references/basic-integration-1.1-edit.md +183 -0
  174. package/skills/integration/integration-react-react-router-6/references/basic-integration-1.3-conclude.md +81 -11
  175. package/skills/integration/integration-react-react-router-6/references/browser-sdk-2.md +67 -20
  176. package/skills/integration/integration-react-react-router-6/references/browser-unified-sdk.md +2212 -0
  177. package/skills/integration/integration-react-react-router-7-data/SKILL.md +6 -12
  178. package/skills/integration/integration-react-react-router-7-data/references/amplitude-quickstart.md +1 -1
  179. package/skills/integration/integration-react-react-router-7-data/references/basic-integration-1.0-begin.md +3 -1
  180. package/skills/integration/integration-react-react-router-7-data/references/basic-integration-1.1-edit.md +183 -0
  181. package/skills/integration/integration-react-react-router-7-data/references/basic-integration-1.3-conclude.md +81 -11
  182. package/skills/integration/integration-react-react-router-7-data/references/browser-sdk-2.md +67 -20
  183. package/skills/integration/integration-react-react-router-7-data/references/browser-unified-sdk.md +2212 -0
  184. package/skills/integration/integration-react-react-router-7-declarative/SKILL.md +6 -12
  185. package/skills/integration/integration-react-react-router-7-declarative/references/amplitude-quickstart.md +1 -1
  186. package/skills/integration/integration-react-react-router-7-declarative/references/basic-integration-1.0-begin.md +3 -1
  187. package/skills/integration/integration-react-react-router-7-declarative/references/basic-integration-1.1-edit.md +183 -0
  188. package/skills/integration/integration-react-react-router-7-declarative/references/basic-integration-1.3-conclude.md +81 -11
  189. package/skills/integration/integration-react-react-router-7-declarative/references/browser-sdk-2.md +67 -20
  190. package/skills/integration/integration-react-react-router-7-declarative/references/browser-unified-sdk.md +2212 -0
  191. package/skills/integration/integration-react-react-router-7-framework/SKILL.md +6 -12
  192. package/skills/integration/integration-react-react-router-7-framework/references/amplitude-quickstart.md +1 -1
  193. package/skills/integration/integration-react-react-router-7-framework/references/basic-integration-1.0-begin.md +3 -1
  194. package/skills/integration/integration-react-react-router-7-framework/references/basic-integration-1.1-edit.md +183 -0
  195. package/skills/integration/integration-react-react-router-7-framework/references/basic-integration-1.3-conclude.md +81 -11
  196. package/skills/integration/integration-react-react-router-7-framework/references/browser-sdk-2.md +67 -20
  197. package/skills/integration/integration-react-react-router-7-framework/references/browser-unified-sdk.md +2212 -0
  198. package/skills/integration/integration-react-tanstack-router-code-based/SKILL.md +6 -14
  199. package/skills/integration/integration-react-tanstack-router-code-based/references/amplitude-quickstart.md +1 -1
  200. package/skills/integration/integration-react-tanstack-router-code-based/references/basic-integration-1.0-begin.md +3 -1
  201. package/skills/integration/integration-react-tanstack-router-code-based/references/basic-integration-1.1-edit.md +183 -0
  202. package/skills/integration/integration-react-tanstack-router-code-based/references/basic-integration-1.3-conclude.md +81 -11
  203. package/skills/integration/integration-react-tanstack-router-code-based/references/browser-sdk-2.md +67 -20
  204. package/skills/integration/integration-react-tanstack-router-code-based/references/browser-unified-sdk.md +2212 -0
  205. package/skills/integration/integration-react-tanstack-router-file-based/SKILL.md +6 -14
  206. package/skills/integration/integration-react-tanstack-router-file-based/references/amplitude-quickstart.md +1 -1
  207. package/skills/integration/integration-react-tanstack-router-file-based/references/basic-integration-1.0-begin.md +3 -1
  208. package/skills/integration/integration-react-tanstack-router-file-based/references/basic-integration-1.1-edit.md +183 -0
  209. package/skills/integration/integration-react-tanstack-router-file-based/references/basic-integration-1.3-conclude.md +81 -11
  210. package/skills/integration/integration-react-tanstack-router-file-based/references/browser-sdk-2.md +67 -20
  211. package/skills/integration/integration-react-tanstack-router-file-based/references/browser-unified-sdk.md +2212 -0
  212. package/skills/integration/integration-react-vite/SKILL.md +6 -12
  213. package/skills/integration/integration-react-vite/references/amplitude-quickstart.md +1 -1
  214. package/skills/integration/integration-react-vite/references/basic-integration-1.0-begin.md +3 -1
  215. package/skills/integration/integration-react-vite/references/basic-integration-1.1-edit.md +183 -0
  216. package/skills/integration/integration-react-vite/references/basic-integration-1.3-conclude.md +81 -11
  217. package/skills/integration/integration-react-vite/references/browser-sdk-2.md +67 -20
  218. package/skills/integration/integration-react-vite/references/browser-unified-sdk.md +2212 -0
  219. package/skills/integration/integration-ruby/SKILL.md +6 -10
  220. package/skills/integration/integration-ruby/references/amplitude-quickstart.md +1 -1
  221. package/skills/integration/integration-ruby/references/analytics.md +1 -1
  222. package/skills/integration/integration-ruby/references/basic-integration-1.0-begin.md +3 -1
  223. package/skills/integration/integration-ruby/references/basic-integration-1.1-edit.md +183 -0
  224. package/skills/integration/integration-ruby/references/basic-integration-1.3-conclude.md +81 -11
  225. package/skills/integration/integration-ruby-on-rails/SKILL.md +5 -14
  226. package/skills/integration/integration-ruby-on-rails/references/amplitude-quickstart.md +1 -1
  227. package/skills/integration/integration-ruby-on-rails/references/analytics.md +1 -1
  228. package/skills/integration/integration-ruby-on-rails/references/basic-integration-1.0-begin.md +3 -1
  229. package/skills/integration/integration-ruby-on-rails/references/basic-integration-1.1-edit.md +183 -0
  230. package/skills/integration/integration-ruby-on-rails/references/basic-integration-1.3-conclude.md +81 -11
  231. package/skills/integration/integration-sveltekit/SKILL.md +6 -6
  232. package/skills/integration/integration-sveltekit/references/amplitude-quickstart.md +1 -1
  233. package/skills/integration/integration-sveltekit/references/basic-integration-1.0-begin.md +3 -1
  234. package/skills/integration/integration-sveltekit/references/basic-integration-1.1-edit.md +183 -0
  235. package/skills/integration/integration-sveltekit/references/basic-integration-1.3-conclude.md +81 -11
  236. package/skills/integration/integration-sveltekit/references/browser-sdk-2.md +67 -20
  237. package/skills/integration/integration-sveltekit/references/browser-unified-sdk.md +2212 -0
  238. package/skills/integration/integration-swift/SKILL.md +9 -10
  239. package/skills/integration/integration-swift/references/amplitude-quickstart.md +1 -1
  240. package/skills/integration/integration-swift/references/basic-integration-1.0-begin.md +3 -1
  241. package/skills/integration/integration-swift/references/basic-integration-1.1-edit.md +183 -0
  242. package/skills/integration/integration-swift/references/basic-integration-1.3-conclude.md +81 -11
  243. package/skills/integration/integration-swift/references/ios.md +1480 -0
  244. package/skills/integration/integration-tanstack-start/SKILL.md +6 -17
  245. package/skills/integration/integration-tanstack-start/references/amplitude-quickstart.md +1 -1
  246. package/skills/integration/integration-tanstack-start/references/basic-integration-1.0-begin.md +3 -1
  247. package/skills/integration/integration-tanstack-start/references/basic-integration-1.1-edit.md +183 -0
  248. package/skills/integration/integration-tanstack-start/references/basic-integration-1.3-conclude.md +81 -11
  249. package/skills/integration/integration-tanstack-start/references/browser-sdk-2.md +67 -20
  250. package/skills/integration/integration-tanstack-start/references/browser-unified-sdk.md +2212 -0
  251. package/skills/integration/integration-vue-3/SKILL.md +6 -5
  252. package/skills/integration/integration-vue-3/references/amplitude-quickstart.md +1 -1
  253. package/skills/integration/integration-vue-3/references/basic-integration-1.0-begin.md +3 -1
  254. package/skills/integration/integration-vue-3/references/basic-integration-1.1-edit.md +183 -0
  255. package/skills/integration/integration-vue-3/references/basic-integration-1.3-conclude.md +81 -11
  256. package/skills/integration/integration-vue-3/references/browser-sdk-2.md +67 -20
  257. package/skills/integration/integration-vue-3/references/browser-unified-sdk.md +2212 -0
  258. package/skills/taxonomy/amplitude-chart-dashboard-plan/SKILL.md +183 -0
  259. package/dist/src/ui/tui/screens/ChecklistScreen.d.ts +0 -12
  260. package/dist/src/ui/tui/screens/ChecklistScreen.js +0 -111
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: amplitude-chart-dashboard-plan
3
+ description: >
4
+ Amplitude Chart & Dashboard Planning Skill — expert implementation
5
+ strategist for translating an instrumented event taxonomy into a focused
6
+ set of Amplitude charts and a single well-organized product dashboard.
7
+ Use after event instrumentation is complete (SDK installed, events
8
+ implemented, .amplitude-events.json written). Produces a concrete chart
9
+ plan and drives chart + dashboard creation via the Amplitude MCP.
10
+ ---
11
+
12
+ # Amplitude Chart & Dashboard Planning Skill
13
+
14
+ You are an expert Amplitude implementation strategist. Your job is to translate
15
+ a set of instrumented events into **a dashboard that gives the product team
16
+ immediate, actionable signal** — the kind an experienced analytics engineer
17
+ would build on day one of a new integration.
18
+
19
+ This skill runs **after** instrumentation is complete. Do not re-plan events.
20
+ Work with exactly the events that were instrumented.
21
+
22
+ ---
23
+
24
+ ## Inputs
25
+
26
+ 1. **`.amplitude-events.json`** — read this file first. It lists every event
27
+ name (and optionally description) that was instrumented in this run.
28
+
29
+ 2. **Taxonomy funnels** — from the `amplitude-quickstart-taxonomy-agent` skill
30
+ output or your own knowledge of the instrumented events. Identify 2–5
31
+ product funnels (e.g. Onboarding, Core Feature Loop, Conversion).
32
+
33
+ 3. **Autocapture** — assume Amplitude Autocapture is enabled. It automatically
34
+ tracks `[Amplitude] Page Viewed`, `[Amplitude] Element Clicked`, and
35
+ `[Amplitude] Form Started/Submitted`. These are available for charts even
36
+ before any custom instrumentation fires.
37
+
38
+ ---
39
+
40
+ ## Chart planning process
41
+
42
+ ### Step 1 — Group events by funnel
43
+
44
+ Map every instrumented event to one of the funnels you identified. An event
45
+ can belong to more than one funnel.
46
+
47
+ ### Step 2 — Select chart types per funnel
48
+
49
+ For **each funnel** (up to 5 total funnels):
50
+
51
+ | Insight need | Chart type | Notes |
52
+ | ------------------------- | ------------------- | --------------------------------------- |
53
+ | Conversion rate | Funnel | All steps in order; measure drop-off |
54
+ | Volume trend | Line (event totals) | Daily uniques for the funnel's key event|
55
+
56
+ Priority rule: **conversion funnel first**, then volume. If you only have
57
+ budget for one chart per funnel, pick the funnel chart.
58
+
59
+ ### Step 3 — Add Autocapture charts
60
+
61
+ Always include at least **one Autocapture chart** regardless of custom events:
62
+
63
+ | Chart | Event(s) used | Why |
64
+ | ---------------------------- | -------------------------------------------------------------- | -------------------------------------------- |
65
+ | Top pages by volume | `[Amplitude] Page Viewed` — group by `[Amplitude] Page URL` | Immediate traffic insight without waiting for custom events |
66
+ | Click heatmap (if web) | `[Amplitude] Element Clicked` — group by element text/class | Engagement signal before custom events fire |
67
+
68
+ ### Step 4 — Add one retention chart
69
+
70
+ Pick the single most important **activation event** (the moment a user gets
71
+ value — e.g. `Order Completed`, `Feature Used`, `Content Consumed`) as the
72
+ return-on event for a **Retention** chart. Use the N-day retention template.
73
+
74
+ ### Step 5 — Finalize the chart list
75
+
76
+ Cap at **8 charts total** (enough to fill one dashboard without overwhelming):
77
+
78
+ ```
79
+ Funnels: 1 per funnel (2–5 charts)
80
+ Volume trend: 1–2 charts for key events
81
+ Autocapture: 1–2 charts
82
+ Retention: 1 chart
83
+ ─────────────────────────────────
84
+ Total: 5–8 charts
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Dashboard structure
90
+
91
+ Name the dashboard: **"[Product/Framework] Analytics — [YYYY]"** — e.g.
92
+ `"Next.js App Analytics — 2025"`. If the product name is available from the
93
+ package.json `name` field or the app's title, use it.
94
+
95
+ Organize the dashboard sections (layouts) in this order:
96
+
97
+ 1. **Acquisition** — Autocapture page views, top landing pages
98
+ 2. **Activation** — first-run funnel, onboarding steps
99
+ 3. **Core Loop** — the product's primary value action, frequency
100
+ 4. **Conversion** — checkout / upgrade / subscription funnel (if present)
101
+ 5. **Retention** — N-day retention anchored on activation event
102
+
103
+ Only include sections for which you have at least one chart.
104
+
105
+ ---
106
+
107
+ ## Dashboard description
108
+
109
+ Set the dashboard description to:
110
+
111
+ > "Auto-generated by the Amplitude Wizard. Charts are tied to the events
112
+ > instrumented in [date]. Autocapture charts will populate immediately;
113
+ > custom event charts populate once users trigger those flows."
114
+
115
+ ---
116
+
117
+ ## Autocapture + future events
118
+
119
+ Some charts may show zero data today because:
120
+ 1. The app hasn't been used since instrumentation.
121
+ 2. The instrumented events require specific user actions.
122
+
123
+ This is expected. Add a comment in the setup report explaining which charts
124
+ rely on custom events vs Autocapture, and note that Autocapture charts
125
+ (Page Viewed, Element Clicked) will populate as soon as any user visits
126
+ the app — no deployment required.
127
+
128
+ ---
129
+
130
+ ## MCP call sequence
131
+
132
+ Use the Amplitude MCP to create charts and dashboard. Suggested order:
133
+
134
+ 1. Call `create_chart` (or equivalent MCP tool) for each chart in the plan.
135
+ Collect the returned chart IDs.
136
+ 2. Call `create_dashboard` with all chart IDs and the dashboard metadata.
137
+ 3. Record the returned dashboard URL.
138
+
139
+ **Use exact event names** from `.amplitude-events.json` — do not
140
+ normalize, lowercase, or rename them when constructing chart definitions.
141
+ The event names must match exactly what was instrumented.
142
+
143
+ ---
144
+
145
+ ## Output: what to write to `.amplitude-dashboard.json`
146
+
147
+ After dashboard creation, write a file named `.amplitude-dashboard.json` in
148
+ the project root with this shape (replace with real values):
149
+
150
+ ```json
151
+ {
152
+ "dashboardUrl": "https://app.amplitude.com/123456/dashboard/abc",
153
+ "dashboardId": "abc",
154
+ "charts": [
155
+ {
156
+ "id": "chart-id-1",
157
+ "title": "Onboarding Funnel",
158
+ "type": "funnel",
159
+ "funnel": "Onboarding"
160
+ }
161
+ ],
162
+ "createdAt": "2025-01-15T12:00:00Z"
163
+ }
164
+ ```
165
+
166
+ This file is read by the wizard to surface the dashboard URL in the checklist.
167
+ It is also listed in the setup report. Remove it after the setup report is
168
+ written (same as `.amplitude-events.json`).
169
+
170
+ ---
171
+
172
+ ## Quality bar
173
+
174
+ An expert implementation strategist would ask:
175
+
176
+ - Does every funnel have a conversion chart? ✓
177
+ - Is the dashboard named after the product, not a generic placeholder? ✓
178
+ - Does at least one chart use Autocapture so it populates on day one? ✓
179
+ - Is there a retention chart anchored on a meaningful activation event? ✓
180
+ - Are event names exactly as implemented in code? ✓
181
+ - Is the dashboard description set to explain what was auto-generated? ✓
182
+
183
+ If any of these are missing, add them before finalizing.
@@ -1,12 +0,0 @@
1
- /**
2
- * ChecklistScreen — Post-setup checklist for first chart and dashboard.
3
- *
4
- * Shown after DataIngestionCheckScreen confirms events are flowing.
5
- * Celebration header: "Your events are flowing!" in success green.
6
- */
7
- import type { WizardStore } from '../store.js';
8
- interface ChecklistScreenProps {
9
- store: WizardStore;
10
- }
11
- export declare const ChecklistScreen: ({ store }: ChecklistScreenProps) => import("react/jsx-runtime").JSX.Element;
12
- export {};
@@ -1,111 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * ChecklistScreen — Post-setup checklist for first chart and dashboard.
4
- *
5
- * Shown after DataIngestionCheckScreen confirms events are flowing.
6
- * Celebration header: "Your events are flowing!" in success green.
7
- */
8
- import { Box, Text } from 'ink';
9
- import { useEffect, useState } from 'react';
10
- import { useWizardStore } from '../hooks/useWizardStore.js';
11
- import { Colors, Icons } from '../styles.js';
12
- import { PickerMenu } from '../primitives/index.js';
13
- import { OUTBOUND_URLS } from '../../../lib/constants.js';
14
- import opn from 'opn';
15
- import { analytics } from '../../../utils/analytics.js';
16
- import { fetchOwnedDashboards } from '../../../lib/api.js';
17
- export const ChecklistScreen = ({ store }) => {
18
- useWizardStore(store);
19
- const { session } = store;
20
- const { checklistChartComplete, checklistDashboardComplete, region, selectedOrgId, } = session;
21
- const [opening, setOpening] = useState(null);
22
- const zone = (region ?? 'us');
23
- // On mount, detect charts/dashboards the user already owns so returning
24
- // users see the correct state without re-doing completed steps.
25
- useEffect(() => {
26
- const { credentials, selectedOrgId, checklistChartComplete, checklistDashboardComplete, } = store.session;
27
- if (!credentials || !selectedOrgId)
28
- return;
29
- if (checklistChartComplete && checklistDashboardComplete)
30
- return;
31
- const accessToken = credentials.accessToken;
32
- const sessionZone = (store.session.region ?? 'us');
33
- fetchOwnedDashboards(accessToken, sessionZone, selectedOrgId)
34
- .then(({ hasCharts, hasDashboards }) => {
35
- if (hasCharts)
36
- store.setChecklistChartComplete();
37
- if (hasDashboards)
38
- store.setChecklistDashboardComplete();
39
- })
40
- .catch(() => {
41
- // fetchOwnedDashboards never rejects — handled defensively
42
- });
43
- }, []);
44
- const chartUrl = OUTBOUND_URLS.newChart(zone, selectedOrgId);
45
- const dashboardUrl = OUTBOUND_URLS.newDashboard(zone, selectedOrgId);
46
- function openInBrowser(url, item) {
47
- setOpening(item);
48
- analytics.wizardCapture('Checklist Step Opened', { item });
49
- opn(url, { wait: false })
50
- .catch(() => {
51
- /* fire-and-forget */
52
- })
53
- .finally(() => {
54
- setOpening(null);
55
- if (item === 'chart')
56
- store.setChecklistChartComplete();
57
- if (item === 'dashboard')
58
- store.setChecklistDashboardComplete();
59
- });
60
- }
61
- function handleSelect(value) {
62
- switch (value) {
63
- case 'chart':
64
- openInBrowser(chartUrl, 'chart');
65
- break;
66
- case 'dashboard':
67
- openInBrowser(dashboardUrl, 'dashboard');
68
- break;
69
- case 'continue':
70
- store.setChecklistComplete();
71
- break;
72
- }
73
- }
74
- const allDone = checklistChartComplete && checklistDashboardComplete;
75
- const options = [
76
- {
77
- value: 'chart',
78
- label: checklistChartComplete
79
- ? `${Icons.checkmark} Build a chart — done`
80
- : `${Icons.bulletOpen} Build your first chart`,
81
- hint: checklistChartComplete ? undefined : 'opens in browser',
82
- disabled: checklistChartComplete,
83
- },
84
- {
85
- value: 'dashboard',
86
- label: checklistDashboardComplete
87
- ? `${Icons.checkmark} Create a dashboard — done`
88
- : `${Icons.bulletOpen} Create your first dashboard`,
89
- hint: checklistDashboardComplete
90
- ? undefined
91
- : checklistChartComplete
92
- ? 'opens in browser'
93
- : 'build a chart first',
94
- disabled: checklistDashboardComplete || !checklistChartComplete,
95
- },
96
- {
97
- value: 'taxonomy',
98
- label: `${Icons.bulletOpen} Set up taxonomy`,
99
- hint: 'coming soon',
100
- disabled: true,
101
- },
102
- {
103
- value: 'continue',
104
- label: allDone
105
- ? `${Icons.arrowRight} Done — continue`
106
- : `${Icons.arrowRight} Skip and continue`,
107
- hint: allDone ? undefined : 'you can always do these later',
108
- },
109
- ];
110
- return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingX: 2, paddingY: 1, children: [_jsxs(Box, { marginBottom: 1, flexDirection: "column", children: [_jsxs(Text, { bold: true, color: Colors.success, children: [Icons.checkmark, " Your events are flowing!"] }), _jsx(Text, { color: Colors.body, children: "Here's what to explore next:" })] }), opening && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: Colors.muted, children: ["Opening Amplitude in your browser", Icons.ellipsis] }) })), _jsx(PickerMenu, { options: options, onSelect: (v) => handleSelect(v) })] }));
111
- };