You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: improve /plugin-dev:start command best practices compliance
Restructure command to follow Claude Code best practices and the
plugin's command-development skill guidelines:
- Add argument-hint to frontmatter for documenting $ARGUMENTS usage
- Reorder steps logically (arguments → context → question → route)
- Add explicit header field ("Create") for AskUserQuestion
- Make option structure explicit with label/description format
- Add explicit multiSelect: false for mutually exclusive choices
- Fix code fence language markers (``` → ```text)
Fixes#144
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
@@ -13,25 +14,22 @@ Welcome the user and help them choose the right path for their plugin developmen
13
14
14
15
Present the user with a clear choice between two development paths, explain when each is appropriate, then route them to the correct workflow.
15
16
16
-
## Step 1: Present Options with AskUserQuestion
17
+
## Step 1: Handle Arguments
17
18
18
-
Use the AskUserQuestion tool to ask the user which path they want to take. Present these options:
19
-
20
-
**Question**: "What would you like to create?"
21
-
22
-
**Options**:
19
+
If the user provided arguments ($ARGUMENTS is not empty):
23
20
24
-
1.**A plugin** (Recommended for most users)
25
-
- 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."
21
+
- Analyze the arguments to see if intent is already clear
22
+
- If arguments clearly indicate a plugin (e.g., "database migration tool"), suggest plugin path
23
+
- If arguments clearly indicate a marketplace (e.g., "team collection", "distribute our plugins"), suggest marketplace path
24
+
- Still ask for confirmation before routing
26
25
27
-
2.**A marketplace**
28
-
- 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."
26
+
**Initial request:** $ARGUMENTS
29
27
30
-
## Step 2: Provide Context Before They Choose
28
+
## Step 2: Provide Context
31
29
32
30
Before presenting the question, briefly explain:
33
31
34
-
```
32
+
```text
35
33
Welcome to the Plugin Development Toolkit!
36
34
37
35
I'll help you get started. First, let me explain your options:
@@ -47,37 +45,49 @@ I'll help you get started. First, let me explain your options:
47
45
- Choose this if you already have plugins to organize, or want to plan a collection upfront
48
46
```
49
47
50
-
## Step 3: Route Based on Choice
48
+
## Step 3: Ask User Question
49
+
50
+
Use the AskUserQuestion tool to ask the user which path they want to take.
51
+
52
+
**Header**: "Create"
53
+
**Question**: "What would you like to create?"
54
+
**multiSelect**: false
55
+
56
+
**Options**:
57
+
58
+
Option 1:
59
+
60
+
- label: "A plugin (Recommended)"
61
+
- 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."
62
+
63
+
Option 2:
64
+
65
+
- label: "A marketplace"
66
+
- 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."
67
+
68
+
## Step 4: Route Based on Choice
51
69
52
70
After the user selects an option:
53
71
54
72
**If they chose "A plugin"**:
73
+
55
74
- Acknowledge their choice
56
75
- Use the SlashCommand tool to invoke `/plugin-dev:create-plugin`
57
76
- Pass through any context from $ARGUMENTS if provided
58
77
59
78
**If they chose "A marketplace"**:
79
+
60
80
- Acknowledge their choice
61
81
- Use the SlashCommand tool to invoke `/plugin-dev:create-marketplace`
62
82
- Pass through any context from $ARGUMENTS if provided
63
83
64
-
## Step 4: Handle Arguments
65
-
66
-
If the user provided arguments ($ARGUMENTS is not empty):
67
-
- Analyze the arguments to see if intent is already clear
68
-
- If arguments clearly indicate a plugin (e.g., "database migration tool"), suggest plugin path
69
-
- If arguments clearly indicate a marketplace (e.g., "team collection", "distribute our plugins"), suggest marketplace path
70
-
- Still ask for confirmation before routing
71
-
72
-
**Initial request:** $ARGUMENTS
73
-
74
84
---
75
85
76
86
## Example Interactions
77
87
78
88
### Example 1: No arguments provided
79
89
80
-
```
90
+
```text
81
91
User: /plugin-dev:start
82
92
83
93
Claude: Welcome to the Plugin Development Toolkit!
@@ -99,7 +109,7 @@ I'll help you get started. First, let me explain your options:
99
109
100
110
### Example 2: Arguments suggest a plugin
101
111
102
-
```
112
+
```text
103
113
User: /plugin-dev:start a code review assistant
104
114
105
115
Claude: Welcome to the Plugin Development Toolkit!
@@ -116,7 +126,7 @@ Claude: Great! Let me start the plugin creation workflow...
116
126
117
127
### Example 3: Arguments suggest a marketplace
118
128
119
-
```
129
+
```text
120
130
User: /plugin-dev:start organize our team's internal tools
121
131
122
132
Claude: Welcome to the Plugin Development Toolkit!
0 commit comments