Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 37 additions & 26 deletions plugins/plugin-dev/commands/start.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Start plugin development - choose your path
argument-hint: [description]
allowed-tools: AskUserQuestion, SlashCommand, TodoWrite
model: sonnet
disable-model-invocation: true
Expand All @@ -13,25 +14,22 @@ Welcome the user and help them choose the right path for their plugin developmen

Present the user with a clear choice between two development paths, explain when each is appropriate, then route them to the correct workflow.

## Step 1: Present Options with AskUserQuestion
## Step 1: Handle Arguments

Use the AskUserQuestion tool to ask the user which path they want to take. Present these options:

**Question**: "What would you like to create?"

**Options**:
If the user provided arguments ($ARGUMENTS is not empty):

1. **A plugin** (Recommended for most users)
- Description: "Create a single plugin with skills, commands, agents, hooks, or MCP integrations. Best for: building something new, adding functionality to Claude Code, or learning plugin development."
- Analyze the arguments to see if intent is already clear
- If arguments clearly indicate a plugin (e.g., "database migration tool"), suggest plugin path
- If arguments clearly indicate a marketplace (e.g., "team collection", "distribute our plugins"), suggest marketplace path
- Still ask for confirmation before routing

2. **A marketplace**
- Description: "Create a collection to organize and distribute multiple plugins. Best for: teams sharing internal tools, publishing a curated set of plugins, or organizing existing plugins."
**Initial request:** $ARGUMENTS

## Step 2: Provide Context Before They Choose
## Step 2: Provide Context

Before presenting the question, briefly explain:

```
```text
Welcome to the Plugin Development Toolkit!

I'll help you get started. First, let me explain your options:
Expand All @@ -47,37 +45,50 @@ I'll help you get started. First, let me explain your options:
- Choose this if you already have plugins to organize, or want to plan a collection upfront
```

## Step 3: Route Based on Choice
## Step 3: Ask User Question

Use the AskUserQuestion tool with these parameters:

- **header**: "Create"
- **question**: "What would you like to create?"
- **multiSelect**: false
- **options**: (defined below)

**Options**:

Option 1:

- label: "A plugin (Recommended)"
- description: "Create a single plugin with skills, commands, agents, hooks, or MCP integrations. Best for: building something new, adding functionality to Claude Code, or learning plugin development."

Option 2:

- label: "A marketplace"
- description: "Create a collection to organize and distribute multiple plugins. Best for: teams sharing internal tools, publishing a curated set of plugins, or organizing existing plugins."

## Step 4: Route Based on Choice

After the user selects an option:

**If they chose "A plugin"**:

- Acknowledge their choice
- Use the SlashCommand tool to invoke `/plugin-dev:create-plugin`
- Pass through any context from $ARGUMENTS if provided

**If they chose "A marketplace"**:

- Acknowledge their choice
- Use the SlashCommand tool to invoke `/plugin-dev:create-marketplace`
- Pass through any context from $ARGUMENTS if provided

## Step 4: Handle Arguments

If the user provided arguments ($ARGUMENTS is not empty):
- Analyze the arguments to see if intent is already clear
- If arguments clearly indicate a plugin (e.g., "database migration tool"), suggest plugin path
- If arguments clearly indicate a marketplace (e.g., "team collection", "distribute our plugins"), suggest marketplace path
- Still ask for confirmation before routing

**Initial request:** $ARGUMENTS

---

## Example Interactions

### Example 1: No arguments provided

```
```text
User: /plugin-dev:start

Claude: Welcome to the Plugin Development Toolkit!
Expand All @@ -99,7 +110,7 @@ I'll help you get started. First, let me explain your options:

### Example 2: Arguments suggest a plugin

```
```text
User: /plugin-dev:start a code review assistant

Claude: Welcome to the Plugin Development Toolkit!
Expand All @@ -116,7 +127,7 @@ Claude: Great! Let me start the plugin creation workflow...

### Example 3: Arguments suggest a marketplace

```
```text
User: /plugin-dev:start organize our team's internal tools

Claude: Welcome to the Plugin Development Toolkit!
Expand Down
Loading