mcpField
S
skill-system-evolution

skill-system-evolution

github.com/arthur0824haoAgent 工作流38 次安装
代码仓库

关于 skill-system-evolution

此 Skill 根据积累的洞察数据演进 soul 配置和工作流配方,按证据谨慎应用更改,并保存可比较、可回滚的版本快照。

主要功能

  1. 01基于证据演进配置
  2. 02更新工作流配方
  3. 03保存版本化快照
  4. 04列出、比较和固定版本
  5. 05回滚到历史快照
  6. 06安全限制与审批检查

适用场景

  1. 01根据会话洞察更新 soul 配置
  2. 02依据观察到的问题调整工作流配方
  3. 03审计配置与配方的更改
  4. 04恢复旧版配置或配方

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/arthur0824hao/skills --skill skill-system-evolution

安装后在 Claude Code 中输入/skill-system-evolution确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

SKILL.behavior.yaml
SKILL.spec.yaml
prompts/
evolution-planning.md
recipe-evolution.md
schema/
evolution-plan.yaml
evolution-snapshot.yaml
scripts/
evolve-recipes.md
evolve-soul.md
list-versions.md
rollback.md

详细介绍

技能系统演进

采用版本控制的演进引擎,利用洞察结果演进灵魂档案和工作流配方。

此技能是系统的 ACT 部分:读取累积的观察数据,根据证据判断哪些变更合理,以保守的方式应用变更,并为每次变更记录带版本号的快照。

核心概念

  1. 洞察 = OBSERVE

    • 从会话中提取特征并累积缓冲数据。
    • 由 skill-system-insight 负责。
  2. 演进 = ACT

    • 读取累积的数据并判断变更。
    • 仅在证据充分时应用变更。
    • 始终为变更添加版本号并保存审计快照。
  3. 每次演进都会创建带版本号的快照

    • 未记录快照,不得变更。
    • 快照存储在 Postgres(agent_memories)中,可列出和回滚。
  4. 用户可以列出、比较、回滚和固定版本

    • list-versions 提供历史记录。
    • rollback 会恢复先前的快照(并将此次回滚作为独立快照记录)。
    • 固定版本可通过在快照上添加额外标签(例如 pin:true)或单独的记忆记录来表示(由操作方选择实现方式)。

架构

读取
  • 洞察特征:
    • agent_memories.category = 'insight-facet'(通用日志)
    • 类型化表:insight_facets → 使用 get_recent_facets('{user}', 50)
    • 标签包含 user:<user>
  • 灵魂状态(双矩阵):
    • agent_memories.category = 'soul-state'(通用日志)
    • 类型化表:soul_states → 使用 get_soul_state('{user}')
    • 标签包含 user:<user> 和 matrix
写入
  • 演进快照:
    • agent_memories.category = 'evolution-snapshot'(通用日志)
    • 类型化表:evolution_snapshots → 使用 insert_evolution_snapshot()
    • 每个快照都会在 snapshot_data 中保存完整的制品 YAML/markdown
  • 灵魂档案(文件系统):
    • ../skill-system-soul/profiles/<user>.md
  • 工作流配方(文件系统):
    • ../skill-system-workflow/recipes/*.yaml(或 .yml)
版本标签

版本标签格式:

v{N}_{target}_{timestamp}

示例:v3_soul_20260211

针对每个用户和目标的推荐版本控制算法:

  • 对于标签为 user:<user> 和 target:<target> 的快照,令 N = 1 + max(existing N)。
  • 如果不存在,则从 N = 1 开始。
  • 时间戳使用本地日期(YYYYMMDD);如需区分时间,则追加 _HHMM。

操作约束

  • 每位用户每天最多进行 1 次演进。
    • 适用于所有目标(灵魂/配方/两者)。使用最近的 evolution-snapshot 日期作为限制依据。
  • 透明度:始终说明变更内容及原因。
    • 每项拟议变更都必须包含来自特征或状态上下文的证据字符串。
  • 安全性:不得从灵魂档案中移除核心安全约束。
    • 演进后的档案必须保留基线安全要求:诚实表达不确定性、不得虚构权威,以及拒绝有害/非法指令。
  • 用户批准:重大变更需要确认。
    • 如果拟议的人格维度变更中任一项满足 abs(proposed_value - current_value) > 0.5,则不得自动应用。
    • 应改为生成演进计划并请求用户明确批准。

与 skill-system-insight 的关系

对于新安装,skill-system-evolution 会取代洞察技能中的综合操作:

  • skill-system-insight 仍负责提供特征和更新矩阵。
  • 第 3 层档案生成(综合)在此处执行并进行版本控制,以便审计和撤销变更。

存储模式(agent_memories + 类型化表)

演进快照以情景记忆的形式存储在 agent_memories 中,也存储在类型化的 evolution_snapshots 表中(通过 insert_evolution_snapshot() 双写):

  • memory_type = 'episodic'
  • category = 'evolution-snapshot'
  • tags 包含:
    • user:<user>
    • target:<target>,其中 target 为 soul、recipe 或 both
    • version:<version_tag>

SQL 模板示例(优先使用类型化表):

-- Rate limit check (typed table)
SELECT id, created_at, trigger_reason
FROM evolution_snapshots
WHERE user_id = '<user>'
  AND created_at >= (NOW() - INTERVAL '24 hours')
ORDER BY created_at DESC
LIMIT 1;

-- Store an evolution snapshot (typed — dual-writes to agent_memories)
SELECT insert_evolution_snapshot(
  '<user>', '<version_tag>', '<target>', '<trigger>',
  '<changes JSONB>', '<snapshot_data>', '<full YAML>',
  NULL, 'evolution-agent'
);

-- List recent snapshots (typed table)
SELECT * FROM get_evolution_history('<user>', 50);

仅查询旧版 agent_memories 的查询仍然有效(向后兼容):

-- Rate limit check (max 1/day): any snapshot in last 24h?
SELECT id, created_at, title
FROM agent_memories
WHERE category = 'evolution-snapshot'
  AND 'user:<user>' = ANY(tags)
  AND created_at >= (NOW() - INTERVAL '24 hours')
ORDER BY created_at DESC
LIMIT 1;

-- Store an evolution snapshot
SELECT store_memory(
  'episodic',
  'evolution-snapshot',
  ARRAY['user:<user>', 'target:<target>', 'version:<version_tag>'],
  'Evolution Snapshot: <version_tag>',
  '<full evolution-snapshot YAML as text>',
  '{"version_tag": "<version_tag>", "target": "<target>", "timestamp": "<iso>"}',
  'evolution-agent',
  NULL,
  8.0
);

-- List recent snapshots for a user (most recent first)
SELECT id, created_at, title
FROM agent_memories
WHERE category = 'evolution-snapshot'
  AND 'user:<user>' = ANY(tags)
ORDER BY created_at DESC
LIMIT 50;

操作

  • evolve-soul

    • 检查矩阵数据是否足够(缓冲区阈值),和/或是否有待处理的综合任务。
    • 应用待处理的矩阵更新。
    • 使用证据(最近 50 个 facets)综合生成新的第 3 层配置文件,然后为其添加版本。
  • evolve-recipes

    • 分析工作流 facets,以检测摩擦和结果。
    • 提出保守的配方修改并为其添加版本。
  • list-versions

    • 列出用户的演进历史,可按 target 筛选。
  • rollback

    • 恢复 soul 或 recipes 的先前版本。
    • 将回滚记录为新的快照。
{
  "schema_version": "2.0",
  "id": "skill-system-evolution",
  "version": "1.0.0",
  "capabilities": ["evolution-soul", "evolution-recipes", "evolution-list", "evolution-rollback"],
  "effects": ["db.read", "db.write", "fs.read", "fs.write"],
  "operations": {
    "evolve-soul": {
      "description": "Evolve soul profile from accumulated insight data. Creates versioned snapshot.",
      "input": {
        "user": {"type": "string", "required": true, "description": "User handle"}
      },
      "output": {
        "description": "Evolution result with version tag",
        "fields": {"version_tag": "string", "changes": "array", "profile_path": "string"}
      },
      "entrypoints": {
        "agent": "Follow scripts/evolve-soul.md procedure"
      }
    },
    "evolve-recipes": {
      "description": "Evolve workflow recipes based on effectiveness data from insight facets.",
      "input": {
        "user": {"type": "string", "required": true, "description": "User handle"}
      },
      "output": {
        "description": "Recipe evolution result with version tag",
        "fields": {"version_tag": "string", "recipes_changed": "array"}
      },
      "entrypoints": {
        "agent": "Follow scripts/evolve-recipes.md procedure"
      }
    },
    "list-versions": {
      "description": "List all evolution snapshots for a user.",
      "input": {
        "user": {"type": "string", "required": true},
        "target": {"type": "string", "required": false, "description": "Filter: soul | recipe | all"}
      },
      "output": {
        "description": "Array of version snapshots",
        "fields": {"versions": "array of {tag, target, timestamp, summary}"}
      },
      "entrypoints": {
        "agent": "Follow scripts/list-versions.md procedure"
      }
    },
    "rollback": {
      "description": "Restore a previous evolution version.",
      "input": {
        "user": {"type": "string", "required": true},
        "version_tag": {"type": "string", "required": true, "description": "Version tag to restore"}
      },
      "output": {
        "description": "Rollback result",
        "fields": {"status": "ok | error", "restored_from": "string"}
      },
      "entrypoints": {
        "agent": "Follow scripts/rollback.md procedure"
      }
    }
  },
  "stdout_contract": {
    "last_line_json": false,
    "note": "Agent-executed procedures; versioned snapshots stored in agent_memories."
  }
}

评论

支持 Markdown