From 210230a2ab79cef334ff473adf1f7040e8ebd89e Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 2 Jul 2026 09:00:15 +0000 Subject: [PATCH] Bump specode to 5.1.3, obsidian-wiki to 2.0.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit specode 5.1.3 — list-specs intake 可见 + 文档陈旧内容清理 obsidian-wiki 2.0.1 — 清理 2.0.0 spec-distill 剥离后的文档残留 - 两插件 plugin.json + marketplace.json 同步 bump(版本门禁通过) - 各自 CHANGELOG: Unreleased → 版本号 (2026-07-02),上方留新 Unreleased - marketplace.json / plugin.json 的 obsidian-wiki 描述同步更新为 三 skill + 家目录注册表现实(原描述仍是 1.x 形态) - README(中英)徽章与插件一览表版本号同步 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_017JWbU54t3xRecEFKMKZUMw --- .claude-plugin/marketplace.json | 29 ++++++++++++++----- README.md | 8 ++--- README.zh-CN.md | 8 ++--- .../obsidian-wiki/.claude-plugin/plugin.json | 13 +++++++-- plugins/obsidian-wiki/CHANGELOG.md | 2 ++ plugins/specode/.claude-plugin/plugin.json | 10 +++++-- plugins/specode/CHANGELOG.md | 2 ++ 7 files changed, 51 insertions(+), 21 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index a9e9122..e5780c5 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,12 +9,16 @@ { "name": "specode", "source": "./plugins/specode", - "version": "5.1.2", - "description": "Lightweight spec-driven workflow: orchestrates superpowers skills per phase, lands 3 fixed docs (requirements/design/implementation-log). **v5.0.1**: distill skill 加 `user-invocable:false`(隐藏裸 `/distill` + 消除 `/specode:distill` 重复);distill 收敛为纯 md-only(移除 `--format yml|both` + codemap 死路径);清理全部 `.ai-memory`/codemap 文档残留 + requirements 模板删 recall 段。**v5.0.0 BREAKING**: 命令去 `specode-` 前缀 — `/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill`(原 `/specode:specode-*`);内核 skill 加 `user-invocable:false` 隐藏裸 `/specode`。**v4.0.0 BREAKING**: 彻底拔出记忆注入工程 — 砍 P3-1 codemap recall / P3-2 rule-check / acceptance auto-distill prompt。保留 project-level CLAUDE.md scan。distill v4 完全重写为手动 md-only Obsidian wiki organizer, 默认写 `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//`。如需 v3 行为 checkout `backup/specode-v3.4.0-task-swarm-v0.9.2`。", + "version": "5.1.3", + "description": "Lightweight spec-driven workflow: orchestrates superpowers skills per phase, lands 3 fixed docs (requirements/design/implementation-log). **v5.1.3**: `list-specs` 让 intake 阶段(目录已建、requirements 未写)的 spec 可见 — 列出含任一固定产物的子目录 + 空子目录(intake),隐藏目录与无关内容目录仍排除;全库文档陈旧内容清理(README/CONTRIBUTING/SKILL 残留措辞)。 **v5.0.1**: distill skill 加 `user-invocable:false`(隐藏裸 `/distill` + 消除 `/specode:distill` 重复);distill 收敛为纯 md-only(移除 `--format yml|both` + codemap 死路径);清理全部 `.ai-memory`/codemap 文档残留 + requirements 模板删 recall 段。**v5.0.0 BREAKING**: 命令去 `specode-` 前缀 — `/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill`(原 `/specode:specode-*`);内核 skill 加 `user-invocable:false` 隐藏裸 `/specode`。**v4.0.0 BREAKING**: 彻底拔出记忆注入工程 — 砍 P3-1 codemap recall / P3-2 rule-check / acceptance auto-distill prompt。保留 project-level CLAUDE.md scan。distill v4 完全重写为手动 md-only Obsidian wiki organizer, 默认写 `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//`。如需 v3 行为 checkout `backup/specode-v3.4.0-task-swarm-v0.9.2`。", "homepage": "https://github.com/qxbyte/pluginhub", "repository": "https://github.com/qxbyte/pluginhub", "license": "MIT", - "keywords": ["spec", "specification", "workflow"] + "keywords": [ + "spec", + "specification", + "workflow" + ] }, { "name": "task-swarm", @@ -24,17 +28,28 @@ "homepage": "https://github.com/qxbyte/pluginhub", "repository": "https://github.com/qxbyte/pluginhub", "license": "MIT", - "keywords": ["task-swarm", "multi-agent", "orchestration", "pipeline"] + "keywords": [ + "task-swarm", + "multi-agent", + "orchestration", + "pipeline" + ] }, { "name": "obsidian-wiki", "source": "./plugins/obsidian-wiki", - "version": "2.0.0", - "description": "Maintain an Obsidian LLM-Wiki: deterministic structure layer (Home tree / READMEs / partition pages), SpecIn->knowledge-base distillation + MEMORY, content curation (lint/ingest/curate), and a unified orchestrator. Generic code + per-vault .wiki/config.json, zero hardcoded structure.", + "version": "2.0.1", + "description": "Maintain an Obsidian LLM-Wiki with three skills: deterministic structure layer (wiki-struct: Home tree / per-dir READMEs / partition pages), content curation (wiki-curate: ingest/curate/lint), and a unified orchestrator (wiki-orchestrate). Generic code + per-vault config in the home-dir registry ~/.config/obsidian-wiki/ (fallback: /.wiki/config.json), zero hardcoded structure. **v2.0.1**: docs cleanup — purged all stale spec-distill references left over from the v2.0 extraction (README/AGENTS no longer advertise four skills; the orchestrator no longer invokes the removed kn_scan.py). **v2.0.0 BREAKING**: spec-distill was extracted out of this plugin into specode's /specode:distill; obsidian-wiki now focuses purely on vault maintenance.", "homepage": "https://github.com/qxbyte/pluginhub", "repository": "https://github.com/qxbyte/pluginhub", "license": "MIT", - "keywords": ["obsidian", "llm-wiki", "knowledge-base", "notes", "curation"] + "keywords": [ + "obsidian", + "llm-wiki", + "knowledge-base", + "notes", + "curation" + ] } ] } diff --git a/README.md b/README.md index 3dc103b..f47cd9f 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ # pluginhub [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./README.md#license) -[![specode](https://img.shields.io/badge/specode-5.1.2-blue.svg)](./plugins/specode/.claude-plugin/plugin.json) +[![specode](https://img.shields.io/badge/specode-5.1.3-blue.svg)](./plugins/specode/.claude-plugin/plugin.json) [![task-swarm](https://img.shields.io/badge/task--swarm-0.10.1-blue.svg)](./plugins/task-swarm/.claude-plugin/plugin.json) -[![obsidian-wiki](https://img.shields.io/badge/obsidian--wiki-2.0.0-blue.svg)](./plugins/obsidian-wiki/.claude-plugin/plugin.json) +[![obsidian-wiki](https://img.shields.io/badge/obsidian--wiki-2.0.1-blue.svg)](./plugins/obsidian-wiki/.claude-plugin/plugin.json) [![Claude Code](https://img.shields.io/badge/Claude%20Code-compatible-8A2BE2)](https://github.com/qxbyte/pluginhub#installation) [![CodeBuddy](https://img.shields.io/badge/CodeBuddy-2.97.1%2B-1E90FF)](https://github.com/qxbyte/pluginhub#installation) [![Tests](https://img.shields.io/badge/pytest-255%20cases-success)](./plugins/task-swarm/tests) @@ -20,9 +20,9 @@ any plugin it hosts. More plugins will land here over time. | Plugin | Version | What it does | | --- | --- | --- | -| **specode** | 5.1.2 | A lightweight spec-driven **workflow** — orchestration shell that delegates each phase to [superpowers](https://github.com/obra/superpowers) skills (first-class native fallback) and lands 3 fixed docs per spec. **v5.1.2**: distill polish — `ensure-gitignore` skips in a non-git project with no existing `.gitignore` (no stray file); new `knowledge.py copy-to` verb (one-step dual-landing: copy cases/navigation + rebuild the dest's MEMORY) now used by distill Step 5; navigation `来源` keeps the origin slug (reusing specs listed in body). **v5.1.1**: validation-driven fixes — distill runs `design-unchecked` before sedimenting (warns if the spec isn't fully executed, so knowledge points don't reference unbuilt code); dedup navigation points against MEMORY before writing; retrieval emphasizes semantic relevance over tag-overlap. **v5.1.0**: reintroduces experience retrieval/injection on a new "pointers-not-facts" footing — new stdlib `knowledge.py` (ensure-gitignore/memory-rebuild/memory-validate); distill now emits **atomic case/navigation knowledge-points** to the project's `/knowledge-base/` (cases/ + navigation/ + a MEMORY index, gitignored), optionally copied to Obsidian; new `references/retrieval.md` two-tier gated retrieval wired into the requirements/design phases (inject pointers not facts, default reads only the small index, ≤5 docs on hit); acceptance re-hooks the distill prompt via the existing `auto_distill` default. **v5.0.1**: the `distill` skill is now `user-invocable: false` (hides the bare `/distill` + the duplicate `/specode:distill`, leaving one clean command entry); distill is now **md-only** (dropped the dead `--format yml|both` + `codemap knowledge write` path); purged all remaining `.ai-memory`/codemap doc references and removed the obsolete recall section from the requirements template. **v5.0.0 BREAKING**: commands dropped the redundant `specode-` prefix — `/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill` (were `/specode:specode-*`); the `distill` skill dir + name were renamed to `distill`; the `specode` orchestration skill is now `user-invocable: false` so the bare `/specode` no longer shows in the slash menu (still auto-activates via its commands). Preserved AI-EDS-era features: project-level `CLAUDE.md` / `AGENT.md` filesystem scan injected as `## 项目级约束` section (痛点 #14 方案 D), SessionStart cache-vs-marketplace drift hint (M8), autonomous-mode defaults — 5 schema keys + 5 `SPECODE_*` env vars + `read-defaults` / `write-default` / `reset-default` verbs (M1+M9). **v4.0.0 BREAKING**: removed memory-injection pipeline — P3-1 `codemap recall` injection / P3-2 rule-acknowledgement post-check / acceptance auto-distill prompt all dropped; round 1/2 baseline showed the recall round-trip did not net save token. `distill` skill v4 rewritten as a **manual-only Obsidian organizer** — `/specode:distill ` writes md (default) to `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//`, no `.ai-memory/` writes. To restore v3 behaviour: `git checkout backup/specode-v3.4.0-task-swarm-v0.9.2`. | +| **specode** | 5.1.3 | A lightweight spec-driven **workflow** — orchestration shell that delegates each phase to [superpowers](https://github.com/obra/superpowers) skills (first-class native fallback) and lands 3 fixed docs per spec. **v5.1.3**: `list-specs` now surfaces intake-phase specs (dir created, requirements not yet written) — lists subdirs containing any fixed doc plus empty subdirs, hidden dirs still excluded; repo-wide stale-docs cleanup. **v5.1.2**: distill polish — `ensure-gitignore` skips in a non-git project with no existing `.gitignore` (no stray file); new `knowledge.py copy-to` verb (one-step dual-landing: copy cases/navigation + rebuild the dest's MEMORY) now used by distill Step 5; navigation `来源` keeps the origin slug (reusing specs listed in body). **v5.1.1**: validation-driven fixes — distill runs `design-unchecked` before sedimenting (warns if the spec isn't fully executed, so knowledge points don't reference unbuilt code); dedup navigation points against MEMORY before writing; retrieval emphasizes semantic relevance over tag-overlap. **v5.1.0**: reintroduces experience retrieval/injection on a new "pointers-not-facts" footing — new stdlib `knowledge.py` (ensure-gitignore/memory-rebuild/memory-validate); distill now emits **atomic case/navigation knowledge-points** to the project's `/knowledge-base/` (cases/ + navigation/ + a MEMORY index, gitignored), optionally copied to Obsidian; new `references/retrieval.md` two-tier gated retrieval wired into the requirements/design phases (inject pointers not facts, default reads only the small index, ≤5 docs on hit); acceptance re-hooks the distill prompt via the existing `auto_distill` default. **v5.0.1**: the `distill` skill is now `user-invocable: false` (hides the bare `/distill` + the duplicate `/specode:distill`, leaving one clean command entry); distill is now **md-only** (dropped the dead `--format yml|both` + `codemap knowledge write` path); purged all remaining `.ai-memory`/codemap doc references and removed the obsolete recall section from the requirements template. **v5.0.0 BREAKING**: commands dropped the redundant `specode-` prefix — `/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill` (were `/specode:specode-*`); the `distill` skill dir + name were renamed to `distill`; the `specode` orchestration skill is now `user-invocable: false` so the bare `/specode` no longer shows in the slash menu (still auto-activates via its commands). Preserved AI-EDS-era features: project-level `CLAUDE.md` / `AGENT.md` filesystem scan injected as `## 项目级约束` section (痛点 #14 方案 D), SessionStart cache-vs-marketplace drift hint (M8), autonomous-mode defaults — 5 schema keys + 5 `SPECODE_*` env vars + `read-defaults` / `write-default` / `reset-default` verbs (M1+M9). **v4.0.0 BREAKING**: removed memory-injection pipeline — P3-1 `codemap recall` injection / P3-2 rule-acknowledgement post-check / acceptance auto-distill prompt all dropped; round 1/2 baseline showed the recall round-trip did not net save token. `distill` skill v4 rewritten as a **manual-only Obsidian organizer** — `/specode:distill ` writes md (default) to `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//`, no `.ai-memory/` writes. To restore v3 behaviour: `git checkout backup/specode-v3.4.0-task-swarm-v0.9.2`. | | **task-swarm** | 0.10.1 | Multi-agent **orchestration** driven by a `pipeline.yml`: semantic task groups with cross-group concurrency, fork coders, per-group reviewer + validator loops. **v0.10.1**: the `task-swarm` orchestration skill is now `user-invocable: false` so the bare `/task-swarm` no longer shows in the slash menu (the `/task-swarm:swarm` command is unchanged). Preserved AI-EDS-era features: frontmatter-first `project_root` + registry-based run lookup (0.7.x), `## 项目级约束(必读)` section + `_PROJECT_AGENT_DOCS.md` inbox sentinel (0.7.3 + 0.7.4), lifecycle group with `init` dedupe (`--on-existing {error/resume/abort-old/force-new}` flag) + `run.pipeline_end_validator` (0.8.0 + 0.8.1), M2 `run-loop` auto-driver (0.8.1), task.md `## 开发纪律 (范式参考)` section listing superpowers skill names as paradigm identifiers (0.9.0–0.9.2). **v0.10.0 BREAKING**: removed `_ingest_lessons.py` + `cmd_resolve` auto-ingest + `--no-ingest` flag — `cmd_resolve` no longer writes `/.ai-memory/knowledge/cases\|pitfalls/*.yml`. To restore v0.9.x behaviour: `git checkout backup/specode-v3.4.0-task-swarm-v0.9.2`. See [`plugins/task-swarm/`](./plugins/task-swarm). | -| **obsidian-wiki** | 2.0.0 | Maintain an Obsidian LLM-Wiki with three skills: deterministic structure layer (`wiki-struct`: Home tree / READMEs / partition pages), content curation (`wiki-curate`: ingest / curate / lint), unified orchestrator (`wiki-orchestrate`). Generic code + per-vault config in the home-dir registry `~/.config/obsidian-wiki/` (falls back to `/.wiki/config.json`). **v2.0.0 BREAKING**: the spec-distill skill was extracted into specode's `/specode:distill`. See [`plugins/obsidian-wiki/`](./plugins/obsidian-wiki). | +| **obsidian-wiki** | 2.0.1 | Maintain an Obsidian LLM-Wiki with three skills: deterministic structure layer (`wiki-struct`: Home tree / READMEs / partition pages), content curation (`wiki-curate`: ingest / curate / lint), unified orchestrator (`wiki-orchestrate`). Generic code + per-vault config in the home-dir registry `~/.config/obsidian-wiki/` (falls back to `/.wiki/config.json`). **v2.0.0 BREAKING**: the spec-distill skill was extracted into specode's `/specode:distill`. See [`plugins/obsidian-wiki/`](./plugins/obsidian-wiki). | `## Installation` covers the whole marketplace; the other sections (Highlights, Usage, Architecture) document **specode**, the flagship diff --git a/README.zh-CN.md b/README.zh-CN.md index d1241c0..870cd82 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -3,9 +3,9 @@ # pluginhub [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./README.zh-CN.md#许可证) -[![specode](https://img.shields.io/badge/specode-5.1.2-blue.svg)](./plugins/specode/.claude-plugin/plugin.json) +[![specode](https://img.shields.io/badge/specode-5.1.3-blue.svg)](./plugins/specode/.claude-plugin/plugin.json) [![task-swarm](https://img.shields.io/badge/task--swarm-0.10.1-blue.svg)](./plugins/task-swarm/.claude-plugin/plugin.json) -[![obsidian-wiki](https://img.shields.io/badge/obsidian--wiki-2.0.0-blue.svg)](./plugins/obsidian-wiki/.claude-plugin/plugin.json) +[![obsidian-wiki](https://img.shields.io/badge/obsidian--wiki-2.0.1-blue.svg)](./plugins/obsidian-wiki/.claude-plugin/plugin.json) [![Claude Code](https://img.shields.io/badge/Claude%20Code-compatible-8A2BE2)](https://github.com/qxbyte/pluginhub#installation) [![CodeBuddy](https://img.shields.io/badge/CodeBuddy-2.97.1%2B-1E90FF)](https://github.com/qxbyte/pluginhub#installation) [![Tests](https://img.shields.io/badge/pytest-255%20cases-success)](./plugins/task-swarm/tests) @@ -18,9 +18,9 @@ | 插件 | 版本 | 做什么 | | --- | --- | --- | -| **specode** | 5.1.2 | 轻量**规格驱动工作流**——编排外壳,每个阶段委托给 [superpowers](https://github.com/obra/superpowers) 技能(一等公民原生降级),每条规格固定产出 3 份文档。**v5.1.2**:distill 打磨——非 git 且无 .gitignore 时 `ensure-gitignore` 跳过(不建 stray);新增 `copy-to` 一步 dual-landing(复制 + 重建 dest MEMORY),distill Step5 改用;navigation `来源` 单值保留 origin。 **v5.1.1**:试跑验证修复——distill 沉淀前 `design-unchecked` 检查是否执行完(未完告警,防指向未落地代码);写 navigation 前比对 MEMORY 去重;retrieval 强调语义相关而非 tag 命中。 **v5.1.0**:以全新「定位用·非事实用」路线重新引入经验检索注入——新增 stdlib `knowledge.py`(ensure-gitignore/memory-rebuild/memory-validate);distill 改产**原子 case/navigation 知识点**到项目 `/knowledge-base/`(cases/+navigation/+MEMORY 索引,不入仓),可选复制到 Obsidian;新增 `references/retrieval.md` 两级 gated 检索接入 requirements/design 阶段(注入指针非事实、默认只读小索引、命中才读≤5点);acceptance 末尾按 `auto_distill` 重新挂回 distill 提示。 **v5.0.1**:`distill` skill 改为 `user-invocable: false`(隐藏裸 `/distill` 与重复的 `/specode:distill`,只留命令一条);distill 收敛为纯 **md-only**(移除已死的 `--format yml|both` 与 `codemap knowledge write` 路径);清理全部 `.ai-memory`/codemap 文档残留,并从 requirements 模板删除已废弃的 recall 段。**v5.0.0 BREAKING**:命令去掉冗余 `specode-` 前缀——`/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill`(原 `/specode:specode-*`);`distill` skill 目录与 `name` 同改为 `distill`;编排内核 skill `specode` 改为 `user-invocable: false`,斜杠菜单不再显示裸 `/specode`(仍经命令自动激活)。AI-EDS 时代保留至 v4.0.0 的能力:项目级 `CLAUDE.md` / `AGENT.md` filesystem 扫描注入「## 项目级约束」段(痛点 #14 方案 D)、SessionStart cache 与 marketplace drift 提示(M8)、autonomous-mode defaults(5 schema key + 5 个 `SPECODE_*` env var + `read-defaults` / `write-default` / `reset-default` verb,M1+M9)。**v4.0.0 BREAKING**:拔除记忆注入工程——P3-1 `codemap recall` 注入 / P3-2 rule-acknowledgement post-check / acceptance 后自动 distill 全部砍掉;round 1/2 baseline 实验证明 recall 注入未 net 节省 token。`distill` skill v4 完全重写为**仅手动**Obsidian 整理器——`/specode:distill ` 默认 md-only 写到 `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//`,不再写 `.ai-memory/`。如需 v3 行为:`git checkout backup/specode-v3.4.0-task-swarm-v0.9.2`。 | +| **specode** | 5.1.3 | 轻量**规格驱动工作流**——编排外壳,每个阶段委托给 [superpowers](https://github.com/obra/superpowers) 技能(一等公民原生降级),每条规格固定产出 3 份文档。**v5.1.3**:`list-specs` 让 intake 阶段(目录已建、requirements 未写)的 spec 可见——列出含任一固定产物的子目录 + 空子目录,隐藏目录仍排除;全库文档陈旧内容清理。 **v5.1.2**:distill 打磨——非 git 且无 .gitignore 时 `ensure-gitignore` 跳过(不建 stray);新增 `copy-to` 一步 dual-landing(复制 + 重建 dest MEMORY),distill Step5 改用;navigation `来源` 单值保留 origin。 **v5.1.1**:试跑验证修复——distill 沉淀前 `design-unchecked` 检查是否执行完(未完告警,防指向未落地代码);写 navigation 前比对 MEMORY 去重;retrieval 强调语义相关而非 tag 命中。 **v5.1.0**:以全新「定位用·非事实用」路线重新引入经验检索注入——新增 stdlib `knowledge.py`(ensure-gitignore/memory-rebuild/memory-validate);distill 改产**原子 case/navigation 知识点**到项目 `/knowledge-base/`(cases/+navigation/+MEMORY 索引,不入仓),可选复制到 Obsidian;新增 `references/retrieval.md` 两级 gated 检索接入 requirements/design 阶段(注入指针非事实、默认只读小索引、命中才读≤5点);acceptance 末尾按 `auto_distill` 重新挂回 distill 提示。 **v5.0.1**:`distill` skill 改为 `user-invocable: false`(隐藏裸 `/distill` 与重复的 `/specode:distill`,只留命令一条);distill 收敛为纯 **md-only**(移除已死的 `--format yml|both` 与 `codemap knowledge write` 路径);清理全部 `.ai-memory`/codemap 文档残留,并从 requirements 模板删除已废弃的 recall 段。**v5.0.0 BREAKING**:命令去掉冗余 `specode-` 前缀——`/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill`(原 `/specode:specode-*`);`distill` skill 目录与 `name` 同改为 `distill`;编排内核 skill `specode` 改为 `user-invocable: false`,斜杠菜单不再显示裸 `/specode`(仍经命令自动激活)。AI-EDS 时代保留至 v4.0.0 的能力:项目级 `CLAUDE.md` / `AGENT.md` filesystem 扫描注入「## 项目级约束」段(痛点 #14 方案 D)、SessionStart cache 与 marketplace drift 提示(M8)、autonomous-mode defaults(5 schema key + 5 个 `SPECODE_*` env var + `read-defaults` / `write-default` / `reset-default` verb,M1+M9)。**v4.0.0 BREAKING**:拔除记忆注入工程——P3-1 `codemap recall` 注入 / P3-2 rule-acknowledgement post-check / acceptance 后自动 distill 全部砍掉;round 1/2 baseline 实验证明 recall 注入未 net 节省 token。`distill` skill v4 完全重写为**仅手动**Obsidian 整理器——`/specode:distill ` 默认 md-only 写到 `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//`,不再写 `.ai-memory/`。如需 v3 行为:`git checkout backup/specode-v3.4.0-task-swarm-v0.9.2`。 | | **task-swarm** | 0.10.1 | 由 `pipeline.yml` 驱动的**多 agent 编排**:语义任务组 + 跨组并发、fork coder、按组 reviewer + validator 循环。**v0.10.1**:编排内核 skill `task-swarm` 改为 `user-invocable: false`,斜杠菜单不再显示裸 `/task-swarm`(命令 `/task-swarm:swarm` 不变)。AI-EDS 时代保留至 v0.10.0 的能力:frontmatter-first `project_root` + registry-based run 查找(0.7.x)、coder/reviewer/validator `task.md` 中「## 项目级约束(必读)」段 + `_PROJECT_AGENT_DOCS.md` inbox sentinel(0.7.3+0.7.4)、lifecycle group + `init` dedupe(`--on-existing` flag)+ `run.pipeline_end_validator`(0.8.0+0.8.1)、M2 `run-loop` 自动驱动器(0.8.1)、task.md 「## 开发纪律 (范式参考)」段列出 superpowers skill 名作为范式标识(0.9.0–0.9.2)。**v0.10.0 BREAKING**:拔除记忆注入工程——删 `_ingest_lessons.py` + `cmd_resolve` 自动 ingest + `--no-ingest` flag,`cmd_resolve` 不再写 `/.ai-memory/knowledge/cases\|pitfalls/*.yml`。如需 v0.9.x 行为:`git checkout backup/specode-v3.4.0-task-swarm-v0.9.2`。详见 [`plugins/task-swarm/`](./plugins/task-swarm)。 | -| **obsidian-wiki** | 2.0.0 | 维护 Obsidian LLM-Wiki 的三个 skill:确定性结构层(`wiki-struct`:Home 树 / README / 分区页)、内容策展(`wiki-curate`:ingest / curate / lint)、统一编排器(`wiki-orchestrate`)。通用代码 + 家目录注册表 `~/.config/obsidian-wiki/` 按库配置(回退库内 `.wiki/config.json`)。**v2.0.0 BREAKING**:spec-distill 已剥离并迁入 specode 的 `/specode:distill`。详见 [`plugins/obsidian-wiki/`](./plugins/obsidian-wiki)。 | +| **obsidian-wiki** | 2.0.1 | 维护 Obsidian LLM-Wiki 的三个 skill:确定性结构层(`wiki-struct`:Home 树 / README / 分区页)、内容策展(`wiki-curate`:ingest / curate / lint)、统一编排器(`wiki-orchestrate`)。通用代码 + 家目录注册表 `~/.config/obsidian-wiki/` 按库配置(回退库内 `.wiki/config.json`)。**v2.0.0 BREAKING**:spec-distill 已剥离并迁入 specode 的 `/specode:distill`。详见 [`plugins/obsidian-wiki/`](./plugins/obsidian-wiki)。 | `## 安装` 覆盖整个 marketplace;其余章节(能力亮点、使用、项目结构)记录的是 **specode**(旗舰插件)。**task-swarm** 的文档见 [`plugins/task-swarm/`](./plugins/task-swarm) 下的源码与 `CHANGELOG`;**obsidian-wiki** 的文档见 [`plugins/obsidian-wiki/`](./plugins/obsidian-wiki) 下的 `README.md` / `AGENTS.md`。 diff --git a/plugins/obsidian-wiki/.claude-plugin/plugin.json b/plugins/obsidian-wiki/.claude-plugin/plugin.json index 47ffb69..03d2ff1 100644 --- a/plugins/obsidian-wiki/.claude-plugin/plugin.json +++ b/plugins/obsidian-wiki/.claude-plugin/plugin.json @@ -1,12 +1,19 @@ { "name": "obsidian-wiki", - "version": "2.0.0", - "description": "Maintain an Obsidian LLM-Wiki: deterministic structure layer (Home tree / per-dir READMEs / partition pages), content curation (lint/ingest/curate), and a unified orchestrator. Generic code + per-vault .wiki/config.json, zero hardcoded structure. v2.0 BREAKING: spec-distill has been extracted out of this plugin into specode (as distill sub-skill); obsidian-wiki now focuses purely on vault maintenance.", + "version": "2.0.1", + "description": "Maintain an Obsidian LLM-Wiki with three skills: deterministic structure layer (wiki-struct: Home tree / per-dir READMEs / partition pages), content curation (wiki-curate: ingest/curate/lint), and a unified orchestrator (wiki-orchestrate). Generic code + per-vault config in the home-dir registry ~/.config/obsidian-wiki/ (fallback: /.wiki/config.json), zero hardcoded structure. **v2.0.1**: docs cleanup — purged all stale spec-distill references left over from the v2.0 extraction (README/AGENTS no longer advertise four skills; the orchestrator no longer invokes the removed kn_scan.py). **v2.0.0 BREAKING**: spec-distill was extracted out of this plugin into specode's /specode:distill; obsidian-wiki now focuses purely on vault maintenance.", "author": { "name": "xueqiang", "email": "xueqiang361@gmail.com" }, "homepage": "https://github.com/qxbyte/pluginhub", "license": "MIT", - "keywords": ["obsidian", "llm-wiki", "knowledge-base", "notes", "curation", "workflow"] + "keywords": [ + "obsidian", + "llm-wiki", + "knowledge-base", + "notes", + "curation", + "workflow" + ] } diff --git a/plugins/obsidian-wiki/CHANGELOG.md b/plugins/obsidian-wiki/CHANGELOG.md index 281448c..d0063c0 100644 --- a/plugins/obsidian-wiki/CHANGELOG.md +++ b/plugins/obsidian-wiki/CHANGELOG.md @@ -4,6 +4,8 @@ obsidian-wiki 是维护 Obsidian LLM-Wiki 的多 agent 插件(从独立 skills ## Unreleased +## 2.0.1 (2026-07-02) — 清理 spec-distill 剥离后的文档残留 + ### Fixed — 清理 2.0.0 spec-distill 剥离后的文档残留 2.0.0 删除了 `skills/spec-distill/`(含 `kn_scan.py`),但大量文档没同步: diff --git a/plugins/specode/.claude-plugin/plugin.json b/plugins/specode/.claude-plugin/plugin.json index 2b3be22..542c739 100644 --- a/plugins/specode/.claude-plugin/plugin.json +++ b/plugins/specode/.claude-plugin/plugin.json @@ -1,12 +1,16 @@ { "name": "specode", - "version": "5.1.2", - "description": "Lightweight spec-driven workflow: orchestrates superpowers skills per phase, lands 3 fixed docs (requirements/design/implementation-log). **v5.1.2**: distill 打磨 — ensure-gitignore 在非 git 且无既有 .gitignore 时跳过(不建 stray);新增 knowledge.py copy-to(一步 dual-landing:复制 cases/navigation + 重建 dest MEMORY),distill Step5 改用它;navigation 来源 单值保留 origin、复用 spec 写正文。 **v5.1.1**: 试跑验证修复 — distill 沉淀前用 design-unchecked 检查 spec 是否执行完(未完则告警,防知识点指向未落地代码);写 navigation 点前先比对 MEMORY 去重;retrieval 强调语义相关而非 tag 命中;F2(非 git project_root)评估为 by design 不修。 **v5.1.0**: 重新引入「经验检索注入」走全新「定位用·非事实用」路线 — 新增 stdlib knowledge.py(ensure-gitignore/memory-rebuild/memory-validate);distill 改产**原子 case/navigation 知识点**到项目 /knowledge-base/(cases/+navigation/+MEMORY 索引,不入仓),可选复制到 Obsidian;新增 references/retrieval.md 两级 gated 检索接入 requirements/design phase(注入指针非事实、默认只读小索引、命中才读≤5点);acceptance 末尾按 auto_distill 重挂 distill 提示。 **v5.0.1**: distill skill 加 `user-invocable:false`(隐藏裸 `/distill` + 消除 `/specode:distill` 重复项,只留命令一条);distill 收敛为纯 **md-only**(移除 `--format yml|both` + `codemap knowledge write` 死路径);清理全部 `.ai-memory`/codemap 文档残留,并从 requirements 模板删除已废弃的「已知约束/历史坑」recall 段。**v5.0.0 BREAKING**: 命令去 `specode-` 前缀 — `/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill`(原 `/specode:specode-*`);distill skill 目录与名同改为 `distill`;编排内核 skill `specode` 加 `user-invocable:false`,斜杠菜单不再显示裸 `/specode`(仍经命令/自然语言自动激活)。**v4.0.0 BREAKING**: 彻底拔出记忆注入工程 — 砍掉 specode 主流程的 (1) P3-1 codemap recall 注入 `## 已知约束 / 历史坑` 段, (2) P3-2 rule-acknowledgement post-check, (3) acceptance 后自动 AskUser 触发 distill。round 1/2 baseline 实验证明 recall 注入未 net 节省 token。保留 project-level CLAUDE.md / AGENT.md filesystem scan (不涉及 .ai-memory)。distill skill v4 完全重写: 仅手动触发 `/specode:distill `, 默认 md-only, 默认写 `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//` (--target-dir 可覆盖), 不再调 codemap recall, 不再默认写 .ai-memory yml。如需 v3 记忆注入行为, checkout `backup/specode-v3.4.0-task-swarm-v0.9.2`。", + "version": "5.1.3", + "description": "Lightweight spec-driven workflow: orchestrates superpowers skills per phase, lands 3 fixed docs (requirements/design/implementation-log). **v5.1.3**: `list-specs` 让 intake 阶段(目录已建、requirements 未写)的 spec 可见 — 列出含任一固定产物的子目录 + 空子目录(intake),隐藏目录与无关内容目录仍排除;全库文档陈旧内容清理(README/CONTRIBUTING/SKILL 残留措辞)。 **v5.1.2**: distill 打磨 — ensure-gitignore 在非 git 且无既有 .gitignore 时跳过(不建 stray);新增 knowledge.py copy-to(一步 dual-landing:复制 cases/navigation + 重建 dest MEMORY),distill Step5 改用它;navigation 来源 单值保留 origin、复用 spec 写正文。 **v5.1.1**: 试跑验证修复 — distill 沉淀前用 design-unchecked 检查 spec 是否执行完(未完则告警,防知识点指向未落地代码);写 navigation 点前先比对 MEMORY 去重;retrieval 强调语义相关而非 tag 命中;F2(非 git project_root)评估为 by design 不修。 **v5.1.0**: 重新引入「经验检索注入」走全新「定位用·非事实用」路线 — 新增 stdlib knowledge.py(ensure-gitignore/memory-rebuild/memory-validate);distill 改产**原子 case/navigation 知识点**到项目 /knowledge-base/(cases/+navigation/+MEMORY 索引,不入仓),可选复制到 Obsidian;新增 references/retrieval.md 两级 gated 检索接入 requirements/design phase(注入指针非事实、默认只读小索引、命中才读≤5点);acceptance 末尾按 auto_distill 重挂 distill 提示。 **v5.0.1**: distill skill 加 `user-invocable:false`(隐藏裸 `/distill` + 消除 `/specode:distill` 重复项,只留命令一条);distill 收敛为纯 **md-only**(移除 `--format yml|both` + `codemap knowledge write` 死路径);清理全部 `.ai-memory`/codemap 文档残留,并从 requirements 模板删除已废弃的「已知约束/历史坑」recall 段。**v5.0.0 BREAKING**: 命令去 `specode-` 前缀 — `/specode:spec` / `/specode:continue` / `/specode:list` / `/specode:distill`(原 `/specode:specode-*`);distill skill 目录与名同改为 `distill`;编排内核 skill `specode` 加 `user-invocable:false`,斜杠菜单不再显示裸 `/specode`(仍经命令/自然语言自动激活)。**v4.0.0 BREAKING**: 彻底拔出记忆注入工程 — 砍掉 specode 主流程的 (1) P3-1 codemap recall 注入 `## 已知约束 / 历史坑` 段, (2) P3-2 rule-acknowledgement post-check, (3) acceptance 后自动 AskUser 触发 distill。round 1/2 baseline 实验证明 recall 注入未 net 节省 token。保留 project-level CLAUDE.md / AGENT.md filesystem scan (不涉及 .ai-memory)。distill skill v4 完全重写: 仅手动触发 `/specode:distill `, 默认 md-only, 默认写 `/Volumes/External HD/Obsidian/Notes/11-KnowledgeBase//` (--target-dir 可覆盖), 不再调 codemap recall, 不再默认写 .ai-memory yml。如需 v3 记忆注入行为, checkout `backup/specode-v3.4.0-task-swarm-v0.9.2`。", "author": { "name": "xueqiang", "email": "xueqiang361@gmail.com" }, "homepage": "https://github.com/qxbyte/pluginhub", "license": "MIT", - "keywords": ["spec", "specification", "workflow"] + "keywords": [ + "spec", + "specification", + "workflow" + ] } diff --git a/plugins/specode/CHANGELOG.md b/plugins/specode/CHANGELOG.md index 9a3b1ea..a4e24fb 100644 --- a/plugins/specode/CHANGELOG.md +++ b/plugins/specode/CHANGELOG.md @@ -4,6 +4,8 @@ specode 是 spec-driven 轻量工作流插件:requirements → design → exec ## Unreleased +## 5.1.3 (2026-07-02) — list-specs intake 可见 + 文档陈旧内容清理 + ### Changed / Fixed - **`list-specs` intake 阶段 spec 可见**(+3 测试):原先只列含 `requirements.md` 的子目录,intake 阶段(目录已 `mkdir`、requirements 未写)的 spec 在 `/specode:list` 里隐身,与续接表里明确存在的 intake 状态不一致。现在列出「含任一固定产物(requirements / design / implementation-log.md)的子目录 + 空子目录(intake)」;隐藏目录(`.obsidian` 等)与只装无关内容的目录仍排除。