← 返回
未分类

ata-integrity-audit

数据修改前的全库扫描与最新数据校验。 当用户要求修改/更新/修正任何数据(包括但不限于公司名称、数量、时间、排名、标签、金额等)时触发此技能。 核心职责:(1)找出全工作区所有出现该数据的地方;(2)比对公开平台数据的时间戳,选择最新数据;(3)确保修改后无旧数据残留。
>用户修改数据时,先扫描所有知识库内容,再从各大平台查找公布数据,进行比对修改,当用户指定修正数字和公开数据有区别时,辨别数据时间后,以最新数据为准,以用户提供准确数据为准,全域扫描修改。
user_8e810118
未分类 community v1.0.0 1 版本 98529.4 Key: 无需
★ 0
Stars
📥 67
下载
💾 0
安装
1
版本
#latest

概述

Data Integrity Audit

在执行任何数据修改操作前,必须执行以下流程。

触发条件

当用户提出以下类型的需求时强制触发

  • "把XX改成XX"
  • "XX数据不对,改一下"
  • "修正XX"
  • "更新XX数据"
  • 任何涉及修改数值/名称/时间/排名/状态的请求
  • 关于公司/产品信息的核实请求

标准工作流程

Step 1:确认修改意图

用两条原则确认:

  1. 以用户确认为准。如果用户说"改成XX",以他说的为准,不做推断。
  2. 问清楚范围。"只改这一个文件还是所有文件?"

如果用户没有明确说"全改",默认全改。但先确认。

Step 2:全库扫描旧数据

使用Node.js脚本或grep搜索所有出现该数据的地方:

const fs = require('fs');

function scan(dir, pattern, callback) {
  const items = fs.readdirSync(dir);
  items.forEach(item => {
    const fp = dir + '/' + item;
    try {
      const stat = fs.statSync(fp);
      if (stat.isDirectory()) {
        // 跳过 node_modules, .git, .openclaw 等
        if (!item.startsWith('.') && item !== 'node_modules') scan(fp, pattern, callback);
      } else if (/\.(md|html|js|py|json|yaml|yml|txt|docx?|xlsx?)$/i.test(item)) {
        if (!/\.(xlsx?|docx)$/i.test(item)) {
          const c = fs.readFileSync(fp, 'utf8');
          let idx = -1;
          while ((idx = c.indexOf(pattern, idx + 1)) !== -1) {
            callback(fp, idx, c.substring(Math.max(0, idx-20), idx + pattern.length + 30));
          }
        }
      }
    } catch(e) {}
  });
}

scan('WORKSPACE_PATH', 'TARGET_DATA', (f, i, ctx) => {
  console.log(f.replace('WORKSPACE_PATH', ''), '@', i, ':', ctx);
});

搜索范围必须包括

  • MEMORY.md
  • memory/ 目录所有日常记录
  • 培训课程/ 目录所有HTML和MD
  • 02_projects/ 目录所有文档
  • reports/ 目录
  • 知识库综合文件
  • 所有HTML生成文件

Step 3:比对公开数据平台

当涉及公司公开数据(名称、数量、排名、评级等),必须比对以下平台确认最新性:

平台用途典型URL
---------------------
公司官网最权威taikangzhijia.com, taikang.com
百度百科基础查询baike.baidu.com
权威新闻事件时间新华网/36氪/新浪财经

时间线规则

  • 收集每一条数据的"发布时间"或"数据截止时间"
  • 最新的时间戳为准
  • 如果用户说"以我修改的为准",无条件服从用户
  • 如果官网和用户数据冲突,优先用户数据,并在备注中标注"用户确认"

Step 4:一次性全量修正

不要只改一个地方。用全局替换脚本一次性改所有文件:

const fs = require('fs');

function replaceAll(dir, oldStr, newStr) {
  let count = 0;
  const items = fs.readdirSync(dir);
  items.forEach(item => {
    const fp = dir + '/' + item;
    try {
      const stat = fs.statSync(fp);
      if (stat.isDirectory()) {
        if (!item.startsWith('.') && item !== 'node_modules') count += replaceAll(fp, oldStr, newStr);
      } else if (/\.(md|html|js|txt|json|yaml)$/i.test(item)) {
        const c = fs.readFileSync(fp, 'utf8');
        const nc = c.split(oldStr).join(newStr);
        if (nc !== c) { fs.writeFileSync(fp, nc); count++; }
      }
    } catch(e) {}
    return count;
  });
}

Step 5:验证无残留

修正后再次搜索旧数据关键词,确认结果为零:

const count = fs.readdirSync(workspace, {recursive:true})
  .filter(f => /\.(md|html|js|txt)$/i.test(f))
  .reduce((sum, f) => {
    const c = fs.readFileSync(f, 'utf8');
    return sum + (c.split('OLD_PATTERN').length - 1);
  }, 0);
console.log('残留数量:', count);

Step 6:更新记忆文件

将修改记录写入当天的 memory/YYYY-MM-DD.md

  • 什么数据被修改了
  • 修改了哪些文件(数量)
  • 新旧值的对比
  • 为什么修改

Step 7:清理临时脚本

# 清理以 _ 开头的零时Node.js/Python脚本
Remove-Item *_*.js, *_*.py

常见错误模式(避免!)

错误后果正确做法
---------------------
只改了用户指出的文件其他文件残留旧数据全库扫描后再改
信官网不信用户覆盖了用户确认的数据用户确认 > 官网数据
改了但没验证不知道还有没残留改完立刻验证
改了数据没改标签/徽章标签显示旧数据文字+标签+徽章全部检查
DOCX/PDF只生成了标题内容丢失生成后验证正文段落数

脚本模板

scripts/scan_and_replace.js - 全库搜索+替换一体化工具。用法:

node scripts/scan_and_replace.js OLD_STRING NEW_STRING

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-05-14 16:11 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,215 📥 266,483
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 668 📥 324,099
ai-intelligence

ontology

oswalpalash
类型化知识图谱,用于结构化智能体记忆与可组合技能。支持创建/查询实体(人员、项目、任务、事件、文档)及关联...
★ 712 📥 243,774