Skip to content

Commit ea25a46

Browse files
sjnimsclaude
andcommitted
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>
1 parent bb3200f commit ea25a46

1 file changed

Lines changed: 36 additions & 26 deletions

File tree

plugins/plugin-dev/commands/start.md

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
description: Start plugin development - choose your path
3+
argument-hint: [description]
34
allowed-tools: AskUserQuestion, SlashCommand, TodoWrite
45
model: sonnet
56
disable-model-invocation: true
@@ -13,25 +14,22 @@ Welcome the user and help them choose the right path for their plugin developmen
1314

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

16-
## Step 1: Present Options with AskUserQuestion
17+
## Step 1: Handle Arguments
1718

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):
2320

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
2625

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
2927

30-
## Step 2: Provide Context Before They Choose
28+
## Step 2: Provide Context
3129

3230
Before presenting the question, briefly explain:
3331

34-
```
32+
```text
3533
Welcome to the Plugin Development Toolkit!
3634
3735
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:
4745
- Choose this if you already have plugins to organize, or want to plan a collection upfront
4846
```
4947

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
5169

5270
After the user selects an option:
5371

5472
**If they chose "A plugin"**:
73+
5574
- Acknowledge their choice
5675
- Use the SlashCommand tool to invoke `/plugin-dev:create-plugin`
5776
- Pass through any context from $ARGUMENTS if provided
5877

5978
**If they chose "A marketplace"**:
79+
6080
- Acknowledge their choice
6181
- Use the SlashCommand tool to invoke `/plugin-dev:create-marketplace`
6282
- Pass through any context from $ARGUMENTS if provided
6383

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-
7484
---
7585

7686
## Example Interactions
7787

7888
### Example 1: No arguments provided
7989

80-
```
90+
```text
8191
User: /plugin-dev:start
8292
8393
Claude: Welcome to the Plugin Development Toolkit!
@@ -99,7 +109,7 @@ I'll help you get started. First, let me explain your options:
99109

100110
### Example 2: Arguments suggest a plugin
101111

102-
```
112+
```text
103113
User: /plugin-dev:start a code review assistant
104114
105115
Claude: Welcome to the Plugin Development Toolkit!
@@ -116,7 +126,7 @@ Claude: Great! Let me start the plugin creation workflow...
116126

117127
### Example 3: Arguments suggest a marketplace
118128

119-
```
129+
```text
120130
User: /plugin-dev:start organize our team's internal tools
121131
122132
Claude: Welcome to the Plugin Development Toolkit!

0 commit comments

Comments
 (0)