让AI记住教训,不再重复犯错
self-improving-agent 安全的自改进日志系统,通过结构化记录错误、修正和最佳实践,帮助AI编码助手持续学习并避免重复犯错。
什么时候用这个 Skill?
核心用法
Self-Improvement Skill 是一套本地日志记录系统,帮助AI助手捕获对话中的学习机会。当用户纠正错误、命令执行失败、发现知识过时或遇到缺失功能时,自动记录到 .learnings/ 目录下的三个文件:
- LEARNINGS.md:修正(correction)、洞察(insight)、知识缺口(knowledge_gap)、最佳实践(best_practice)
- ERRORS.md:命令失败、API异常、集成错误
- FEATURE_REQUESTS.md:用户请求的新功能
每条记录使用结构化格式(ID、时间戳、优先级、区域标签、摘要、详情、建议措施、元数据),便于后续检索和自动化处理。
显著优点
- 零外部依赖:纯原生Shell/JavaScript实现,无第三方包,杜绝供应链攻击
- 隐私优先:明确不记录密钥、令牌、环境变量,仅存储用户明确要求的日志摘要
- 渐进式知识沉淀:单条记录 → 关联链接 → 高频模式 → 提升到项目记忆文件(CLAUDE.md/AGENTS.md)
- 多平台兼容:支持Claude Code、Codex CLI、GitHub Copilot,通过hooks实现自动触发
- 安全审计通过:静态分析95分、动态行为90分、依赖审计100分,整体S级(优秀)
局限性与风险
- T3级来源:由个人开发者(pskoett)维护,非企业级背书,需用户自行审计代码
- 手动推广门槛:从日志到项目记忆文件的"推广"步骤需要人工判断,依赖使用者的经验
- hook配置复杂:自动提醒需要修改agent配置文件(如
.claude/settings.json),对非技术用户不够友好 - 跨会话通信有限:OpenClaw平台的
sessions_send等功能仅在受信环境可用,且需用户显式授权 - 无内置分析工具:缺乏自动统计高频问题、生成趋势报告的功能,需手动
grep查询
适合人群
- 长期项目的开发者,需要AI助手"记住"项目特定约定
- 团队协作场景,希望沉淀共享的知识库
- 追求工作流自动化的进阶用户,愿意配置hooks
- 对代码安全敏感、偏好零依赖工具的用户
常规风险
- 数据残留风险:
.learnings/目录默认被.gitignore排除,但若误提交可能暴露内部调试信息 - 权限配置错误:若目录权限过宽(777),其他进程可能篡改学习记录
- 过度记录噪音:无筛选机制可能导致低价值日志堆积,需定期人工清理
- 版本兼容:Skill提取功能依赖特定目录结构,升级时可能破坏既有工作流
简单 3 步,立即在 AI 工具中使用
- 1
- 2
-
3
用普通话描述任务
直接说出你的需求,AI 会自动按此 Skill 预设流程落地结果。
复制给 Agent 自动安装
选择你在用的工具,复制下方指令粘贴给 AI,AI 会先说明用途和权限,自动完成安装。
使用前注意事项与安全等级
安全等级 A:已整理并检查,正常使用无明显风险。 ## 核心用法 Self-Improvement 是一套面向 AI 编码 Agent 的**元认知工具**,通过结构化 Markdown 日志实现持续学习循环。其核心工作流包含三个环节: 1. **即时捕获**:在 8 种触发场景下自动记录——命令失败、用户纠错、功能缺失、API 故障、知识过时、方法优化等 2. **结构化存储**:按 `LEARNINGS.md`(认知修正)、`ERRORS.md`(执行故障)、`FEATURE_REQUESTS.md`(需求缺口)分类归档,支持 ID 索引与交叉引用 3. **经验升级**:高价值记录可晋升为 `CLAUDE.md`、`AGENTS.md` 等项目记忆文件,或提取为独立 Skill **关键机制**: - **Pattern-Key 追踪**:为重复模式设置稳定标识符,自动统计复发次数 - **跨会话通信**:OpenClaw 平台支持 `sessions_send`/`sessions_spawn` 实现 Agent 间经验共享 - **Simplify & Harden 集成**:自动 ingestion 代码优化建议,形成预防性规则 ## 显著优点 - **零侵入设计**:纯文档+轻量 Shell,无第三方依赖,T-LITE 安全级别 - **渐进式沉淀**:从临时日志 → 项目记忆 → 可复用 Skill 的清晰晋升路径 - **多 Agent 兼容**:原生支持 Claude Code、Codex、Copilot,提供 Hook 与 Manual 两种激活模式 - **隐私优先**:明确禁止记录 secrets/tokens,优先使用摘要而非原始输出 ## 潜在局限 - **依赖自律执行**:无强制触发机制,需 Hook 配置或人工提醒才能形成习惯 - **价值密度不均**:低质量日志可能堆积,需配合定期 Review 机制 - **跨项目迁移成本**:Pattern 沉淀为 Skill 需手动提取,尚未实现自动泛化 ## 适合人群 - 高频使用 AI 编码工具的**专业开发者** - 运行**多 Agent 协作工作流**的团队(OpenClaw 用户) - 追求**可复现、可审计**开发过程的工程管理者 ## 常规风险 - **日志敏感信息泄露**:虽有明确警示,用户仍可能误记 credentials(建议 `.gitignore` 配置) - **过度记录导致的噪音**:缺乏自动压缩/归档机制,长期可能产生维护负担 - **经验固化偏差**:频繁复用的 Pattern 可能将次优方案标准化,需结合人工复核
report_id: CLS-2026-0707-SELFA7F3
report_date: "2026-07-07T02:12:45Z"
scanner_version: CLS-Certify v2.1.0
scan_mode: Full Scan (T-LITE)
skill_name: self-improving-agent
skill_version: 3.0.21
skill_path: /tmp/bss_skill_40hxne7n
maintainer: pskoett
license: MIT (inferred from open source publication)
scan_duration: 45.2s
code_stats: "~450 lines · 12 files · 3 shell scripts · 2 hook handlers"
trust_level: T3
trust_level_text: "个人开发者项目 - GitHub: pskoett/self-improving-agent"
grade: A
score: 92
evaluation: "标准安全级别。该 Skill 为纯文档型学习记录工具,代码结构清晰,无恶意行为。脚本仅输出提醒文本,不执行危险操作。路径验证完善,安全提示明确。适合在常规场景下使用。"
stamp_color: green
total_风险发现: 3
sample_hash: sha256:98df907115dade106c2d3c29b6bc6746b8f5e1d25c1bc1f156af2e77903e67fa
disclaimer: "认证结果不代表对 Skill 功能的担保,仅反映基于当前代码静态分析的安全评估。实际运行环境、配置和用户行为可能影响安全性。建议定期重新评估。"
radar:
- name: 静态代码分析
short: STATIC
score: 95
status: pass
detail: "无危险函数,路径验证完善,文档清晰" - name: 动态行为分析
short: DYNAMIC
score: 90
status: pass
detail: "仅输出文本提醒,无网络请求,无进程创建" - name: 依赖审计
short: DEPS
score: 100
status: pass
detail: "无第三方依赖,纯 Shell/Bash 脚本" - name: 网络流量分析
short: NETWORK
score: 100
status: pass
detail: "无外部 API 调用,无网络请求" - name: 隐私合规检查
short: PRIVACY
score: 88
status: pass
detail: "仅读取 CLAUDE_TOOL_OUTPUT,明确提示不记录敏感信息" - name: 威胁情报
short: INTEL
score: 80
status: pass
detail: "个人开发者项目,开源透明,无恶意历史"
compliance:
- text: GDPR 数据最小化原则
status: pass - text: 敏感信息收集审查
status: pass - text: 第三方数据共享
status: pass - text: 用户同意机制
status: pass - text: 数据可携带性支持
status: pass - text: 来源可信度验证
status: warn
风险模式
- 🔵 info: 纯 Markdown 文档型 Skill
- 🟢 low: 轻量级 Shell 脚本
- 🟢 low: 无网络请求
- 🟢 low: 无第三方依赖
- 🟡 medium: 读取环境变量 (CLAUDE_TOOL_OUTPUT)
- 🟢 low: 路径遍历防护
- 🟢 low: 明确的安全提示
分析摘要
- Skill 类型判定: T-LITE 分类,纯 Markdown 文档与轻量级 Shell 脚本,无可执行依赖,总代码量约 450 行。
- 核心功能安全: 该 Skill 为学习记录工具,核心功能是引导 Agent 记录错误、修正和知识缺口。脚本仅输出 XML 格式的提醒文本,不执行危险操作。
脚本安全分析:
activator.sh: 仅输出自我改进提醒,无任何文件操作或网络请求error-detector.sh: 读取CLAUDE_TOOL_OUTPUT环境变量检测错误模式,输出提醒extract-skill.sh: 创建 Skill 脚手架,包含完善的路径验证(禁止..和绝对路径)
- 隐私保护措施: SKILL.md 明确提示"不要记录 secrets、tokens、private keys",优先使用摘要而非原始输出,体现数据最小化原则。
- 来源可信度: T3 级别(个人开发者),源自 GitHub 用户 pskoett,有明确的仓库历史和 Attribution 说明。
外部接口
| endpoint | method | reputation | encryption | data_types | provider |
|---|---|---|---|---|---|
| N/A | N/A | N/A | N/A | N/A | N/A |
说明: 该 Skill 无外部 API 调用,所有操作均在本地执行。
风险发现
RISK-001
severity: low
category: environment_variable_access
title: 环境变量读取 (CLAUDE_TOOL_OUTPUT)
location: scripts/error-detector.sh:10
description: 脚本读取 CLAUDE_TOOL_OUTPUT 环境变量用于检测命令错误模式。这是 Claude Code/Codex 提供的标准环境变量,用于接收工具输出。该读取行为仅限于错误检测目的,不会将内容外传。
recommendation: 当前实现安全,无需修改。建议保持现有做法,不记录或转发该环境变量的完整内容。
RISK-002
severity: info
category: path_validation
title: 路径验证机制
location: scripts/extract-skill.sh:107-119
description: Skill 提取脚本包含完善的路径验证逻辑,拒绝绝对路径和包含 .. 的路径片段,防止路径遍历攻击。这是良好的安全实践。
recommendation: 保持当前验证逻辑,符合安全编码标准。
RISK-003
severity: info
category: documentation_security
title: 安全提示文档化
location: SKILL.md:24
description: SKILL.md 明确包含安全提示段落,警告用户"不要记录 secrets、tokens、private keys、environment variables",并建议使用摘要而非原始输出。这体现了安全优先的设计理念。
recommendation: 保持当前文档质量,这是最佳实践。
改进建议
1. 定期审查学习日志
描述: 虽然 Skill 本身安全,但 .learnings/ 目录中的内容可能随时间积累敏感信息。建议用户定期审查这些文件,确保未意外记录敏感数据。
2. 考虑添加 LICENSE 文件
描述: 当前 Skill 缺少明确的 LICENSE 文件。建议添加开源许可证(如 MIT 或 Apache 2.0),明确使用条款和责任界限。
3. 验证 GitHub 仓库完整性
描述: 该 Skill 被标记为从 pskoett/self-improving-agent 重新制作。建议用户在使用前验证上游仓库的完整性和最新版本,确保本地副本与官方版本一致。
报告生成时间: 2026-07-07
CLS-Certify 版本: v2.1.0
扫描模式: T-LITE (Full Scan)
国内网盘直下载与运维维护
百度/夸克直链转存,无需翻墙或挂代理。
固定有效版本,经过实测排查,避免代码变动导致失效。
专人维护网盘地址,发现链接失效 24h 内完成补链。
随时获取最新修复说明,帮非技术用户节省大把调优时间。
源码与文件预览(15 个文件)
正在加载代码…