skillhub 0.2.8 → 0.2.10

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 (3) hide show
  1. package/README.md +121 -121
  2. package/dist/index.js +11 -3
  3. package/package.json +61 -61
package/README.md CHANGED
@@ -1,121 +1,121 @@
1
- # @skillhub/cli
2
-
3
- Command-line tool for installing and managing AI Agent skills from [SkillHub](https://skills.palebluedot.live).
4
-
5
- ## Installation
6
-
7
- ```bash
8
- # Install globally
9
- npm install -g @skillhub/cli
10
-
11
- # Or use directly with npx
12
- npx @skillhub/cli
13
- ```
14
-
15
- ## Usage
16
-
17
- ### Search for skills
18
-
19
- ```bash
20
- skillhub search pdf
21
- skillhub search "code review" --platform claude --limit 20
22
- ```
23
-
24
- ### Install a skill
25
-
26
- ```bash
27
- skillhub install anthropics/skills/pdf
28
- skillhub install obra/superpowers/brainstorming --platform codex
29
- skillhub install anthropics/skills/docx --project # Install in current project
30
- ```
31
-
32
- ### List installed skills
33
-
34
- ```bash
35
- skillhub list
36
- skillhub list --platform claude
37
- ```
38
-
39
- ### Update skills
40
-
41
- ```bash
42
- skillhub update anthropics/skills/pdf # Update specific skill
43
- skillhub update --all # Update all installed skills
44
- ```
45
-
46
- ### Uninstall a skill
47
-
48
- ```bash
49
- skillhub uninstall pdf
50
- skillhub uninstall brainstorming --platform codex
51
- ```
52
-
53
- ### Configuration
54
-
55
- ```bash
56
- skillhub config --list # Show all config
57
- skillhub config --get defaultPlatform # Get specific value
58
- skillhub config --set defaultPlatform=claude # Set value
59
- ```
60
-
61
- ## Platform Support
62
-
63
- SkillHub CLI supports multiple AI agent platforms:
64
-
65
- | Platform | Flag | Install Path |
66
- |----------|------|--------------|
67
- | Claude | `--platform claude` | `~/.claude/skills/` |
68
- | OpenAI Codex | `--platform codex` | `~/.codex/skills/` |
69
- | GitHub Copilot | `--platform copilot` | `~/.github/skills/` |
70
- | Cursor | `--platform cursor` | `~/.cursor/skills/` |
71
- | Windsurf | `--platform windsurf` | `~/.windsurf/skills/` |
72
-
73
- Default platform: `claude`
74
-
75
- ## Options
76
-
77
- ### Global Options
78
-
79
- - `--platform <name>` - Target platform (claude, codex, copilot, cursor, windsurf)
80
- - `--project` - Install in current project instead of user directory
81
- - `--force` - Overwrite existing installation
82
- - `--help` - Show help information
83
- - `--version` - Show version number
84
-
85
- ### Environment Variables
86
-
87
- - `SKILLHUB_API_URL` - Override API endpoint (default: https://skills.palebluedot.live/api)
88
- - `GITHUB_TOKEN` - GitHub token for API rate limits (optional)
89
-
90
- ## Configuration File
91
-
92
- Configuration is stored in `~/.skillhub/config.json`:
93
-
94
- ```json
95
- {
96
- "defaultPlatform": "claude",
97
- "apiUrl": "https://skills.palebluedot.live/api",
98
- "githubToken": "ghp_..."
99
- }
100
- ```
101
-
102
- ## Examples
103
-
104
- ```bash
105
- # Search and install a skill
106
- skillhub search "document processing"
107
- skillhub install anthropics/skills/pdf
108
-
109
- # Install skill for Codex
110
- skillhub install obra/superpowers/brainstorming --platform codex
111
-
112
- # Update all installed skills
113
- skillhub update --all
114
-
115
- # Check what's installed
116
- skillhub list
117
- ```
118
-
119
- ## License
120
-
121
- MIT
1
+ # @skillhub/cli
2
+
3
+ Command-line tool for installing and managing AI Agent skills from [SkillHub](https://skills.palebluedot.live).
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ # Install globally
9
+ npm install -g @skillhub/cli
10
+
11
+ # Or use directly with npx
12
+ npx @skillhub/cli
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ ### Search for skills
18
+
19
+ ```bash
20
+ skillhub search pdf
21
+ skillhub search "code review" --platform claude --limit 20
22
+ ```
23
+
24
+ ### Install a skill
25
+
26
+ ```bash
27
+ skillhub install anthropics/skills/pdf
28
+ skillhub install obra/superpowers/brainstorming --platform codex
29
+ skillhub install anthropics/skills/docx --project # Install in current project
30
+ ```
31
+
32
+ ### List installed skills
33
+
34
+ ```bash
35
+ skillhub list
36
+ skillhub list --platform claude
37
+ ```
38
+
39
+ ### Update skills
40
+
41
+ ```bash
42
+ skillhub update anthropics/skills/pdf # Update specific skill
43
+ skillhub update --all # Update all installed skills
44
+ ```
45
+
46
+ ### Uninstall a skill
47
+
48
+ ```bash
49
+ skillhub uninstall pdf
50
+ skillhub uninstall brainstorming --platform codex
51
+ ```
52
+
53
+ ### Configuration
54
+
55
+ ```bash
56
+ skillhub config --list # Show all config
57
+ skillhub config --get defaultPlatform # Get specific value
58
+ skillhub config --set defaultPlatform=claude # Set value
59
+ ```
60
+
61
+ ## Platform Support
62
+
63
+ SkillHub CLI supports multiple AI agent platforms:
64
+
65
+ | Platform | Flag | Install Path |
66
+ |----------|------|--------------|
67
+ | Claude | `--platform claude` | `~/.claude/skills/` |
68
+ | OpenAI Codex | `--platform codex` | `~/.codex/skills/` |
69
+ | GitHub Copilot | `--platform copilot` | `~/.github/skills/` |
70
+ | Cursor | `--platform cursor` | `~/.cursor/skills/` |
71
+ | Windsurf | `--platform windsurf` | `~/.windsurf/skills/` |
72
+
73
+ Default platform: `claude`
74
+
75
+ ## Options
76
+
77
+ ### Global Options
78
+
79
+ - `--platform <name>` - Target platform (claude, codex, copilot, cursor, windsurf)
80
+ - `--project` - Install in current project instead of user directory
81
+ - `--force` - Overwrite existing installation
82
+ - `--help` - Show help information
83
+ - `--version` - Show version number
84
+
85
+ ### Environment Variables
86
+
87
+ - `SKILLHUB_API_URL` - Override API endpoint (default: https://skills.palebluedot.live/api)
88
+ - `GITHUB_TOKEN` - GitHub token for API rate limits (optional)
89
+
90
+ ## Configuration File
91
+
92
+ Configuration is stored in `~/.skillhub/config.json`:
93
+
94
+ ```json
95
+ {
96
+ "defaultPlatform": "claude",
97
+ "apiUrl": "https://skills.palebluedot.live/api",
98
+ "githubToken": "ghp_..."
99
+ }
100
+ ```
101
+
102
+ ## Examples
103
+
104
+ ```bash
105
+ # Search and install a skill
106
+ skillhub search "document processing"
107
+ skillhub install anthropics/skills/pdf
108
+
109
+ # Install skill for Codex
110
+ skillhub install obra/superpowers/brainstorming --platform codex
111
+
112
+ # Update all installed skills
113
+ skillhub update --all
114
+
115
+ # Check what's installed
116
+ skillhub list
117
+ ```
118
+
119
+ ## License
120
+
121
+ MIT
package/dist/index.js CHANGED
@@ -4319,6 +4319,12 @@ async function install(skillId, options2) {
4319
4319
  try {
4320
4320
  skillInfo = await getSkill(skillId);
4321
4321
  if (skillInfo) {
4322
+ if (skillInfo.isMalicious) {
4323
+ spinner.fail(chalk.red("This skill has been flagged as malicious (contains malware)."));
4324
+ console.log(chalk.red("Installation blocked for your safety."));
4325
+ console.log(chalk.dim(`See: https://skills.palebluedot.live/en/skill/${skillId}`));
4326
+ process.exit(1);
4327
+ }
4322
4328
  const reviewBadge = skillInfo.aiScore && skillInfo.reviewStatus === "ai-reviewed" ? chalk.dim(` | AI: ${skillInfo.aiScore}/100`) : skillInfo.reviewStatus === "verified" ? chalk.green(` | AI: ${skillInfo.aiScore}/100 \u2713`) : "";
4323
4329
  spinner.succeed(`Found in registry: ${skillInfo.name}${reviewBadge}`);
4324
4330
  spinner.start("Preparing installation...");
@@ -4629,10 +4635,12 @@ async function search(query, options2) {
4629
4635
  console.log(
4630
4636
  `${num} ${verified} ${chalk2.cyan(skill.id.padEnd(38))} ${security}`
4631
4637
  );
4632
- const hasAiScore = skill.aiScore && skill.reviewStatus && skill.reviewStatus !== "unreviewed" && skill.reviewStatus !== "auto-scored";
4633
- const aiPrefix = hasAiScore ? `${chalk2.magenta("AI")} ${(skill.aiScore >= 75 ? chalk2.green : skill.aiScore >= 50 ? chalk2.yellow : chalk2.dim)(String(skill.aiScore))} ` : "";
4638
+ const aiScore = skill.aiScore;
4639
+ const isAiReviewed = aiScore != null && aiScore > 0 && skill.reviewStatus && skill.reviewStatus !== "unreviewed" && skill.reviewStatus !== "auto-scored";
4640
+ const showAiScore = isAiReviewed || sort === "aiScore" && aiScore != null && aiScore > 0;
4641
+ const aiPrefix = showAiScore ? `${chalk2.magenta("AI")} ${(aiScore >= 75 ? chalk2.green : aiScore >= 50 ? chalk2.yellow : chalk2.dim)(String(aiScore).padStart(2))} ` : "";
4634
4642
  console.log(
4635
- ` ${aiPrefix}\u2B07 ${formatNumber(skill.downloadCount).padStart(6)} \u2B50 ${formatNumber(skill.githubStars).padStart(6)} ${chalk2.dim(skill.description.slice(0, hasAiScore ? 45 : 55))}${skill.description.length > (hasAiScore ? 45 : 55) ? "..." : ""}`
4643
+ ` ${aiPrefix}\u2B07 ${formatNumber(skill.downloadCount).padStart(6)} \u2B50 ${formatNumber(skill.githubStars).padStart(6)} ${chalk2.dim(skill.description.slice(0, showAiScore ? 45 : 55))}${skill.description.length > (showAiScore ? 45 : 55) ? "..." : ""}`
4636
4644
  );
4637
4645
  const showRating = (skill.ratingCount ?? 0) >= 3;
4638
4646
  if (showRating && skill.rating) {
package/package.json CHANGED
@@ -1,61 +1,61 @@
1
- {
2
- "name": "skillhub",
3
- "version": "0.2.8",
4
- "description": "CLI tool for managing AI Agent skills - search, install, and update skills for Claude, Codex, Copilot, and more",
5
- "author": "SkillHub Contributors",
6
- "license": "MIT",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/airano-ir/skillhub.git",
10
- "directory": "apps/cli"
11
- },
12
- "homepage": "https://skills.palebluedot.live",
13
- "type": "module",
14
- "bin": {
15
- "skillhub": "./dist/index.js"
16
- },
17
- "files": [
18
- "dist"
19
- ],
20
- "scripts": {
21
- "build": "tsup",
22
- "dev": "tsx src/index.ts",
23
- "start": "node dist/index.js",
24
- "lint": "eslint src/",
25
- "typecheck": "tsc --noEmit",
26
- "test": "vitest",
27
- "test:run": "vitest run"
28
- },
29
- "dependencies": {
30
- "@octokit/rest": "^20.0.2",
31
- "chalk": "^5.3.0",
32
- "commander": "^11.1.0",
33
- "fs-extra": "^11.2.0",
34
- "ora": "^8.0.1",
35
- "prompts": "^2.4.2"
36
- },
37
- "devDependencies": {
38
- "skillhub-core": "workspace:*",
39
- "@types/fs-extra": "^11.0.4",
40
- "@types/node": "^20.10.0",
41
- "@types/prompts": "^2.4.9",
42
- "tsup": "^8.0.1",
43
- "tsx": "^4.7.0",
44
- "typescript": "^5.3.0",
45
- "vitest": "^1.2.0"
46
- },
47
- "engines": {
48
- "node": ">=18.0.0"
49
- },
50
- "keywords": [
51
- "ai",
52
- "agent",
53
- "skills",
54
- "cli",
55
- "claude",
56
- "codex",
57
- "copilot",
58
- "cursor",
59
- "windsurf"
60
- ]
61
- }
1
+ {
2
+ "name": "skillhub",
3
+ "version": "0.2.10",
4
+ "description": "CLI tool for managing AI Agent skills - search, install, and update skills for Claude, Codex, Copilot, and more",
5
+ "author": "SkillHub Contributors",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/airano-ir/skillhub.git",
10
+ "directory": "apps/cli"
11
+ },
12
+ "homepage": "https://skills.palebluedot.live",
13
+ "type": "module",
14
+ "bin": {
15
+ "skillhub": "./dist/index.js"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsup",
22
+ "dev": "tsx src/index.ts",
23
+ "start": "node dist/index.js",
24
+ "lint": "eslint src/",
25
+ "typecheck": "tsc --noEmit",
26
+ "test": "vitest",
27
+ "test:run": "vitest run"
28
+ },
29
+ "dependencies": {
30
+ "@octokit/rest": "^20.0.2",
31
+ "chalk": "^5.3.0",
32
+ "commander": "^11.1.0",
33
+ "fs-extra": "^11.2.0",
34
+ "ora": "^8.0.1",
35
+ "prompts": "^2.4.2"
36
+ },
37
+ "devDependencies": {
38
+ "skillhub-core": "workspace:*",
39
+ "@types/fs-extra": "^11.0.4",
40
+ "@types/node": "^20.10.0",
41
+ "@types/prompts": "^2.4.9",
42
+ "tsup": "^8.0.1",
43
+ "tsx": "^4.7.0",
44
+ "typescript": "^5.3.0",
45
+ "vitest": "^1.2.0"
46
+ },
47
+ "engines": {
48
+ "node": ">=18.0.0"
49
+ },
50
+ "keywords": [
51
+ "ai",
52
+ "agent",
53
+ "skills",
54
+ "cli",
55
+ "claude",
56
+ "codex",
57
+ "copilot",
58
+ "cursor",
59
+ "windsurf"
60
+ ]
61
+ }