analyzify
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAnalyzify MCP Skill
Analyzify MCP Skill
Complete workflow guide for the Analyzify Shopify analytics platform. Operations go through MCP tools.
Two APIs — use the right tool:
| API | Introspect tool | Execute tool | What it has |
|---|---|---|---|
| Analyzify API | | | Live data: Shopify proxy, GA4 proxy, GSC proxy, Google Ads proxy, workspace info |
| Report API | | | Historical data: traffic trends, campaign attribution, aggregated metrics |
Analyzify Shopify分析平台的完整工作流指南,所有操作均通过MCP工具执行。
两类API — 请选用正确的工具:
| API | 自省工具 | 执行工具 | 包含内容 |
|---|---|---|---|
| Analyzify API | | | 实时数据:Shopify代理、GA4代理、GSC代理、Google Ads代理、工作区信息 |
| 报表API | | | 历史数据:流量趋势、活动归因、聚合指标 |
MANDATORY: Session Initialization
强制要求:会话初始化
At the very start of EVERY conversation, before responding to the user, execute this query via :
execute_graphqlgraphql
{ extMe { workspaceId shopUrl shopName shopifyShopId shopifyScope shopifyIanaTimezone capabilities keyName reportSpaceId ga4 { propertyID accountName } googleAds { accountID } googleSearchConsole { url } } }Store the entire response for the session. This gives you:
- workspaceId — the workspace/user ID (this IS the "space ID" if the user asks)
- shopUrl / shopName — the Shopify store
- reportSpaceId — report space ID for analytics data
- ga4.propertyID — GA4 property ID to use in ga4Proxy paths
- googleAds.accountID — Google Ads customer ID to use in gadsProxy paths
- googleSearchConsole.url — GSC site URL to use in gscProxy paths
Never ask the user for these IDs. If a service is null, it's not connected.
每次会话最开始,响应用户之前,必须通过执行以下查询:
execute_graphqlgraphql
{ extMe { workspaceId shopUrl shopName shopifyShopId shopifyScope shopifyIanaTimezone capabilities keyName reportSpaceId ga4 { propertyID accountName } googleAds { accountID } googleSearchConsole { url } } }请存储整个响应内容用于当前会话,你可以从中获取:
- workspaceId — 工作区/用户ID(如果用户询问"空间ID",就是指这个值)
- shopUrl / shopName — Shopify店铺信息
- reportSpaceId — 分析数据对应的报表空间ID
- ga4.propertyID — ga4Proxy路径中使用的GA4媒体资源ID
- googleAds.accountID — gadsProxy路径中使用的Google Ads客户ID
- googleSearchConsole.url — gscProxy路径中使用的GSC站点URL
永远不要向用户索要这些ID。如果某个服务返回null,说明该服务尚未连接。
Playbooks (Business Questions)
操作手册(业务问题场景)
Match the user's question to the right playbook. Each playbook has exact queries, variables, presentation formats, and follow-up handling.
| Playbook | Triggers | File |
|---|---|---|
| Diagnose Sales Drop | "Why are sales down?", "Revenue dropped", "What changed?", "Why did X decline?", "Something broke" | |
| Weekly/Monthly Report | "Weekly report", "Monthly recap", "Business summary", "How did we do?" | |
| Profit & Revenue | "What's my profit?", "Revenue?", "MER?", "Costs?", "P&L?", "Margin?" | |
| Sales & Orders | "Total sales?", "Orders?", "AOV?", "Returns?", "Find order #X?" | |
| Product Optimization | "Best/worst products?", "What should I promote?", "High views low sales?", "Dead stock?" | |
| Ad Performance | "How are my ads?", "ROAS?", "Campaign performance?", "Best/worst campaigns?" | |
| Budget Allocation | "Where to spend more?", "Budget optimization?", "Scale ads?", "Cut wasteful spend?" | |
| Attribution | "Where do orders come from?", "First/last touch?", "Channel attribution?" | |
| Conversion Optimization | "Improve conversion rate?", "Cart abandonment?", "Funnel?", "Bounce rate?", "Mobile conversion?" | |
| Traffic & SEO | "Traffic sources?", "SEO?", "Top queries?", "Landing pages?", "404s?" | |
| Seasonal / YoY | "Compare to last year?", "YoY growth?", "Seasonal trends?", "Am I on track?", "BFCM planning?" | |
| Discount & Promo Impact | "Are discounts working?", "Promotion results?", "Margin impact?", "Should I run a sale?" | |
| Conversion Health | "Is tracking working?", "Last conversion?", "Tags broken?", "PMax not converting?" | |
| Store Health | "How's my store?", "Overview?", "Dashboard?", "KPIs?" | |
| Customer Insights | "New vs returning?", "Segments?", "CAC?", "Repeat rate?", "LTV?" | |
Priority matching:
- If the user describes a problem ("sales dropped", "why did X change") → use Diagnose Sales Drop
- If the user asks for a report ("weekly report", "monthly summary") → use Weekly/Monthly Report
- If the user asks a specific question → match to the relevant playbook above
- If the user is vague ("how's my store?", "give me an overview") → use Store Health
将用户的问题匹配到对应的操作手册,每个手册都包含精确的查询语句、变量、展示格式和后续处理方案。
| 操作手册 | 触发场景 | 文件路径 |
|---|---|---|
| 销售额下降诊断 | "为什么销售额下降了?"、"收入下跌了"、"发生了什么变化?"、"为什么X指标下跌了?"、"什么东西出问题了" | |
| 周/月度报表 | "周报"、"月度复盘"、"业务总结"、"我们表现怎么样?" | |
| 利润与收入 | "我的利润是多少?"、"收入?"、"MER?"、"成本?"、"P&L?"、"利润率?" | |
| 销售与订单 | "总销售额?"、"订单数?"、"AOV?"、"退单?"、"查找订单#X?" | |
| 产品优化 | "最好/最差的产品?"、"我应该推广什么?"、"高浏览低转化的产品?"、"滞销库存?" | |
| 广告表现 | "我的广告效果怎么样?"、"ROAS?"、"活动表现?"、"最好/最差的活动?" | |
| 预算分配 | "我应该在哪些方面增加投入?"、"预算优化?"、"扩大广告投放?"、"削减无效支出?" | |
| 归因 | "订单来自哪些渠道?"、"首次/末次触点?"、"渠道归因?" | |
| 转化优化 | "提升转化率?"、"购物车弃购?"、"转化漏斗?"、"跳出率?"、"移动端转化?" | |
| 流量与SEO | "流量来源?"、"SEO?"、"热门查询?"、"落地页?"、"404错误?" | |
| 季节性/同比对比 | "和去年对比?"、"同比增长?"、"季节性趋势?"、"我是否符合预期?"、"黑五网一规划?" | |
| 折扣与促销影响 | "折扣有效吗?"、"促销效果?"、"利润影响?"、"我应该做促销活动吗?" | |
| 转化健康度 | "跟踪正常吗?"、"最近的转化?"、"标签失效了?"、"PMax没有转化?" | |
| 店铺健康度 | "我的店铺怎么样?"、"概览?"、"看板?"、"KPIs?" | |
| 客户洞察 | "新客vs复购客?"、"用户分层?"、"CAC?"、"复购率?"、"LTV?" | |
匹配优先级:
- 如果用户描述的是问题("销售额下降了"、"为什么X变了")→ 使用销售额下降诊断手册
- 如果用户要求生成报表("周报"、"月度总结")→ 使用周/月度报表手册
- 如果用户问的是具体问题 → 匹配到上述对应的操作手册
- 如果用户的需求模糊("我的店铺怎么样?"、"给我一个概览")→ 使用店铺健康度手册
API References (Technical)
API参考(技术向)
| Flow | Trigger | Reference |
|---|---|---|
| Workspace & Account Info | User asks about store, space ID, capabilities, connected accounts | |
| Shopify Store Data | User wants products, collections, orders, themes, or any Shopify Admin data | |
| Google Analytics 4 | User wants GA4 traffic, reports, sessions, pageviews, realtime data | |
| Google Search Console | User wants search performance, top queries, impressions, clicks, CTR | |
| Google Ads | User wants ad campaigns, spend, ROAS, conversions, keywords | |
| Analytics Reports | Full report query reference with all fields, inputs, and response shapes | |
| 流程 | 触发场景 | 参考文件 |
|---|---|---|
| 工作区与账户信息 | 用户询问店铺、空间ID、权限、已连接账户 | |
| Shopify店铺数据 | 用户需要产品、合集、订单、主题或任何Shopify Admin数据 | |
| Google Analytics 4 | 用户需要GA4流量、报表、会话数、浏览量、实时数据 | |
| Google Search Console | 用户需要搜索表现、热门查询、曝光量、点击量、CTR | |
| Google Ads | 用户需要广告活动、支出、ROAS、转化、关键词 | |
| 分析报表 | 完整的报表查询参考,包含所有字段、输入参数和响应结构 | |
Query Strategy: Report API First
查询策略:优先使用报表API
ALWAYS try the Report API first. It has pre-aggregated historical data that is fast and doesn't hit external rate limits.
- Match the user's request to a Report API query (see )
references/reports.md - If the Report API has the data → use
execute_report_graphql - Only fall back to live proxies (ga4Proxy, gscProxy, gadsProxy, shopifyProxy) when:
- The Report API doesn't have the query (e.g., realtime GA4 data)
- The user needs live/current data that hasn't been synced yet
- The user needs Shopify Admin data (products, collections, themes) — these are only available via
shopifyProxy
Examples:
- "What's my revenue?" → Report API (or
ga4Scorecards)profitMerReport - "Show my top campaigns" → Report API (or
gadsCampaignsPerformance)fbCampaignInsights - "Realtime visitors right now" → Live proxy (with realtime endpoint)
ga4Proxy - "List my products" → Live proxy ()
shopifyProxy
永远优先尝试使用报表API,它包含预聚合的历史数据,查询速度快,不会触发外部接口的限流规则。
- 将用户的请求匹配到对应的报表API查询(参考)
references/reports.md - 如果报表API有对应的数据 → 使用
execute_report_graphql - 仅在以下场景回退到实时代理(ga4Proxy、gscProxy、gadsProxy、shopifyProxy):
- 报表API不支持该查询(例如GA4实时数据)
- 用户需要尚未同步的实时/最新数据
- 用户需要Shopify Admin数据(产品、合集、主题)—— 这些数据仅能通过获取
shopifyProxy
示例:
- "我的收入是多少?" → 报表API(或
ga4Scorecards)profitMerReport - "展示我表现最好的活动" → 报表API(或
gadsCampaignsPerformance)fbCampaignInsights - "当前实时访客数" → 实时代理(调用实时接口)
ga4Proxy - "列出我的产品" → 实时代理()
shopifyProxy
How to Use
使用方法
- Run the extMe initialization query (MANDATORY)
- Match the user's request to a Report API query first (check )
references/reports.md - If no Report API query fits, match to a live proxy flow
- Load the corresponding reference file for exact operations
- Use or
introspect_schemaif you need field detailsintrospect_report_schema - Execute and present results cleanly — no technical jargon
- 运行extMe初始化查询(强制要求)
- 优先将用户请求匹配到报表API查询(查看)
references/reports.md - 如果没有匹配的报表API查询,匹配到对应的实时代理流程
- 加载对应的参考文件获取精确的操作步骤
- 如果你需要字段详情,可以使用或
introspect_schemaintrospect_report_schema - 执行查询并清晰展示结果——不要使用技术术语
Behavior Rules
行为规则
- NEVER mention GraphQL, APIs, queries, mutations, tool names, schemas, or any technical details to the user
- NEVER show raw JSON, query strings, or error codes
- If a Google service is null in extMe: "That service isn't connected to your store yet. You can set it up in your Analyzify dashboard."
- Present data in clean tables, lists, or summaries
- Act like a knowledgeable assistant who just knows things about the store
- If the user asks "what version" or "skill version": reply with both versions:
- Skill version: from this file's frontmatter (field)
version - MCP server version: run via terminal if available
analyzify-mcp version - Suggest to update the skill
npx skills add analyzify/analyzify-mcp-public - Suggest to update the MCP server
curl -sL https://raw.githubusercontent.com/analyzify/analyzify-mcp-public/main/install.sh | sh
- Skill version: from this file's frontmatter (
- 永远不要向用户提及GraphQL、API、查询、变更、工具名称、schema或任何技术细节
- 永远不要展示原始JSON、查询字符串或错误码
- 如果extMe中某个Google服务返回null:回复"该服务尚未连接到你的店铺,你可以在Analyzify看板中完成配置。"
- 使用清晰的表格、列表或总结形式展示数据
- 表现得像一个熟悉店铺所有情况的专业助手
- 如果用户询问"什么版本"或"skill版本":同时返回两个版本号:
- Skill版本: 来自本文件的前置元数据(字段)
version - MCP服务端版本: 如果可用,通过终端运行获取
analyzify-mcp version - 建议用户运行更新skill
npx skills add analyzify/analyzify-mcp-public - 建议用户运行更新MCP服务端
curl -sL https://raw.githubusercontent.com/analyzify/analyzify-mcp-public/main/install.sh | sh
- Skill版本: 来自本文件的前置元数据(
Quick Reference
快速参考
Get workspace info:
graphql
{ extMe { workspaceId shopUrl shopName shopifyShopId shopifyIanaTimezone reportSpaceId capabilities keyName ga4 { propertyID accountName } googleAds { accountID } googleSearchConsole { url } } }List products (via Shopify proxy):
graphql
{ shopifyProxy(query: "{ products(first: 10) { edges { node { id title handle status } } } }") { data errors } }GA4 traffic report (use propertyID from extMe):
graphql
query($body: JSON) { ga4Proxy(input: { path: "properties/{propertyID}:runReport", body: $body }) { statusCode data } }获取工作区信息:
graphql
{ extMe { workspaceId shopUrl shopName shopifyShopId shopifyIanaTimezone reportSpaceId capabilities keyName ga4 { propertyID accountName } googleAds { accountID } googleSearchConsole { url } } }列出产品(通过Shopify代理):
graphql
{ shopifyProxy(query: "{ products(first: 10) { edges { node { id title handle status } } } }") { data errors } }GA4流量报表(使用从extMe获取的propertyID):
graphql
query($body: JSON) { ga4Proxy(input: { path: "properties/{propertyID}:runReport", body: $body }) { statusCode data } }
```",