Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

feat(planning, work-items, testing, mutation-testing): declare hard plugin dependencies

オープン 初心者向け
#9,914 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
85/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
shell
領域
cli

調査の方向性

記載された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 の本文から書いたものです。

説明

agent-ready priority: medium status: ready work-class: scoped

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 the work-items plugin, wayfind cannot read or write the tracker. Say so and stop" (also plugins/planning/skills/wayfind/SKILL.md:20).
  • plugins/work-items/skills/ship/actions/run.md:71: ship run invokes /implementation:implement-dispatch with no presence check and no fallback.
  • plugins/testing/skills/cleanup/SKILL.md:56 and :124: the mutation gate needs mutation-testing. Without it, only --cannot-fail-only runs.
  • plugins/mutation-testing/skills/audit/SKILL.md:96 and :104: --exercised invokes /testing:audit --file to find tests, and refuses when testing is 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.json prints ["work-items"]
  • jq -c '.dependencies' plugins/work-items/.claude-plugin/plugin.json prints ["implementation"]
  • jq -c '.dependencies' plugins/testing/.claude-plugin/plugin.json prints ["mutation-testing"], or null with the PR body saying the cycle failed to install
  • jq -c '.dependencies' plugins/mutation-testing/.claude-plugin/plugin.json prints ["testing"]
  • bash scripts/validate-plugins.sh --only "planning work-items testing mutation-testing" exits 0
  • bash scripts/check-changelog-fragments.sh --check exits 0 and bash scripts/check-changelog-fragments.sh --check-required origin/main exits 0
  • With CLAUDE_CONFIG_DIR set to a fresh mktemp -d directory: claude plugin marketplace add "$PWD" and claude plugin install testing@melodic-software both exit 0, claude plugin list --json lists testing and mutation-testing, and claude plugin list --json | jq '[.. | objects | select(has("errors"))] | length' prints 0
  • ci-status is green on the PR head
主要言語
Shell
スター
22
フォーク
2
平均マージ
2時間 45分
マージ済み PR(30日)
940

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

melodic-software/claude-code-plugins のほかの issue

melodic-software/claude-code-plugins の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。