diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index f86e912..5c03711 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,8 +9,8 @@ { "name": "specode", "source": "./plugins/specode", - "version": "6.1.2", - "description": "Lightweight spec-driven workflow: orchestrates superpowers skills per phase, lands 4 fixed docs (requirements/design/tasks/implementation-log). **v6.1.2**: 插件语言统一(仅 specode,零行为变化)——面向 agent 的指令/说明 prose 全部转地道英文(SKILL/references/commands/脚本 docstring+注释);用户可见的固定输出与选择保持中文(执行方式 selector、模板、注入段 ## 项目级约束 / ## 参考定位、脚本 stderr 用户消息、CHANGELOG)。 **v6.1.1**: 新增契约锁步 CI 门禁 tests/test_contract_lockstep.py(MEMORY 列 + frontmatter 键在 knowledge.py/retrieval.md/doc-template.md 三处一致,负控验证可抓 reorder/drop);新增 references/knowledge-flow.md 一页纸知识流心智模型(distill/knowledge-base/MEMORY/ragkit/intake-检索 的谁产·谁读·何时)。 **v6.1.0**: 新增独立 intake skill(skills/intake/,同 distill,user-invocable:false)接管 requirements phase — 项目分析(agent-docs 扫描+经验检索+读真实代码)+基于分析的澄清+写 requirements.md(保留 spec_id/created_at/project_root frontmatter 契约);修正 6.0.0 的brainstorming 双产物错位 — brainstorming 从此只产 design.md(单产物),requirements 由 intake 产;检索主节点移到 intake 项目分析步、design 降为条件性 top-up;弊端修复 — writing-plans 结尾的执行方式提问改为「忽略而非抑制」;SKILL 轻量化 215→171 行(verb 表/autonomous-mode 细节下沉到 refs,零行为变化)。 **v6.0.0 BREAKING**: 固定产物 3→4 — design.md 重定义为**传统设计文档**(背景与目标/架构概览/模块划分/接口设计/数据流/错误处理/测试策略,散文无 checkbox);新增 tasks.md 承载可执行计划(writing-plans 格式 + Interfaces 契约块,引擎中立,task-swarm/superpowers/自执行统一消费,pipeline.yml 改从 tasks.md 推导);流水线变为 requirements→design→tasks→执行方式 selector→执行→验收,brainstorming 一次跨 requirements+design 双产物落盘(后置 relocate 检查两份);continue 改「加载即停」— 只读文档+汇报进度简报后停下等指令,绝不自动续跑;design-unchecked 更名 plan-unchecked(tasks.md 优先,design.md 含 checkbox 按 5.x legacy 兜底,旧名保留 alias)。5.x 存量 spec 由 continue 推断表 legacy 行兜底识别,不中断。 **v5.2.0**: 新增 Tier-0 RagKit gate — 检测到 ragkit 插件 + 已建索引(chunks.json)时,requirements/design 的经验检索走 `ragkit:query` 多路召回(模型自主提炼检索词、可多轮多角度、≤5 点封顶),未安装零成本跳过,zero-import。 **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`。", + "version": "6.1.3", + "description": "Lightweight spec-driven workflow orchestration shell — walks a host agent through requirements → design → tasks → execute → acceptance, delegating each phase to superpowers skills with a first-class specode-native fallback, and landing 4 fixed docs per spec (requirements / design / tasks / implementation-log). Bundles a dedicated intake skill for the requirements phase, a zero-import task-swarm handoff for parallel execution, and optional locate-oriented experience retrieval. Version history is in the CHANGELOG.", "homepage": "https://github.com/qxbyte/pluginhub", "repository": "https://github.com/qxbyte/pluginhub", "license": "MIT", @@ -23,8 +23,8 @@ { "name": "task-swarm", "source": "./plugins/task-swarm", - "version": "0.10.1", - "description": "Multi-agent task orchestration: split a task document into task groups, fork coders, and run per-group reviewer + validator loops. **v0.10.1**: 内核 skill 加 `user-invocable:false` 隐藏裸 `/task-swarm`(命令 `/task-swarm:swarm` 不变). v0.5–0.9 lands FIX-1/2 + 方案 D + inbox sentinel + lifecycle group + 方案 B (task.md 「开发纪律」段). **v0.10.0 BREAKING**: 拔出记忆注入工程 — 删除 `_ingest_lessons.py` + cmd_resolve 自动 ingest + `--no-ingest` flag。不再自动写 `/.ai-memory/knowledge/cases|pitfalls/*.yml`。round 1/2 baseline 证明 ingest 不省 token。如需 per-spec md 知识手动 `/specode:distill `。如需 v0.9.x 行为 checkout `backup/specode-v3.4.0-task-swarm-v0.9.2`。", + "version": "0.10.2", + "description": "Standalone multi-agent orchestration driven by a pipeline.yml — semantic task groups with cross-group concurrency, forked coders, and per-group reviewer + validator loops (state.json is the single source of truth). specode delegates its execution phase here; also runnable directly via /task-swarm:swarm. Version history is in the CHANGELOG.", "homepage": "https://github.com/qxbyte/pluginhub", "repository": "https://github.com/qxbyte/pluginhub", "license": "MIT", @@ -38,8 +38,8 @@ { "name": "obsidian-wiki", "source": "./plugins/obsidian-wiki", - "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.", + "version": "2.0.2", + "description": "Maintain an Obsidian LLM-Wiki via three skills — a 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. Version history is in the CHANGELOG.", "homepage": "https://github.com/qxbyte/pluginhub", "repository": "https://github.com/qxbyte/pluginhub", "license": "MIT", diff --git a/CHANGELOG.md b/CHANGELOG.md index 060f148..0a4aa73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +## description 收敛 (2026-07-05) — specode 6.1.3 / task-swarm 0.10.2 / obsidian-wiki 2.0.2 + +- 三个插件的 `description` 字段(marketplace UI 显示的那段)清掉累积的版本 blurb,收敛成「一句话讲当前插件干嘛」;版本历史只留在各自 CHANGELOG。README 徽章 + 表格行同步。ragkit 本就干净、未动。零行为变化。**go-forward**:`description` 只在插件用途变化时才改,永不再堆版本 blurb。 + ## 6.1.2 (2026-07-05) — specode - **插件语言统一(仅 specode,零行为变化)**:面向 agent 的指令/说明 prose(SKILL / references / commands / 脚本 docstring+注释)全部转地道英文;用户可见的固定输出与选择保持中文(执行方式 selector、模板、注入段 `## 项目级约束` / `## 参考定位`、脚本 stderr 用户消息、CHANGELOG、契约字段标识符)。测试零回归(90 passed)。 diff --git a/README.md b/README.md index d934c4e..8b08e8a 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-6.1.2-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.1-blue.svg)](./plugins/obsidian-wiki/.claude-plugin/plugin.json) +[![specode](https://img.shields.io/badge/specode-6.1.3-blue.svg)](./plugins/specode/.claude-plugin/plugin.json) +[![task-swarm](https://img.shields.io/badge/task--swarm-0.10.2-blue.svg)](./plugins/task-swarm/.claude-plugin/plugin.json) +[![obsidian-wiki](https://img.shields.io/badge/obsidian--wiki-2.0.2-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** | 6.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 4 fixed docs per spec. **v6.1.2**: plugin language unified (specode only, zero behavior change) — agent-facing instruction/explanation prose (SKILL/references/commands/script docstrings) is now idiomatic English, while user-facing fixed output and selections stay Chinese (the 执行方式 selector, templates, injected `## 项目级约束` / `## 参考定位` sections, script stderr user messages, CHANGELOG, and the contract field identifiers). **v6.1.1**: contract-lockstep CI gate (`test_contract_lockstep.py`) keeps the MEMORY column + frontmatter contract byte-identical across knowledge.py / retrieval.md / doc-template.md (negative-controlled to catch reorder/drop); new `references/knowledge-flow.md` one-page knowledge-loop mental model. **v6.1.0**: new standalone `specode:intake` skill (peer to `distill`) owns the requirements phase — project analysis (agent-docs scan + experience retrieval + reading located real code) + analysis-driven clarification + writes `requirements.md` preserving the `spec_id`/`created_at`/`project_root` frontmatter contract; fixes the 6.0.0 brainstorming dual-artifact mismatch (brainstorming now produces `design.md` only); retrieval's primary node moves to intake with design as a conditional top-up; writing-plans' execution-mode question is now ignored (not "suppressed"); SKILL.md lightened 215→171 lines (verb table + autonomous-mode detail sunk to references) and dead v3/codemap-term noise dropped from distill. **v6.0.0 BREAKING**: fixed docs 3 → 4 — `design.md` redefined as a **traditional design doc** (背景与目标/架构概览/模块划分/接口设计/数据流/错误处理/测试策略, prose only, no checkboxes); new `tasks.md` carries the executable plan (writing-plans format + `**Interfaces:**` contract blocks), engine-neutral — task-swarm (pipeline.yml now derived from it) / superpowers / specode self-execute all consume the same file; pipeline becomes requirements → design → tasks → 执行方式 selector → execute → acceptance, with brainstorming spanning requirements+design in one dual-artifact call; `/specode:continue` becomes **load-and-stop** — reads docs, reports a progress brief, then waits for the user's instruction (never auto-resumes); `design-unchecked` renamed `plan-unchecked` (tasks.md first, 5.x legacy design.md fallback, old name kept as alias); 5.x specs keep working via the legacy inference row. **v5.2.0**: Tier-0 RagKit gate tightened — probe changed from `test -d .ragkit` to `test -f .ragkit/chunks.json` (eliminates false-positive when only config.json exists after `backend set`); Tier-0 採纳条目 capped at Tier-2 discipline (≤5/phase, reasoned override allowed). **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.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). | +| **specode** | 6.1.3 | Lightweight spec-driven **workflow** orchestration shell — walks a host agent through requirements → design → tasks → execute → acceptance, delegating each phase to [superpowers](https://github.com/obra/superpowers) skills with a first-class specode-native fallback, and landing 4 fixed docs per spec (requirements / design / tasks / implementation-log). Bundles a dedicated `intake` skill, a zero-import task-swarm handoff for parallel execution, and optional locate-oriented experience retrieval. Version history is in the [CHANGELOG](./plugins/specode/CHANGELOG.md). | +| **task-swarm** | 0.10.2 | Standalone multi-agent **orchestration** driven by a `pipeline.yml` — semantic task groups with cross-group concurrency, forked coders, and per-group reviewer + validator loops (`state.json` is the single source of truth). specode delegates its execution phase here; also runnable directly via `/task-swarm:swarm`. See [`plugins/task-swarm/`](./plugins/task-swarm) + its CHANGELOG. | +| **obsidian-wiki** | 2.0.2 | Maintain an Obsidian LLM-Wiki via three skills — a deterministic structure layer (`wiki-struct`), content curation (`wiki-curate`), 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. See [`plugins/obsidian-wiki/`](./plugins/obsidian-wiki). | | **ragkit** | 0.1.0 | Standalone knowledge-base **RAG** — vector + lexical + metadata three-channel recall, RRF-fused, returns pointer cards. Optional downstream consumer of specode `distill` output; zero heavy deps (stdlib + numpy for lexical mode). See [`plugins/ragkit/`](./plugins/ragkit). | `## Installation` covers the whole marketplace; the other sections diff --git a/README.zh-CN.md b/README.zh-CN.md index 74d024e..958c2b4 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-6.1.2-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.1-blue.svg)](./plugins/obsidian-wiki/.claude-plugin/plugin.json) +[![specode](https://img.shields.io/badge/specode-6.1.3-blue.svg)](./plugins/specode/.claude-plugin/plugin.json) +[![task-swarm](https://img.shields.io/badge/task--swarm-0.10.2-blue.svg)](./plugins/task-swarm/.claude-plugin/plugin.json) +[![obsidian-wiki](https://img.shields.io/badge/obsidian--wiki-2.0.2-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** | 6.1.2 | 轻量**规格驱动工作流**——编排外壳,每个阶段委托给 [superpowers](https://github.com/obra/superpowers) 技能(一等公民原生降级),每条规格固定产出 4 份文档。**v6.1.2**:插件语言统一(仅 specode,零行为变化)——面向 agent 的指令/说明 prose 转地道英文,用户可见的固定输出与选择保持中文(执行方式 selector、模板、注入段、脚本 stderr、CHANGELOG、契约字段标识符)。**v6.1.1**:契约锁步 CI 门禁(`test_contract_lockstep.py`)保证 MEMORY 列 + frontmatter 键在 knowledge.py / retrieval.md / doc-template.md 三处一致(负控可抓 reorder/drop);新增 `references/knowledge-flow.md` 一页纸知识流心智模型。**v6.1.0**:新增独立 `specode:intake` skill(与 `distill` 平级)接管 requirements phase——项目分析(agent-docs 扫描 + 经验检索 + 读定位到的真实代码)+ 基于分析的澄清 + 写 `requirements.md`(保留 `spec_id`/`created_at`/`project_root` frontmatter 契约);修正 6.0.0 brainstorming 双产物错位(brainstorming 从此只产 `design.md`);检索主节点移到 intake、design 降为条件性 top-up;writing-plans 执行方式提问改为「忽略而非抑制」;SKILL.md 轻量化 215→171 行(verb 表 + autonomous-mode 细节下沉到 references),并清理 distill 里的 v3/codemap 死术语噪声。**v6.0.0 BREAKING**:固定产物 3→4——`design.md` 重定义为**传统设计文档**(背景与目标/架构概览/模块划分/接口设计/数据流/错误处理/测试策略,散文无 checkbox);新增 `tasks.md` 承载可执行计划(writing-plans 格式 + `**Interfaces:**` 契约块),引擎中立——task-swarm(pipeline.yml 改从它推导)/ superpowers / specode 自执行统一消费同一份文件;流水线变为 requirements → design → tasks → 执行方式 selector → 执行 → 验收,brainstorming 一次跨 requirements+design 双产物落盘;`/specode:continue` 改**加载即停**——只读文档 + 汇报进度简报后停下等指令,绝不自动续跑;`design-unchecked` 更名 `plan-unchecked`(tasks.md 优先,5.x legacy design.md 兜底,旧名保留 alias);5.x 存量 spec 经 legacy 推断行兜底不中断。**v5.2.0**:Tier-0 RagKit gate 收紧——探针从 `test -d .ragkit` 改为 `test -f .ragkit/chunks.json`(消除 `backend set` 只写 config.json 时的假阳性);Tier-0 采纳条目封顶 Tier-2 同等纪律(≤5 点/phase,复杂需求可标注理由突破)。 **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.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)。 | +| **specode** | 6.1.3 | 轻量**规格驱动工作流**编排外壳——带 host agent 走 requirements → design → tasks → 执行 → 验收,每阶段委托给 [superpowers](https://github.com/obra/superpowers) 技能(一等公民 specode 原生降级),每条规格固定产出 4 份文档(requirements / design / tasks / implementation-log)。内置独立 `intake` skill、零 import 的 task-swarm 并发执行衔接、可选的定位型经验检索。版本历史见 [CHANGELOG](./plugins/specode/CHANGELOG.md)。 | +| **task-swarm** | 0.10.2 | 由 `pipeline.yml` 驱动的独立**多 agent 编排**——语义任务组 + 跨组并发、fork coder、按组 reviewer + validator 循环(`state.json` 为单一事实源)。specode 把执行阶段委托到这里;也可用 `/task-swarm:swarm` 直接独立运行。详见 [`plugins/task-swarm/`](./plugins/task-swarm) 及其 CHANGELOG。 | +| **obsidian-wiki** | 2.0.2 | 用三个 skill 维护 Obsidian LLM-Wiki——确定性结构层(`wiki-struct`)、内容策展(`wiki-curate`)、统一编排器(`wiki-orchestrate`)。通用代码 + 按库配置放在家目录注册表 `~/.config/obsidian-wiki/`(回退 `/.wiki/config.json`),零硬编码结构。详见 [`plugins/obsidian-wiki/`](./plugins/obsidian-wiki)。 | | **ragkit** | 0.1.0 | 独立知识库 **RAG**——向量 + 词汇 + 元数据三路召回,RRF 融合,返回定位卡片。specode `distill` 产出的 `knowledge-base/` 可直接消费;零重型依赖(词汇路仅需 stdlib + numpy)。详见 [`plugins/ragkit/`](./plugins/ragkit)。 | `## 安装` 覆盖整个 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 03d2ff1..2d2fbe5 100644 --- a/plugins/obsidian-wiki/.claude-plugin/plugin.json +++ b/plugins/obsidian-wiki/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "obsidian-wiki", - "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.", + "version": "2.0.2", + "description": "Maintain an Obsidian LLM-Wiki via three skills — a 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. Version history is in the CHANGELOG.", "author": { "name": "xueqiang", "email": "xueqiang361@gmail.com" diff --git a/plugins/obsidian-wiki/CHANGELOG.md b/plugins/obsidian-wiki/CHANGELOG.md index d0063c0..95a16c5 100644 --- a/plugins/obsidian-wiki/CHANGELOG.md +++ b/plugins/obsidian-wiki/CHANGELOG.md @@ -4,6 +4,10 @@ obsidian-wiki 是维护 Obsidian LLM-Wiki 的多 agent 插件(从独立 skills ## Unreleased +## 2.0.2 (2026-07-05) — description 收敛为当前说明 + +- `description` 字段(marketplace.json + plugin.json)清掉累积的版本 blurb,收敛成一句话讲插件当前干嘛(三个 skill:wiki-struct / wiki-curate / wiki-orchestrate);版本历史只留在本 CHANGELOG。README 徽章 + 表格行同步。零行为变化。 + ## 2.0.1 (2026-07-02) — 清理 spec-distill 剥离后的文档残留 ### Fixed — 清理 2.0.0 spec-distill 剥离后的文档残留 diff --git a/plugins/specode/.claude-plugin/plugin.json b/plugins/specode/.claude-plugin/plugin.json index e2ef0a6..6676f3d 100644 --- a/plugins/specode/.claude-plugin/plugin.json +++ b/plugins/specode/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "specode", - "version": "6.1.2", - "description": "Lightweight spec-driven workflow: orchestrates superpowers skills per phase, lands 4 fixed docs (requirements/design/tasks/implementation-log). **v6.1.2**: 插件语言统一(仅 specode,零行为变化)——面向 agent 的指令/说明 prose 全部转地道英文(SKILL/references/commands/脚本 docstring+注释);用户可见的固定输出与选择保持中文(执行方式 selector、模板、注入段 ## 项目级约束 / ## 参考定位、脚本 stderr 用户消息、CHANGELOG)。 **v6.1.1**: 新增契约锁步 CI 门禁 tests/test_contract_lockstep.py(MEMORY 列 + frontmatter 键在 knowledge.py/retrieval.md/doc-template.md 三处一致,负控验证可抓 reorder/drop);新增 references/knowledge-flow.md 一页纸知识流心智模型(distill/knowledge-base/MEMORY/ragkit/intake-检索 的谁产·谁读·何时)。 **v6.1.0**: 新增独立 intake skill(skills/intake/,同 distill,user-invocable:false)接管 requirements phase — 项目分析(agent-docs 扫描+经验检索+读真实代码)+基于分析的澄清+写 requirements.md(保留 spec_id/created_at/project_root frontmatter 契约);修正 6.0.0 的brainstorming 双产物错位 — brainstorming 从此只产 design.md(单产物),requirements 由 intake 产;检索主节点移到 intake 项目分析步、design 降为条件性 top-up;弊端修复 — writing-plans 结尾的执行方式提问改为「忽略而非抑制」;SKILL 轻量化 215→171 行(verb 表/autonomous-mode 细节下沉到 refs,零行为变化)。 **v6.0.0 BREAKING**: 固定产物 3→4 — design.md 重定义为**传统设计文档**(背景与目标/架构概览/模块划分/接口设计/数据流/错误处理/测试策略,散文无 checkbox);新增 tasks.md 承载可执行计划(writing-plans 格式 + Interfaces 契约块,引擎中立,task-swarm/superpowers/自执行统一消费,pipeline.yml 改从 tasks.md 推导);流水线变为 requirements→design→tasks→执行方式 selector→执行→验收,brainstorming 一次跨 requirements+design 双产物落盘(后置 relocate 检查两份);continue 改「加载即停」— 只读文档+汇报进度简报后停下等指令,绝不自动续跑;design-unchecked 更名 plan-unchecked(tasks.md 优先,design.md 含 checkbox 按 5.x legacy 兜底,旧名保留 alias)。5.x 存量 spec 由 continue 推断表 legacy 行兜底识别,不中断。 **v5.2.0**: Tier-0 RagKit gate tightened — probe changed from `test -d .ragkit` to `test -f .ragkit/chunks.json` (eliminates false-positive when only config.json exists after `backend set`); Tier-0 采纳条目 capped at Tier-2 discipline (≤5/phase, reasoned override allowed). **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`。", + "version": "6.1.3", + "description": "Lightweight spec-driven workflow orchestration shell — walks a host agent through requirements → design → tasks → execute → acceptance, delegating each phase to superpowers skills with a first-class specode-native fallback, and landing 4 fixed docs per spec (requirements / design / tasks / implementation-log). Bundles a dedicated intake skill for the requirements phase, a zero-import task-swarm handoff for parallel execution, and optional locate-oriented experience retrieval. Version history is in the CHANGELOG.", "author": { "name": "xueqiang", "email": "xueqiang361@gmail.com" diff --git a/plugins/specode/CHANGELOG.md b/plugins/specode/CHANGELOG.md index 9eab4a1..909825d 100644 --- a/plugins/specode/CHANGELOG.md +++ b/plugins/specode/CHANGELOG.md @@ -4,6 +4,10 @@ specode 是 spec-driven 轻量工作流插件:requirements → design → task ## Unreleased +## 6.1.3 (2026-07-05) + +- **`description` 字段收敛为「当前插件说明」,不再堆版本史**:marketplace UI 显示的是 `.claude-plugin/marketplace.json` + `plugin.json` 的 `description` 字段,此前每次 release 把 `**vX.Y.Z**: …` 往前追加、从不删旧的,累积到 2601 字符(9+ 版全在里面)。现清成一句话讲插件当前干嘛(intake / task-swarm 衔接 / 可选检索),版本历史只留在 CHANGELOG。README 表格行 + 徽章同步。**go-forward 规则**:release 只 bump 版本 + 写 CHANGELOG,`description` 仅在插件用途本身变化时才动,永不再堆版本 blurb。 + ## 6.1.2 (2026-07-05) - **插件语言统一(仅 specode,零行为变化)**:把面向 agent 的**指令 / 说明性 prose 全部转成地道英文**(按中文语义转写,非直译)——`skills/*/SKILL.md`(specode / intake / distill)、`skills/specode/references/*.md`(retrieval / obsidian / superpowers-wiring / knowledge-flow)、`commands/*.md`、以及三个脚本的 docstring + 行内注释。 diff --git a/plugins/task-swarm/.claude-plugin/plugin.json b/plugins/task-swarm/.claude-plugin/plugin.json index caa609b..4ab6a27 100644 --- a/plugins/task-swarm/.claude-plugin/plugin.json +++ b/plugins/task-swarm/.claude-plugin/plugin.json @@ -1,12 +1,17 @@ { "name": "task-swarm", - "version": "0.10.1", - "description": "Multi-agent orchestration driven by a pipeline.yml: semantic task groups with cross-group concurrency, fork coders, and per-group reviewer + validator loops. **v0.10.1**: 编排内核 skill `task-swarm` 加 `user-invocable:false`,斜杠菜单不再显示裸 `/task-swarm`(应经 `/task-swarm:swarm` 或 trigger words 激活);命令 `/task-swarm:swarm` 不变。v0.5–0.9 lands FIX-1/2 + 方案 D + inbox sentinel + M7 init dedupe + M2 run-loop + M3 pipeline-end validator + 方案 B (task.md 「开发纪律 (范式参考)」段)。**v0.10.0 BREAKING**: 拔出记忆注入工程 — 删除 `_ingest_lessons.py` + cmd_resolve 中的自动 ingest 调用 + `--no-ingest` flag。task-swarm 不再于 resolve 后自动写 `/.ai-memory/knowledge/cases/*.yml` 或 `pitfalls/*.yml`。round 1/2 baseline 证明 ingest 不 net 省 token。如需 per-spec md 知识到 Obsidian wiki, 手动 `/specode:distill ` (specode 4.0.0+, md-only)。如需 v0.9.x ingest 行为, checkout `backup/specode-v3.4.0-task-swarm-v0.9.2`。无 codemap-aimemory dependency (v0.10.0 起 task-swarm 完全独立)。", + "version": "0.10.2", + "description": "Standalone multi-agent orchestration driven by a pipeline.yml — semantic task groups with cross-group concurrency, forked coders, and per-group reviewer + validator loops (state.json is the single source of truth). specode delegates its execution phase here; also runnable directly via /task-swarm:swarm. Version history is in the CHANGELOG.", "author": { "name": "xueqiang", "email": "xueqiang361@gmail.com" }, "homepage": "https://github.com/qxbyte/pluginhub", "license": "MIT", - "keywords": ["task-swarm", "multi-agent", "orchestration", "pipeline"] + "keywords": [ + "task-swarm", + "multi-agent", + "orchestration", + "pipeline" + ] } diff --git a/plugins/task-swarm/CHANGELOG.md b/plugins/task-swarm/CHANGELOG.md index fa20700..85c2289 100644 --- a/plugins/task-swarm/CHANGELOG.md +++ b/plugins/task-swarm/CHANGELOG.md @@ -4,6 +4,10 @@ task-swarm 是从 specode 拆出的独立多 agent 编排 plugin。本文件记 ## Unreleased +## 0.10.2 (2026-07-05) — description 收敛为当前说明 + +- `description` 字段(marketplace.json + plugin.json)清掉累积的版本 blurb,收敛成一句话讲插件当前干嘛;版本历史只留在本 CHANGELOG。README 徽章 + 表格行同步。零行为变化。 + ## 0.10.1 (2026-06-30) — 斜杠菜单:隐藏裸 `/task-swarm` ### Changed