diff --git a/CLAUDE.md b/CLAUDE.md index 3e1d326..b4eb294 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -163,6 +163,12 @@ leo-claude-mktplace/ - **MCP server venv path**: `${CLAUDE_PLUGIN_ROOT}/mcp-servers/{name}/.venv/bin/python` - **CLI tools forbidden** - Use MCP tools exclusively (never `tea`, `gh`, etc.) +#### ⚠️ plugin.json Format Rules (CRITICAL) +- **Hooks MUST be inline** - NEVER use `"hooks": "path/to/file.json"` +- **Agents auto-discover** - NEVER add `"agents": ["./agents/"]` - .md files found automatically +- **Always validate** - Run `./scripts/validate-marketplace.sh` before committing +- See lesson: `lessons/patterns/plugin-manifest-validation---hooks-and-agents-format-requirements` + ### Hooks (Valid Events Only) `PreToolUse`, `PostToolUse`, `UserPromptSubmit`, `SessionStart`, `SessionEnd`, `Notification`, `Stop`, `SubagentStop`, `PreCompact` diff --git a/plugins/data-platform/.claude-plugin/plugin.json b/plugins/data-platform/.claude-plugin/plugin.json index d15138c..00bae91 100644 --- a/plugins/data-platform/.claude-plugin/plugin.json +++ b/plugins/data-platform/.claude-plugin/plugin.json @@ -18,8 +18,14 @@ "etl", "dataframe" ], - "hooks": "hooks/hooks.json", + "hooks": { + "SessionStart": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/hooks/startup-check.sh" + } + ] + }, "commands": ["./commands/"], - "agents": ["./agents/"], "mcpServers": ["./.mcp.json"] } diff --git a/plugins/data-platform/hooks/hooks.json b/plugins/data-platform/hooks/hooks.json deleted file mode 100644 index 529b5ec..0000000 --- a/plugins/data-platform/hooks/hooks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "hooks": { - "SessionStart": [ - { - "type": "command", - "command": "${CLAUDE_PLUGIN_ROOT}/hooks/startup-check.sh" - } - ] - } -}