metrics-system — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited metrics-system (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
🤖→👤 AI建议,人类审批
本Pipeline由AI自动执行指标体系构建,但关键决策点需要人类审批:
| 输入项 | 类型 | 必填 | 来源 | 说明 |
|---|---|---|---|---|
| product_context | JSON | 是 | output/pm-strategy/planning-okr/okr.json + output/pm-strategy/business-model-canvas/bmc.json / 用户提供 | 产品类型、北极星指标、OKR、商业模式 |
| existing_metrics | JSON数组 | ○ | output/pm-metrics-design/tracking-plan/tracking-plan.json / 用户提供 | 已有指标清单(含名称、定义、计算方式、数据源、层级) |
{
"product_type": "string", // 产品类型枚举
"north_star_metric": "string", // 如已定义则校验,否则自动推荐
"okr": {
"objective": "string", // 当前阶段目标
"key_results": ["string"] // 关键结果
},
"business_model": "string" // 商业模式描述
}product_type枚举值:
social - 社交产品ecommerce - 电商产品saas - SaaS产品content - 内容平台gaming - 游戏产品fintech - 金融科技education - 在线教育healthcare - 医疗健康other - 其他[
{
"name": "string",
"definition": "string",
"calculation": "string",
"data_source": "string",
"layer": "north_star|l1|l2|actionable"
}
]🤖 AI处理
#### 分支A:北极星已定义
当product_context.north_star_metric已定义时:
校验项:
IF 符合以下任一条件 THEN 标记为潜在虚荣指标
- 只增不减(无时间维度)
- 无因果关联(无法指导行动)
- 不可操作(无法被团队影响) score = 基于产品类型的北极星指标推荐评分
IF score < 0.6 THEN 建议重新选择北极星输出:
{
"north_star": {
"name": "string",
"definition": "string",
"calculation": "string",
"data_source": "string",
"validation": {
"is_valid": true,
"is_vanity_free": true,
"product_type_match": 0.85,
"issues": []
}
}
}#### 分支B:北极星未定义
当product_context.north_star_metric未定义时:
自动推荐逻辑:
基于 product_context.product_type 和 business_model
生成3个北极星指标候选产品类型→北极星指标映射:
| 产品类型 | 推荐北极星指标候选 |
|---|---|
| 社交 | 1. 日活跃用户数 × 平均互动次数<br>2. 日发送消息用户数<br>3. 社交网络密度(好友关系活跃比) |
| 电商 | 1. GMV<br>2. 支付订单量<br>3. 活跃买家数 × 平均客单价 |
| SaaS | 1. 付费ARR<br>2. 核心功能周活跃用户数<br>3. NRR(净收入留存率) |
| 内容 | 1. 用户总时长<br>2. 人均内容消费量 × 消费用户数<br>3. 内容互动率 |
| 游戏 | 1. 日活跃用户数<br>2. DAU × 平均游戏时长<br>3. 付费用户LTV |
| 金融科技 | 1. 活跃用户贷款/理财转化率<br>2. AUM(资产管理规模)<br>3. 风控通过率 × 放款额 |
| 在线教育 | 1. 完课率 × 付费学员数<br>2. 学员完课率 × NPS<br>3. 活跃学习用户数 × 人均学习时长 |
| 医疗健康 | 1. 核心服务使用率<br>2. 用户健康指标改善率<br>3. 用户满意度 × 复购率 |
输出:
{
"north_star_candidates": [
{
"rank": 1,
"name": "string",
"definition": "string",
"calculation": "string",
"data_source": "string",
"pros": ["string"],
"cons": ["string"],
"recommendation_score": 0.85
}
],
"requires_human_decision": true
}🤖 AI处理
输入:北极星指标定义
拆解逻辑:
基于AARRR模型,将北极星指标拆解为5个L1维度(根据产品类型可能选择其中3-5个):
北极星指标
↓ 拆解
L1 维度(按AARRR)
├── Acquisition(获取)
├── Activation(激活)
├── Retention(留存)
├── Revenue(变现)
└── Referral(推荐)拆解规则:
FOR each L1 dimension:
1. 识别与北极星的相关性
2. 计算权重(基于相关性强度)
3. 定义L1指标
4. 确保L1指标可独立衡量北极星→L1权重映射示例(电商):
| 北极星指标 | Acquisition权重 | Activation权重 | Retention权重 | Revenue权重 | Referral权重 |
|---|---|---|---|---|---|
| GMV | 0.15 | 0.15 | 0.25 | 0.35 | 0.10 |
| 支付订单量 | 0.20 | 0.25 | 0.20 | 0.25 | 0.10 |
| 活跃买家数×客单价 | 0.20 | 0.15 | 0.30 | 0.25 | 0.10 |
输出:
{
"l1_metrics": [
{
"layer": "Acquisition",
"name": "用户获取",
"weight": 0.20,
"calculation": "string",
"data_source": "string",
"relationship_to_north_star": "直接正向关系",
"l2_metrics_count": 3
}
]
}🤖 AI处理
输入:L1指标列表
拆解逻辑:
FOR each L1 metric:
拆解 3-5 个 L2 指标
确保每个 L2 指标:
1. 与 L1 有明确的数学关系
2. 可独立衡量
3. 有明确的数据来源
4. 可被特定团队负责L1→L2拆解示例(电商-Activation):
{
"l1": "用户激活",
"l2_metrics": [
{
"name": "新用户首次下单转化率",
"calculation": "首次下单新用户数 / 新用户总数",
"data_source": "订单系统",
"is_actionable": true,
"optimization_team": "增长团队"
},
{
"name": "新用户激活时长",
"calculation": "首次完成核心动作的平均时间",
"data_source": "行为埋点",
"is_actionable": true,
"optimization_team": "产品团队"
},
{
"name": "核心功能首次使用率",
"calculation": "首次使用核心功能新用户数 / 新用户总数",
"data_source": "行为埋点",
"is_actionable": true,
"optimization_team": "产品团队"
},
{
"name": "新用户引导完成率",
"calculation": "完成新手指引新用户数 / 开始指引新用户数",
"data_source": "行为埋点",
"is_actionable": true,
"optimization_team": "UX团队"
}
]
}L2指标分类:
| 类型 | 说明 | 示例 |
|---|---|---|
| 转化率 | 漏斗各步骤转化 | 点击率、注册率、付费率 |
| 频次类 | 用户使用频率 | 人均使用次数、人均使用时长 |
| 质量类 | 使用效果/质量 | 满意度评分、功能使用深度 |
| 效率类 | 操作效率指标 | 页面加载时间、响应时间 |
| 覆盖类 | 功能/内容覆盖 | 品类覆盖率、功能使用率 |
输出:
{
"l1_metrics": [
{
"layer": "Activation",
"name": "用户激活",
"l2_metrics": [
{
"name": "string",
"calculation": "string",
"data_source": "string",
"type": "conversion_rate|frequency|quality|efficiency|coverage",
"is_actionable": true,
"optimization_team": "string"
}
]
}
]
}🤖 AI处理
识别逻辑:
FOR each L2 metric:
IF 可被特定团队直接影响 AND
可通过A/B测试验证 AND
有明确优化路径
THEN 标记为行动指标行动指标特征:
行动指标映射示例:
| L2指标 | 行动指标 | 优化方向 |
|---|---|---|
| 新用户激活时长 | 注册流程平均时长 | 简化注册步骤 |
| 首次下单转化率 | 新手引导流程转化率 | 优化引导文案 |
| 核心功能使用率 | 功能入口点击率 | 优化功能入口位置 |
| 搜索结果点击率 | 搜索结果首条点击率 | 优化排序算法 |
输出:
{
"actionable_metrics": [
{
"name": "注册流程平均时长",
"linked_l2": "新用户激活时长",
"linked_l1": "用户激活",
"optimization_approach": "通过A/B测试验证简化注册步骤的效果",
"estimated_impact": "每降低1秒可提升3%激活率",
"measurement_method": "A/B测试"
}
]
}🤖 AI处理
检测规则:
#### 规则1:只增不减检测
IF 指标计算方式满足以下任一条件:
- 累计值(无时间维度)
- 不可逆指标
THEN 标记为「只增不减」虚荣指标问题指标示例:
#### 规则2:无时间限定检测
IF 指标定义中无明确时间维度:
- 未定义统计周期
- 无法计算变化趋势
THEN 标记为「无时间限定」虚荣指标问题指标示例:
#### 规则3:无因果关联检测
IF 指标无法满足以下任一条件:
- 可关联到北极星指标
- 可指导具体行动
- 可归因到具体原因
THEN 标记为「无因果关联」虚荣指标问题指标示例:
#### 规则4:不可操作检测
IF 指标无法满足以下任一条件:
- 可被特定团队影响
- 可通过产品/运营手段改变
- 可在合理时间内看到效果
THEN 标记为「不可操作」虚荣指标问题指标示例:
检测结果输出:
{
"vanity_alerts": [
{
"metric_name": "累计用户数",
"alert_type": "只增不减",
"severity": "high",
"recommendation": "替换为「日活跃用户数」或「月活跃用户数」",
"suggested_replacement": {
"name": "DAU",
"calculation": "当日活跃用户数"
}
},
{
"metric_name": "页面总浏览量",
"alert_type": "无时间限定",
"severity": "medium",
"recommendation": "添加时间维度,计算「日均PV」或「人均PV」",
"suggested_replacement": {
"name": "人均页面浏览量",
"calculation": "日PV / 日UV"
}
}
],
"summary": {
"total_detected": 2,
"high_severity": 1,
"medium_severity": 1,
"all_resolved": false
}
}存储路径:output/pm-metrics-design/metrics-system/
输出文件:metric_system.json
输出Schema:
{
"type": "object",
"required": ["metric_system"],
"properties": {
"metric_system": {"type": "object", "description": "指标体系,包含北极星指标、L1/L2指标、行动指标和虚荣指标告警"}
}
}{
"metric_system": {
"north_star": {
"name": "string",
"definition": "string",
"calculation": "string",
"data_source": "string",
"validation": {
"is_vanity_free": true,
"validation_date": "2026-05-08"
}
},
"l1_metrics": [
{
"layer": "Acquisition|Activation|Retention|Revenue|Referral",
"name": "string",
"weight": 0.20,
"calculation": "string",
"data_source": "string",
"l2_metrics": [
{
"name": "string",
"calculation": "string",
"data_source": "string",
"type": "string",
"is_actionable": true
}
]
}
],
"actionable_metrics": [
{
"name": "string",
"linked_l2": "string",
"linked_l1": "string",
"optimization_approach": "string"
}
],
"vanity_alerts": [
{
"metric_name": "string",
"alert_type": "string",
"severity": "high|medium|low",
"recommendation": "string",
"suggested_replacement": {}
}
]
}
}| 字段路径 | 类型 | 必填 | 说明 |
|---|---|---|---|
| metric_system | object | 是 | 指标体系根对象 |
| metric_system.north_star | object | 是 | 北极星指标 |
| metric_system.north_star.name | string | 是 | 北极星指标名称 |
| metric_system.north_star.definition | string | 是 | 北极星指标定义 |
| metric_system.north_star.calculation | string | 是 | 计算公式 |
| metric_system.north_star.data_source | string | 是 | 数据来源 |
| metric_system.north_star.validation | object | 是 | 校验结果 |
| metric_system.north_star.validation.is_vanity_free | boolean | 是 | 是否无虚荣特征 |
| metric_system.l1_metrics | array | 是 | L1指标列表,至少3个维度 |
| metric_system.l1_metrics[].layer | string | 是 | AARRR维度枚举值 |
| metric_system.l1_metrics[].name | string | 是 | L1指标名称 |
| metric_system.l1_metrics[].weight | number | 是 | 权重,所有L1权重之和应为1.0 |
| metric_system.l1_metrics[].l2_metrics | array | 是 | L2指标列表,每L1至少3个 |
| metric_system.l1_metrics[].l2_metrics[].name | string | 是 | L2指标名称 |
| metric_system.l1_metrics[].l2_metrics[].calculation | string | 是 | 计算公式 |
| metric_system.l1_metrics[].l2_metrics[].is_actionable | boolean | 是 | 是否为行动指标 |
| metric_system.actionable_metrics | array | 是 | 行动指标列表 |
| metric_system.actionable_metrics[].name | string | 是 | 行动指标名称 |
| metric_system.actionable_metrics[].linked_l2 | string | 是 | 关联L2指标 |
| metric_system.actionable_metrics[].optimization_approach | string | 是 | 优化方案 |
| metric_system.vanity_alerts | array | 否 | 虚荣指标告警列表 |
触发条件:
north_star_metric未在product_context中定义执行流程:
1. AI生成3个北极星指标候选(含评分)
2. 人类产品负责人选择最终北极星指标
3. 记录选择理由
4. 继续后续步骤人类决策要素:
触发条件:
执行流程:
1. AI检测虚荣指标并生成处理建议
2. 标记需要审批的虚荣指标
3. 人类确认处理方案(或修改)
4. 执行指标替换或删除| 检查项 | 标准 | 不达标处理 |
|---|---|---|
| 北极星虚荣指标检测 | 无「只增不减」特征、有时间维度、可关联业务目标、可被团队影响 | 标记具体问题,重新推荐北极星指标,触发人类决策流程 |
| L1-L2拆解完整性 | 每个L1层(Acquisition/Activation/Retention/Revenue/Referral)各有3-5个L2指标 | 自动补充缺失L2指标,基于AARRR模型推荐,标记补充项供人工确认 |
| 行动指标可追踪性 | 有明确数据来源、有可执行优化方案、可进行A/B测试验证 | 标记不可追踪指标,建议补充数据埋点,降低该指标优先级 |
| 缺失范围 | 降级方案 | 输出影响 |
|---|---|---|
| product_context缺失 | 提示用户提供产品类型和业务目标,基于用户输入执行 | 北极星推荐基于用户描述而非结构化输入 |
| existing_metrics缺失 | 跳过现有指标校验,从零构建指标体系 | 无现有指标对比,无法检测冗余 |
| product_context + existing_metrics均缺失 | 用户提供产品类型和业务目标 → 基于行业模板推荐指标体系 | 输出基于行业模板的指标体系,标注"待确认" |
当上游文件缺失时,需用户提供以下信息以支撑降级生成:
当上游输入发生变更时,本Skill的响应策略:
| 上游变更 | 影响范围 | 响应策略 |
|---|---|---|
| OKR调整 | 北极星指标、L1指标 | 标注受影响的指标层级,建议人类确认是否更新指标体系 |
| 商业模式变更 | 收入类指标定义 | 标注受影响的指标,建议人类确认是否更新 |
| PRD功能变更 | 行动指标 | 标注受影响的行动指标,建议人类确认是否更新 |
当指标体系自身变更时,对下游的通知机制:
| 指标变更类型 | 通知范围 | 通知方式 |
|---|---|---|
| 北极星指标变更 | tracking-plan、metrics-dashboard、monitoring-pipeline | 标记核心指标变更,触发全链路更新 |
| L1/L2指标增删 | tracking-plan、metrics-dashboard | 标记指标增删,触发埋点和看板更新 |
| 行动指标变更 | tracking-plan | 标记行动指标变更,触发埋点更新 |
| 指标定义修改 | tracking-plan、metrics-dashboard、monitoring-pipeline | 标记定义变更,触发相关Skill重新评估 |
当以下任一条件满足时,升级到人工处理:
{
"escalation": {
"trigger": "string",
"reason": "string",
"current_status": {},
"ai_recommendation": {},
"requires_human_action": true,
"human_decision_needed": [
"北极星指标选择",
"虚荣指标处理方案"
]
}
}| 本Skill输出字段 | prd.json对应字段 | 对齐规则 |
|---|---|---|
| north_star.metric_name | prd.json.goals[].success_metrics[].metric_name | 北极星指标名称与PRD主指标一致 |
| l1_metrics[].name | prd.json.goals[].success_metrics[].metric_name | L1指标覆盖PRD所有success_metrics |
| actionable_metrics[].events | prd.json非功能需求.observability.Metrics | 可执行指标的事件与PRD可观测性要求对齐 |
| vanity_alerts | prd.json.goals[].success_metrics | 虚荣指标告警中不得包含PRD定义的成功指标 |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.