BREAKING: Commands are now loaded as skills per Claude Code's unified architecture.
Changes:
- Removed separate `commands` field from plugin.json
- Added `./commands/` to `skills` array
- Bumped version to 1.2.0
- Updated description to reflect unified structure
This aligns with Claude Code's documentation which has merged skills and
slash commands into a single concept. Both directories are now loaded
as skills, maintaining backwards compatibility.
Closes#111
Fixes#103, #106, #108
Claude Code automatically loads hooks/hooks.json by convention.
Explicitly declaring it in plugin.json causes a duplicate detection
error: "Duplicate hooks file detected"
Added regression test to prevent this from being reintroduced.
Fixes plugin installation validation error: "agents: Invalid input"
The plugin manifest validator requires explicit file paths for agents,
not directory paths. Changed format:
- "agents": "./agents" → explicit file path array
- Added version field (required by validator)
- Changed commands/skills to array format for consistency
This matches the format used by other working plugins (e.g.,
Parslee-ai/neo uses explicit file paths for agents).
Validated with: claude plugin validate .claude-plugin/plugin.json
Fixes#90
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added agents field pointing to ./agents directory (10 agents)
- Added hooks field pointing to ./hooks/hooks.json
- These were supported but not declared, potentially causing
agents not to load when installed as a plugin
Addresses part of #88 (rules still need manual install per
upstream limitation - filed anthropics/claude-code#21163)
Previously hooks were not loaded when the plugin was installed because
plugin.json didn't declare the hooks path. This caused errors like:
"Stop hook error: .../skills/continuous-learning/evaluate-session.sh: No such file"
The hooks are defined in hooks/hooks.json and use JS implementations in
scripts/hooks/ directory.
Remove the static `version: "1.0.0"` field from plugin.json to enable
Claude Code's git SHA-based version detection and automatic updates.
Previously, the presence of a version field caused Claude Code to use
static version string comparison instead of git commit SHA comparison,
preventing `/plugin update` from detecting new commits.
This change aligns with the pattern used by all official Anthropic
plugins in claude-plugins-official marketplace.
Fixes#33
Claude Code automatically loads hooks/hooks.json from the plugin directory.
Explicitly specifying it in plugin.json causes a duplicate hooks error:
Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded
file .../hooks/hooks.json. The standard hooks/hooks.json is loaded
automatically, so manifest.hooks should only reference additional hook files.
Fixes#29