specweave 0.23.18 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +93 -49
- package/CLAUDE.md +137 -4
- package/dist/src/cli/helpers/ado-area-path-mapper.d.ts +89 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.d.ts.map +1 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.js +213 -0
- package/dist/src/cli/helpers/ado-area-path-mapper.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts +29 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js +109 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +2 -0
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/smart-filter.d.ts +83 -0
- package/dist/src/cli/helpers/smart-filter.d.ts.map +1 -0
- package/dist/src/cli/helpers/smart-filter.js +265 -0
- package/dist/src/cli/helpers/smart-filter.js.map +1 -0
- package/dist/src/core/qa/quality-gate-decider.d.ts +1 -1
- package/dist/src/core/qa/quality-gate-decider.js +2 -2
- package/dist/src/core/qa/quality-gate-decider.js.map +1 -1
- package/dist/src/core/qa/risk-calculator.d.ts +2 -2
- package/dist/src/core/qa/risk-calculator.js +2 -2
- package/dist/src/core/validators/ac-presence-validator.d.ts +56 -0
- package/dist/src/core/validators/ac-presence-validator.d.ts.map +1 -0
- package/dist/src/core/validators/ac-presence-validator.js +149 -0
- package/dist/src/core/validators/ac-presence-validator.js.map +1 -0
- package/dist/src/integrations/ado/area-path-mapper.d.ts +137 -0
- package/dist/src/integrations/ado/area-path-mapper.d.ts.map +1 -0
- package/dist/src/integrations/ado/area-path-mapper.js +267 -0
- package/dist/src/integrations/ado/area-path-mapper.js.map +1 -0
- package/dist/src/integrations/jira/filter-processor.d.ts +126 -0
- package/dist/src/integrations/jira/filter-processor.d.ts.map +1 -0
- package/dist/src/integrations/jira/filter-processor.js +207 -0
- package/dist/src/integrations/jira/filter-processor.js.map +1 -0
- package/dist/src/integrations/jira/jira-client.d.ts +13 -0
- package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-client.js +33 -0
- package/dist/src/integrations/jira/jira-client.js.map +1 -1
- package/dist/src/utils/ac-embedder.d.ts +63 -0
- package/dist/src/utils/ac-embedder.d.ts.map +1 -0
- package/dist/src/utils/ac-embedder.js +217 -0
- package/dist/src/utils/ac-embedder.js.map +1 -0
- package/dist/src/utils/env-manager.d.ts +86 -0
- package/dist/src/utils/env-manager.d.ts.map +1 -0
- package/dist/src/utils/env-manager.js +188 -0
- package/dist/src/utils/env-manager.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/agents/AGENTS-INDEX.md +1 -1
- package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +9 -9
- package/plugins/specweave/commands/specweave-do.md +37 -0
- package/plugins/specweave/commands/specweave-done.md +159 -0
- package/plugins/specweave/commands/specweave-embed-acs.md +446 -0
- package/plugins/specweave/commands/specweave-next.md +148 -3
- package/plugins/specweave/commands/specweave-qa.md +2 -2
- package/plugins/specweave/hooks/pre-increment-start.sh +168 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ado/commands/specweave-ado-import-projects.md +331 -0
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-alternatives/commands/alternatives-analyze.md +336 -0
- package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +651 -0
- package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +420 -0
- package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +487 -0
- package/plugins/specweave-backend/commands/api-scaffold.md +80 -0
- package/plugins/specweave-backend/commands/crud-generate.md +109 -0
- package/plugins/specweave-backend/commands/migration-generate.md +139 -0
- package/plugins/specweave-confluent/commands/connector-deploy.md +154 -0
- package/plugins/specweave-confluent/commands/ksqldb-query.md +179 -0
- package/plugins/specweave-confluent/commands/schema-register.md +123 -0
- package/plugins/specweave-core/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-core/commands/architecture-review.md +288 -0
- package/plugins/specweave-core/commands/code-review.md +213 -0
- package/plugins/specweave-core/commands/refactor-plan.md +249 -0
- package/plugins/specweave-core/skills/code-quality/SKILL.md +157 -0
- package/plugins/specweave-core/skills/design-patterns/SKILL.md +244 -0
- package/plugins/specweave-core/skills/software-architecture/SKILL.md +83 -0
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +22 -0
- package/plugins/specweave-cost-optimizer/commands/cost-analyze.md +360 -0
- package/plugins/specweave-cost-optimizer/commands/cost-optimize.md +480 -0
- package/plugins/specweave-cost-optimizer/skills/aws-cost-expert/SKILL.md +416 -0
- package/plugins/specweave-cost-optimizer/skills/cloud-pricing/SKILL.md +325 -0
- package/plugins/specweave-cost-optimizer/skills/cost-optimization/SKILL.md +337 -0
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-diagrams/commands/diagrams-generate.md +168 -0
- package/plugins/specweave-docs/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-docs/commands/docs-generate.md +441 -0
- package/plugins/specweave-docs/commands/docs-init.md +334 -0
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +581 -0
- package/plugins/specweave-docs/skills/spec-driven-brainstorming/SKILL.md +689 -0
- package/plugins/specweave-docs/skills/technical-writing/SKILL.md +1039 -0
- package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-figma/.claude-plugin/plugin.json +23 -0
- package/plugins/specweave-figma/commands/figma-import.md +690 -0
- package/plugins/specweave-figma/commands/figma-to-react.md +834 -0
- package/plugins/specweave-figma/commands/figma-tokens.md +815 -0
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +387 -0
- package/plugins/specweave-frontend/agents/frontend-architect/README.md +385 -0
- package/plugins/specweave-frontend/agents/frontend-architect/examples.md +590 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/component-template.tsx +152 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/hook-template.ts +311 -0
- package/plugins/specweave-frontend/agents/frontend-architect/templates/page-template.tsx +228 -0
- package/plugins/specweave-frontend/commands/component-generate.md +510 -0
- package/plugins/specweave-frontend/commands/design-system-init.md +494 -0
- package/plugins/specweave-frontend/commands/frontend-scaffold.md +207 -0
- package/plugins/specweave-frontend/commands/nextjs-setup.md +396 -0
- package/plugins/specweave-frontend/skills/design-system-architect/SKILL.md +278 -0
- package/plugins/specweave-frontend/skills/frontend/SKILL.md +420 -0
- package/plugins/specweave-frontend/skills/nextjs/SKILL.md +546 -0
- package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +194 -0
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/commands/import-projects.js +183 -0
- package/plugins/specweave-jira/commands/import-projects.md +97 -0
- package/plugins/specweave-jira/commands/import-projects.ts +288 -0
- package/plugins/specweave-jira/commands/specweave-jira-import-projects.md +298 -0
- package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kubernetes/commands/cluster-setup.md +262 -0
- package/plugins/specweave-kubernetes/commands/deployment-generate.md +242 -0
- package/plugins/specweave-kubernetes/commands/helm-scaffold.md +333 -0
- package/plugins/specweave-ml/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-mobile/commands/app-scaffold.md +233 -0
- package/plugins/specweave-mobile/commands/build-config.md +256 -0
- package/plugins/specweave-mobile/commands/screen-generate.md +289 -0
- package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +13 -12
- package/plugins/specweave-plugin-dev/commands/plugin-create.md +333 -0
- package/plugins/specweave-plugin-dev/commands/plugin-publish.md +339 -0
- package/plugins/specweave-plugin-dev/commands/plugin-test.md +293 -0
- package/plugins/specweave-plugin-dev/skills/claude-sdk/SKILL.md +162 -0
- package/plugins/specweave-plugin-dev/skills/marketplace-publishing/SKILL.md +263 -0
- package/plugins/specweave-plugin-dev/skills/plugin-development/SKILL.md +316 -0
- package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-release/commands/specweave-release-npm.md +110 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +168 -0
- package/plugins/specweave-testing/.claude-plugin/plugin.json +21 -0
- package/plugins/specweave-testing/agents/qa-engineer/AGENT.md +797 -0
- package/plugins/specweave-testing/agents/qa-engineer/README.md +443 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/playwright-e2e-test.ts +470 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/test-data-factory.ts +507 -0
- package/plugins/specweave-testing/agents/qa-engineer/templates/vitest-unit-test.ts +400 -0
- package/plugins/specweave-testing/agents/qa-engineer/test-strategies.md +726 -0
- package/plugins/specweave-testing/commands/e2e-setup.md +1081 -0
- package/plugins/specweave-testing/commands/test-coverage.md +979 -0
- package/plugins/specweave-testing/commands/test-generate.md +1156 -0
- package/plugins/specweave-testing/commands/test-init.md +409 -0
- package/plugins/specweave-testing/skills/e2e-playwright/SKILL.md +769 -0
- package/plugins/specweave-testing/skills/tdd-expert/SKILL.md +934 -0
- package/plugins/specweave-testing/skills/unit-testing-expert/SKILL.md +1011 -0
- package/plugins/specweave-tooling/.claude-plugin/plugin.json +22 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-create.md +691 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-package.md +751 -0
- package/plugins/specweave-tooling/commands/specweave-tooling-skill-validate.md +858 -0
- package/plugins/specweave-ui/.claude-plugin/plugin.json +10 -0
- package/plugins/specweave-ui/commands/ui-automate.md +199 -0
- package/plugins/specweave-ui/commands/ui-inspect.md +70 -0
- package/plugins/specweave-ui/skills/browser-automation/SKILL.md +314 -0
- package/plugins/specweave-ui/skills/ui-testing/SKILL.md +716 -0
- package/plugins/specweave-ui/skills/visual-regression/SKILL.md +728 -0
- package/plugins/specweave/commands/check-hooks.md +0 -257
- package/plugins/specweave/commands/specweave-archive-increments.md +0 -82
- package/plugins/specweave-plugin-dev/skills/plugin-expert/SKILL.md +0 -1231
- /package/plugins/specweave/{agents/code-reviewer.md → skills/code-reviewer/SKILL.md} +0 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
# /specweave-plugin-dev:plugin-create
|
|
2
|
+
|
|
3
|
+
Create complete Claude Code plugins with proper structure, configuration, and best practices.
|
|
4
|
+
|
|
5
|
+
You are an expert Claude Code plugin developer who creates production-ready plugins.
|
|
6
|
+
|
|
7
|
+
## Your Task
|
|
8
|
+
|
|
9
|
+
Generate complete plugin scaffolds with commands, skills, agents, and proper configuration.
|
|
10
|
+
|
|
11
|
+
### 1. Plugin Structure
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
~/.claude/plugins/my-plugin/
|
|
15
|
+
├── .claude-plugin/
|
|
16
|
+
│ └── plugin.json # Plugin manifest
|
|
17
|
+
├── commands/
|
|
18
|
+
│ └── my-command.md # Slash commands
|
|
19
|
+
├── skills/
|
|
20
|
+
│ └── my-skill/
|
|
21
|
+
│ └── SKILL.md # Auto-activating skills
|
|
22
|
+
├── agents/
|
|
23
|
+
│ └── my-agent/
|
|
24
|
+
│ └── AGENT.md # Sub-agents
|
|
25
|
+
└── lib/
|
|
26
|
+
└── vendor/ # Dependencies (if needed)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 2. plugin.json Format
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"name": "my-plugin",
|
|
34
|
+
"description": "Clear description with trigger keywords for skill activation",
|
|
35
|
+
"version": "1.0.0",
|
|
36
|
+
"author": {
|
|
37
|
+
"name": "Your Name",
|
|
38
|
+
"email": "you@example.com"
|
|
39
|
+
},
|
|
40
|
+
"homepage": "https://github.com/user/my-plugin",
|
|
41
|
+
"repository": "https://github.com/user/my-plugin",
|
|
42
|
+
"license": "MIT",
|
|
43
|
+
"keywords": [
|
|
44
|
+
"keyword1",
|
|
45
|
+
"keyword2",
|
|
46
|
+
"claude-code",
|
|
47
|
+
"plugin"
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. Command Format (Slash Commands)
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
# /my-plugin:my-command
|
|
56
|
+
|
|
57
|
+
Short description of what this command does.
|
|
58
|
+
|
|
59
|
+
You are an expert [role] who [does what].
|
|
60
|
+
|
|
61
|
+
## Your Task
|
|
62
|
+
|
|
63
|
+
Detailed instructions for Claude on what to do when command is invoked.
|
|
64
|
+
|
|
65
|
+
### 1. First Section
|
|
66
|
+
|
|
67
|
+
- Key point 1
|
|
68
|
+
- Key point 2
|
|
69
|
+
|
|
70
|
+
### 2. Code Examples
|
|
71
|
+
|
|
72
|
+
\```typescript
|
|
73
|
+
// Example code
|
|
74
|
+
\```
|
|
75
|
+
|
|
76
|
+
### 3. Workflow
|
|
77
|
+
|
|
78
|
+
1. Step 1
|
|
79
|
+
2. Step 2
|
|
80
|
+
3. Step 3
|
|
81
|
+
|
|
82
|
+
## Example Usage
|
|
83
|
+
|
|
84
|
+
**User**: "Do something"
|
|
85
|
+
|
|
86
|
+
**Response**:
|
|
87
|
+
- Action taken
|
|
88
|
+
- Result provided
|
|
89
|
+
|
|
90
|
+
## When to Use
|
|
91
|
+
|
|
92
|
+
- Use case 1
|
|
93
|
+
- Use case 2
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Critical Rules**:
|
|
97
|
+
- Header MUST be `# /plugin-name:command-name`
|
|
98
|
+
- NO YAML frontmatter in commands (only in skills)
|
|
99
|
+
- Clear, actionable instructions
|
|
100
|
+
- Code examples where relevant
|
|
101
|
+
|
|
102
|
+
### 4. Skill Format (Auto-Activating)
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
---
|
|
106
|
+
name: skill-name
|
|
107
|
+
description: Expert description with ACTIVATION KEYWORDS. Include what the skill does AND trigger words users might say. Activates for keyword1, keyword2, phrase3.
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
# Skill Title
|
|
111
|
+
|
|
112
|
+
You are an expert [role] with deep knowledge of [domain].
|
|
113
|
+
|
|
114
|
+
## Core Expertise
|
|
115
|
+
|
|
116
|
+
### 1. Topic Area
|
|
117
|
+
|
|
118
|
+
Content here...
|
|
119
|
+
|
|
120
|
+
### 2. Code Examples
|
|
121
|
+
|
|
122
|
+
\```typescript
|
|
123
|
+
// Examples
|
|
124
|
+
\```
|
|
125
|
+
|
|
126
|
+
## Best Practices
|
|
127
|
+
|
|
128
|
+
- Practice 1
|
|
129
|
+
- Practice 2
|
|
130
|
+
|
|
131
|
+
You are ready to help with [domain]!
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Critical Rules**:
|
|
135
|
+
- MUST have YAML frontmatter with `name` and `description`
|
|
136
|
+
- Description MUST include activation keywords
|
|
137
|
+
- File MUST be named `SKILL.md` (uppercase)
|
|
138
|
+
- File MUST be in subdirectory: `skills/skill-name/SKILL.md`
|
|
139
|
+
|
|
140
|
+
### 5. Agent Format (Sub-Agents)
|
|
141
|
+
|
|
142
|
+
```markdown
|
|
143
|
+
---
|
|
144
|
+
name: agent-name
|
|
145
|
+
description: What this agent specializes in
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
# Agent Title
|
|
149
|
+
|
|
150
|
+
You are a specialized agent for [purpose].
|
|
151
|
+
|
|
152
|
+
## Capabilities
|
|
153
|
+
|
|
154
|
+
1. Capability 1
|
|
155
|
+
2. Capability 2
|
|
156
|
+
|
|
157
|
+
## Workflow
|
|
158
|
+
|
|
159
|
+
1. Step 1
|
|
160
|
+
2. Step 2
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Invocation**:
|
|
164
|
+
```typescript
|
|
165
|
+
Task({
|
|
166
|
+
subagent_type: "plugin-name:agent-folder:agent-yaml-name",
|
|
167
|
+
prompt: "Task description"
|
|
168
|
+
});
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 6. Plugin Development Workflow
|
|
172
|
+
|
|
173
|
+
**Step 1: Plan Plugin**
|
|
174
|
+
```yaml
|
|
175
|
+
name: my-awesome-plugin
|
|
176
|
+
purpose: Cost optimization for cloud infrastructure
|
|
177
|
+
target_users: DevOps engineers, FinOps teams
|
|
178
|
+
features:
|
|
179
|
+
commands:
|
|
180
|
+
- cost-analyze: Analyze cloud costs
|
|
181
|
+
- cost-optimize: Implement optimizations
|
|
182
|
+
skills:
|
|
183
|
+
- cost-optimization: Auto-activate for cost questions
|
|
184
|
+
- cloud-pricing: Pricing knowledge
|
|
185
|
+
- aws-cost-expert: AWS-specific expertise
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Step 2: Create Structure**
|
|
189
|
+
```bash
|
|
190
|
+
mkdir -p ~/.claude/plugins/my-awesome-plugin/{.claude-plugin,commands,skills/{cost-optimization,cloud-pricing,aws-cost-expert}}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Step 3: Write plugin.json**
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"name": "my-awesome-plugin",
|
|
197
|
+
"description": "Cloud cost optimization for AWS, Azure, GCP. Activates for cost analysis, reduce costs, cloud spending, finops.",
|
|
198
|
+
"version": "1.0.0"
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Step 4: Create Commands**
|
|
203
|
+
```bash
|
|
204
|
+
cat > commands/cost-analyze.md << 'EOF'
|
|
205
|
+
# /my-awesome-plugin:cost-analyze
|
|
206
|
+
...
|
|
207
|
+
EOF
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Step 5: Create Skills**
|
|
211
|
+
```bash
|
|
212
|
+
cat > skills/cost-optimization/SKILL.md << 'EOF'
|
|
213
|
+
---
|
|
214
|
+
name: cost-optimization
|
|
215
|
+
description: Expert cloud cost optimization. Activates for reduce costs, save money, cloud costs, finops, cost analysis.
|
|
216
|
+
---
|
|
217
|
+
...
|
|
218
|
+
EOF
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Step 6: Test Plugin**
|
|
222
|
+
```bash
|
|
223
|
+
# Restart Claude Code
|
|
224
|
+
# Try slash command: /my-awesome-plugin:cost-analyze
|
|
225
|
+
# Test skill activation: "How can I reduce my AWS costs?"
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### 7. Best Practices
|
|
229
|
+
|
|
230
|
+
**Naming Conventions**:
|
|
231
|
+
- Plugin name: `kebab-case`
|
|
232
|
+
- Command names: `kebab-case`
|
|
233
|
+
- Skill names: `kebab-case`
|
|
234
|
+
- No special characters except hyphens
|
|
235
|
+
|
|
236
|
+
**Activation Keywords**:
|
|
237
|
+
```yaml
|
|
238
|
+
# ✅ Good: Specific trigger words
|
|
239
|
+
description: Expert Python optimization. Activates for python performance, optimize python code, speed up python, profiling, cProfile.
|
|
240
|
+
|
|
241
|
+
# ❌ Bad: Too generic
|
|
242
|
+
description: Python expert.
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**Directory Structure**:
|
|
246
|
+
```
|
|
247
|
+
# ✅ Correct
|
|
248
|
+
skills/my-skill/SKILL.md
|
|
249
|
+
|
|
250
|
+
# ❌ Wrong
|
|
251
|
+
skills/SKILL.md # Missing subdirectory
|
|
252
|
+
skills/my-skill.md # Wrong filename
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Testing Checklist**:
|
|
256
|
+
- ✅ Plugin loads without errors: `ls ~/.claude/plugins/`
|
|
257
|
+
- ✅ Commands appear: `/` (autocomplete)
|
|
258
|
+
- ✅ Skills activate on keywords
|
|
259
|
+
- ✅ No YAML parsing errors
|
|
260
|
+
- ✅ SKILL.md files in subdirectories
|
|
261
|
+
|
|
262
|
+
### 8. Common Mistakes
|
|
263
|
+
|
|
264
|
+
**Mistake 1: YAML in Commands**
|
|
265
|
+
```markdown
|
|
266
|
+
# ❌ Wrong: Commands don't use YAML
|
|
267
|
+
---
|
|
268
|
+
name: my-command
|
|
269
|
+
---
|
|
270
|
+
# /my-plugin:my-command
|
|
271
|
+
|
|
272
|
+
# ✅ Correct: Only header
|
|
273
|
+
# /my-plugin:my-command
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Mistake 2: Wrong SKILL.md Location**
|
|
277
|
+
```
|
|
278
|
+
# ❌ Wrong
|
|
279
|
+
skills/SKILL.md
|
|
280
|
+
|
|
281
|
+
# ✅ Correct
|
|
282
|
+
skills/skill-name/SKILL.md
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Mistake 3: Missing Activation Keywords**
|
|
286
|
+
```yaml
|
|
287
|
+
# ❌ Bad
|
|
288
|
+
description: Cloud cost expert
|
|
289
|
+
|
|
290
|
+
# ✅ Good
|
|
291
|
+
description: Cloud cost expert. Activates for reduce costs, save money, aws costs, azure costs, finops, cost optimization.
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### 9. Example Plugin Templates
|
|
295
|
+
|
|
296
|
+
**Minimal Plugin**:
|
|
297
|
+
```
|
|
298
|
+
my-plugin/
|
|
299
|
+
├── .claude-plugin/
|
|
300
|
+
│ └── plugin.json
|
|
301
|
+
└── commands/
|
|
302
|
+
└── hello.md
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Full-Featured Plugin**:
|
|
306
|
+
```
|
|
307
|
+
my-plugin/
|
|
308
|
+
├── .claude-plugin/
|
|
309
|
+
│ └── plugin.json
|
|
310
|
+
├── commands/
|
|
311
|
+
│ ├── analyze.md
|
|
312
|
+
│ ├── optimize.md
|
|
313
|
+
│ └── report.md
|
|
314
|
+
├── skills/
|
|
315
|
+
│ ├── skill-1/
|
|
316
|
+
│ │ └── SKILL.md
|
|
317
|
+
│ ├── skill-2/
|
|
318
|
+
│ │ └── SKILL.md
|
|
319
|
+
│ └── skill-3/
|
|
320
|
+
│ └── SKILL.md
|
|
321
|
+
└── agents/
|
|
322
|
+
└── specialist/
|
|
323
|
+
└── AGENT.md
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
## When to Use
|
|
327
|
+
|
|
328
|
+
- Creating new Claude Code plugins
|
|
329
|
+
- Scaffolding plugin structure
|
|
330
|
+
- Adding commands/skills to existing plugins
|
|
331
|
+
- Migrating features to plugin architecture
|
|
332
|
+
|
|
333
|
+
Create production-ready Claude Code plugins!
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
# /specweave-plugin-dev:plugin-publish
|
|
2
|
+
|
|
3
|
+
Publish Claude Code plugins to npm, GitHub, or marketplace with proper packaging and documentation.
|
|
4
|
+
|
|
5
|
+
You are an expert plugin publisher who prepares and releases production-ready plugins.
|
|
6
|
+
|
|
7
|
+
## Your Task
|
|
8
|
+
|
|
9
|
+
Package, document, and publish Claude Code plugins following best practices.
|
|
10
|
+
|
|
11
|
+
### 1. Pre-Publication Checklist
|
|
12
|
+
|
|
13
|
+
**Code Quality**:
|
|
14
|
+
- ✅ All commands tested and working
|
|
15
|
+
- ✅ Skills activate on keywords
|
|
16
|
+
- ✅ Agents functional (if any)
|
|
17
|
+
- ✅ No hardcoded secrets
|
|
18
|
+
- ✅ No security vulnerabilities
|
|
19
|
+
- ✅ Plugin loads without errors
|
|
20
|
+
|
|
21
|
+
**Documentation**:
|
|
22
|
+
- ✅ README.md with installation instructions
|
|
23
|
+
- ✅ CHANGELOG.md with version history
|
|
24
|
+
- ✅ LICENSE file (MIT recommended)
|
|
25
|
+
- ✅ Examples and use cases
|
|
26
|
+
- ✅ Contribution guidelines (if open source)
|
|
27
|
+
|
|
28
|
+
**Metadata**:
|
|
29
|
+
- ✅ plugin.json complete (name, description, version, author, keywords)
|
|
30
|
+
- ✅ package.json (if publishing to npm)
|
|
31
|
+
- ✅ Semantic versioning (1.0.0, 1.1.0, 2.0.0)
|
|
32
|
+
- ✅ Keywords for discoverability
|
|
33
|
+
|
|
34
|
+
### 2. Package Structure
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
my-plugin/
|
|
38
|
+
├── .claude-plugin/
|
|
39
|
+
│ └── plugin.json
|
|
40
|
+
├── commands/
|
|
41
|
+
│ └── *.md
|
|
42
|
+
├── skills/
|
|
43
|
+
│ └── */SKILL.md
|
|
44
|
+
├── agents/ (optional)
|
|
45
|
+
│ └── */AGENT.md
|
|
46
|
+
├── lib/ (optional)
|
|
47
|
+
│ └── vendor/
|
|
48
|
+
├── README.md
|
|
49
|
+
├── CHANGELOG.md
|
|
50
|
+
├── LICENSE
|
|
51
|
+
└── package.json (if npm)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 3. README Template
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# My Awesome Plugin
|
|
58
|
+
|
|
59
|
+
> Brief tagline (one sentence)
|
|
60
|
+
|
|
61
|
+
Expert [domain] plugin for Claude Code with [key features].
|
|
62
|
+
|
|
63
|
+
## Features
|
|
64
|
+
|
|
65
|
+
- ✅ Feature 1 with `/command1`
|
|
66
|
+
- ✅ Feature 2 with auto-activating skills
|
|
67
|
+
- ✅ Feature 3 with specialized agents
|
|
68
|
+
|
|
69
|
+
## Installation
|
|
70
|
+
|
|
71
|
+
**From GitHub** (recommended for development):
|
|
72
|
+
\```bash
|
|
73
|
+
claude plugin add github:username/my-plugin
|
|
74
|
+
\```
|
|
75
|
+
|
|
76
|
+
**From npm**:
|
|
77
|
+
\```bash
|
|
78
|
+
claude plugin add my-plugin
|
|
79
|
+
\```
|
|
80
|
+
|
|
81
|
+
**Manual**:
|
|
82
|
+
\```bash
|
|
83
|
+
git clone https://github.com/username/my-plugin ~/.claude/plugins/my-plugin
|
|
84
|
+
\```
|
|
85
|
+
|
|
86
|
+
## Commands
|
|
87
|
+
|
|
88
|
+
### /my-plugin:command-name
|
|
89
|
+
|
|
90
|
+
Description of what this command does.
|
|
91
|
+
|
|
92
|
+
**Usage**:
|
|
93
|
+
\```
|
|
94
|
+
/my-plugin:analyze
|
|
95
|
+
\```
|
|
96
|
+
|
|
97
|
+
## Skills
|
|
98
|
+
|
|
99
|
+
### skill-name
|
|
100
|
+
|
|
101
|
+
Auto-activates for: keyword1, keyword2, phrase3
|
|
102
|
+
|
|
103
|
+
Provides expert help with [domain].
|
|
104
|
+
|
|
105
|
+
## Examples
|
|
106
|
+
|
|
107
|
+
**Example 1: Use Case**
|
|
108
|
+
\```
|
|
109
|
+
User: "How do I...?"
|
|
110
|
+
Plugin: [Response]
|
|
111
|
+
\```
|
|
112
|
+
|
|
113
|
+
## Configuration
|
|
114
|
+
|
|
115
|
+
If plugin requires configuration:
|
|
116
|
+
\```bash
|
|
117
|
+
# Add to ~/.config/claude/config.json
|
|
118
|
+
{
|
|
119
|
+
"plugins": {
|
|
120
|
+
"my-plugin": {
|
|
121
|
+
"apiKey": "your-key-here"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
\```
|
|
126
|
+
|
|
127
|
+
## Development
|
|
128
|
+
|
|
129
|
+
\```bash
|
|
130
|
+
git clone https://github.com/username/my-plugin
|
|
131
|
+
cd my-plugin
|
|
132
|
+
# Make changes
|
|
133
|
+
cp -r . ~/.claude/plugins/my-plugin
|
|
134
|
+
# Restart Claude Code
|
|
135
|
+
\```
|
|
136
|
+
|
|
137
|
+
## Contributing
|
|
138
|
+
|
|
139
|
+
PRs welcome! See CONTRIBUTING.md.
|
|
140
|
+
|
|
141
|
+
## License
|
|
142
|
+
|
|
143
|
+
MIT © Author Name
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### 4. Publishing to GitHub
|
|
147
|
+
|
|
148
|
+
**Step 1: Create Repository**
|
|
149
|
+
```bash
|
|
150
|
+
cd my-plugin
|
|
151
|
+
git init
|
|
152
|
+
git add .
|
|
153
|
+
git commit -m "Initial commit"
|
|
154
|
+
git branch -M main
|
|
155
|
+
git remote add origin https://github.com/username/my-plugin.git
|
|
156
|
+
git push -u origin main
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Step 2: Create Release**
|
|
160
|
+
```bash
|
|
161
|
+
# Tag version
|
|
162
|
+
git tag v1.0.0
|
|
163
|
+
git push origin v1.0.0
|
|
164
|
+
|
|
165
|
+
# Create GitHub release
|
|
166
|
+
gh release create v1.0.0 \
|
|
167
|
+
--title "v1.0.0" \
|
|
168
|
+
--notes "Initial release"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Step 3: Add Installation Instructions**
|
|
172
|
+
```markdown
|
|
173
|
+
## Installation
|
|
174
|
+
|
|
175
|
+
\```bash
|
|
176
|
+
claude plugin add github:username/my-plugin
|
|
177
|
+
\```
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 5. Publishing to npm
|
|
181
|
+
|
|
182
|
+
**Step 1: Create package.json**
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"name": "claude-plugin-my-plugin",
|
|
186
|
+
"version": "1.0.0",
|
|
187
|
+
"description": "Expert [domain] plugin for Claude Code",
|
|
188
|
+
"main": "index.js",
|
|
189
|
+
"scripts": {
|
|
190
|
+
"test": "echo \"No tests yet\""
|
|
191
|
+
},
|
|
192
|
+
"keywords": [
|
|
193
|
+
"claude-code",
|
|
194
|
+
"plugin",
|
|
195
|
+
"keyword1",
|
|
196
|
+
"keyword2"
|
|
197
|
+
],
|
|
198
|
+
"author": "Your Name <you@example.com>",
|
|
199
|
+
"license": "MIT",
|
|
200
|
+
"repository": {
|
|
201
|
+
"type": "git",
|
|
202
|
+
"url": "https://github.com/username/my-plugin"
|
|
203
|
+
},
|
|
204
|
+
"files": [
|
|
205
|
+
".claude-plugin/**/*",
|
|
206
|
+
"commands/**/*",
|
|
207
|
+
"skills/**/*",
|
|
208
|
+
"agents/**/*",
|
|
209
|
+
"lib/**/*",
|
|
210
|
+
"README.md",
|
|
211
|
+
"LICENSE"
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Step 2: Publish**
|
|
217
|
+
```bash
|
|
218
|
+
# Login to npm
|
|
219
|
+
npm login
|
|
220
|
+
|
|
221
|
+
# Publish
|
|
222
|
+
npm publish
|
|
223
|
+
|
|
224
|
+
# Update
|
|
225
|
+
npm version patch # 1.0.0 → 1.0.1
|
|
226
|
+
npm publish
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### 6. Versioning Strategy
|
|
230
|
+
|
|
231
|
+
**Semantic Versioning**:
|
|
232
|
+
```
|
|
233
|
+
MAJOR.MINOR.PATCH (1.2.3)
|
|
234
|
+
|
|
235
|
+
MAJOR: Breaking changes (2.0.0)
|
|
236
|
+
- Remove commands
|
|
237
|
+
- Change skill activation keywords
|
|
238
|
+
- Incompatible API changes
|
|
239
|
+
|
|
240
|
+
MINOR: New features (1.1.0)
|
|
241
|
+
- Add new commands
|
|
242
|
+
- Add new skills
|
|
243
|
+
- Enhance existing features
|
|
244
|
+
|
|
245
|
+
PATCH: Bug fixes (1.0.1)
|
|
246
|
+
- Fix typos
|
|
247
|
+
- Fix activation issues
|
|
248
|
+
- Update documentation
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### 7. Marketplace Submission
|
|
252
|
+
|
|
253
|
+
**Step 1: Prepare Submission**
|
|
254
|
+
```yaml
|
|
255
|
+
Plugin Name: my-plugin
|
|
256
|
+
Description: Expert [domain] plugin with [features]
|
|
257
|
+
Category: Development Tools
|
|
258
|
+
Tags: [tag1, tag2, tag3]
|
|
259
|
+
Repository: https://github.com/username/my-plugin
|
|
260
|
+
Documentation: https://github.com/username/my-plugin#readme
|
|
261
|
+
License: MIT
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**Step 2: Quality Requirements**
|
|
265
|
+
- ✅ README with clear installation
|
|
266
|
+
- ✅ Working examples
|
|
267
|
+
- ✅ No security issues
|
|
268
|
+
- ✅ No hardcoded secrets
|
|
269
|
+
- ✅ Follows naming conventions
|
|
270
|
+
- ✅ plugin.json complete
|
|
271
|
+
|
|
272
|
+
**Step 3: Submit**
|
|
273
|
+
```bash
|
|
274
|
+
# Via GitHub
|
|
275
|
+
# Create PR to claude-code/marketplace
|
|
276
|
+
# Add plugin to marketplace.json
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 8. Post-Publication
|
|
280
|
+
|
|
281
|
+
**Maintenance**:
|
|
282
|
+
```yaml
|
|
283
|
+
Regular Updates:
|
|
284
|
+
- Security patches
|
|
285
|
+
- Bug fixes
|
|
286
|
+
- Feature enhancements
|
|
287
|
+
- Documentation improvements
|
|
288
|
+
|
|
289
|
+
Community:
|
|
290
|
+
- Respond to issues
|
|
291
|
+
- Review pull requests
|
|
292
|
+
- Update examples
|
|
293
|
+
- Write blog posts
|
|
294
|
+
|
|
295
|
+
Versioning:
|
|
296
|
+
- Follow semver strictly
|
|
297
|
+
- Maintain CHANGELOG.md
|
|
298
|
+
- Tag releases
|
|
299
|
+
- Document breaking changes
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Analytics**:
|
|
303
|
+
```bash
|
|
304
|
+
# Track:
|
|
305
|
+
- npm downloads: https://npm-stat.com/charts.html?package=my-plugin
|
|
306
|
+
- GitHub stars
|
|
307
|
+
- Issues opened/closed
|
|
308
|
+
- Community contributions
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### 9. Best Practices
|
|
312
|
+
|
|
313
|
+
**Documentation**:
|
|
314
|
+
- Clear installation instructions
|
|
315
|
+
- Working examples
|
|
316
|
+
- Troubleshooting section
|
|
317
|
+
- API reference (if applicable)
|
|
318
|
+
- Video demo (optional, high impact)
|
|
319
|
+
|
|
320
|
+
**Naming**:
|
|
321
|
+
- Descriptive plugin name
|
|
322
|
+
- Prefix with `claude-plugin-` on npm
|
|
323
|
+
- Use keywords for discoverability
|
|
324
|
+
- Clear command names
|
|
325
|
+
|
|
326
|
+
**Support**:
|
|
327
|
+
- GitHub Discussions for Q&A
|
|
328
|
+
- Issues for bugs
|
|
329
|
+
- PR template for contributions
|
|
330
|
+
- Code of Conduct
|
|
331
|
+
|
|
332
|
+
## When to Use
|
|
333
|
+
|
|
334
|
+
- Publishing completed plugin
|
|
335
|
+
- Releasing new plugin version
|
|
336
|
+
- Submitting to marketplace
|
|
337
|
+
- Open-sourcing internal tools
|
|
338
|
+
|
|
339
|
+
Ship production-ready plugins!
|