Install
openclaw skills install xgjk-bp-auditBP目标体系全面审计工具:对BP进行五大板块审计——基础合规性审计、向上对齐审计、向下承接审计、GAP 差异分析、数值对齐审计。 覆盖结构完整性、内容质量、逻辑自洽、对齐正确性、承接覆盖率、数值定义与算法、上下级差异识别等维度。 内置数据查询能力,当用户需要对BP目标体系进行系统性审计诊断时使用。
openclaw skills install xgjk-bp-audit本文件提供能力宪章 + 能力树 + 按需加载规则。详细审计规则见 references/,使用示例见 examples/。
当前版本: v3.5 (Write Support for Child KR/Action)
接口版本: 所有业务接口统一使用 /open-api/bp/* 前缀,自带 appKey Header 鉴权,不依赖网关。
为了确保审计深度符合管理要求,审计时必须根据被审计对象的类型(组织 vs. 个人)应用差异化规则:
XX中心年度营收目标已达成)。本人负责的XX项目交付已完成)。| # | 板块 | 说明 | 规则文档 |
|---|---|---|---|
| 1 | 基础合规性审计 | BP 本身信息检查:结构完整性、内容质量、逻辑自洽性 | references/quality-rules.md |
| 2 | 向上对齐审计 | 我和上级的承接:对齐正确性、对齐完整性、人员匹配 | references/upward-check-rules.md |
| 3 | 向下承接审计 | 下级跟我的承接:承接正确性、完整性、数值覆盖、协作约束 | references/downward-check-rules.md |
| 4 | GAP 差异分析 | 拉通上下级差异:承接差、执行差、逻辑差 | references/gap-analysis-rules.md |
| 5 | 数值对齐审计 | 从“提数字”到“定义数字”:数值定义、属性、算法、关联场景 | references/numerical-audit-rules.md |
| 检查点 | 说明 | 严重等级 |
|---|---|---|
| 结构完整性 | 必须包含 G-R-A 三层结构,层级深度符合组织要求 | 严重 |
| 内容质量 | 描述是否具体、可衡量、有明确行动指向 | 一般 |
| 逻辑自洽 | KI 是否能推导出 KR 的达成,KR 是否能验证 Goal 的完成 | 严重 |
| 衡量标准 SMART | KR 衡量标准是否满足 SMART + 最小完备要求 | 严重 |
| 汇报周期 | 举措周期 ≤ KR周期 ≤ 目标周期 | 一般 |
| 举措颗粒度 | 举措是否具体可执行、可承接 | 一般 |
| 语义定义 | 目标禁动词、KR 描述可验收状态、举措描述具体行动 | 一般 |
| 必填项完整 | 责任人/承接人、起止时间、汇报周期是否填写 | 严重 |
| 检查点 | 说明 | 严重等级 |
|---|---|---|
| 对齐正确性 | 完整结构是否支撑上级意图(严禁只看名称) | 严重 |
| 衡量标准支撑 | KR 衡量标准能否支撑上级要求的达成 | 严重 |
| 行动方向一致 | KI 行动方向是否与上级意图吻合 | 一般 |
| 人员匹配 | 下级目标责任人 = 上级举措承接人 | 严重 |
| 对齐完整性 | 是否存在选择性承接 or 职责盲区 | 严重 |
| 层级正确性 | 对齐路径是否符合层级规则(中心→集团KR,部门→中心KI,员工→部门KI) | 严重 |
仅在有下级数据(向下承接 非空,即 Markdown 中非 向下承接:无)时执行。
| 检查点 | 说明 | 严重等级 |
|---|---|---|
| 承接正确性 | 下级目标完整结构是否正确承接本级任务 | 严重 |
| 承接身份匹配 | 上级举措承接人 = 下级目标责任人 | 严重 |
| 承接完整性 | 核心任务是否有人承接,是否存在悬空 | 严重 |
| 多承接协作 | 多部门承接时交付物边界是否明确 | 一般 |
| 冗余性 | 是否存在不合理的重复承接 | 轻微 |
| 数值指标覆盖 | 数值类指标口径一致性和覆盖率 | 严重 |
| 检查点 | 说明 | 严重等级 |
|---|---|---|
| 承接差 | 上级核心要求是否在本级和下级中层层衰减 | 严重 |
| 执行差 | 下级汇总能力/指标是否足以支撑本级目标达成 | 严重 |
| 逻辑差 | 上下级之间是否存在口径不一或理解断层 | 一般 |
| 数值 GAP | 数值类指标上下级差异量化分析 | 严重 |
| 能力 GAP | 非数值类能力要求的覆盖缺口 | 一般 |
| 检查点 | 说明 | 严重等级 |
|---|---|---|
| 数值定义 | 是否明确了数值的业务边界与口径(含税/币种/范围) | 严重 |
| 数据属性 | 是否明确数值是原始产出还是计算结果 | 一般 |
| 底层算法 | 计算结果类数值是否提供了清晰的数学公式(A+B-C) | 严重 |
| 数据来源 | 是否指定了验收数值的数据源系统(SAP/CRM/人力等) | 一般 |
| 关联场景 | 是否明确了指标的对冲关系及应用场景(预警/考核) | 一般 |
数据查询和受控写入通过 scripts/bp-audit/bp_api.py 执行,默认输出 Markdown 格式(--format md)。
脚本调用方式(从工作区根目录执行):
python3 .cursor/skills-v3/bp-audit/scripts/bp-audit/bp_api.py <action> [options] --format md
--format md为推荐默认用法,将 API 返回的 JSON 转为紧凑 Markdown 自然语言,可节省 67-80% 的 token。仅在需要原始 JSON 结构时使用--format json。
| action | 说明 | 必填参数 | 可选参数 |
|---|---|---|---|
get_all_periods | 查询所有 BP 周期列表 | 无 | --name |
get_group_tree | 获取某周期下的分组树(数据量极大,500KB+,仅在搜索无果时兜底使用) | --period_id | --only_personal |
get_task_tree | 获取某分组下的目标/KR/举措树 | --group_id | 无 |
get_goal_detail | 获取目标详情(含所有 KR 和举措) | --task_id | 无 |
get_key_result_detail | 获取关键成果详情(含所有举措) | --task_id | 无 |
get_action_detail | 获取关键举措详情 | --task_id | 无 |
search_task | 按名称模糊搜索任务 | --group_id、--name | 无 |
search_group | 按名称模糊搜索分组 | --period_id、--name | 无 |
add_key_result | 根据目标 ID 新增下级关键成果 | --goal_id、--name | 其他字段见下方写入说明 |
add_action | 根据成果 ID 新增下级关键举措 | --key_result_id、--name | 其他字段见下方写入说明 |
周期 (Period) ← 如"2026年BP",顶层时间维度
└─ 分组 (Group) ← 树形结构,分为组织分组(org)和个人分组(personal)
└─ 目标 (Objective)
└─ 关键成果 (Key Result)
└─ 关键举措 (Action)
get_all_periods → 找到目标周期的 ID(若用户未指定周期,选 status=1 的启用周期)group_id → 直接使用,跳过搜索search_group 按名称模糊搜索(轻量,通常 <5KB)
group_id层级编码 等区分信息(Markdown 搜索结果表中的列),让用户选择后再继续get_group_tree 获取完整分组树(注意:此接口返回数据量极大,可达 500KB+,严重消耗 token,非必要不调用)task_id → 直接使用,跳过搜索search_task 按名称模糊搜索
task_id分组、编号 等区分信息(Markdown 搜索结果表中的列),让用户选择后再继续get_task_tree 获取任务树再定位get_goal_detail(返回含所有 KR 和举措的完整信息)get_key_result_detail(返回含所有举措的完整信息)get_action_detail输入完整性规则(强制):
parseInt 或 Number 转换脚本使用规则(强制):
.py 脚本用 python3 执行。严禁混用解释器。openapi/bp-audit/api-index.md 获取完整入参说明。search_group / search_task 模糊搜索定位,严禁直接调用 get_group_tree 拉取全量分组树。get_group_tree 返回数据量极大(500KB+),严重浪费 token,仅在搜索无结果时作为最后兜底手段。--format md,将 JSON 转为紧凑 Markdown,节省 67-80% token。仅在用户明确需要原始 JSON 时才使用 --format json。add_key_result / add_action 只能在用户明确要求“新增/补充下级成果或举措”时调用,严禁在审计过程中擅自创建任务。当用户明确要求直接修改 BP、补写内容、补充下级任务时,可使用以下两个写入接口:
add_key_result
POST /bp/task/v2/addKeyResult--goal_id、--nameadd_action
POST /bp/task/v2/addAction--key_result_id、--name常用可选参数:
--rule_type--required_index--plan_start_date--plan_end_date--owner_ids--owner_dept_ids--collaborator_ids--copy_to_ids--supervisor_ids--observer_ids--upward_task_id_list--weight--description--measure_standard--action_plan--upload_sp_file_dtos--body_json字段规则:
--owner_ids "1001,1002"--upload_sp_file_dtos 传 JSON 数组字符串--body_json 可直接传原始 JSON 对象;若与显式参数同时提供,显式参数覆盖同名字段默认假设:用户通常不给 ID,只给周期、组织/人员节点、目标或成果名称线索。skill 必须先自行定位 ID,再执行写入。
goal_id)get_all_periods 确认 period_idsearch_group --period_id ... --name ... 定位 group_idsearch_task --group_id ... --name ... 定位目标任务type = 目标id 作为 goal_idget_goal_detail --task_id <goal_id> 复核上下文后,再执行 add_key_resultkey_result_id)period_idgroup_idsearch_task --group_id ... --name ... 搜索任务type = 关键成果id 作为 key_result_idget_key_result_detail --task_id <key_result_id> 复核当前成果及已有举措,再执行 add_actionsearch_group 无结果:提示用户补充更准确的节点名称;只有完全无法搜索时才允许 get_group_treesearch_task 无结果:允许调用 get_task_tree --group_id ... 手动在树里定位推荐执行顺序:
get_goal_detail 或 get_key_result_detail 复核父任务上下文示例:
python3 .cursor/skills-v3/bp-audit/scripts/bp-audit/bp_api.py add_key_result \
--goal_id "2014631829004374017" \
--name "新增 Q2 业绩增长点" \
--measure_standard "新增签约客户数 >= 20" \
--plan_start_date "2026-04-01" \
--plan_end_date "2026-06-30" \
--format md
python3 .cursor/skills-v3/bp-audit/scripts/bp-audit/bp_api.py add_action \
--key_result_id "2014631829004374018" \
--name "拓展三线城市分销商" \
--measure_standard "签约 10 家以上" \
--owner_ids "1234567890123456789" \
--format md
# 用户不给 ID 时的完整链路示例:先找 group_id,再找 goal_id,最后新增 KR
python3 .cursor/skills-v3/bp-audit/scripts/bp-audit/bp_api.py search_group \
--period_id "<period_id>" \
--name "华东销售一部" \
--format md
python3 .cursor/skills-v3/bp-audit/scripts/bp-audit/bp_api.py search_task \
--group_id "<group_id>" \
--name "年度收入目标已达成" \
--format md
python3 .cursor/skills-v3/bp-audit/scripts/bp-audit/bp_api.py add_key_result \
--goal_id "<goal_id>" \
--name "新增渠道收入增长点" \
--format md
在输出审计报告前,必须检查以下 6 项:
fullLevelNumber(如 A8B8-1)作为唯一标识?严禁显示原始数据库 ID。Weight 列给出建议初始值?get_all_periods,筛选 status=1 的启用周期task_id 或 group_id → 直接使用search_group 模糊搜索定位(轻量高效);若返回多个结果,必须列出区分信息让用户确认,禁止自行猜测search_group 定位分组,再通过 search_task 定位目标;同样,多个结果必须让用户确认get_group_tree(此接口数据量极大,是最后兜底手段)根据审计入口获取完整数据:
get_goal_detail(返回含所有 KR 和举措的完整信息)get_key_result_detailget_action_detail关键数据字段(Markdown 输出中的呈现):
向上对齐:向上对齐的上级任务列表(如 - 向上对齐(N项): 下的列表,每项含名称、[分组名] 和 id)向下承接:向下承接的下级任务列表(如 - 向下承接(N项): 下的列表,格式同上)人员:参与人列表,含角色(如 - 人员:张三(责任人), 李四(承接人))**衡量标准**:KR 特有的衡量标准(加粗呈现)周期:汇报周期(在 状态:xx | 周期:xx | 时间:xx 行中,格式如 month+20)时间:计划时间区间(在同一行中,格式如 2026-01-01 ~ 2026-12-31)核心原则:审完一个板块,立即输出该板块的审计结果,不要等全部审完再一次性输出。只执行意图路由决定的板块,不多不少。
用户应该能看到报告在一段一段地生成,而不是等很久后突然全部出现。
拿到审计数据后,立即先输出报告标题和审计对象信息(审计范围要体现实际执行的板块):
# XX 2026年度BP 审计报告
## 审计概要
- 审计对象:...
- 审计范围:基础合规性审计(板块一) ← 根据实际执行板块填写
- (评分和总结留到最后补充)
references/quality-rules.mdreferences/upward-check-rules.mdreferences/downward-check-rules.mdreferences/gap-analysis-rules.mdreferences/numerical-audit-rules.md所有已执行板块输出完毕后,输出:
为什么要流式输出:
报告精确引用规则与表格规范(强制):
报告中严禁使用笼统描述,必须精确到具体对象。以下为硬约束:
bp_api.py 获取的 fullLevelNumber 必须出现在表格中。Object ID/Name:编码 + 名称。Weight:建议权重百分比。Status:🔴/🟡/🟢 状态。Why:具体审计理由(板块一至板块五的合并结论)。How:具体修改动作(Action/Location)。输出格式规范示例:
| Object ID / Name | Weight | Status | Why | How (Action / Location) |
|---|---|---|---|---|
| G-1「构建集团战略绩效体系」 | 35% | 🔴 | [严重] 语义红线: 目标含过程动词“构建”;向下承接: KI A8B8-1.2.3 悬空(无下级承接 ID)。 | [修改] 改为「集团战略绩效体系已建成运行」;指派专员李四承接 KI 1.2.3。 |
| KR G-1.1「AI 催办机制落地」 | - | 🔴 | [严重] 数值定义: 缺少数据源系统和算法逻辑;向上对齐: 与中心目标 2031-1 匹配度一般。 | [修改] 补充数据源(CRM)及 10% 提升算法。 |
反面示例(严禁出现在报告中):
正面示例(报告应达到的精确度):
[严重] KR G-1.1「2026年度收入达成131.23亿」责任人为空,无法追溯考核[严重] KR G-1.3「投资收益达成X亿」→ 下级仅3项承接([XX中心]、[YY中心]、[ZZ中心]),缺少[AA中心]的投资收益承接[一般] 目标 G-1「集团2026年度财务目标」使用了动词"达成",应改为「2026年度集团财务目标已达成」[紧急] 为 KR G-1.1「年度收入达成131.23亿」指定责任人(建议:CFO张三)建议工作流(简版):
SKILL.md 与 common/*,明确能力范围与约束。references/ 中的审计规则文档。examples/bp-audit/README.md 执行审计流程。意图路由与加载规则(强制):
references/ 规则文档。| 用户意图关键词 | 执行板块 | 需要的数据 |
|---|---|---|
| "检查BP质量"、"写得对不对"、"合不合规" | 仅板块一 | 本级数据 |
| "向上对齐"、"承接关系对不对"、"和上级对齐了没" | 板块一 + 板块二 | 本级 + 上级数据 |
| "下级承接"、"下面接得怎么样" | 板块一 + 板块三 | 本级 + 下级数据 |
| "GAP分析"、"差距"、"拉通上下级" | 板块一 + 板块二 + 板块三 + 板块四 | 本级 + 上级 + 下级数据 |
| "数值审计"、"数字对齐"、"穿透数字" | 板块一 + 板块五 | 本级数值数据 |
| "全面审计"、"完整审计"、"全部检查" | 板块一 + 板块二 + 板块三 + 板块四 + 板块五 | 全量数据 |
| 未明确指定 | 必须追问用户想检查哪些方面,不得默认全跑 |
宪章(必须遵守):
SKILL.md 只描述"能做什么"和"去哪里读",不写具体审计规则。SKILL.md + common,只有触发审计时才加载 references/ 和 examples/。模块路由与能力索引(合并版):
| 用户意图(示例) | 模块 | 能力摘要 | 规则文档 | 示例模板 |
|---|---|---|---|---|
| 审计BP基础合规性/检查BP质量 | bp-audit | 结构完整性、内容质量、逻辑自洽、SMART、周期、颗粒度、语义 | ./references/quality-rules.md | ./examples/bp-audit/README.md |
| 审计向上对齐/检查承接关系 | bp-audit | 对齐正确性、完整性、人员匹配、层级正确性 | ./references/upward-check-rules.md | ./examples/bp-audit/README.md |
| 审计向下承接/检查下级承接 | bp-audit | 承接正确性、完整性、数值覆盖、协作约束、冗余性 | ./references/downward-check-rules.md | ./examples/bp-audit/README.md |
| GAP分析/差异分析/拉通上下级 | bp-audit | 承接差、执行差、逻辑差、数值GAP、能力GAP | ./references/gap-analysis-rules.md | ./examples/bp-audit/README.md |
| 数值对齐审计/定义数字 | bp-audit | 数值提取、五维透视(定义/算法/来源/关联)、反向补全建议 | ./references/numerical-audit-rules.md | ./examples/bp-audit/README.md |
| 全面审计/完整审计 | bp-audit | 五大板块全量审计 | ./references/*.md | ./examples/bp-audit/README.md |
能力树(实际目录结构):
bp-audit
├── SKILL.md
├── common
│ ├── auth.md
│ └── conventions.md
├── openapi
│ └── bp-audit
│ └── api-index.md ← 8 个审计所需接口索引
├── examples
│ └── bp-audit
│ └── README.md
├── scripts
│ └── bp-audit
│ └── bp_api.py ← 数据查询脚本(8 个 action)
└── references
├── quality-rules.md ← 板块一:基础合规性审计规则
├── upward-check-rules.md ← 板块二:向上对齐审计规则
├── downward-check-rules.md ← 板块三:向下承接审计规则
├── gap-analysis-rules.md ← 板块四:GAP差异分析规则
└── numerical-audit-rules.md ← 板块五:数值对齐审计规则