specweave 0.23.16 → 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.
Files changed (227) hide show
  1. package/.claude-plugin/marketplace.json +93 -38
  2. package/CLAUDE.md +159 -11
  3. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
  4. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +57 -0
  5. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
  6. package/dist/src/cli/commands/sync-spec-content.js +3 -0
  7. package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
  8. package/dist/src/cli/helpers/ado-area-path-mapper.d.ts +89 -0
  9. package/dist/src/cli/helpers/ado-area-path-mapper.d.ts.map +1 -0
  10. package/dist/src/cli/helpers/ado-area-path-mapper.js +213 -0
  11. package/dist/src/cli/helpers/ado-area-path-mapper.js.map +1 -0
  12. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts +29 -0
  13. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts.map +1 -0
  14. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js +109 -0
  15. package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js.map +1 -0
  16. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +1 -0
  17. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
  18. package/dist/src/cli/helpers/issue-tracker/ado.js +2 -0
  19. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  20. package/dist/src/cli/helpers/smart-filter.d.ts +83 -0
  21. package/dist/src/cli/helpers/smart-filter.d.ts.map +1 -0
  22. package/dist/src/cli/helpers/smart-filter.js +265 -0
  23. package/dist/src/cli/helpers/smart-filter.js.map +1 -0
  24. package/dist/src/core/progress/progress-tracker.d.ts +4 -1
  25. package/dist/src/core/progress/progress-tracker.d.ts.map +1 -1
  26. package/dist/src/core/progress/progress-tracker.js +33 -4
  27. package/dist/src/core/progress/progress-tracker.js.map +1 -1
  28. package/dist/src/core/qa/quality-gate-decider.d.ts +1 -1
  29. package/dist/src/core/qa/quality-gate-decider.js +2 -2
  30. package/dist/src/core/qa/quality-gate-decider.js.map +1 -1
  31. package/dist/src/core/qa/risk-calculator.d.ts +2 -2
  32. package/dist/src/core/qa/risk-calculator.js +2 -2
  33. package/dist/src/core/spec-content-sync.d.ts +1 -1
  34. package/dist/src/core/spec-content-sync.d.ts.map +1 -1
  35. package/dist/src/core/validators/ac-presence-validator.d.ts +56 -0
  36. package/dist/src/core/validators/ac-presence-validator.d.ts.map +1 -0
  37. package/dist/src/core/validators/ac-presence-validator.js +149 -0
  38. package/dist/src/core/validators/ac-presence-validator.js.map +1 -0
  39. package/dist/src/integrations/ado/ado-dependency-loader.d.ts +1 -1
  40. package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +1 -1
  41. package/dist/src/integrations/ado/ado-dependency-loader.js +39 -7
  42. package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -1
  43. package/dist/src/integrations/ado/area-path-mapper.d.ts +137 -0
  44. package/dist/src/integrations/ado/area-path-mapper.d.ts.map +1 -0
  45. package/dist/src/integrations/ado/area-path-mapper.js +267 -0
  46. package/dist/src/integrations/ado/area-path-mapper.js.map +1 -0
  47. package/dist/src/integrations/jira/filter-processor.d.ts +126 -0
  48. package/dist/src/integrations/jira/filter-processor.d.ts.map +1 -0
  49. package/dist/src/integrations/jira/filter-processor.js +207 -0
  50. package/dist/src/integrations/jira/filter-processor.js.map +1 -0
  51. package/dist/src/integrations/jira/jira-client.d.ts +13 -0
  52. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
  53. package/dist/src/integrations/jira/jira-client.js +33 -0
  54. package/dist/src/integrations/jira/jira-client.js.map +1 -1
  55. package/dist/src/utils/ac-embedder.d.ts +63 -0
  56. package/dist/src/utils/ac-embedder.d.ts.map +1 -0
  57. package/dist/src/utils/ac-embedder.js +217 -0
  58. package/dist/src/utils/ac-embedder.js.map +1 -0
  59. package/dist/src/utils/env-manager.d.ts +86 -0
  60. package/dist/src/utils/env-manager.d.ts.map +1 -0
  61. package/dist/src/utils/env-manager.js +188 -0
  62. package/dist/src/utils/env-manager.js.map +1 -0
  63. package/package.json +1 -1
  64. package/plugins/specweave/.claude-plugin/plugin.json +1 -1
  65. package/plugins/specweave/agents/AGENTS-INDEX.md +1 -1
  66. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +9 -9
  67. package/plugins/specweave/commands/specweave-do.md +37 -0
  68. package/plugins/specweave/commands/specweave-done.md +159 -0
  69. package/plugins/specweave/commands/specweave-embed-acs.md +446 -0
  70. package/plugins/specweave/commands/specweave-next.md +148 -3
  71. package/plugins/specweave/commands/specweave-qa.md +2 -2
  72. package/plugins/specweave/hooks/lib/migrate-increment-work.sh +1 -1
  73. package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +245 -0
  74. package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
  75. package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +149 -0
  76. package/plugins/specweave/hooks/lib/update-status-line.sh +34 -4
  77. package/plugins/specweave/hooks/lib/validate-spec-status.sh +1 -1
  78. package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +163 -0
  79. package/plugins/specweave/hooks/post-first-increment.sh +1 -1
  80. package/plugins/specweave/hooks/post-first-increment.sh.bak +61 -0
  81. package/plugins/specweave/hooks/post-spec-update.sh +1 -1
  82. package/plugins/specweave/hooks/post-spec-update.sh.bak +158 -0
  83. package/plugins/specweave/hooks/post-user-story-complete.sh +1 -1
  84. package/plugins/specweave/hooks/post-user-story-complete.sh.bak +179 -0
  85. package/plugins/specweave/hooks/pre-command-deduplication.sh +1 -1
  86. package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +83 -0
  87. package/plugins/specweave/hooks/pre-increment-start.sh +168 -0
  88. package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
  89. package/plugins/specweave/hooks/user-prompt-submit.sh.bak +386 -0
  90. package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
  91. package/plugins/specweave/skills/specweave-framework/SKILL.md +1 -1
  92. package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
  93. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +23 -0
  94. package/plugins/specweave-ado/agents/ado-multi-project-mapper/AGENT.md +23 -0
  95. package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +23 -0
  96. package/plugins/specweave-ado/commands/specweave-ado-import-projects.md +331 -0
  97. package/plugins/specweave-alternatives/.claude-plugin/plugin.json +10 -0
  98. package/plugins/specweave-alternatives/commands/alternatives-analyze.md +336 -0
  99. package/plugins/specweave-alternatives/skills/architecture-alternatives/SKILL.md +651 -0
  100. package/plugins/specweave-alternatives/skills/bmad-method/SKILL.md +420 -0
  101. package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +487 -0
  102. package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +23 -0
  103. package/plugins/specweave-backend/commands/api-scaffold.md +80 -0
  104. package/plugins/specweave-backend/commands/crud-generate.md +109 -0
  105. package/plugins/specweave-backend/commands/migration-generate.md +139 -0
  106. package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +23 -0
  107. package/plugins/specweave-confluent/commands/connector-deploy.md +154 -0
  108. package/plugins/specweave-confluent/commands/ksqldb-query.md +179 -0
  109. package/plugins/specweave-confluent/commands/schema-register.md +123 -0
  110. package/plugins/specweave-core/.claude-plugin/plugin.json +21 -0
  111. package/plugins/specweave-core/commands/architecture-review.md +288 -0
  112. package/plugins/specweave-core/commands/code-review.md +213 -0
  113. package/plugins/specweave-core/commands/refactor-plan.md +249 -0
  114. package/plugins/specweave-core/skills/code-quality/SKILL.md +157 -0
  115. package/plugins/specweave-core/skills/design-patterns/SKILL.md +244 -0
  116. package/plugins/specweave-core/skills/software-architecture/SKILL.md +83 -0
  117. package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +22 -0
  118. package/plugins/specweave-cost-optimizer/commands/cost-analyze.md +360 -0
  119. package/plugins/specweave-cost-optimizer/commands/cost-optimize.md +480 -0
  120. package/plugins/specweave-cost-optimizer/skills/aws-cost-expert/SKILL.md +416 -0
  121. package/plugins/specweave-cost-optimizer/skills/cloud-pricing/SKILL.md +325 -0
  122. package/plugins/specweave-cost-optimizer/skills/cost-optimization/SKILL.md +337 -0
  123. package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
  124. package/plugins/specweave-diagrams/agents/diagrams-architect/AGENT.md +23 -0
  125. package/plugins/specweave-diagrams/commands/diagrams-generate.md +168 -0
  126. package/plugins/specweave-docs/.claude-plugin/plugin.json +10 -0
  127. package/plugins/specweave-docs/commands/docs-generate.md +441 -0
  128. package/plugins/specweave-docs/commands/docs-init.md +334 -0
  129. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +581 -0
  130. package/plugins/specweave-docs/skills/spec-driven-brainstorming/SKILL.md +689 -0
  131. package/plugins/specweave-docs/skills/technical-writing/SKILL.md +1039 -0
  132. package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +1 -1
  133. package/plugins/specweave-figma/.claude-plugin/plugin.json +23 -0
  134. package/plugins/specweave-figma/commands/figma-import.md +690 -0
  135. package/plugins/specweave-figma/commands/figma-to-react.md +834 -0
  136. package/plugins/specweave-figma/commands/figma-tokens.md +815 -0
  137. package/plugins/specweave-frontend/.claude-plugin/plugin.json +21 -0
  138. package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +387 -0
  139. package/plugins/specweave-frontend/agents/frontend-architect/README.md +385 -0
  140. package/plugins/specweave-frontend/agents/frontend-architect/examples.md +590 -0
  141. package/plugins/specweave-frontend/agents/frontend-architect/templates/component-template.tsx +152 -0
  142. package/plugins/specweave-frontend/agents/frontend-architect/templates/hook-template.ts +311 -0
  143. package/plugins/specweave-frontend/agents/frontend-architect/templates/page-template.tsx +228 -0
  144. package/plugins/specweave-frontend/commands/component-generate.md +510 -0
  145. package/plugins/specweave-frontend/commands/design-system-init.md +494 -0
  146. package/plugins/specweave-frontend/commands/frontend-scaffold.md +207 -0
  147. package/plugins/specweave-frontend/commands/nextjs-setup.md +396 -0
  148. package/plugins/specweave-frontend/skills/design-system-architect/SKILL.md +278 -0
  149. package/plugins/specweave-frontend/skills/frontend/SKILL.md +420 -0
  150. package/plugins/specweave-frontend/skills/nextjs/SKILL.md +546 -0
  151. package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
  152. package/plugins/specweave-github/agents/github-manager/AGENT.md +23 -0
  153. package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +25 -0
  154. package/plugins/specweave-github/agents/user-story-updater/AGENT.md +25 -0
  155. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +194 -0
  156. package/plugins/specweave-github/lib/github-spec-content-sync.js +49 -0
  157. package/plugins/specweave-github/lib/github-spec-content-sync.ts +67 -0
  158. package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
  159. package/plugins/specweave-infrastructure/agents/devops/AGENT.md +26 -0
  160. package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +26 -0
  161. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +26 -0
  162. package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +26 -0
  163. package/plugins/specweave-infrastructure/agents/sre/AGENT.md +26 -0
  164. package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
  165. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +26 -0
  166. package/plugins/specweave-jira/commands/import-projects.js +183 -0
  167. package/plugins/specweave-jira/commands/import-projects.md +97 -0
  168. package/plugins/specweave-jira/commands/import-projects.ts +288 -0
  169. package/plugins/specweave-jira/commands/specweave-jira-import-projects.md +298 -0
  170. package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
  171. package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +26 -0
  172. package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +26 -0
  173. package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +26 -0
  174. package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
  175. package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +26 -0
  176. package/plugins/specweave-kubernetes/commands/cluster-setup.md +262 -0
  177. package/plugins/specweave-kubernetes/commands/deployment-generate.md +242 -0
  178. package/plugins/specweave-kubernetes/commands/helm-scaffold.md +333 -0
  179. package/plugins/specweave-ml/.claude-plugin/plugin.json +3 -3
  180. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +26 -0
  181. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +26 -0
  182. package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +26 -0
  183. package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +26 -0
  184. package/plugins/specweave-mobile/commands/app-scaffold.md +233 -0
  185. package/plugins/specweave-mobile/commands/build-config.md +256 -0
  186. package/plugins/specweave-mobile/commands/screen-generate.md +289 -0
  187. package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
  188. package/plugins/specweave-payments/agents/payment-integration/AGENT.md +26 -0
  189. package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +20 -0
  190. package/plugins/specweave-plugin-dev/commands/plugin-create.md +333 -0
  191. package/plugins/specweave-plugin-dev/commands/plugin-publish.md +339 -0
  192. package/plugins/specweave-plugin-dev/commands/plugin-test.md +293 -0
  193. package/plugins/specweave-plugin-dev/skills/claude-sdk/SKILL.md +162 -0
  194. package/plugins/specweave-plugin-dev/skills/marketplace-publishing/SKILL.md +263 -0
  195. package/plugins/specweave-plugin-dev/skills/plugin-development/SKILL.md +316 -0
  196. package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
  197. package/plugins/specweave-release/agents/release-manager/AGENT.md +27 -0
  198. package/plugins/specweave-release/commands/specweave-release-npm.md +110 -0
  199. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +168 -0
  200. package/plugins/specweave-testing/.claude-plugin/plugin.json +21 -0
  201. package/plugins/specweave-testing/agents/qa-engineer/AGENT.md +797 -0
  202. package/plugins/specweave-testing/agents/qa-engineer/README.md +443 -0
  203. package/plugins/specweave-testing/agents/qa-engineer/templates/playwright-e2e-test.ts +470 -0
  204. package/plugins/specweave-testing/agents/qa-engineer/templates/test-data-factory.ts +507 -0
  205. package/plugins/specweave-testing/agents/qa-engineer/templates/vitest-unit-test.ts +400 -0
  206. package/plugins/specweave-testing/agents/qa-engineer/test-strategies.md +726 -0
  207. package/plugins/specweave-testing/commands/e2e-setup.md +1081 -0
  208. package/plugins/specweave-testing/commands/test-coverage.md +979 -0
  209. package/plugins/specweave-testing/commands/test-generate.md +1156 -0
  210. package/plugins/specweave-testing/commands/test-init.md +409 -0
  211. package/plugins/specweave-testing/skills/e2e-playwright/SKILL.md +769 -0
  212. package/plugins/specweave-testing/skills/tdd-expert/SKILL.md +934 -0
  213. package/plugins/specweave-testing/skills/unit-testing-expert/SKILL.md +1011 -0
  214. package/plugins/specweave-tooling/.claude-plugin/plugin.json +22 -0
  215. package/plugins/specweave-tooling/commands/specweave-tooling-skill-create.md +691 -0
  216. package/plugins/specweave-tooling/commands/specweave-tooling-skill-package.md +751 -0
  217. package/plugins/specweave-tooling/commands/specweave-tooling-skill-validate.md +858 -0
  218. package/plugins/specweave-ui/.claude-plugin/plugin.json +10 -0
  219. package/plugins/specweave-ui/commands/ui-automate.md +199 -0
  220. package/plugins/specweave-ui/commands/ui-inspect.md +70 -0
  221. package/plugins/specweave-ui/skills/browser-automation/SKILL.md +314 -0
  222. package/plugins/specweave-ui/skills/ui-testing/SKILL.md +716 -0
  223. package/plugins/specweave-ui/skills/visual-regression/SKILL.md +728 -0
  224. package/plugins/specweave/commands/check-hooks.md +0 -257
  225. package/plugins/specweave/commands/specweave-archive-increments.md +0 -82
  226. package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -340
  227. /package/plugins/specweave/{agents/code-reviewer.md → skills/code-reviewer/SKILL.md} +0 -0
@@ -0,0 +1,751 @@
1
+ ---
2
+ name: specweave-tooling:skill-package
3
+ description: Package Claude Code skill for distribution via npm, GitHub, or direct sharing. Creates distributable archives with installation instructions and validation.
4
+ ---
5
+
6
+ # Package Skill for Distribution
7
+
8
+ **Distribution-Ready Packaging**: Create shareable skill packages with installation scripts and documentation.
9
+
10
+ You are helping the user package a Claude Code skill for distribution to others.
11
+
12
+ ## Distribution Methods
13
+
14
+ ### 1. NPM Package
15
+ - Professional distribution
16
+ - Versioning and updates
17
+ - `npm install` workflow
18
+ - Best for public skills
19
+
20
+ ### 2. GitHub Repository
21
+ - Source control integration
22
+ - Easy cloning and updates
23
+ - Issue tracking
24
+ - Best for collaborative skills
25
+
26
+ ### 3. Direct Archive (.tar.gz)
27
+ - Self-contained package
28
+ - No dependencies
29
+ - Manual installation
30
+ - Best for private/internal sharing
31
+
32
+ ### 4. Plugin Bundle
33
+ - Multiple skills in one package
34
+ - Shared dependencies
35
+ - Professional presentation
36
+ - Best for skill collections
37
+
38
+ ## Steps
39
+
40
+ ### Step 1: Validate Skill
41
+
42
+ **Before packaging, ensure skill is valid**:
43
+
44
+ ```bash
45
+ validate_before_package() {
46
+ local skill_path="$1"
47
+
48
+ echo "Validating skill before packaging..."
49
+
50
+ # Run validation (from skill-validate command)
51
+ if ! validate_skill "$skill_path"; then
52
+ echo "❌ Skill validation failed"
53
+ echo " Fix errors before packaging"
54
+ return 1
55
+ fi
56
+
57
+ echo "✅ Skill validation passed"
58
+ return 0
59
+ }
60
+ ```
61
+
62
+ ### Step 2: Gather Package Metadata
63
+
64
+ **Collect information for package**:
65
+
66
+ 1. **Package Name**: npm-compatible name (e.g., `claude-skill-python-data-science`)
67
+ 2. **Version**: Semantic versioning (e.g., `1.0.0`)
68
+ 3. **Description**: Brief summary for package managers
69
+ 4. **Author**: Name and email
70
+ 5. **License**: MIT, Apache-2.0, etc.
71
+ 6. **Repository**: GitHub URL (optional)
72
+ 7. **Keywords**: For discoverability
73
+
74
+ **Example**:
75
+ ```json
76
+ {
77
+ "name": "claude-skill-python-data-science",
78
+ "version": "1.0.0",
79
+ "description": "Python data science expert skill for Claude Code",
80
+ "author": "Your Name <email@example.com>",
81
+ "license": "MIT",
82
+ "repository": "https://github.com/username/claude-skill-python-data-science",
83
+ "keywords": ["claude", "skill", "python", "data-science", "pandas", "numpy"]
84
+ }
85
+ ```
86
+
87
+ ### Step 3: Create Package Structure
88
+
89
+ **Standard package structure**:
90
+
91
+ ```
92
+ package-name/
93
+ ├── README.md # Installation and usage
94
+ ├── LICENSE # License file
95
+ ├── package.json # NPM metadata (if NPM)
96
+ ├── install.sh # Installation script
97
+ ├── uninstall.sh # Uninstall script
98
+ ├── skill/ # Skill files
99
+ │ └── SKILL.md # The actual skill
100
+ └── examples/ # Usage examples (optional)
101
+ └── example-conversation.md
102
+ ```
103
+
104
+ **Create structure**:
105
+
106
+ ```bash
107
+ create_package_structure() {
108
+ local skill_path="$1"
109
+ local package_name="$2"
110
+ local package_dir="$3"
111
+
112
+ # Create directories
113
+ mkdir -p "$package_dir/skill"
114
+ mkdir -p "$package_dir/examples"
115
+
116
+ # Copy skill
117
+ cp "$skill_path" "$package_dir/skill/SKILL.md"
118
+
119
+ echo "✅ Package structure created"
120
+ }
121
+ ```
122
+
123
+ ### Step 4: Generate README.md
124
+
125
+ **Comprehensive README template**:
126
+
127
+ ```markdown
128
+ # [Skill Name]
129
+
130
+ [Brief description of what the skill does]
131
+
132
+ ## Installation
133
+
134
+ ### Personal Skills (Recommended)
135
+
136
+ ```bash
137
+ # Clone or download this repository
138
+ git clone [repository-url]
139
+
140
+ # Run installation script
141
+ cd [package-name]
142
+ bash install.sh
143
+ ```
144
+
145
+ Or manually:
146
+
147
+ ```bash
148
+ # Copy skill to personal skills directory
149
+ mkdir -p ~/.claude/skills/[skill-name]
150
+ cp skill/SKILL.md ~/.claude/skills/[skill-name]/SKILL.md
151
+ ```
152
+
153
+ ### Project Skills
154
+
155
+ ```bash
156
+ # Copy skill to project skills directory
157
+ mkdir -p .claude/skills/[skill-name]
158
+ cp skill/SKILL.md .claude/skills/[skill-name]/SKILL.md
159
+ ```
160
+
161
+ ### NPM (if published)
162
+
163
+ ```bash
164
+ npm install -g [package-name]
165
+ ```
166
+
167
+ ## Activation
168
+
169
+ This skill activates automatically when you mention:
170
+ - [Trigger keyword 1]
171
+ - [Trigger keyword 2]
172
+ - [Trigger phrase 1]
173
+
174
+ ## Examples
175
+
176
+ ### Example 1: [Use Case]
177
+
178
+ **You ask:**
179
+ > [Example question]
180
+
181
+ **Skill provides:**
182
+ [Description of response]
183
+
184
+ ### Example 2: [Use Case]
185
+
186
+ **You ask:**
187
+ > [Example question]
188
+
189
+ **Skill provides:**
190
+ [Description of response]
191
+
192
+ ## Features
193
+
194
+ - ✅ [Feature 1]
195
+ - ✅ [Feature 2]
196
+ - ✅ [Feature 3]
197
+
198
+ ## What This Skill Knows
199
+
200
+ [Bullet list of expertise areas]
201
+
202
+ ## Uninstallation
203
+
204
+ ```bash
205
+ bash uninstall.sh
206
+ ```
207
+
208
+ Or manually:
209
+
210
+ ```bash
211
+ rm -rf ~/.claude/skills/[skill-name]
212
+ ```
213
+
214
+ ## License
215
+
216
+ [License name] - See LICENSE file for details
217
+
218
+ ## Author
219
+
220
+ [Author name and contact]
221
+
222
+ ## Contributing
223
+
224
+ [Contribution guidelines if applicable]
225
+
226
+ ## Version History
227
+
228
+ ### 1.0.0 (YYYY-MM-DD)
229
+ - Initial release
230
+ - [Feature 1]
231
+ - [Feature 2]
232
+ ```
233
+
234
+ **Generate README**:
235
+
236
+ ```bash
237
+ generate_readme() {
238
+ local package_dir="$1"
239
+ local skill_name="$2"
240
+ local description="$3"
241
+ local author="$4"
242
+ local license="$5"
243
+
244
+ cat > "$package_dir/README.md" <<EOF
245
+ # $skill_name
246
+
247
+ $description
248
+
249
+ ## Installation
250
+
251
+ ### Personal Skills (Recommended)
252
+
253
+ \`\`\`bash
254
+ # Clone or download this repository
255
+ git clone [repository-url]
256
+
257
+ # Run installation script
258
+ cd [package-name]
259
+ bash install.sh
260
+ \`\`\`
261
+
262
+ Or manually:
263
+
264
+ \`\`\`bash
265
+ # Copy skill to personal skills directory
266
+ mkdir -p ~/.claude/skills/$skill_name
267
+ cp skill/SKILL.md ~/.claude/skills/$skill_name/SKILL.md
268
+ \`\`\`
269
+
270
+ ## Activation
271
+
272
+ This skill activates automatically when needed.
273
+
274
+ ## License
275
+
276
+ $license
277
+
278
+ ## Author
279
+
280
+ $author
281
+ EOF
282
+
283
+ echo "✅ README.md generated"
284
+ }
285
+ ```
286
+
287
+ ### Step 5: Create Installation Script
288
+
289
+ **Universal installation script** (`install.sh`):
290
+
291
+ ```bash
292
+ #!/bin/bash
293
+ set -e
294
+
295
+ # Colors for output
296
+ RED='\033[0;31m'
297
+ GREEN='\033[0;32m'
298
+ YELLOW='\033[1;33m'
299
+ NC='\033[0m' # No Color
300
+
301
+ # Skill configuration
302
+ SKILL_NAME="[skill-name]"
303
+ SKILL_DISPLAY_NAME="[Skill Display Name]"
304
+
305
+ echo ""
306
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
307
+ echo "INSTALLING: $SKILL_DISPLAY_NAME"
308
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
309
+ echo ""
310
+
311
+ # Check if skill already installed
312
+ if [ -d "$HOME/.claude/skills/$SKILL_NAME" ]; then
313
+ echo -e "${YELLOW}⚠️ Skill already installed at: ~/.claude/skills/$SKILL_NAME${NC}"
314
+ echo ""
315
+ read -p "Overwrite existing installation? (y/N) " -n 1 -r
316
+ echo ""
317
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
318
+ echo "Installation cancelled."
319
+ exit 0
320
+ fi
321
+ rm -rf "$HOME/.claude/skills/$SKILL_NAME"
322
+ fi
323
+
324
+ # Create skills directory if needed
325
+ mkdir -p "$HOME/.claude/skills"
326
+
327
+ # Copy skill
328
+ echo "📦 Installing skill..."
329
+ mkdir -p "$HOME/.claude/skills/$SKILL_NAME"
330
+ cp skill/SKILL.md "$HOME/.claude/skills/$SKILL_NAME/SKILL.md"
331
+
332
+ # Validate installation
333
+ if [ -f "$HOME/.claude/skills/$SKILL_NAME/SKILL.md" ]; then
334
+ echo -e "${GREEN}✅ Installation successful!${NC}"
335
+ echo ""
336
+ echo "📁 Installed to: ~/.claude/skills/$SKILL_NAME/"
337
+ echo ""
338
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
339
+ echo "NEXT STEPS"
340
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
341
+ echo ""
342
+ echo "1. 🔄 Restart Claude Code to load the skill"
343
+ echo "2. 🧪 Test the skill by asking a relevant question"
344
+ echo "3. 📚 See README.md for usage examples"
345
+ echo ""
346
+ echo "To uninstall: bash uninstall.sh"
347
+ echo ""
348
+ else
349
+ echo -e "${RED}❌ Installation failed${NC}"
350
+ exit 1
351
+ fi
352
+ ```
353
+
354
+ **Generate install.sh**:
355
+
356
+ ```bash
357
+ generate_install_script() {
358
+ local package_dir="$1"
359
+ local skill_name="$2"
360
+ local skill_display_name="$3"
361
+
362
+ cat > "$package_dir/install.sh" <<'INSTALL_SCRIPT'
363
+ #!/bin/bash
364
+ set -e
365
+
366
+ # [Installation script content from above]
367
+ INSTALL_SCRIPT
368
+
369
+ # Make executable
370
+ chmod +x "$package_dir/install.sh"
371
+
372
+ echo "✅ install.sh generated"
373
+ }
374
+ ```
375
+
376
+ ### Step 6: Create Uninstallation Script
377
+
378
+ **Uninstallation script** (`uninstall.sh`):
379
+
380
+ ```bash
381
+ #!/bin/bash
382
+ set -e
383
+
384
+ # Colors for output
385
+ RED='\033[0;31m'
386
+ GREEN='\033[0;32m'
387
+ YELLOW='\033[1;33m'
388
+ NC='\033[0m' # No Color
389
+
390
+ # Skill configuration
391
+ SKILL_NAME="[skill-name]"
392
+ SKILL_DISPLAY_NAME="[Skill Display Name]"
393
+
394
+ echo ""
395
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
396
+ echo "UNINSTALLING: $SKILL_DISPLAY_NAME"
397
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
398
+ echo ""
399
+
400
+ # Check if skill is installed
401
+ if [ ! -d "$HOME/.claude/skills/$SKILL_NAME" ]; then
402
+ echo -e "${YELLOW}⚠️ Skill not found at: ~/.claude/skills/$SKILL_NAME${NC}"
403
+ echo ""
404
+ echo "Nothing to uninstall."
405
+ exit 0
406
+ fi
407
+
408
+ # Confirm uninstallation
409
+ echo "This will remove: ~/.claude/skills/$SKILL_NAME/"
410
+ echo ""
411
+ read -p "Continue with uninstallation? (y/N) " -n 1 -r
412
+ echo ""
413
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
414
+ echo "Uninstallation cancelled."
415
+ exit 0
416
+ fi
417
+
418
+ # Remove skill
419
+ rm -rf "$HOME/.claude/skills/$SKILL_NAME"
420
+
421
+ # Verify removal
422
+ if [ ! -d "$HOME/.claude/skills/$SKILL_NAME" ]; then
423
+ echo -e "${GREEN}✅ Uninstallation successful!${NC}"
424
+ echo ""
425
+ echo "Skill removed from: ~/.claude/skills/$SKILL_NAME/"
426
+ echo ""
427
+ echo "🔄 Restart Claude Code to complete uninstallation"
428
+ else
429
+ echo -e "${RED}❌ Uninstallation failed${NC}"
430
+ exit 1
431
+ fi
432
+ ```
433
+
434
+ ### Step 7: Add License File
435
+
436
+ **Common licenses**:
437
+
438
+ **MIT License** (most permissive):
439
+ ```
440
+ MIT License
441
+
442
+ Copyright (c) [year] [author]
443
+
444
+ Permission is hereby granted, free of charge, to any person obtaining a copy
445
+ of this software and associated documentation files (the "Software"), to deal
446
+ in the Software without restriction, including without limitation the rights
447
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
448
+ copies of the Software, and to permit persons to whom the Software is
449
+ furnished to do so, subject to the following conditions:
450
+
451
+ The above copyright notice and this permission notice shall be included in all
452
+ copies or substantial portions of the Software.
453
+
454
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
455
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
456
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
457
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
458
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
459
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
460
+ SOFTWARE.
461
+ ```
462
+
463
+ ### Step 8: Create package.json (NPM Only)
464
+
465
+ **NPM package.json**:
466
+
467
+ ```json
468
+ {
469
+ "name": "claude-skill-[skill-name]",
470
+ "version": "1.0.0",
471
+ "description": "[Skill description]",
472
+ "main": "index.js",
473
+ "scripts": {
474
+ "postinstall": "bash install.sh",
475
+ "preuninstall": "bash uninstall.sh"
476
+ },
477
+ "keywords": [
478
+ "claude",
479
+ "claude-code",
480
+ "skill",
481
+ "[domain]"
482
+ ],
483
+ "author": "[Author Name] <[email]>",
484
+ "license": "MIT",
485
+ "repository": {
486
+ "type": "git",
487
+ "url": "https://github.com/[username]/[repo].git"
488
+ },
489
+ "bugs": {
490
+ "url": "https://github.com/[username]/[repo]/issues"
491
+ },
492
+ "homepage": "https://github.com/[username]/[repo]#readme",
493
+ "files": [
494
+ "skill/",
495
+ "install.sh",
496
+ "uninstall.sh",
497
+ "README.md",
498
+ "LICENSE"
499
+ ],
500
+ "engines": {
501
+ "node": ">=14.0.0"
502
+ }
503
+ }
504
+ ```
505
+
506
+ ### Step 9: Create Archive
507
+
508
+ **For direct distribution**:
509
+
510
+ ```bash
511
+ create_archive() {
512
+ local package_dir="$1"
513
+ local package_name="$2"
514
+ local version="$3"
515
+
516
+ # Archive filename
517
+ archive_name="${package_name}-${version}.tar.gz"
518
+
519
+ # Create archive
520
+ tar -czf "$archive_name" -C "$(dirname "$package_dir")" "$(basename "$package_dir")"
521
+
522
+ # Verify archive
523
+ if [ -f "$archive_name" ]; then
524
+ echo "✅ Archive created: $archive_name"
525
+ echo ""
526
+ echo "Archive contents:"
527
+ tar -tzf "$archive_name" | head -20
528
+ echo ""
529
+ echo "Distribution ready!"
530
+ else
531
+ echo "❌ Failed to create archive"
532
+ return 1
533
+ fi
534
+ }
535
+ ```
536
+
537
+ ### Step 10: Generate Distribution Instructions
538
+
539
+ **Include installation guide**:
540
+
541
+ ```markdown
542
+ # Distribution Instructions
543
+
544
+ ## For NPM
545
+
546
+ 1. Publish to npm:
547
+ ```bash
548
+ npm publish
549
+ ```
550
+
551
+ 2. Users install with:
552
+ ```bash
553
+ npm install -g [package-name]
554
+ ```
555
+
556
+ ## For GitHub
557
+
558
+ 1. Push to GitHub:
559
+ ```bash
560
+ git init
561
+ git add .
562
+ git commit -m "Initial commit"
563
+ git remote add origin [repository-url]
564
+ git push -u origin main
565
+ ```
566
+
567
+ 2. Create release:
568
+ - Go to GitHub → Releases → New Release
569
+ - Tag: v1.0.0
570
+ - Upload .tar.gz archive
571
+ - Add release notes
572
+
573
+ 3. Users install with:
574
+ ```bash
575
+ git clone [repository-url]
576
+ cd [package-name]
577
+ bash install.sh
578
+ ```
579
+
580
+ ## For Direct Sharing
581
+
582
+ 1. Share the .tar.gz archive
583
+
584
+ 2. Users install with:
585
+ ```bash
586
+ tar -xzf [package-name]-1.0.0.tar.gz
587
+ cd [package-name]
588
+ bash install.sh
589
+ ```
590
+
591
+ ## Verification
592
+
593
+ After installation, users should:
594
+ 1. Restart Claude Code
595
+ 2. Test skill activation
596
+ 3. Report issues
597
+ ```
598
+
599
+ ## Packaging Examples
600
+
601
+ ### Example 1: NPM Package
602
+
603
+ **Input**:
604
+ - Skill: `python-data-science`
605
+ - Distribution: NPM
606
+ - Version: 1.0.0
607
+ - License: MIT
608
+
609
+ **Output structure**:
610
+ ```
611
+ claude-skill-python-data-science/
612
+ ├── README.md
613
+ ├── LICENSE
614
+ ├── package.json
615
+ ├── install.sh
616
+ ├── uninstall.sh
617
+ ├── skill/
618
+ │ └── SKILL.md
619
+ └── examples/
620
+ └── example-conversation.md
621
+ ```
622
+
623
+ **package.json**:
624
+ ```json
625
+ {
626
+ "name": "claude-skill-python-data-science",
627
+ "version": "1.0.0",
628
+ "description": "Python data science expert skill for Claude Code",
629
+ "author": "Your Name <email@example.com>",
630
+ "license": "MIT",
631
+ "keywords": ["claude", "skill", "python", "data-science"]
632
+ }
633
+ ```
634
+
635
+ **Publishing**:
636
+ ```bash
637
+ npm publish
638
+ ```
639
+
640
+ ### Example 2: GitHub Repository
641
+
642
+ **Input**:
643
+ - Skill: `kubernetes-expert`
644
+ - Distribution: GitHub
645
+ - Repository: `github.com/username/claude-skill-k8s`
646
+
647
+ **Setup**:
648
+ ```bash
649
+ # Initialize repo
650
+ git init
651
+ git add .
652
+ git commit -m "Initial commit: Kubernetes expert skill"
653
+
654
+ # Push to GitHub
655
+ git remote add origin https://github.com/username/claude-skill-k8s.git
656
+ git push -u origin main
657
+
658
+ # Create release
659
+ gh release create v1.0.0 --title "v1.0.0" --notes "Initial release"
660
+ ```
661
+
662
+ **Users install**:
663
+ ```bash
664
+ git clone https://github.com/username/claude-skill-k8s.git
665
+ cd claude-skill-k8s
666
+ bash install.sh
667
+ ```
668
+
669
+ ### Example 3: Direct Archive
670
+
671
+ **Input**:
672
+ - Skill: `project-docs-helper`
673
+ - Distribution: Internal sharing
674
+ - Archive: `project-docs-helper-1.0.0.tar.gz`
675
+
676
+ **Create archive**:
677
+ ```bash
678
+ # Package structure already created
679
+ tar -czf project-docs-helper-1.0.0.tar.gz project-docs-helper/
680
+
681
+ # Share archive via email, shared drive, etc.
682
+ ```
683
+
684
+ **Users install**:
685
+ ```bash
686
+ tar -xzf project-docs-helper-1.0.0.tar.gz
687
+ cd project-docs-helper
688
+ bash install.sh
689
+ ```
690
+
691
+ ## Quality Checklist
692
+
693
+ **Before distributing, verify**:
694
+
695
+ - [ ] ✅ Skill validated successfully
696
+ - [ ] ✅ README.md includes installation instructions
697
+ - [ ] ✅ LICENSE file present
698
+ - [ ] ✅ install.sh script works correctly
699
+ - [ ] ✅ uninstall.sh script works correctly
700
+ - [ ] ✅ Examples included
701
+ - [ ] ✅ Version number set
702
+ - [ ] ✅ Author information complete
703
+ - [ ] ✅ Repository URL (if applicable)
704
+ - [ ] ✅ Keywords for discoverability
705
+ - [ ] ✅ Archive created (if direct distribution)
706
+ - [ ] ✅ Tested installation on clean system
707
+
708
+ ## Publishing to NPM
709
+
710
+ **Step-by-step**:
711
+
712
+ ```bash
713
+ # 1. Login to npm
714
+ npm login
715
+
716
+ # 2. Validate package.json
717
+ npm pack --dry-run
718
+
719
+ # 3. Publish
720
+ npm publish
721
+
722
+ # 4. Verify
723
+ npm view [package-name]
724
+ ```
725
+
726
+ **Scope packages (recommended)**:
727
+ ```json
728
+ {
729
+ "name": "@your-username/claude-skill-python-data-science",
730
+ ...
731
+ }
732
+ ```
733
+
734
+ ## Summary
735
+
736
+ **Package includes**:
737
+ 1. ✅ Skill file (SKILL.md)
738
+ 2. ✅ README with installation instructions
739
+ 3. ✅ LICENSE file
740
+ 4. ✅ install.sh script
741
+ 5. ✅ uninstall.sh script
742
+ 6. ✅ package.json (NPM only)
743
+ 7. ✅ Examples (optional)
744
+ 8. ✅ Archive file (direct distribution)
745
+
746
+ **Distribution methods**:
747
+ 1. ✅ NPM (`npm install -g`)
748
+ 2. ✅ GitHub (clone + install.sh)
749
+ 3. ✅ Direct archive (.tar.gz)
750
+
751
+ **Remember**: Test installation on clean system before distributing!