feat(planning, work-items, testing, mutation-testing): declare hard plugin dependencies
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
記載された4つの plugin.json ファイル(例: plugins/planning/.claude-plugin/plugin.json)を編集し、表の通りに dependencies 配列を追加する。各プラグインに対して scripts/new-changelog-fragment.sh を実行して changelog フラグメントを追加する。bash scripts/validate-plugins.sh --only "planning work-items testing mutation-testing" と bash scripts/check-changelog-fragments.sh --check で検証する;すべての jq の出力が一致し、スクリプトが 0 で終了したら完了。
索引モデルが issue の本文から書いたものです。
説明
Refs #6462. Slice 1 of 2.
Problem
The core bundle (slice 2) installs its members through native dependencies, so a member that cannot do a job without another plugin must declare that plugin, or the bundle's closure is incomplete. On origin/main only plugins/playgrounds/.claude-plugin/plugin.json declares dependencies. docs/plugin-philosophy.md:104-107 reserves dependencies for hard requires and keeps optional collaboration presence-gated with a fallback.
Among the 53 core members, four call sites have no working fallback without their collaborator:
plugins/planning/skills/wayfind/context/tracker-mechanics.md:11: "Without thework-itemsplugin, wayfind cannot read or write the tracker. Say so and stop" (alsoplugins/planning/skills/wayfind/SKILL.md:20).plugins/work-items/skills/ship/actions/run.md:71:ship runinvokes/implementation:implement-dispatchwith no presence check and no fallback.plugins/testing/skills/cleanup/SKILL.md:56and:124: the mutation gate needsmutation-testing. Without it, only--cannot-fail-onlyruns.plugins/mutation-testing/skills/audit/SKILL.md:96and:104:--exercisedinvokes/testing:audit --fileto find tests, and refuses whentestingis not installed.
All four targets are core members, so these declarations add nothing outside the core set to the bundle's closure.
Fix
Add an unversioned dependencies array to four manifests. Use a bare name, which resolves in this marketplace (https://code.claude.com/docs/en/plugins/dependencies.md, "Declare a dependency with a version constraint"):
| Manifest | dependencies |
Call site |
|---|---|---|
plugins/planning/.claude-plugin/plugin.json |
["work-items"] |
plugins/planning/skills/wayfind/context/tracker-mechanics.md:11 |
plugins/work-items/.claude-plugin/plugin.json |
["implementation"] |
plugins/work-items/skills/ship/actions/run.md:71 |
plugins/testing/.claude-plugin/plugin.json |
["mutation-testing"] |
plugins/testing/skills/cleanup/SKILL.md:56 |
plugins/mutation-testing/.claude-plugin/plugin.json |
["testing"] |
plugins/mutation-testing/skills/audit/SKILL.md:104 |
testing and mutation-testing depend on each other. The dependencies page does not say whether a cycle installs. The live install check below settles it. If it fails, drop testing's entry, keep mutation-testing's, and say so in the PR body.
Add one changelog fragment per plugin with scripts/new-changelog-fragment.sh planning work-items testing mutation-testing minor, with a ### Changed entry naming the dependency. Edit nothing under .github/**.
Done when
-
jq -c '.dependencies' plugins/planning/.claude-plugin/plugin.jsonprints["work-items"] -
jq -c '.dependencies' plugins/work-items/.claude-plugin/plugin.jsonprints["implementation"] -
jq -c '.dependencies' plugins/testing/.claude-plugin/plugin.jsonprints["mutation-testing"], ornullwith the PR body saying the cycle failed to install -
jq -c '.dependencies' plugins/mutation-testing/.claude-plugin/plugin.jsonprints["testing"] -
bash scripts/validate-plugins.sh --only "planning work-items testing mutation-testing"exits 0 -
bash scripts/check-changelog-fragments.sh --checkexits 0 andbash scripts/check-changelog-fragments.sh --check-required origin/mainexits 0 - With
CLAUDE_CONFIG_DIRset to a freshmktemp -ddirectory:claude plugin marketplace add "$PWD"andclaude plugin install testing@melodic-softwareboth exit 0,claude plugin list --jsonliststestingandmutation-testing, andclaude plugin list --json | jq '[.. | objects | select(has("errors"))] | length'prints0 -
ci-statusis green on the PR head
- 主要言語
- Shell
- スター
- 22
- フォーク
- 2
- 平均マージ
- 2時間 45分
- マージ済み PR(30日)
- 940
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
melodic-software/claude-code-plugins のほかの issue
-
admission-deferred priority: medium status: ready work-class: scoped
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
melodic-software/claude-code-plugins#10128 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
pr-pipeline: clear a feedback-not-landed escalation once the head moves and no lane thread is openオープンpriority: medium status: needs-decision work-class: scoped
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
melodic-software/claude-code-plugins#10074 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
fix(harness-ops): bound the OTEL hot tier's total size, not only each file対応中かも @melodic-automation-lanes が今日担当しました。 オープンagent-ready priority: medium status: ready work-class: scoped
難易度 2/5 1〜2日 初心者へのやさしさ 78/100
melodic-software/claude-code-plugins#9865 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
priority: medium status: needs-decision work-class: scoped
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
melodic-software/claude-code-plugins#9855 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
priority: medium work-class: scoped
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
melodic-software/claude-code-plugins#9842 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
melodic-software/claude-code-plugins の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
osam-cologne/archlinux-proaudio#917 ·
メンテナーはふだん 1 日以内に返信
-
微信订阅オープンallows image
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
DaoCloud/public-image-mirror#46265 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
agent-ex high-priority tech-debt
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
DigiBanks99/menlo#483 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100