diff --git a/.claude/memory/MEMORY.md b/.claude/memory/MEMORY.md index ff194df..3052d8c 100644 --- a/.claude/memory/MEMORY.md +++ b/.claude/memory/MEMORY.md @@ -1,9 +1,9 @@ # Memory Index -> _Last synced: 2026-06-12 | Base commit: `38beecb`_ +> _Last synced: 2026-06-12 | Base commit: `fad7335`_ | 文件 | 描述 | 类型 | 引用 | Commit | |------|------|------|------|--------| -| decisions.md | 关键架构决策:无版本号/userConfig/Bearer Token/SKILL.md规范/路径锁定/memcore三项优化/memcore-shared共享层/lint_report保活/Base commit兜底 | project | 1 | 38beecb | -| project_overview.md | 项目定位、目录结构、插件规范、发布流程(huanxi/memcore/obsidian) | project | 1 | 38beecb | +| decisions.md | 关键架构决策:无版本号/userConfig/Bearer Token/SKILL.md规范/路径锁定/memcore三项优化/memcore-shared共享层/lint_report保活/Base commit兜底/obsidian社区对标审查 | project | 3 | fad7335 | +| project_overview.md | 项目定位、目录结构、插件规范、发布流程(huanxi/memcore/obsidian 10 技能) | project | 1 | fad7335 | | feedback_plugin_dev.md | 插件开发协作规范:同步四处/路径解析/工具签名对照/MCP docstring单一真相/签名变更全量扫描 | feedback | 1 | 38beecb | | lint_report.md | memory-lint 最新执行结果 | lint | 0 | 38beecb | diff --git a/.claude/memory/decisions.md b/.claude/memory/decisions.md index 65d6a1c..5981789 100644 --- a/.claude/memory/decisions.md +++ b/.claude/memory/decisions.md @@ -3,7 +3,7 @@ name: 架构决策 description: Marketplace 设计中的关键技术决策及其原因 type: project last_updated: 2026-06-12 -commit: 38beecb +commit: fad7335 --- # 关键架构决策 @@ -136,3 +136,29 @@ commit: 38beecb **Why**:Claude Code 插件规范中 SKILL.md frontmatter 只定义了 `name` 和 `description`。`version` 字段不在规范内,silently ignored,且与 plugin.json 层面的版本管理重复。已从所有 huanxi skill 文件中移除。 **How to apply**:新建 SKILL.md 时只写这两个字段。`description` 字段写用户实际口语触发词(第三人称描述),不要用"当需要…时触发"的内部视角表达。 + +--- + +## obsidian skill 集对标社区基准的审查 + 优化(2026-06-12) + +**结论**:基于公开社区调研结果(kepano/obsidian-skills 31.8k★、AgriciDaniel/claude-obsidian 15 技能、qhuang20/obsidian-skills、pablo-mano/Obsidian-CLI-skill),对本地 9 技能完成全量审查并执行方案 B(中等扩展): + +1. **P1 描述去冗余**:8 个子技能 description 末尾"检测到 .obsidian/ 时与核心技能同步激活"全部删除——Claude Code 路由器按关键词独立打分,没有"伴随激活"机制,此声明纯占预算。 +2. **P5 obsidian-plugins 缩范围**:从"控制面板"宽泛定位收敛到"环境层(插件/主题/CSS/Templates/快捷键/命令)",加"首次配置 vault 批量装常用插件"高频场景。 +3. **P6 obsidian-workflow-pkm 加引导**:description 显式声明"多步骤复合需求优先匹配本技能,单一原子操作走子技能",让"清理 inbox"等短指令更易命中编排层。 +4. **P3 核心 obsidian 补 OFM 语法速查**:在第 4 章末尾增"Obsidian Flavored Markdown 语法速查"小节,覆盖 wikilinks/embeds/callouts/block refs/highlight/math 全表 + 写入时高频陷阱。 +5. **P4 workflow-pkm 补 Workflow 8 Web Clip → Permanent**:单篇网页剪藏轻量流,引用 defuddle(Obsidian 团队官方 web→md 清洗工具)+ WebFetch 兜底,明确与 Workflow 7(批量文献)的边界。 +6. **P2 新增 obsidian-canvas skill**:JSON Canvas 1.0 schema 速查 + 16 hex ID 生成 + 直接 Read/Write JSON 路线(社区共识:obsidian-cli 不原生支持 .canvas 写入)+ 安全 SOP 4 选项对照表(A git stash / B .bak / C 原子写 / D File Recovery)。 + +**Why**: +- 社区呈现两条路线:kepano「按文件格式分技能」(5 技能/精)、AgriciDaniel「按方法论分技能」(15 技能/全)。我们的「按工作域分技能」(9→10 技能)取中间路线,保留跨插件感知和职责互斥声明的独特优势。 +- 8 处"伴随激活"提示是隐蔽设计错误——它假设了 Claude Code 路由器看不懂的联动语义,是单次审查中最大的描述质量收益点(每技能省 ~28 字符预算给真触发词)。 +- canvas 是 Obsidian 开放格式且独立于 Markdown 体系,社区标杆都作为独立 skill 维护;不加 canvas 等于把"视觉知识图"这类高频场景拱手让人。 + +**How to apply**: +- 新增 skill 时,description 末尾**不要写"检测到 X 时与 Y 同步激活"**——Claude Code 路由按关键词独立打分。 +- 触发词列表用 `触发词:A、B、C` 显式列;`不用于:X(技能名)` 显式互斥;这种结构提升路由准确率。 +- 涉及 vault 内格式(.canvas/.base/.md)的能力,**默认独立成 skill**——不要塞进核心 obsidian。 +- 学习模式契机:obsidian-canvas 的"AI 大批量写入回滚策略"4 选项对照表留给团队/用户决策,AI 不强制做掉,默认采用 C+D 作为决策前兜底。 + +**See Also**:[[feedback_plugin_dev.md#签名变更全量扫描]]、kepano/obsidian-skills、AgriciDaniel/claude-obsidian diff --git a/.claude/memory/lint_report.md b/.claude/memory/lint_report.md index 029d72e..088d355 100644 --- a/.claude/memory/lint_report.md +++ b/.claude/memory/lint_report.md @@ -3,12 +3,12 @@ name: 记忆健康检查报告 description: memory-lint 最新一次执行的检查结果与待处理项 type: lint last_updated: 2026-06-12 -commit: 38beecb +commit: fad7335 --- # 记忆健康检查报告 -> _执行时间: 2026-06-12 | Base commit: `38beecb` | Last synced: 2026-06-12_ +> _执行时间: 2026-06-12 | Base commit: `fad7335` | Last synced: 2026-06-12_ > > **如何使用**:NEED-HUMAN 条目末尾有 `` 标记。处理完或决定不处理时,在同段追加 ``,下次 lint 该条目自动跳过。 @@ -16,7 +16,7 @@ commit: 38beecb | 检查项 | AUTO-FIX | NEED-HUMAN | |--------|---------|-----------| -| 1 孤儿 / 2 幽灵 / 3A 引用 / 3B 双链 | 0 / 0 / 0 / 1 | — / — / 0 / 0 | +| 1 孤儿 / 2 幽灵 / 3A 引用 / 3B 双链 | 0 / 0 / 1 / 0 | — / — / 0 / 0 | | 4 矛盾 / 5 过期 / 6 污染 | — | 0 / 0 / 0 | **AUTO-FIX 已执行 1 项 | NEED-HUMAN 新列出 0 项 | 历史已 resolved 跳过 0 项** @@ -25,8 +25,16 @@ commit: 38beecb ## AUTO-FIX 已执行清单 -- [x] 双链补全(Phase 3B):`feedback_plugin_dev.md#skill 不要重写 MCP 参数表,引用 docstring` 末尾追加对 `[[decisions.md#memcore-shared:路径锁定 + 全局常量的单一来源]]` 的反向引用 -- [x] MEMORY.md「引用」列已刷新(4 文件) +- [x] 文件级引用计数刷新(Phase 3A):decisions.md 新增 obsidian 审查 Section 引入新引用关系,更新 MEMORY.md「引用」列:decisions 1→3(按源去重,新增 lint_report 与 feedback_plugin_dev 作为源);project_overview / feedback_plugin_dev 仍为 1(同源去重) +- [x] **核心枢纽阈值达成**:`decisions.md` 文件级引用数 = 3(feedback_plugin_dev / lint_report / project_overview 三源),达到 SYNTHESIS_THRESHOLD(3),列入下方核心枢纽节点 + +--- + +## 核心枢纽节点(文件级引用 ≥ SYNTHESIS_THRESHOLD = 3) + +| 文件 | 引用源数 | 含义 | +|------|--------|------| +| **decisions.md** | 3 | 该文件已成为记忆体系的中心节点(被 3 个不同 memory 文件引用);新增决策时优先考虑是否会形成跨多领域影响 | --- @@ -38,7 +46,7 @@ commit: 38beecb |------|----------|------| | — | — | 无候选 | -当前所有 decisions/feedback 条目的跨文件引用数均 < 3,无 synthesis 升级候选。 +当前所有 decisions/feedback 条目的**单 section 级**跨文件引用数均 < 3,无 synthesis 升级候选。文件级已达阈值不触发 section 升级。 --- @@ -54,7 +62,7 @@ commit: 38beecb | 文件 | 被引用次数(去重源) | 引用来源 | |------|-------|---------| -| project_overview.md | 1 | decisions.md(2 个章节,同一源文件去重为 1) | -| decisions.md | 1 | project_overview.md | -| feedback_plugin_dev.md | 1 | decisions.md | +| **decisions.md** | **3** | feedback_plugin_dev.md / lint_report.md / project_overview.md | +| project_overview.md | 1 | decisions.md(含 2 个 wikilink,同源去重为 1) | +| feedback_plugin_dev.md | 1 | decisions.md(含 2 个 wikilink:memcore-shared 共享层 + obsidian 审查 See Also,同源去重为 1) | | lint_report.md | 0 | — | diff --git a/.claude/memory/project_overview.md b/.claude/memory/project_overview.md index 01e2549..1b07ddc 100644 --- a/.claude/memory/project_overview.md +++ b/.claude/memory/project_overview.md @@ -3,7 +3,7 @@ name: 项目概述 description: yixiong-claude-marketplace 的定位、目录结构、插件规范和发布流程 type: project last_updated: 2026-06-12 -commit: 38beecb +commit: fad7335 --- # 蚁熊内部 Claude Code Marketplace @@ -62,7 +62,7 @@ description: "触发描述(用户实际口语,不用内部视角)" |------|------|------| | `huanxi` | 6 个(report/leader/task/weekly/org/shared) | userConfig Bearer Token + MCP Server(URL 走 office 子域,无端口) | | `memcore` | 4 个(memory-sync/lint/update/shared) | 纯技能,无 MCP;memcore-shared 作内部 include(路径锁定 + 阈值常量 + PROJECT_DIR 解析),支持 synonyms.md 等价词表、Phase 3C 即时引用快扫、Phase 0 并发冲突保护、lint_report 稳定 ID + resolved 跳过、Base commit 兜底 | -| `obsidian` | 9 个(obsidian/bases/daily/history/meta/plugins/search/tasks/workflow-pkm) | 纯技能,无 MCP | +| `obsidian` | 10 个(obsidian/bases/canvas/daily/history/meta/plugins/search/tasks/workflow-pkm) | 纯技能,无 MCP;对标社区基准(kepano/obsidian-skills 31.8k★、AgriciDaniel/claude-obsidian)后扩展 canvas 视觉层;核心 obsidian 含 OFM 语法速查;workflow-pkm 含 Web Clip 子流程 | **See Also**:[[decisions.md#huanxi plugin 使用 userConfig 而非环境变量传 Token]] diff --git a/CLAUDE.md b/CLAUDE.md index ea95c87..0ac71e5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,4 +1,4 @@ - + # CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. @@ -111,8 +111,8 @@ description: 一句话说明该技能的用途(Claude 用此判断何时触发 ``` .claude/memory/ ├── MEMORY.md # 索引(入口) -├── decisions.md # 关键架构决策(含 memcore-shared/lint_report 保活/Base commit 兜底等 11 项) -├── project_overview.md # 项目定位与结构(huanxi/memcore/obsidian 已发布插件) +├── decisions.md # 关键架构决策(含 memcore-shared/lint_report 保活/Base commit 兜底/obsidian 社区对标审查等 12 项) +├── project_overview.md # 项目定位与结构(huanxi/memcore/obsidian 10 技能 已发布插件) ├── feedback_plugin_dev.md # 插件开发协作规范(含 MCP docstring 单一真相、签名变更全量扫描) └── lint_report.md # 记忆健康检查报告(按需) ```