From 03e8a1d7d71e1054e41b9ab8c7ffcd056058f94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=94=AF?= Date: Fri, 11 Sep 2026 01:42:05 +0800 Subject: [PATCH] =?UTF-8?q?skill(hermes-self-improvement):=20v4.7.0=20?= =?UTF-8?q?=E8=A1=A5=E4=B8=8A=E3=80=8C=E4=BB=BB=E5=8A=A1=E5=BC=80=E5=A7=8B?= =?UTF-8?q?=E5=89=8D=E5=85=88=E6=89=AB=E6=8A=80=E8=83=BD=E5=BA=93=E3=80=8D?= =?UTF-8?q?=E7=A1=AC=E7=BA=A6=E6=9D=9F=200=20+=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=A3=80=E7=B4=A2=E5=99=A8=20skill-find.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因(牧尘 09-11 指出『技能本来都有,你却不去使用』): 体系里有「创建前必查重」硬约束,但整条链路只防『重复创建』, 没有任何一处防『不去使用』。实测:3 小时会话只主动加载了 2 个技能。 本次落地: 1) scripts/skill-find.py —— 任务→技能 检索器(name/trigger/description 加权 + 中文滑窗切词) 实测 6/6 命中正确技能(obsidian/密钥清历史/vault整理/看板/验收/2B下沉) 无命中时给降级阶梯提示(web_search 找现成 → skill-library-porting → 自建) 2) hermes-self-improvement 新增「硬约束 0」+『搜不到=不存在』可发现性纪律 + 说明为何后台 curator 不能替代这一步(它写它的,我不回读=白写) 3) description 补『任务开始前先扫技能库』语义 配套修正(可发现性):git-repo-hygiene / notes-vault-curation 的 description+triggers 补入任务的自然表述(原文搜『密钥泄露』命中不了) --- scripts/skill-find.py | 105 ++++++++++++++++++ skills/.curator_ledger.jsonl | 3 + skills/.usage.json | 14 +-- .../hermes-self-improvement/SKILL.md | 38 ++++++- 4 files changed, 150 insertions(+), 10 deletions(-) create mode 100755 scripts/skill-find.py diff --git a/scripts/skill-find.py b/scripts/skill-find.py new file mode 100755 index 00000000..b35938c0 --- /dev/null +++ b/scripts/skill-find.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +"""skill-find —— 任务→技能 检索器(2026-09-11 建,牧尘"技能本来都有你却不用"的机械解法) + +为什么存在:规则写了 N 遍我没执行,因为"扫技能库"这件事在脑子里是**可选动作**。 +把它变成一条命令:**任何任务动手前先跑它**,命中即 skill_view 加载。 + +用法: + skill-find.py "obsidian 同步 配置" # 关键词 + skill-find.py "密钥泄露了怎么清历史" # 整句任务描述也行 + skill-find.py --top 15 "整理笔记库" + skill-find.py --list-cats # 看技能分类 +""" +import os, re, sys, glob + +SKILLS = os.path.expanduser("~/.hermes/skills") +QSTOP = set("的了和与及怎么如何要要不要是否有我你他她它把被给对为在从到就都也很呢吗个这那注意事项问题办法方法请问帮我一下做个") + + +def load_skills(): + out = [] + for p in glob.glob(os.path.join(SKILLS, "**", "SKILL.md"), recursive=True): + try: + t = open(p, encoding="utf-8", errors="ignore").read() + except Exception: + continue + fm = t.split("---", 2) + fm = fm[1] if len(fm) > 2 else t[:2000] + def get(key): + m = re.search(rf'^{key}:\s*(.+?)(?=\n[a-z_]+:|\Z)', fm, re.M | re.S) + return m.group(1).strip().strip('"').replace("\n", " ") if m else "" + name = get("name") or os.path.basename(os.path.dirname(p)) + desc = re.sub(r"\s+", " ", get("description")) + trig = get("triggers") + " " + get("trigger") + cat = p.replace(SKILLS + "/", "").rsplit("/", 2)[0] if "/" in p.replace(SKILLS + "/", "") else "" + out.append({"name": name, "desc": desc, "trig": trig, "path": p, "cat": cat}) + return out + + +def tokens(q): + q = q.strip() + parts = [p for p in re.split(r"[\s,,、/|]+", q) if p] + toks = set(parts) + # 中文长词再切 2-3 字滑窗,提高召回("密钥泄露了怎么清历史" → 密钥/泄露/清历史…) + for p in parts: + cjk = re.findall(r"[\u4e00-\u9fff]+", p) + for c in cjk: + for n in (2, 3, 4): + for i in range(0, max(1, len(c) - n + 1)): + toks.add(c[i:i + n]) + return {t for t in toks if t and t not in QSTOP and len(t) >= 2} + + +def main(): + argv = sys.argv[1:] + top = 8 + if "--top" in argv: + i = argv.index("--top") + top = int(argv[i + 1]) + del argv[i:i + 2] + args = [a for a in argv if not a.startswith("--")] + sk = load_skills() + if "--list-cats" in sys.argv: + cats = {} + for s in sk: + cats[s["cat"]] = cats.get(s["cat"], 0) + 1 + for c, n in sorted(cats.items(), key=lambda x: -x[1]): + print(f" {c:44s} {n}") + return + if not args: + print(__doc__); return + q = " ".join(args) + toks = tokens(q) + scored = [] + for s in sk: + sc, why = 0, [] + blob = (s["name"] + " " + s["desc"] + " " + s["trig"]).lower() + for t in toks: + tl = t.lower() + if tl in s["name"].lower(): + sc += 10; why.append(f"name:{t}") + if tl in s["trig"].lower(): + sc += 6; why.append(f"trigger:{t}") + if tl in s["desc"].lower(): + sc += 4 + if q.lower() in blob: + sc += 8; why.append("整句命中") + if sc: + scored.append((sc, s, why)) + scored.sort(key=lambda x: -x[0]) + if not scored: + print(f"❌ 技能库无匹配:「{q}」") + print(" → 下一步:web_search 找现成技能库 → 装(skill-library-porting);都没有 → 按方法论自建(hermes-self-improvement)") + return + print(f"🔍 「{q}」→ {len(scored)} 个候选,取前 {min(top,len(scored))}:\n") + for sc, s, why in scored[:top]: + flag = "★" if sc >= 12 else " " + print(f"{flag} [{sc:>3}] {s['name']} ({s['cat']})") + print(f" {s['desc'][:110]}") + if why: + print(f" 命中: {', '.join(sorted(set(why))[:5])}") + print(f"\n▶ 加载:skill_view(name='{scored[0][1]['name']}') (可组合多个)") + + +if __name__ == "__main__": + main() diff --git a/skills/.curator_ledger.jsonl b/skills/.curator_ledger.jsonl index 187e0120..0567fdf9 100644 --- a/skills/.curator_ledger.jsonl +++ b/skills/.curator_ledger.jsonl @@ -564,3 +564,6 @@ {"id": "73b34d03da6a", "ts": "2026-09-10T17:35:48.970369+00:00", "actor": "agent", "action": "patch", "skill": "obsidian-vault-sync", "evidence": {"session_id": "20260910_231327_7e13724d"}, "before": [{"path": "/home/muc/.hermes/skills/devops/obsidian-vault-sync/SKILL.md", "sha256": "65ed5930b3ff801c821d14e8e4e40c43c1703bf7380fdf068078bf70fb35184e"}, {"path": "/home/muc/.hermes/skills/devops/obsidian-vault-sync/scripts/vault-webdav-sync.py", "sha256": "4f12d7183fba6fc06f712f999fdea9c76378b51edd5fa02b6b741b7c0806aa6b"}], "after": [{"path": "/home/muc/.hermes/skills/devops/obsidian-vault-sync/SKILL.md", "sha256": "8ef26c0a74f6904d3428e6cfc5e9e9079d3932347bf156e06e93ecfdeae1d6ee"}, {"path": "/home/muc/.hermes/skills/devops/obsidian-vault-sync/scripts/vault-webdav-sync.py", "sha256": "4f12d7183fba6fc06f712f999fdea9c76378b51edd5fa02b6b741b7c0806aa6b"}]} {"id": "ad51505e1a9e", "ts": "2026-09-10T17:41:07.229031+00:00", "actor": "agent", "action": "patch", "skill": "git-repo-hygiene", "evidence": {"session_id": "20260910_231327_7e13724d"}, "before": [{"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/SKILL.md", "sha256": "781f26ce22e1629354a28d36c036b1d9ca9036acbdd43fd679152c510356b408"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/references/credential-leak-blast-radius.md", "sha256": "b1f27e450bedcf5d1ff49e3da91b153c8a0cdb5e0ddc23574250bd38bf391446"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/references/secret-purge-from-history.md", "sha256": "1366d24c373eec5a0ec084d35f3501a90ba992fe9a17fa2d64f9c9b9ede9e9ff"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/references/write-side-redaction.md", "sha256": "7fa21dcde5e340b63d0587c6917cabd4066f87f86ccc6655df91f000b735a6b5"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/scripts/scan-secret-blast-radius.py", "sha256": "3e8be63fb2738d7a786aef07f55a3d7f3d3fb9b981088b67d20f2d05b3416d76"}], "after": [{"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/SKILL.md", "sha256": "c685bba6051f58c034c5e2ba0bd2c320b255f629f5603522ee941d25e3b04c85"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/references/credential-leak-blast-radius.md", "sha256": "b1f27e450bedcf5d1ff49e3da91b153c8a0cdb5e0ddc23574250bd38bf391446"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/references/secret-purge-from-history.md", "sha256": "1366d24c373eec5a0ec084d35f3501a90ba992fe9a17fa2d64f9c9b9ede9e9ff"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/references/write-side-redaction.md", "sha256": "7fa21dcde5e340b63d0587c6917cabd4066f87f86ccc6655df91f000b735a6b5"}, {"path": "/home/muc/.hermes/skills/devops/git-repo-hygiene/scripts/scan-secret-blast-radius.py", "sha256": "3e8be63fb2738d7a786aef07f55a3d7f3d3fb9b981088b67d20f2d05b3416d76"}]} {"id": "f1435b6e68c5", "ts": "2026-09-10T17:41:07.282695+00:00", "actor": "agent", "action": "patch", "skill": "notes-vault-curation", "evidence": {"session_id": "20260910_231327_7e13724d"}, "before": [{"path": "/home/muc/.hermes/skills/devops/notes-vault-curation/SKILL.md", "sha256": "10b555ccaa37b0f9cd63dbb31984157a105b7691e7e3a05d729ad24bbb370598"}, {"path": "/home/muc/.hermes/skills/devops/notes-vault-curation/references/vault-audit-and-credential-consolidation.md", "sha256": "54d15e860b738d56da4363818b568c5e192a1d0447a1238181ebc26d23224b3f"}, {"path": "/home/muc/.hermes/skills/devops/notes-vault-curation/scripts/vault-audit.py", "sha256": "7d21ae8743393162f8c81f44b4f108d4846b4b8fcb33bd74a682bdffbef64e4a"}], "after": [{"path": "/home/muc/.hermes/skills/devops/notes-vault-curation/SKILL.md", "sha256": "428c1acc9ec695b6ffaec36953ae9abb6a2c127fc32d3fedba0e303c603d96d9"}, {"path": "/home/muc/.hermes/skills/devops/notes-vault-curation/references/vault-audit-and-credential-consolidation.md", "sha256": "54d15e860b738d56da4363818b568c5e192a1d0447a1238181ebc26d23224b3f"}, {"path": "/home/muc/.hermes/skills/devops/notes-vault-curation/scripts/vault-audit.py", "sha256": "7d21ae8743393162f8c81f44b4f108d4846b4b8fcb33bd74a682bdffbef64e4a"}]} +{"id": "f2f2ae3a96a2", "ts": "2026-09-10T17:41:59.589212+00:00", "actor": "agent", "action": "patch", "skill": "hermes-self-improvement", "evidence": {"session_id": "20260910_231327_7e13724d"}, "before": [{"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md", "sha256": "3fb5eeb23a9c22229bc88085ff03be7ec8b083fe9fddfefc19913049e615f17f"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/batch-frontmatter-upgrade.md", "sha256": "48dc6e7c6b232fc1b8b415404bd027229f80bacaf84a4ffc048616d40f99a9b6"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/muchen-above-principles.md", "sha256": "6b165f40e1dd333af61cf09b858adff47e952068d5ffa623cd07b39a598a28df"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/opencode-implementation-pipeline.md", "sha256": "80ef97357ddd9cefdde42e51422879b43c50fbeaf0f2c6d8df3ab6988979f9f4"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/proactive_learning.py", "sha256": "e69aea85ea513511306266a17feb2dfcc9513a9147df74d169c7756cd529b10e"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/recovery-patterns-guide.md", "sha256": "c25a71b73a380017fe111174be1ad4b64647271bf202b530b605a412321267fa"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/self-driven-agent-principles.md", "sha256": "9ef37ec2527d94148d7759d0fb60a7420cfdb5c9fc5a288b2d0ac4cc23c26636"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-audit-workflow.md", "sha256": "8a97f36b592f8299d73849d3f51d5c0ba64ddc817cdea35e20d840d054cbb160"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-expansion-paths.md", "sha256": "55906185ab7e67187d5406419bfa4001ba741f6fbb3edc2503433db2adf43dd2"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-code-review-findings.md", "sha256": "d7c664eb5b622a8221afb319f025491b62c1c84541ef6d3632b6dbd16dd85bdf"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-information-flow-design.md", "sha256": "9bb12a20e515ebaf5f525cd2e7ccd8530ef4739025db75bd9e19c74c980020cb"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-phase1-implementation.md", "sha256": "a3ab4e9024840fbdfb331a80d926cf208473111cf18e38857f554fbde4f06063"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-zhiyi-interop-architecture.md", "sha256": "b4c9d2718dfdcd2b39a53875419e3d084446cec1eb072d40a48d59f055abba36"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/stock-investment-system.md", "sha256": "1f353f0ffd64a1c9fb5391283ac92bd3069076ea03c9497b9f2ac37936a2ff65"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/three-system-memory-check-workflow.md", "sha256": "aa22f5fa2e0869dce4eaa01357eaa89756f25e6120bbcbb29761e879855e1376"}], "after": [{"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md", "sha256": "1da06972092260a911f712a523b942ed8882e009462ca857c9f8b7d981a50a8c"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/batch-frontmatter-upgrade.md", "sha256": "48dc6e7c6b232fc1b8b415404bd027229f80bacaf84a4ffc048616d40f99a9b6"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/muchen-above-principles.md", "sha256": "6b165f40e1dd333af61cf09b858adff47e952068d5ffa623cd07b39a598a28df"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/opencode-implementation-pipeline.md", "sha256": "80ef97357ddd9cefdde42e51422879b43c50fbeaf0f2c6d8df3ab6988979f9f4"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/proactive_learning.py", "sha256": "e69aea85ea513511306266a17feb2dfcc9513a9147df74d169c7756cd529b10e"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/recovery-patterns-guide.md", "sha256": "c25a71b73a380017fe111174be1ad4b64647271bf202b530b605a412321267fa"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/self-driven-agent-principles.md", "sha256": "9ef37ec2527d94148d7759d0fb60a7420cfdb5c9fc5a288b2d0ac4cc23c26636"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-audit-workflow.md", "sha256": "8a97f36b592f8299d73849d3f51d5c0ba64ddc817cdea35e20d840d054cbb160"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-expansion-paths.md", "sha256": "55906185ab7e67187d5406419bfa4001ba741f6fbb3edc2503433db2adf43dd2"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-code-review-findings.md", "sha256": "d7c664eb5b622a8221afb319f025491b62c1c84541ef6d3632b6dbd16dd85bdf"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-information-flow-design.md", "sha256": "9bb12a20e515ebaf5f525cd2e7ccd8530ef4739025db75bd9e19c74c980020cb"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-phase1-implementation.md", "sha256": "a3ab4e9024840fbdfb331a80d926cf208473111cf18e38857f554fbde4f06063"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-zhiyi-interop-architecture.md", "sha256": "b4c9d2718dfdcd2b39a53875419e3d084446cec1eb072d40a48d59f055abba36"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/stock-investment-system.md", "sha256": "1f353f0ffd64a1c9fb5391283ac92bd3069076ea03c9497b9f2ac37936a2ff65"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/three-system-memory-check-workflow.md", "sha256": "aa22f5fa2e0869dce4eaa01357eaa89756f25e6120bbcbb29761e879855e1376"}]} +{"id": "08cf305d503d", "ts": "2026-09-10T17:41:59.605019+00:00", "actor": "agent", "action": "patch", "skill": "hermes-self-improvement", "evidence": {"session_id": "20260910_231327_7e13724d"}, "before": [{"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md", "sha256": "1da06972092260a911f712a523b942ed8882e009462ca857c9f8b7d981a50a8c"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/batch-frontmatter-upgrade.md", "sha256": "48dc6e7c6b232fc1b8b415404bd027229f80bacaf84a4ffc048616d40f99a9b6"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/muchen-above-principles.md", "sha256": "6b165f40e1dd333af61cf09b858adff47e952068d5ffa623cd07b39a598a28df"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/opencode-implementation-pipeline.md", "sha256": "80ef97357ddd9cefdde42e51422879b43c50fbeaf0f2c6d8df3ab6988979f9f4"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/proactive_learning.py", "sha256": "e69aea85ea513511306266a17feb2dfcc9513a9147df74d169c7756cd529b10e"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/recovery-patterns-guide.md", "sha256": "c25a71b73a380017fe111174be1ad4b64647271bf202b530b605a412321267fa"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/self-driven-agent-principles.md", "sha256": "9ef37ec2527d94148d7759d0fb60a7420cfdb5c9fc5a288b2d0ac4cc23c26636"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-audit-workflow.md", "sha256": "8a97f36b592f8299d73849d3f51d5c0ba64ddc817cdea35e20d840d054cbb160"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-expansion-paths.md", "sha256": "55906185ab7e67187d5406419bfa4001ba741f6fbb3edc2503433db2adf43dd2"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-code-review-findings.md", "sha256": "d7c664eb5b622a8221afb319f025491b62c1c84541ef6d3632b6dbd16dd85bdf"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-information-flow-design.md", "sha256": "9bb12a20e515ebaf5f525cd2e7ccd8530ef4739025db75bd9e19c74c980020cb"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-phase1-implementation.md", "sha256": "a3ab4e9024840fbdfb331a80d926cf208473111cf18e38857f554fbde4f06063"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-zhiyi-interop-architecture.md", "sha256": "b4c9d2718dfdcd2b39a53875419e3d084446cec1eb072d40a48d59f055abba36"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/stock-investment-system.md", "sha256": "1f353f0ffd64a1c9fb5391283ac92bd3069076ea03c9497b9f2ac37936a2ff65"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/three-system-memory-check-workflow.md", "sha256": "aa22f5fa2e0869dce4eaa01357eaa89756f25e6120bbcbb29761e879855e1376"}], "after": [{"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md", "sha256": "300fc278310af2e928e93b16c7762f54a39897cf7c6feaa716c0c706c9bae461"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/batch-frontmatter-upgrade.md", "sha256": "48dc6e7c6b232fc1b8b415404bd027229f80bacaf84a4ffc048616d40f99a9b6"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/muchen-above-principles.md", "sha256": "6b165f40e1dd333af61cf09b858adff47e952068d5ffa623cd07b39a598a28df"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/opencode-implementation-pipeline.md", "sha256": "80ef97357ddd9cefdde42e51422879b43c50fbeaf0f2c6d8df3ab6988979f9f4"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/proactive_learning.py", "sha256": "e69aea85ea513511306266a17feb2dfcc9513a9147df74d169c7756cd529b10e"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/recovery-patterns-guide.md", "sha256": "c25a71b73a380017fe111174be1ad4b64647271bf202b530b605a412321267fa"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/self-driven-agent-principles.md", "sha256": "9ef37ec2527d94148d7759d0fb60a7420cfdb5c9fc5a288b2d0ac4cc23c26636"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-audit-workflow.md", "sha256": "8a97f36b592f8299d73849d3f51d5c0ba64ddc817cdea35e20d840d054cbb160"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-expansion-paths.md", "sha256": "55906185ab7e67187d5406419bfa4001ba741f6fbb3edc2503433db2adf43dd2"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-code-review-findings.md", "sha256": "d7c664eb5b622a8221afb319f025491b62c1c84541ef6d3632b6dbd16dd85bdf"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-information-flow-design.md", "sha256": "9bb12a20e515ebaf5f525cd2e7ccd8530ef4739025db75bd9e19c74c980020cb"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-phase1-implementation.md", "sha256": "a3ab4e9024840fbdfb331a80d926cf208473111cf18e38857f554fbde4f06063"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-zhiyi-interop-architecture.md", "sha256": "b4c9d2718dfdcd2b39a53875419e3d084446cec1eb072d40a48d59f055abba36"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/stock-investment-system.md", "sha256": "1f353f0ffd64a1c9fb5391283ac92bd3069076ea03c9497b9f2ac37936a2ff65"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/three-system-memory-check-workflow.md", "sha256": "aa22f5fa2e0869dce4eaa01357eaa89756f25e6120bbcbb29761e879855e1376"}]} +{"id": "1fee108a978e", "ts": "2026-09-10T17:41:59.619680+00:00", "actor": "agent", "action": "patch", "skill": "hermes-self-improvement", "evidence": {"session_id": "20260910_231327_7e13724d"}, "before": [{"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md", "sha256": "300fc278310af2e928e93b16c7762f54a39897cf7c6feaa716c0c706c9bae461"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/batch-frontmatter-upgrade.md", "sha256": "48dc6e7c6b232fc1b8b415404bd027229f80bacaf84a4ffc048616d40f99a9b6"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/muchen-above-principles.md", "sha256": "6b165f40e1dd333af61cf09b858adff47e952068d5ffa623cd07b39a598a28df"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/opencode-implementation-pipeline.md", "sha256": "80ef97357ddd9cefdde42e51422879b43c50fbeaf0f2c6d8df3ab6988979f9f4"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/proactive_learning.py", "sha256": "e69aea85ea513511306266a17feb2dfcc9513a9147df74d169c7756cd529b10e"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/recovery-patterns-guide.md", "sha256": "c25a71b73a380017fe111174be1ad4b64647271bf202b530b605a412321267fa"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/self-driven-agent-principles.md", "sha256": "9ef37ec2527d94148d7759d0fb60a7420cfdb5c9fc5a288b2d0ac4cc23c26636"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-audit-workflow.md", "sha256": "8a97f36b592f8299d73849d3f51d5c0ba64ddc817cdea35e20d840d054cbb160"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-expansion-paths.md", "sha256": "55906185ab7e67187d5406419bfa4001ba741f6fbb3edc2503433db2adf43dd2"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-code-review-findings.md", "sha256": "d7c664eb5b622a8221afb319f025491b62c1c84541ef6d3632b6dbd16dd85bdf"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-information-flow-design.md", "sha256": "9bb12a20e515ebaf5f525cd2e7ccd8530ef4739025db75bd9e19c74c980020cb"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-phase1-implementation.md", "sha256": "a3ab4e9024840fbdfb331a80d926cf208473111cf18e38857f554fbde4f06063"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-zhiyi-interop-architecture.md", "sha256": "b4c9d2718dfdcd2b39a53875419e3d084446cec1eb072d40a48d59f055abba36"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/stock-investment-system.md", "sha256": "1f353f0ffd64a1c9fb5391283ac92bd3069076ea03c9497b9f2ac37936a2ff65"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/three-system-memory-check-workflow.md", "sha256": "aa22f5fa2e0869dce4eaa01357eaa89756f25e6120bbcbb29761e879855e1376"}], "after": [{"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md", "sha256": "9777207477c16bd9cc4dc7083de2ba0adcf8db5edb6b9b45ef29f5e36a221c54"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/batch-frontmatter-upgrade.md", "sha256": "48dc6e7c6b232fc1b8b415404bd027229f80bacaf84a4ffc048616d40f99a9b6"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/muchen-above-principles.md", "sha256": "6b165f40e1dd333af61cf09b858adff47e952068d5ffa623cd07b39a598a28df"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/opencode-implementation-pipeline.md", "sha256": "80ef97357ddd9cefdde42e51422879b43c50fbeaf0f2c6d8df3ab6988979f9f4"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/proactive_learning.py", "sha256": "e69aea85ea513511306266a17feb2dfcc9513a9147df74d169c7756cd529b10e"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/recovery-patterns-guide.md", "sha256": "c25a71b73a380017fe111174be1ad4b64647271bf202b530b605a412321267fa"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/self-driven-agent-principles.md", "sha256": "9ef37ec2527d94148d7759d0fb60a7420cfdb5c9fc5a288b2d0ac4cc23c26636"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-audit-workflow.md", "sha256": "8a97f36b592f8299d73849d3f51d5c0ba64ddc817cdea35e20d840d054cbb160"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/skills-expansion-paths.md", "sha256": "55906185ab7e67187d5406419bfa4001ba741f6fbb3edc2503433db2adf43dd2"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-code-review-findings.md", "sha256": "d7c664eb5b622a8221afb319f025491b62c1c84541ef6d3632b6dbd16dd85bdf"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-information-flow-design.md", "sha256": "9bb12a20e515ebaf5f525cd2e7ccd8530ef4739025db75bd9e19c74c980020cb"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-phase1-implementation.md", "sha256": "a3ab4e9024840fbdfb331a80d926cf208473111cf18e38857f554fbde4f06063"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/soulful-zhiyi-interop-architecture.md", "sha256": "b4c9d2718dfdcd2b39a53875419e3d084446cec1eb072d40a48d59f055abba36"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/stock-investment-system.md", "sha256": "1f353f0ffd64a1c9fb5391283ac92bd3069076ea03c9497b9f2ac37936a2ff65"}, {"path": "/home/muc/.hermes/skills/autonomous-ai-agents/hermes-self-improvement/references/three-system-memory-check-workflow.md", "sha256": "aa22f5fa2e0869dce4eaa01357eaa89756f25e6120bbcbb29761e879855e1376"}]} diff --git a/skills/.usage.json b/skills/.usage.json index 7afa6b67..268b7cfa 100644 --- a/skills/.usage.json +++ b/skills/.usage.json @@ -1762,16 +1762,16 @@ "archived_at": null, "created_at": "2026-05-13T12:27:05.593125+00:00", "created_by": null, - "last_patched_at": "2026-08-12T05:13:32.138839+00:00", + "last_patched_at": "2026-09-10T17:41:59.620307+00:00", "last_reused_patch_generation": 1, - "last_used_at": "2026-09-06T03:33:05.748011+00:00", - "last_viewed_at": "2026-09-06T03:33:05.735224+00:00", - "patch_count": 81, - "patch_generation": 1, + "last_used_at": "2026-09-10T17:41:51.254700+00:00", + "last_viewed_at": "2026-09-10T17:41:51.249893+00:00", + "patch_count": 84, + "patch_generation": 4, "pinned": false, "state": "active", - "use_count": 154, - "view_count": 139 + "use_count": 155, + "view_count": 140 }, "hermes-venv-dependency-safety": { "archived_at": null, diff --git a/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md b/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md index c6d55851..35a50f6c 100644 --- a/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md +++ b/skills/autonomous-ai-agents/hermes-self-improvement/SKILL.md @@ -1,8 +1,8 @@ --- name: hermes-self-improvement -description: "当完成复杂任务、发现新工作流、或被用户纠正时,将模式保存为skill。含技能创建规范、质量标尺、curator流程。" -version: 4.6.0 -date: 2026-09-03 +description: "当完成复杂任务、发现新工作流、或被用户纠正时,将模式保存为skill;以及【任务开始前先扫技能库】。含技能创建规范、质量标尺、curator流程。" +version: 4.7.0 +date: 2026-09-11(新增。硬约束 0:任务开始前先扫技能库 skill-find.py;补"搜不到=不存在"可发现性纪律) tags: [workflow, skill-management, curator, quality] 牧尘_usage_notes: > 复杂任务完成/发现新工作流/被牧尘纠正时 → 创建/更新 skill。 @@ -19,6 +19,38 @@ tags: [workflow, skill-management, curator, quality] > 版本 3.9 | 2026-07-10(opencode代码审查/daemon注入架构/时区bug修复/工具理解纠正) +## ⚠️ 硬约束 0:任务开始前先扫技能库(2026-09-11 牧尘重申,此前屡次不执行) + +> 牧尘原话:「技能本来都有,你却不去使用。我一直强调,任何任务都要加载技能去做, +> 没有就去搜索安装或者根据方法论新建,甚至可以组合技能使用,你总是不去执行。」 + +**根因(别再归因于"忘了")**:现有体系有「创建前必查重」硬约束(见下节),但 **整条链路只防「重复创建」,没有任何一处防「不去使用」**。 +默认我会自然去看——实测不会:一个 3 小时的 Obsidian+密钥处置会话里,我只主动加载了 **2 个**技能。 + +### 机械动作(不可跳过) + +```bash +python3 ~/.hermes/scripts/skill-find.py "<任务关键词或整句描述>" +# → 输出候选技能 + 命中理由 + 建议加载的命令 +``` + +- 命中 → `skill_view(name=...)` 加载,**可组合多个**(如 vault 整理 + 密钥扫描 + git 治理) +- 无命中 → `web_search` 找现成技能库 → 装(`skill-library-porting`);都没有 → 按本 skill 方法论自建 +- **报告里必须写明加载了哪些 skill**(不写 = 无法自证执行过) + +### 搜不到 = 不存在(可发现性纪律) + +技能写了但**描述用的是同义词以外的词**,等于没写。实例(2026-09-11 修): +`git-repo-hygiene` 原描述只有「推送积压/.git 膨胀/忽略规则」——搜「密钥泄露怎么办」**命中不了**。 + +- description 与 triggers 必须包含**任务的自然表述**(用户/我自己会怎么问),而不是只有书面术语 +- 同族技能之间的交叉引用要指向**真实存在的章节**(改完用 `grep -n "^## "` 体检) + +### 为什么后台 curator 不能替代这一步 + +curator 会把会话实时写成 skill,但**它写它的,我不回读就是白写**。 +闭环是「任务→查库→用/写→下次查库」,断在「下次查库」等于闭环没闭合。 + ## 核心理念 技能是**程序化记忆**——不是笔记,是可复用的工作流。每次创建一个技能,就是在为未来的自己铺路。