opportunity-scoring — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited opportunity-scoring (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 自动执行(战略契合度维度 👤 由人类执行)
| 输入项 | 类型 | 必填 | 来源 | 说明 |
|---|---|---|---|---|
| 用户研究数据 | JSON | 是 | output/pm-discovery/user-research-voice-analysis/voice-analysis.json / output/pm-discovery/user-research-behavior-analysis/behavior-analysis.json | 痛点提及率、行为数据印证 |
| 市场分析数据 | JSON | 是 | output/pm-discovery/market-tam-som/tam-som.json | SOM 估算值 |
| 竞品分析数据 | JSON | 是 | output/pm-discovery/market-competitor-intel/competitor-intel.json | 竞品能力与壁垒分析 |
| 技术团队评估 | object | ○ | 用户提供 | 现有技术栈可实现性评估 |
总分 = Σ(维度得分 × 维度权重)
#### 维度1:问题真实性(权重 0.30)
| 得分 | 标准 |
|---|---|
| 5 | 痛点提及率 > 10% 且行为数据印证 |
| 4 | 痛点提及率 > 10% 但无行为数据印证 |
| 3 | 痛点提及率 5%-10% 且行为数据印证 |
| 2 | 痛点提及率 5%-10% 但无行为数据印证 |
| 1 | 无直接数据,纯假设 |
#### 维度2:市场规模(权重 0.25)
| 得分 | 标准 |
|---|---|
| 5 | SOM > 1亿 |
| 4 | SOM 5000万-1亿 |
| 3 | SOM 1000万-5000万 |
| 2 | SOM 500万-1000万 |
| 1 | 无法估算 |
#### 维度3:解决可行性(权重 0.20)
| 得分 | 标准 |
|---|---|
| 5 | 现有技术栈可直接实现 |
| 4 | 现有技术栈需少量扩展 |
| 3 | 需引入新技术但团队有能力 |
| 2 | 需引入新技术且团队需学习 |
| 1 | 当前技术不可行 |
#### 维度4:战略契合度(权重 0.15)👤 人类判定
| 得分 | 标准 |
|---|---|
| 5 | 核心战略方向,高度契合 |
| 4 | 重要战略方向,较好契合 |
| 3 | 相关战略方向,部分契合 |
| 2 | 边缘战略方向,弱契合 |
| 1 | 不在战略方向内 |
注意:AI 提供战略契合度分析建议,但最终得分必须由人类判定。AI 评分后此维度标记为 needs_human: true。#### 维度5:竞争壁垒(权重 0.10)
| 得分 | 标准 |
|---|---|
| 5 | 竞品无此能力且短期难复制 |
| 4 | 竞品无此能力但中期可复制 |
| 3 | 竞品有部分能力但体验差 |
| 2 | 竞品有较好能力但未主导 |
| 1 | 竞品已领先 |
输出文件:output/pm-discovery/opportunity-scoring/opportunity-scoring.json
输出Schema:
{
"type": "object",
"required": ["opportunities", "metadata"],
"properties": {
"opportunities": {"type": "array", "description": "机会评分列表,含各维度得分和加权总分"},
"metadata": {"type": "object", "description": "评分元数据,含版本和待人类输入状态"}
}
}| 字段路径 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
opportunities | array | 是 | 机会评分列表,不可为空数组 | |
opportunities[].name | string | 是 | 机会名称,不可为空字符串 | |
opportunities[].scores.{dimension}.score | number\ | null | 是 | 维度得分1-5,待人类判定时必须为null |
opportunities[].scores.{dimension}.weight | number | 是 | 维度权重,5个维度权重之和必须等于1.00 | |
opportunities[].scores.{dimension}.evidence | string | 是 | 评分依据,不可为空字符串 | |
opportunities[].scores.{dimension}.needs_human | boolean | 是 | 是否需要人类判定,strategic_fit维度必须为true | |
opportunities[].weighted_total | number\ | null | 是 | 加权总分,任一维度score为null时必须为null |
opportunities[].provisional_rank | number\ | null | 是 | 暂定排名,基于已评分维度计算 |
metadata.scoring_version | string | 是 | 评分版本号 | |
metadata.awaiting_human_input | boolean | 是 | 是否有待人类输入,strategic_fit未评分时必须为true | |
metadata.pending_dimensions | array | 是 | 待人类判定的维度列表,不可为空当awaiting_human_input为true |
{
"opportunities": [
{
"name": "机会名称",
"scores": {
"problem_validity": {
"score": 4,
"weight": 0.30,
"evidence": "痛点提及率12%,行为数据显示用户反复尝试解决",
"needs_human": false
},
"market_size": {
"score": 3,
"weight": 0.25,
"evidence": "SOM估算约3000万",
"needs_human": false
},
"feasibility": {
"score": 4,
"weight": 0.20,
"evidence": "现有技术栈需少量扩展",
"needs_human": false
},
"strategic_fit": {
"score": null,
"weight": 0.15,
"evidence": "AI分析:该机会与核心战略方向高度相关,建议评分4-5",
"needs_human": true
},
"competitive_moat": {
"score": 3,
"weight": 0.10,
"evidence": "竞品有部分能力但体验差",
"needs_human": false
}
},
"weighted_total": null,
"provisional_rank": null
}
],
"metadata": {
"scoring_version": "1.0",
"awaiting_human_input": true,
"pending_dimensions": ["strategic_fit"]
}
}| 字段 | 类型 | 说明 | |
|---|---|---|---|
name | string | 机会名称 | |
scores.{dimension}.score | number\ | null | 维度得分(1-5),待人类判定时为 null |
scores.{dimension}.weight | number | 维度权重 | |
scores.{dimension}.evidence | string | 评分依据 | |
scores.{dimension}.needs_human | boolean | 是否需要人类判定 | |
weighted_total | number\ | null | 加权总分,待人类判定后计算 |
provisional_rank | number\ | null | 暂定排名,待人类判定后计算 |
weighted_total| 检查项 | 通过条件 |
|---|---|
| 所有维度已评分 | 5个维度均有 score 值或标记为 needs_human |
| 战略契合度标记为待人类判定 | strategic_fit.needs_human === true |
| 评分依据完整 | 每个维度的 evidence 字段非空 |
| 权重一致性 | 5个维度权重之和 = 1.00 |
当上游文件不存在时,本Skill仍可独立执行:
| 缺失的上游输入 | 降级方案 | 输出影响 |
|---|---|---|
| 用户研究数据(voice-analysis / behavior-analysis) | 用户描述机会 → 基于描述评分,问题真实性维度使用默认值,标注置信度较低 | problem_validity.score 降为默认值2,evidence 标注"缺乏用户研究数据",置信度<0.5 |
| 市场分析数据(tam-som) | 用户描述机会 → 市场规模维度基于用户估算评分,标注"缺乏市场数据" | market_size.score 基于用户估算,evidence 标注"缺乏市场数据",置信度<0.5 |
| 竞品分析数据(competitor-intel) | 用户描述机会 → 竞争壁垒维度基于用户描述评分,标注"缺乏竞品数据" | competitive_moat.score 基于用户描述,evidence 标注"缺乏竞品数据",置信度<0.5 |
| 所有上游文件均缺失 | 提示用户先执行前序阶段,或基于用户描述的机会直接评分(标注置信度较低) | 多个维度使用默认值,weighted_total 可信度极低,metadata 中标注全量降级 |
| 若用户未提供技术团队评估 | 跳过该输入相关步骤,可解决性维度使用默认值3(中等),标记confirmed=false | feasibility.score 为默认值3,evidence 标注"缺乏技术评估",needs_human 可能为true |
数据获取说明:
| 上游数据源 | 变更类型 | 影响维度 | 影响描述 | 响应策略 |
|---|---|---|---|---|
| voice-analysis.json | 痛点提及率更新 | problem_validity | 痛点频率变化可能导致问题真实性得分升降 | 重新计算problem_validity得分,更新evidence |
| behavior-analysis.json | 行为数据更新 | problem_validity | 行为印证变化影响问题真实性评分 | 重新评估行为印证,更新score和evidence |
| tam-som.json | SOM估算值调整 | market_size | SOM数值变化直接影响市场规模得分 | 重新计算market_size得分,更新evidence |
| competitor-intel.json | 竞品能力变更 | competitive_moat | 竞品新增能力或壁垒变化影响竞争壁垒评分 | 重新计算competitive_moat得分,更新evidence |
| 下游消费者 | 通知字段 | 通知时机 | 通知内容 |
|---|---|---|---|
| opportunity-problem-statement | metadata.scoring_version | 评分结果更新后 | 通知评分版本变更及受影响的维度得分 |
| opportunity-brief | opportunities[].weighted_total | 加权总分计算完成后 | 通知最终评分结果及排名变化 |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.