transskill 0.4.0 → 0.4.1
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/README.md +103 -243
- package/README.zh.md +103 -245
- package/dist/marketplace/registry-client.d.ts.map +1 -1
- package/dist/marketplace/registry-client.js +18 -13
- package/dist/marketplace/registry-client.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,316 +1,176 @@
|
|
|
1
1
|
# TransSkill
|
|
2
2
|
|
|
3
|
-
> **Write once, run on any agent.**
|
|
4
|
-
|
|
5
|
-
TransSkill is a CLI tool that converts AI agent skill files between different platforms.
|
|
6
|
-
Stop manually rewriting skills for every agent — convert with one command.
|
|
3
|
+
> **Write once, run on any agent. Search, audit, and install from 1,000+ skills.**
|
|
7
4
|
|
|
5
|
+
[](https://www.npmjs.com/package/transskill)
|
|
8
6
|
[](README.zh.md)
|
|
9
7
|
|
|
10
8
|
---
|
|
11
9
|
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
Every AI coding agent has its own skill format.
|
|
15
|
-
Claude Code uses SKILL.md, Cursor uses .cursorrules,
|
|
16
|
-
OpenClaw uses AGENTS.md, and MCP servers use JSON Schema.
|
|
17
|
-
A skill written for one platform is useless on another without manual rewriting.
|
|
18
|
-
|
|
19
|
-
## The Solution
|
|
10
|
+
## ✨ What Makes TransSkill Different
|
|
20
11
|
|
|
21
|
-
|
|
22
|
-
$ transskill convert .cursorrules --to skill.md
|
|
23
|
-
$ transskill convert gh:user/weather-skill --to .cursorrules
|
|
24
|
-
$ transskill convert ./my-skill/ --to .mdc --glob "**/*.ts"
|
|
25
|
-
```
|
|
12
|
+
### 🗂️ Universal Skill Search — 1,115+ Skills, One Command
|
|
26
13
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Install
|
|
14
|
+
Stop hunting across GitHub repos. TransSkill indexes **1,115+ real-world agent skills** from the [awesome-agent-skills](https://github.com/VoltAgent/awesome-agent-skills) ecosystem — curated skills from **Anthropic, Stripe, Google Gemini, Vercel, Cloudflare, Angular, Supabase, and more**.
|
|
32
15
|
|
|
33
16
|
```bash
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
# Interactive search — type to filter, enter to install
|
|
18
|
+
npx transskill search
|
|
36
19
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
npx transskill convert .cursorrules --to skill.md
|
|
20
|
+
# Fast CLI search
|
|
21
|
+
npx transskill search docx --json
|
|
22
|
+
npx transskill search python --tag linter
|
|
41
23
|
```
|
|
42
24
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
# SKILL.md → .cursorrules
|
|
47
|
-
transskill convert my-skill.skill.md --to .cursorrules
|
|
25
|
+
Every skill is fetched directly from its **original source** — no copies, no stale mirrors.
|
|
48
26
|
|
|
49
|
-
|
|
50
|
-
transskill convert .cursorrules --to skill.md
|
|
27
|
+
### 🛡️ Built-in Security Audit
|
|
51
28
|
|
|
52
|
-
|
|
53
|
-
transskill convert .cursorrules --to .mdc --glob "src/**/*.ts"
|
|
29
|
+
Before you install any skill, TransSkill automatically scans it for security risks:
|
|
54
30
|
|
|
55
|
-
|
|
56
|
-
|
|
31
|
+
| Level | What It Catches |
|
|
32
|
+
|-------|----------------|
|
|
33
|
+
| **L1 — Instructions** | `rm -rf`, `curl\|sh`, base64 obfuscation, prompt injection |
|
|
34
|
+
| **L2 — Permissions** | Overly broad globs, dangerous MCP tool names |
|
|
35
|
+
| **L3 — MCP** | Suspicious server commands (`sudo`, `kill`, `rm`) |
|
|
57
36
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
37
|
+
```bash
|
|
38
|
+
# Audit any skill file
|
|
39
|
+
npx transskill audit ./skill.skill.md
|
|
61
40
|
|
|
62
|
-
#
|
|
63
|
-
transskill
|
|
41
|
+
# Install with automatic audit (blocks if score < 90)
|
|
42
|
+
npx transskill install python-linter
|
|
64
43
|
```
|
|
65
44
|
|
|
66
|
-
|
|
45
|
+
### 🔄 Cross-Platform Conversion
|
|
67
46
|
|
|
68
|
-
|
|
69
|
-
|--------|---------|-------------|
|
|
70
|
-
| Local file | `./rules.cursorrules` | Single skill file |
|
|
71
|
-
| Local directory | `./weather-skill/` | Full skill directory with scripts and assets |
|
|
72
|
-
| GitHub repo | `gh:user/repo` | Shallow clone + convert |
|
|
73
|
-
| GitHub subpath | `gh:user/repo/path` | Clone specific subdirectory |
|
|
74
|
-
| GitHub URL | `https://github.com/user/repo` | Full URL support |
|
|
47
|
+
Convert between every major agent skill format — **without manual rewriting**.
|
|
75
48
|
|
|
76
|
-
|
|
49
|
+
```bash
|
|
50
|
+
npx transskill convert .cursorrules --to skill.md
|
|
51
|
+
npx transskill convert gh:user/weather-skill --to .mdc
|
|
52
|
+
npx transskill convert ./my-skill/ --to .cursorrules --glob "src/**/*.ts"
|
|
53
|
+
```
|
|
77
54
|
|
|
78
|
-
| Format | Platforms |
|
|
79
|
-
|
|
55
|
+
| Format | Platforms | In | Out |
|
|
56
|
+
|--------|-----------|:--:|:---:|
|
|
80
57
|
| SKILL.md | Claude Code, Codex CLI, OpenClaw, Cursor | ✅ | ✅ |
|
|
81
58
|
| .cursorrules | Cursor IDE | ✅ | ✅ |
|
|
82
59
|
| .mdc | Cursor 2.3+ | ✅ | ✅ |
|
|
83
|
-
| MCP JSON | Any MCP
|
|
60
|
+
| MCP JSON | Any MCP client | ✅ | — |
|
|
84
61
|
| SOUL.md | OpenClaw | ✅ | — |
|
|
85
62
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
Input (file/dir/GitHub)
|
|
90
|
-
│
|
|
91
|
-
▼
|
|
92
|
-
InputResolver ──► Parser ──► Mapper ──► Renderer ──► Output
|
|
93
|
-
(Local/GitHub) (read) (map) (write)
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
TransSkill uses a pipeline architecture:
|
|
97
|
-
|
|
98
|
-
1. **InputResolver** — resolves your input (local path or GitHub URL) to a local file path
|
|
99
|
-
2. **Parser** — reads platform-specific format and converts to a universal intermediate representation
|
|
100
|
-
3. **Mapper** — maps fields between platforms, reporting what's preserved and what's lost
|
|
101
|
-
4. **Renderer** — writes the result in the target platform's format
|
|
102
|
-
|
|
103
|
-
## Examples
|
|
63
|
+
---
|
|
104
64
|
|
|
105
|
-
|
|
65
|
+
## Install
|
|
106
66
|
|
|
107
67
|
```bash
|
|
108
|
-
|
|
109
|
-
#
|
|
110
|
-
|
|
111
|
-
Prefer named exports
|
|
112
|
-
|
|
113
|
-
$ transskill convert .cursorrules --to skill.md -o typescript-rule.md
|
|
114
|
-
✅ Conversion complete
|
|
115
|
-
output: ./typescript-rule.md
|
|
68
|
+
npm install -g transskill
|
|
69
|
+
# or run directly:
|
|
70
|
+
npx transskill --help
|
|
116
71
|
```
|
|
117
72
|
|
|
118
|
-
|
|
73
|
+
## Commands
|
|
119
74
|
|
|
120
|
-
|
|
121
|
-
$ transskill convert gh:anthropics/skills/weather --to .cursorrules \
|
|
122
|
-
--install-to .cursor/rules/
|
|
75
|
+
### 🔍 Search & Install (Marketplace)
|
|
123
76
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
77
|
+
```bash
|
|
78
|
+
# Interactive search — browse 1,115+ skills
|
|
79
|
+
npx transskill search
|
|
127
80
|
|
|
128
|
-
|
|
81
|
+
# JSON output (scripts/CI)
|
|
82
|
+
npx transskill search react --json
|
|
129
83
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
weather-skill/scripts/ → ./scripts/ (copied)
|
|
135
|
-
weather-skill/references/ → ./references/ (copied)
|
|
136
|
-
⚠️ SKILL.md scripts reference will not work in .cursorrules
|
|
84
|
+
# Install directly from registry → download → audit → convert → write
|
|
85
|
+
npx transskill install docx
|
|
86
|
+
npx transskill install python-linter --to .mdc
|
|
87
|
+
npx transskill install claude-api --to skill.md --dir ~/.claude/skills/
|
|
137
88
|
```
|
|
138
89
|
|
|
139
|
-
|
|
90
|
+
### 🔄 Convert
|
|
140
91
|
|
|
141
92
|
```bash
|
|
142
|
-
#
|
|
143
|
-
transskill convert
|
|
144
|
-
|
|
145
|
-
# List all supported formats
|
|
146
|
-
transskill list-formats
|
|
93
|
+
# Single file
|
|
94
|
+
npx transskill convert .cursorrules --to skill.md
|
|
147
95
|
|
|
148
|
-
#
|
|
149
|
-
transskill
|
|
96
|
+
# GitHub repo
|
|
97
|
+
npx transskill convert gh:anthropics/skills/docx --to .cursorrules
|
|
150
98
|
|
|
151
|
-
#
|
|
152
|
-
transskill
|
|
99
|
+
# Skill directory with assets
|
|
100
|
+
npx transskill convert ./skill-dir/ --to .cursorrules
|
|
153
101
|
|
|
154
|
-
#
|
|
155
|
-
transskill --
|
|
102
|
+
# Preview what would be lost
|
|
103
|
+
npx transskill diff .cursorrules --to skill.md
|
|
156
104
|
```
|
|
157
105
|
|
|
158
|
-
###
|
|
159
|
-
|
|
160
|
-
| Flag | Description |
|
|
161
|
-
|------|-------------|
|
|
162
|
-
| `-t, --to <format>` | Target format (required) |
|
|
163
|
-
| `-o, --output <path>` | Output directory (default: current dir) |
|
|
164
|
-
| `--install-to <path>` | Install directly to agent config dir |
|
|
165
|
-
| `--glob <pattern>` | File glob pattern (for .mdc output) |
|
|
166
|
-
| `--always-apply` | Always apply rule (for .mdc output) |
|
|
167
|
-
| `--dry-run` | Preview without writing files |
|
|
168
|
-
| `-v, --verbose` | Detailed conversion report |
|
|
169
|
-
|
|
170
|
-
### Options for `audit`
|
|
171
|
-
|
|
172
|
-
| Flag | Description |
|
|
173
|
-
|------|-------------|
|
|
174
|
-
| `--format <type>` | Output format: `console` or `json` (default: console) |
|
|
175
|
-
| `--quiet` | Only show summary score |
|
|
176
|
-
| `--min-severity <level>` | Minimum severity: `info`, `low`, `medium`, `high`, `critical` (default: info) |
|
|
177
|
-
| `--auditor <id>` | Run only specific auditor (can be repeated) |
|
|
178
|
-
| `-v, --verbose` | Show detailed findings |
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Security Audit
|
|
183
|
-
|
|
184
|
-
TransSkill includes a built-in security scanner that analyzes skill files for potential security risks before you install or use them.
|
|
106
|
+
### 🛡️ Audit
|
|
185
107
|
|
|
186
108
|
```bash
|
|
187
|
-
|
|
188
|
-
transskill audit
|
|
189
|
-
|
|
190
|
-
# JSON output for programmatic use
|
|
191
|
-
transskill audit ./skill-dir/ --format json
|
|
192
|
-
|
|
193
|
-
# Quiet mode — just the score
|
|
194
|
-
transskill audit my-skill.skill.md --quiet
|
|
195
|
-
|
|
196
|
-
# Only show high and critical issues
|
|
197
|
-
transskill audit .cursorrules --min-severity high
|
|
198
|
-
|
|
199
|
-
# Run a specific auditor only
|
|
200
|
-
transskill audit mcp.json --auditor permission-scanner
|
|
109
|
+
npx transskill audit ./skill.skill.md
|
|
110
|
+
npx transskill audit ./skill-dir/ --format json --quiet
|
|
201
111
|
```
|
|
202
112
|
|
|
203
|
-
###
|
|
113
|
+
### 📤 Publish
|
|
204
114
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|-------|---------|----------------|
|
|
209
|
-
| **L1 — Instructions** | `instruction-scanner` | Dangerous shell commands (`rm -rf`, `sudo`, `curl|sh`), prompt injection patterns, base64/hex obfuscation, suspicious URLs, remote code execution |
|
|
210
|
-
| **L2 — Permissions** | `permission-scanner` | Overly broad `.mdc` globs, `alwaysApply` without scope, dangerous MCP tool names (shell/exec), filesystem access, network access, Claude `disableModelInvocation` settings |
|
|
211
|
-
| **L3 — MCP** | `permission-scanner` | MCP server commands (`rm`, `sudo`, `kill`), MCP tool capabilities that could be abused |
|
|
212
|
-
|
|
213
|
-
> Note: L3 checks are handled by the same PermissionScanner that handles L2. They are reported together in a single scan pass.
|
|
214
|
-
|
|
215
|
-
### Scoring System
|
|
216
|
-
|
|
217
|
-
The audit engine computes a numeric score (0–100) with an A–F letter grade:
|
|
218
|
-
|
|
219
|
-
| Level | Score Range | Meaning |
|
|
220
|
-
|-------|-------------|---------|
|
|
221
|
-
| **A** | 90–100 | Excellent — minimal or no issues |
|
|
222
|
-
| **B** | 70–89 | Good — minor low-severity findings |
|
|
223
|
-
| **C** | 50–69 | Fair — moderate issues, review recommended |
|
|
224
|
-
| **D** | 30–49 | Poor — significant issues, use with caution |
|
|
225
|
-
| **F** | 0–29 | Critical — unsafe, do not use without remediation |
|
|
226
|
-
|
|
227
|
-
Each finding carries a severity weight that reduces the score:
|
|
228
|
-
|
|
229
|
-
| Severity | Weight |
|
|
230
|
-
|----------|--------|
|
|
231
|
-
| 🔴 Critical | −25 pts |
|
|
232
|
-
| 🟠 High | −10 pts |
|
|
233
|
-
| 🟡 Medium | −4 pts |
|
|
234
|
-
| 🟢 Low | −1 pt |
|
|
235
|
-
| ℹ️ Info | 0 pts |
|
|
236
|
-
|
|
237
|
-
### Output Formats
|
|
238
|
-
|
|
239
|
-
**Console** (default): Human-readable report with colored severity labels, line numbers, and context snippets.
|
|
115
|
+
```bash
|
|
116
|
+
# Submit a skill link to the registry (PR)
|
|
117
|
+
npx transskill publish ./my-skill/
|
|
240
118
|
|
|
119
|
+
# Batch publish skills from a directory
|
|
120
|
+
npx transskill publish-all ./skills/ --dry-run
|
|
241
121
|
```
|
|
242
|
-
$ transskill audit my-skill.skill.md
|
|
243
122
|
|
|
244
|
-
|
|
245
|
-
║ TransSkill Security Audit ║
|
|
246
|
-
║ Target: my-skill.skill.md ║
|
|
247
|
-
╚══════════════════════════════════════════════╝
|
|
248
|
-
|
|
249
|
-
Audit Level: L1 + L2 + L3
|
|
250
|
-
|
|
251
|
-
Findings (3):
|
|
252
|
-
|
|
253
|
-
🔴 Critical | L2-003b | MCP server 使用危险命令: rm
|
|
254
|
-
→ ./my-skill.skill.md
|
|
255
|
-
|
|
256
|
-
🟠 High | L1-001 | Detected dangerous command: rm -rf /
|
|
257
|
-
→ ./my-skill.skill.md:24
|
|
258
|
-
→ run: rm -rf /tmp/cache
|
|
123
|
+
---
|
|
259
124
|
|
|
260
|
-
|
|
261
|
-
→ ./my-skill.skill.md
|
|
125
|
+
## How It Works
|
|
262
126
|
|
|
263
|
-
Score: 65/100 — Level C
|
|
264
|
-
3 findings (1 critical, 1 high, 1 medium)
|
|
265
127
|
```
|
|
128
|
+
Input (file/dir/GitHub/Registry)
|
|
129
|
+
│
|
|
130
|
+
▼
|
|
131
|
+
InputResolver ──► Parser ──► Mapper ──► Renderer ──► Output
|
|
132
|
+
(Local/GitHub) (read) (map) (write)
|
|
266
133
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
```bash
|
|
270
|
-
transskill audit ./skills/ --format json
|
|
134
|
+
Registry ──► Search ──► Install ──► Audit ──► Convert ──► Write
|
|
135
|
+
(1,115+) (TUI/JSON) (auto)
|
|
271
136
|
```
|
|
272
137
|
|
|
273
|
-
|
|
138
|
+
TransSkill's pipeline:
|
|
139
|
+
1. **InputResolver** — resolves local/GitHub/registry sources
|
|
140
|
+
2. **Parser** — reads 6 formats into a universal intermediate representation
|
|
141
|
+
3. **Mapper** — cross-platform field mapping with loss reporting
|
|
142
|
+
4. **Renderer** — writes in the target format
|
|
143
|
+
5. **AuditEngine** — security scanning at every level
|
|
144
|
+
6. **Marketplace** — search, install, and publish via the registry
|
|
274
145
|
|
|
275
|
-
|
|
276
|
-
transskill audit .cursorrules --quiet
|
|
277
|
-
# 📊 C (65/100) — 3 findings (1🔴 1🟠 1🟡)
|
|
278
|
-
```
|
|
146
|
+
---
|
|
279
147
|
|
|
280
|
-
|
|
148
|
+
## Security Audit Scoring
|
|
281
149
|
|
|
282
|
-
|
|
150
|
+
| Score | Grade | Meaning |
|
|
151
|
+
|-------|-------|---------|
|
|
152
|
+
| 90–100 | **A** | Excellent |
|
|
153
|
+
| 70–89 | **B** | Good — minor issues |
|
|
154
|
+
| 50–69 | **C** | Fair — review recommended |
|
|
155
|
+
| 30–49 | **D** | Poor — significant issues |
|
|
156
|
+
| 0–29 | **F** | Critical — do not use |
|
|
283
157
|
|
|
284
|
-
|
|
285
|
-
#!/bin/bash
|
|
286
|
-
# Fail build if score drops below B (70)
|
|
287
|
-
RESULT=$(transskill audit ./skills/ --format json)
|
|
288
|
-
SCORE=$(echo $RESULT | jq '.score.total')
|
|
289
|
-
if [ "$SCORE" -lt 70 ]; then
|
|
290
|
-
echo "❌ Security score $SCORE is below threshold (70)"
|
|
291
|
-
exit 1
|
|
292
|
-
fi
|
|
293
|
-
echo "✅ Security score $SCORE — passing"
|
|
294
|
-
```
|
|
158
|
+
---
|
|
295
159
|
|
|
296
160
|
## Project Status
|
|
297
161
|
|
|
298
|
-
**v0.
|
|
162
|
+
**v0.4.0** — Active development.
|
|
299
163
|
|
|
300
|
-
|
|
|
301
|
-
|
|
302
|
-
|
|
|
303
|
-
|
|
|
304
|
-
|
|
|
305
|
-
|
|
|
306
|
-
|
|
|
307
|
-
|
|
|
308
|
-
| Phase 6: CI + publish | ⬜ Pending |
|
|
309
|
-
| Phase A: Security audit | ✅ Complete |
|
|
164
|
+
| Feature | Status |
|
|
165
|
+
|---------|--------|
|
|
166
|
+
| ✅ Format conversion (6 formats) | Complete |
|
|
167
|
+
| ✅ Security audit (L1–L3) | Complete |
|
|
168
|
+
| ✅ Marketplace search (1,115+ skills) | Complete |
|
|
169
|
+
| ✅ Install (download → audit → convert) | Complete |
|
|
170
|
+
| ✅ Publish (link submission) | Complete |
|
|
171
|
+
| ⬜ Tests | In progress |
|
|
310
172
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add a new format.
|
|
173
|
+
---
|
|
314
174
|
|
|
315
175
|
## License
|
|
316
176
|
|
package/README.zh.md
CHANGED
|
@@ -1,319 +1,177 @@
|
|
|
1
1
|
# TransSkill
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
TransSkill 是一个跨 AI Agent 平台的技能格式转换工具。
|
|
6
|
-
无需为每个 Agent 手动重写技能——一条命令搞定。
|
|
3
|
+
> **一次编写,全平台运行。搜索、审计、安装 1,000+ 个技能。**
|
|
7
4
|
|
|
5
|
+
[](https://www.npmjs.com/package/transskill)
|
|
8
6
|
[](README.md)
|
|
9
7
|
|
|
10
8
|
---
|
|
11
9
|
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
每种 AI 编码 Agent 都有自己的技能格式:
|
|
15
|
-
- Claude Code 用 SKILL.md
|
|
16
|
-
- Cursor 用 .cursorrules
|
|
17
|
-
- OpenClaw 用 AGENTS.md
|
|
18
|
-
- MCP Server 用 JSON Schema
|
|
19
|
-
|
|
20
|
-
为一个平台写的技能,在另一个平台上无法直接使用。
|
|
10
|
+
## ✨ TransSkill 的三大亮点
|
|
21
11
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
$ transskill convert .cursorrules --to skill.md
|
|
26
|
-
$ transskill convert gh:user/weather-skill --to .cursorrules
|
|
27
|
-
$ transskill convert ./my-skill/ --to .mdc --glob "**/*.ts"
|
|
28
|
-
```
|
|
12
|
+
### 🗂️ 全站搜索 — 一键检索 1,115+ 个技能
|
|
29
13
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## 安装
|
|
14
|
+
不用再到处翻 GitHub 仓库了。TransSkill 自动集成 [awesome-agent-skills](https://github.com/VoltAgent/awesome-agent-skills) 生态,索引了 **1,115+ 个真实可用的 Agent 技能**,来自 **Anthropic、Stripe、Google Gemini、Vercel、Cloudflare、Angular、Supabase** 等官方团队。
|
|
35
15
|
|
|
36
16
|
```bash
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
或者直接运行:
|
|
17
|
+
# 交互式搜索 — 打字过滤,回车安装
|
|
18
|
+
npx transskill search
|
|
41
19
|
|
|
42
|
-
|
|
43
|
-
npx transskill
|
|
20
|
+
# 命令行搜索
|
|
21
|
+
npx transskill search docx --json
|
|
22
|
+
npx transskill search python --tag linter
|
|
44
23
|
```
|
|
45
24
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# SKILL.md → .cursorrules
|
|
50
|
-
transskill convert my-skill.skill.md --to .cursorrules
|
|
25
|
+
每个技能直接从**原始仓库**获取 — 不存副本,不会过时。
|
|
51
26
|
|
|
52
|
-
|
|
53
|
-
transskill convert .cursorrules --to skill.md
|
|
27
|
+
### 🛡️ 安全审计 — 安装前自动扫描
|
|
54
28
|
|
|
55
|
-
|
|
56
|
-
transskill convert .cursorrules --to .mdc --glob "src/**/*.ts"
|
|
29
|
+
安装任何技能之前,TransSkill 自动进行三层安全检查:
|
|
57
30
|
|
|
58
|
-
|
|
59
|
-
|
|
31
|
+
| 级别 | 检测内容 |
|
|
32
|
+
|-------|----------|
|
|
33
|
+
| **L1 — 指令扫描** | `rm -rf`、`curl\|sh`、base64 混淆、提示注入 |
|
|
34
|
+
| **L2 — 权限扫描** | glob 范围过宽、危险 MCP 工具名 |
|
|
35
|
+
| **L3 — MCP 扫描** | 可疑服务器命令(`sudo`、`kill`、`rm`) |
|
|
60
36
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
37
|
+
```bash
|
|
38
|
+
# 审计任意技能文件
|
|
39
|
+
npx transskill audit ./skill.skill.md
|
|
64
40
|
|
|
65
|
-
#
|
|
66
|
-
transskill
|
|
41
|
+
# 安装时自动审计(评分 < 90 会拦截)
|
|
42
|
+
npx transskill install python-linter
|
|
67
43
|
```
|
|
68
44
|
|
|
69
|
-
|
|
45
|
+
### 🔄 格式转换 — 跨平台互通
|
|
70
46
|
|
|
71
|
-
|
|
72
|
-
|------|------|------|
|
|
73
|
-
| 本地文件 | `./rules.cursorrules` | 单文件转换 |
|
|
74
|
-
| 本地目录 | `./weather-skill/` | 完整 skill 目录(含脚本和资源) |
|
|
75
|
-
| GitHub 仓库 | `gh:user/repo` | 自动 clone + 转换 |
|
|
76
|
-
| GitHub 子路径 | `gh:user/repo/path` | 仓库内特定子目录 |
|
|
77
|
-
| GitHub URL | `https://github.com/user/repo` | 完整 URL 支持 |
|
|
47
|
+
在所有主流 Agent 格式间自由转换,**无需手动重写**。
|
|
78
48
|
|
|
79
|
-
|
|
49
|
+
```bash
|
|
50
|
+
npx transskill convert .cursorrules --to skill.md
|
|
51
|
+
npx transskill convert gh:user/weather-skill --to .mdc
|
|
52
|
+
npx transskill convert ./my-skill/ --to .cursorrules --glob "src/**/*.ts"
|
|
53
|
+
```
|
|
80
54
|
|
|
81
55
|
| 格式 | 平台 | 输入 | 输出 |
|
|
82
|
-
|
|
56
|
+
|--------|-----------|:----:|:----:|
|
|
83
57
|
| SKILL.md | Claude Code, Codex CLI, OpenClaw, Cursor | ✅ | ✅ |
|
|
84
58
|
| .cursorrules | Cursor IDE | ✅ | ✅ |
|
|
85
59
|
| .mdc | Cursor 2.3+ | ✅ | ✅ |
|
|
86
|
-
| MCP JSON |
|
|
60
|
+
| MCP JSON | 任意 MCP 客户端 | ✅ | — |
|
|
87
61
|
| SOUL.md | OpenClaw | ✅ | — |
|
|
88
62
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
# 转换技能格式
|
|
93
|
-
transskill convert <input> --to <format> [options]
|
|
94
|
-
|
|
95
|
-
# 列出所有支持的格式
|
|
96
|
-
transskill list-formats
|
|
97
|
-
|
|
98
|
-
# 验证技能文件或目录格式
|
|
99
|
-
transskill validate <input>
|
|
63
|
+
---
|
|
100
64
|
|
|
101
|
-
|
|
102
|
-
transskill audit <input> [options]
|
|
65
|
+
## 安装
|
|
103
66
|
|
|
104
|
-
|
|
105
|
-
transskill
|
|
67
|
+
```bash
|
|
68
|
+
npm install -g transskill
|
|
69
|
+
# 或直接运行:
|
|
70
|
+
npx transskill --help
|
|
106
71
|
```
|
|
107
72
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
| 参数 | 说明 |
|
|
111
|
-
|------|------|
|
|
112
|
-
| `-t, --to <format>` | 目标格式(必填) |
|
|
113
|
-
| `-o, --output <path>` | 输出目录(默认当前目录) |
|
|
114
|
-
| `--install-to <path>` | 直接安装到 Agent 配置目录 |
|
|
115
|
-
| `--glob <pattern>` | 文件匹配模式(.mdc 输出时使用) |
|
|
116
|
-
| `--always-apply` | 总是加载该规则(.mdc 输出时使用) |
|
|
117
|
-
| `--dry-run` | 预览模式,不写入文件 |
|
|
118
|
-
| `-v, --verbose` | 显示详细转换报告 |
|
|
73
|
+
## 命令
|
|
119
74
|
|
|
120
|
-
###
|
|
75
|
+
### 🔍 搜索与安装(市场)
|
|
121
76
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
| `--quiet` | 仅显示评分摘要 |
|
|
126
|
-
| `--min-severity <level>` | 最低报告级别:`info`, `low`, `medium`, `high`, `critical`(默认 info) |
|
|
127
|
-
| `--auditor <id>` | 仅运行指定的审计器(可重复使用) |
|
|
128
|
-
| `-v, --verbose` | 显示详细发现 |
|
|
77
|
+
```bash
|
|
78
|
+
# 交互式搜索 — 浏览 1,115+ 个技能
|
|
79
|
+
npx transskill search
|
|
129
80
|
|
|
130
|
-
|
|
81
|
+
# JSON 输出(脚本/CI 用)
|
|
82
|
+
npx transskill search react --json
|
|
131
83
|
|
|
84
|
+
# 直接从市场安装 → 下载 → 审计 → 转换 → 写入
|
|
85
|
+
npx transskill install docx
|
|
86
|
+
npx transskill install python-linter --to .mdc
|
|
87
|
+
npx transskill install claude-api --to skill.md --dir ~/.claude/skills/
|
|
132
88
|
```
|
|
133
|
-
输入 (文件/目录/GitHub)
|
|
134
|
-
│
|
|
135
|
-
▼
|
|
136
|
-
InputResolver ──► Parser ──► Mapper ──► Renderer ──► 输出
|
|
137
|
-
(本地/GitHub) (读取) (映射) (写入)
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
TransSkill 采用管道架构:
|
|
141
|
-
|
|
142
|
-
1. **InputResolver** — 将输入(本地路径或 GitHub URL)解析为本地文件路径
|
|
143
|
-
2. **Parser** — 读取平台特有格式,转换为通用中间表示
|
|
144
|
-
3. **Mapper** — 在平台间映射字段,报告保留和丢失的信息
|
|
145
|
-
4. **Renderer** — 以目标平台格式输出结果
|
|
146
|
-
|
|
147
|
-
## 示例
|
|
148
89
|
|
|
149
|
-
###
|
|
90
|
+
### 🔄 转换
|
|
150
91
|
|
|
151
92
|
```bash
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
Always use strict mode
|
|
155
|
-
Prefer named exports
|
|
156
|
-
|
|
157
|
-
$ transskill convert .cursorrules --to skill.md -o typescript-rule.md
|
|
158
|
-
✅ 转换完成
|
|
159
|
-
输出: ./typescript-rule.md
|
|
160
|
-
```
|
|
93
|
+
# 单文件
|
|
94
|
+
npx transskill convert .cursorrules --to skill.md
|
|
161
95
|
|
|
162
|
-
|
|
96
|
+
# GitHub 仓库
|
|
97
|
+
npx transskill convert gh:anthropics/skills/docx --to .cursorrules
|
|
163
98
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
--install-to .cursor/rules/
|
|
99
|
+
# 技能目录(含附属文件)
|
|
100
|
+
npx transskill convert ./skill-dir/ --to .cursorrules
|
|
167
101
|
|
|
168
|
-
|
|
169
|
-
|
|
102
|
+
# 预览转换损失
|
|
103
|
+
npx transskill diff .cursorrules --to skill.md
|
|
170
104
|
```
|
|
171
105
|
|
|
172
|
-
###
|
|
106
|
+
### 🛡️ 审计
|
|
173
107
|
|
|
174
108
|
```bash
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
weather-skill/SKILL.md → weather-skill.cursorrules
|
|
178
|
-
weather-skill/scripts/ → ./scripts/(已复制)
|
|
179
|
-
weather-skill/references/ → ./references/(已复制)
|
|
180
|
-
⚠️ SKILL.md 中的脚本引用在 .cursorrules 中无法使用
|
|
109
|
+
npx transskill audit ./skill.skill.md
|
|
110
|
+
npx transskill audit ./skill-dir/ --format json --quiet
|
|
181
111
|
```
|
|
182
112
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
## 安全审计
|
|
186
|
-
|
|
187
|
-
TransSkill 内置安全扫描器,可以在安装或使用技能文件之前分析其中的潜在安全风险。
|
|
113
|
+
### 📤 发布
|
|
188
114
|
|
|
189
115
|
```bash
|
|
190
|
-
#
|
|
191
|
-
transskill
|
|
192
|
-
|
|
193
|
-
# JSON 格式输出,适合程序化处理
|
|
194
|
-
transskill audit ./skill-dir/ --format json
|
|
195
|
-
|
|
196
|
-
# 安静模式——仅显示评分
|
|
197
|
-
transskill audit my-skill.skill.md --quiet
|
|
198
|
-
|
|
199
|
-
# 仅显示高危及以上问题
|
|
200
|
-
transskill audit .cursorrules --min-severity high
|
|
201
|
-
|
|
202
|
-
# 仅运行指定审计器
|
|
203
|
-
transskill audit mcp.json --auditor permission-scanner
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### 审计级别
|
|
207
|
-
|
|
208
|
-
扫描器检查三个安全层级:
|
|
209
|
-
|
|
210
|
-
| 级别 | 扫描器 | 检查内容 |
|
|
211
|
-
|------|--------|----------|
|
|
212
|
-
| **L1 — 指令扫描** | `instruction-scanner` | 危险 shell 命令(`rm -rf`、`sudo`、`curl|sh`)、提示注入模式、base64/hex 混淆、可疑 URL、远程代码执行 |
|
|
213
|
-
| **L2 — 权限扫描** | `permission-scanner` | `.mdc` glob 范围过宽、`alwaysApply` 无范围限制、危险 MCP 工具名(shell/exec)、文件系统访问、网络访问、Claude `disableModelInvocation` 设置 |
|
|
214
|
-
| **L3 — MCP 扫描** | `permission-scanner` | MCP 服务器命令(`rm`、`sudo`、`kill`)、可能被滥用的 MCP 工具能力 |
|
|
215
|
-
|
|
216
|
-
> 注:L3 检查由同一個 PermissionScanner 处理,与 L2 在一次扫描中一并报告。
|
|
217
|
-
|
|
218
|
-
### 评分体系
|
|
219
|
-
|
|
220
|
-
审计引擎计算 0–100 的数值评分,对应 A–F 等级:
|
|
221
|
-
|
|
222
|
-
| 等级 | 分数范围 | 含义 |
|
|
223
|
-
|------|----------|------|
|
|
224
|
-
| **A** | 90–100 | 优秀——几乎没有安全问题 |
|
|
225
|
-
| **B** | 70–89 | 良好——存在少量低风险问题 |
|
|
226
|
-
| **C** | 50–69 | 一般——存在中等风险,建议审查 |
|
|
227
|
-
| **D** | 30–49 | 较差——存在显著风险,谨慎使用 |
|
|
228
|
-
| **F** | 0–29 | 危险——存在严重风险,请勿直接使用 |
|
|
229
|
-
|
|
230
|
-
每条发现按严重程度扣分:
|
|
231
|
-
|
|
232
|
-
| 严重程度 | 扣分 |
|
|
233
|
-
|----------|------|
|
|
234
|
-
| 🔴 严重(Critical) | −25 分 |
|
|
235
|
-
| 🟠 高危(High) | −10 分 |
|
|
236
|
-
| 🟡 中危(Medium) | −4 分 |
|
|
237
|
-
| 🟢 低危(Low) | −1 分 |
|
|
238
|
-
| ℹ️ 信息(Info) | 0 分 |
|
|
239
|
-
|
|
240
|
-
### 输出格式
|
|
241
|
-
|
|
242
|
-
**控制台**(默认):带颜色标签、行号和上下文片段的可读报告。
|
|
116
|
+
# 提交技能链接到市场(自动 PR)
|
|
117
|
+
npx transskill publish ./my-skill/
|
|
243
118
|
|
|
119
|
+
# 批量发布目录下的所有技能
|
|
120
|
+
npx transskill publish-all ./skills/ --dry-run
|
|
244
121
|
```
|
|
245
|
-
$ transskill audit my-skill.skill.md
|
|
246
|
-
|
|
247
|
-
╔══════════════════════════════════════════════╗
|
|
248
|
-
║ TransSkill Security Audit ║
|
|
249
|
-
║ 目标文件: my-skill.skill.md ║
|
|
250
|
-
╚══════════════════════════════════════════════╝
|
|
251
|
-
|
|
252
|
-
审计等级: L1 + L2 + L3
|
|
253
|
-
|
|
254
|
-
发现 (3 项):
|
|
255
122
|
|
|
256
|
-
|
|
257
|
-
→ ./my-skill.skill.md
|
|
258
|
-
|
|
259
|
-
🟠 高危 | L1-001 | 检测到危险命令: rm -rf /
|
|
260
|
-
→ ./my-skill.skill.md:24
|
|
261
|
-
→ run: rm -rf /tmp/cache
|
|
123
|
+
---
|
|
262
124
|
|
|
263
|
-
|
|
264
|
-
→ ./my-skill.skill.md
|
|
125
|
+
## 工作原理
|
|
265
126
|
|
|
266
|
-
评分: 65/100 — C 级
|
|
267
|
-
3 项发现 (1 严重, 1 高危, 1 中危)
|
|
268
127
|
```
|
|
128
|
+
输入 (文件/目录/GitHub/市场)
|
|
129
|
+
│
|
|
130
|
+
▼
|
|
131
|
+
InputResolver ──► Parser ──► Mapper ──► Renderer ──► 输出
|
|
132
|
+
(本地/GitHub) (读取) (映射) (写入)
|
|
269
133
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
transskill audit ./skills/ --format json
|
|
134
|
+
市场 ──► 搜索 ──► 安装 ──► 审计 ──► 转换 ──► 写入
|
|
135
|
+
(1,115+) (TUI/JSON) (自动)
|
|
274
136
|
```
|
|
275
137
|
|
|
276
|
-
|
|
138
|
+
TransSkill 的管道架构:
|
|
277
139
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
140
|
+
1. **InputResolver** — 解析本地/GitHub/市场来源
|
|
141
|
+
2. **Parser** — 读取 6 种格式为通用中间表示
|
|
142
|
+
3. **Mapper** — 跨平台字段映射,报告保留和丢失的信息
|
|
143
|
+
4. **Renderer** — 以目标格式输出
|
|
144
|
+
5. **AuditEngine** — 全层级安全扫描
|
|
145
|
+
6. **Marketplace** — 搜索、安装、发布
|
|
282
146
|
|
|
283
|
-
|
|
147
|
+
---
|
|
284
148
|
|
|
285
|
-
|
|
149
|
+
## 安全审计评分
|
|
286
150
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
exit 1
|
|
295
|
-
fi
|
|
296
|
-
echo "✅ 安全评分 $SCORE — 通过"
|
|
297
|
-
```
|
|
151
|
+
| 分数 | 等级 | 含义 |
|
|
152
|
+
|-------|-------|---------|
|
|
153
|
+
| 90–100 | **A** | 优秀 |
|
|
154
|
+
| 70–89 | **B** | 良好 — 少量低风险问题 |
|
|
155
|
+
| 50–69 | **C** | 一般 — 建议审查 |
|
|
156
|
+
| 30–49 | **D** | 较差 — 显著风险 |
|
|
157
|
+
| 0–29 | **F** | 危险 — 请勿使用 |
|
|
298
158
|
|
|
299
|
-
|
|
159
|
+
---
|
|
300
160
|
|
|
301
|
-
|
|
161
|
+
## 项目状态
|
|
302
162
|
|
|
303
|
-
|
|
304
|
-
|------|------|
|
|
305
|
-
| Phase 0: 项目脚手架 | ✅ 已完成 |
|
|
306
|
-
| Phase 1: InputResolver + 类型定义 | ✅ 已完成 |
|
|
307
|
-
| Phase 2: Parser 层 | ✅ 已完成 |
|
|
308
|
-
| Phase 3: Mapper + Renderer | ✅ 已完成 |
|
|
309
|
-
| Phase 4: CLI 完整管道 | ✅ 已完成 |
|
|
310
|
-
| Phase 5: 测试覆盖 | ⬜ 进行中 |
|
|
311
|
-
| Phase 6: CI + 发布 | ⬜ 待完成 |
|
|
312
|
-
| Phase A: 安全审计 | ✅ 已完成 |
|
|
163
|
+
**v0.4.0** — 活跃开发中。
|
|
313
164
|
|
|
314
|
-
|
|
165
|
+
| 功能 | 状态 |
|
|
166
|
+
|---------|--------|
|
|
167
|
+
| ✅ 格式转换(6 种格式) | 已完成 |
|
|
168
|
+
| ✅ 安全审计(L1–L3) | 已完成 |
|
|
169
|
+
| ✅ 市场搜索(1,115+ 个技能) | 已完成 |
|
|
170
|
+
| ✅ 安装(下载 → 审计 → 转换) | 已完成 |
|
|
171
|
+
| ✅ 发布(链接提交) | 已完成 |
|
|
172
|
+
| ⬜ 测试覆盖 | 进行中 |
|
|
315
173
|
|
|
316
|
-
|
|
174
|
+
---
|
|
317
175
|
|
|
318
176
|
## 许可证
|
|
319
177
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA2I5E;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,YAAY,UAAQ,EACpB,eAAe,UAAO,GACrB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA2I5E;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,YAAY,UAAQ,EACpB,eAAe,UAAO,GACrB,OAAO,CAAC,aAAa,CAAC,CAsCxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CASpF;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,SAAS,CAW3B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBlF"}
|
|
@@ -134,35 +134,40 @@ function deriveDownloadUrl(url, name, author) {
|
|
|
134
134
|
* Optionally enriches with external sources.
|
|
135
135
|
*/
|
|
136
136
|
export async function getRegistry(forceRefresh = false, includeExternal = true) {
|
|
137
|
+
// 1. Load base index: from cache (if fresh) or remote
|
|
138
|
+
let index = null;
|
|
137
139
|
if (!forceRefresh) {
|
|
138
|
-
|
|
139
|
-
if (cached)
|
|
140
|
-
return cached;
|
|
140
|
+
index = readCache();
|
|
141
141
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
if (!index) {
|
|
143
|
+
index = await fetchRemote();
|
|
144
|
+
writeCache(index);
|
|
145
|
+
}
|
|
146
|
+
// 2. Always try to enrich with external sources (even from cache)
|
|
147
|
+
// This ensures broken/empty external data gets fixed on next run
|
|
145
148
|
if (includeExternal) {
|
|
146
149
|
try {
|
|
147
150
|
const externalSkills = await fetchAwesomeAgentSkills();
|
|
148
151
|
if (externalSkills.length > 0) {
|
|
149
|
-
|
|
150
|
-
|
|
152
|
+
const existingNames = new Set(index.skills.map((s) => s.name));
|
|
153
|
+
let changed = false;
|
|
151
154
|
for (const ext of externalSkills) {
|
|
152
155
|
if (!existingNames.has(ext.name)) {
|
|
153
|
-
|
|
156
|
+
index.skills.push(ext);
|
|
157
|
+
changed = true;
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
160
|
+
if (changed) {
|
|
161
|
+
index.updated = new Date().toISOString();
|
|
162
|
+
writeCache(index);
|
|
163
|
+
}
|
|
159
164
|
}
|
|
160
165
|
}
|
|
161
166
|
catch {
|
|
162
167
|
// External enrich is best-effort
|
|
163
168
|
}
|
|
164
169
|
}
|
|
165
|
-
return
|
|
170
|
+
return index;
|
|
166
171
|
}
|
|
167
172
|
/**
|
|
168
173
|
* Simple fuzzy search across skill name, description, and tags.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../src/marketplace/registry-client.ts"],"names":[],"mappings":"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"}
|