Guidelines for contributing plugins to this marketplace.
kas-claude-plugins/
├── .claude-plugin/
│ └── marketplace.json # Lists all available plugins
├── plugins/
│ ├── kas/ # Each plugin in its own directory
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json # Plugin manifest
│ │ ├── agents/ # Subagent definitions
│ │ ├── commands/ # Slash commands
│ │ ├── hooks/ # Hook configuration
│ │ ├── skills/ # Agent skills
│ │ └── README.md # Plugin documentation
│ └── your-plugin/
│ └── ...
├── CONTRIBUTING.md # This file
└── README.md # Marketplace documentation
mkdir -p plugins/your-plugin/{.claude-plugin,agents,commands,hooks,skills}plugins/your-plugin/.claude-plugin/plugin.json:
{
"name": "your-plugin",
"description": "What your plugin does",
"version": "1.0.0",
"author": {
"name": "Your Name",
"url": "https://github.com/yourusername"
},
"repository": "https://github.com/brkastner/kas-claude-plugins",
"license": "MIT",
"keywords": ["relevant", "keywords"]
}Add to .claude-plugin/marketplace.json:
{
"plugins": [
{
"name": "your-plugin",
"description": "Brief description",
"version": "1.0.0",
"source": "./plugins/your-plugin",
"category": "productivity"
}
]
}claude plugin validate ./plugins/your-pluginSlash commands that users invoke directly.
# /your-plugin:command-name - Brief description
Detailed instructions for Claude when this command is invoked.
## Workflow
1. Step one
2. Step twoSubagents invoked via the Task tool.
# Agent Name
Description of what this agent does.
## When to Use
- Scenario A
- Scenario B
## Behavior
Instructions for the agent...Event handlers that run automatically.
{
"hooks": {
"SessionStart": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/your-script.sh",
"timeout": 10
}
]
}
]
}
}Important: Always use ${CLAUDE_PLUGIN_ROOT} for paths in hooks.
Specialized capabilities with triggers and behaviors.
- Always use
${CLAUDE_PLUGIN_ROOT}in hooks and scripts - Plugins are cached; absolute paths won't work after installation
- Make scripts executable:
chmod +x hooks/scripts/*.sh - Exit cleanly; don't block on errors
- Keep hooks fast (< 10s timeout recommended)
- Include README.md in your plugin directory
- Document all commands, agents, and hooks
- Provide usage examples
Test your plugin before submitting:
# Validate manifest
claude plugin validate ./plugins/your-plugin
# Test with --plugin-dir
claude --plugin-dir ./plugins/your-plugin -p "test your commands"- Fork the repository
- Create your plugin in
plugins/your-plugin/ - Validate the plugin manifest
- Add entry to marketplace.json
- Test installation and all features
- Submit PR with:
- Description of what the plugin does
- List of commands/agents provided
- Any prerequisites
- Keep plugins focused and well-documented
- Don't duplicate existing functionality
- Respect user privacy (no telemetry without consent)
- Handle errors gracefully
Open an issue at https://github.com/brkastner/kas-claude-plugins/issues