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.
- package/.claude-plugin/marketplace.json +93 -38
- package/CLAUDE.md +159 -11
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +57 -0
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
- package/dist/src/cli/commands/sync-spec-content.js +3 -0
- package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
- 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/progress/progress-tracker.d.ts +4 -1
- package/dist/src/core/progress/progress-tracker.d.ts.map +1 -1
- package/dist/src/core/progress/progress-tracker.js +33 -4
- package/dist/src/core/progress/progress-tracker.js.map +1 -1
- 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/spec-content-sync.d.ts +1 -1
- package/dist/src/core/spec-content-sync.d.ts.map +1 -1
- 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/ado-dependency-loader.d.ts +1 -1
- package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +1 -1
- package/dist/src/integrations/ado/ado-dependency-loader.js +39 -7
- package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -1
- 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/lib/migrate-increment-work.sh +1 -1
- package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +245 -0
- package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
- package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +149 -0
- package/plugins/specweave/hooks/lib/update-status-line.sh +34 -4
- package/plugins/specweave/hooks/lib/validate-spec-status.sh +1 -1
- package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +163 -0
- package/plugins/specweave/hooks/post-first-increment.sh +1 -1
- package/plugins/specweave/hooks/post-first-increment.sh.bak +61 -0
- package/plugins/specweave/hooks/post-spec-update.sh +1 -1
- package/plugins/specweave/hooks/post-spec-update.sh.bak +158 -0
- package/plugins/specweave/hooks/post-user-story-complete.sh +1 -1
- package/plugins/specweave/hooks/post-user-story-complete.sh.bak +179 -0
- package/plugins/specweave/hooks/pre-command-deduplication.sh +1 -1
- package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +83 -0
- package/plugins/specweave/hooks/pre-increment-start.sh +168 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
- package/plugins/specweave/hooks/user-prompt-submit.sh.bak +386 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave/skills/specweave-framework/SKILL.md +1 -1
- package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +23 -0
- package/plugins/specweave-ado/agents/ado-multi-project-mapper/AGENT.md +23 -0
- package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +23 -0
- 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/agents/database-optimizer/AGENT.md +23 -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/agents/confluent-architect/AGENT.md +23 -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/agents/diagrams-architect/AGENT.md +23 -0
- 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/agents/github-manager/AGENT.md +23 -0
- package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +25 -0
- package/plugins/specweave-github/agents/user-story-updater/AGENT.md +25 -0
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +194 -0
- package/plugins/specweave-github/lib/github-spec-content-sync.js +49 -0
- package/plugins/specweave-github/lib/github-spec-content-sync.ts +67 -0
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-infrastructure/agents/devops/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +26 -0
- package/plugins/specweave-infrastructure/agents/sre/AGENT.md +26 -0
- package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/agents/jira-manager/AGENT.md +26 -0
- 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/agents/kafka-architect/AGENT.md +26 -0
- package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +26 -0
- package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +26 -0
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +26 -0
- 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 +3 -3
- package/plugins/specweave-ml/agents/data-scientist/AGENT.md +26 -0
- package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +26 -0
- package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +26 -0
- package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +26 -0
- 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-payments/agents/payment-integration/AGENT.md +26 -0
- package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +20 -0
- 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/agents/release-manager/AGENT.md +27 -0
- 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/skills/plugin-expert/SKILL.md +0 -340
- /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!
|