feat(planning, work-items, testing, mutation-testing): declare hard plugin dependencies
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 85/100
Línea de trabajo
Edita los cuatro archivos plugin.json listados (p. ej. plugins/planning/.claude-plugin/plugin.json) para añadir el array dependencies exactamente como en la tabla. Ejecuta scripts/new-changelog-fragment.sh para cada plugin para añadir fragmentos de changelog. Valida con bash scripts/validate-plugins.sh --only "planning work-items testing mutation-testing" y bash scripts/check-changelog-fragments.sh --check; hecho cuando todos los prints de jq coincidan y los scripts salgan con 0.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Shell
- Estrellas
- 22
- Forks
- 2
- Merge medio
- 3 h 38 min
- PR fusionados (30 d)
- 959
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de melodic-software/claude-code-plugins
-
admission-deferred priority: medium status: ready work-class: scoped
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
melodic-software/claude-code-plugins#10887 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
agent-ready priority: medium status: ready work-class: mechanical
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
melodic-software/claude-code-plugins#10804 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
agent-ready priority: medium status: ready work-class: scoped
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
melodic-software/claude-code-plugins#10227 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Converge the awk and mjs YAML grammars before setup-apply uses yaml-subset.mjs - part 1 of 4Abiertoadmission-deferred priority: medium status: ready work-class: scoped
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
melodic-software/claude-code-plugins#10128 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
pr-pipeline: clear a feedback-not-landed escalation once the head moves and no lane thread is openPosiblemente ocupada @melodic-automation-lanes la tomó hoy. Abiertopriority: medium status: needs-decision work-class: scoped
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
melodic-software/claude-code-plugins#10074 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de melodic-software/claude-code-plugins
Issues similares
-
launch-client --save-creds creates creds/<account>/ with mode 755, not 700Posiblemente ocupada @metis-sprock la tomó hoy. Abiertobacklog bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
EchoTools/nevr-runtime#1471 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Clean up the ko retry testsAbiertoarea/dev-infra area/reliability area/tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
agent-substrate/substrate#3461 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
pypa/advisory-database#412 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue rust
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
elixpo/crumb.elixpo#257 ·
Los mantenedores suelen responder en 1 día