rei-skills 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.
- package/README.md +322 -0
- package/bin/install.js +272 -0
- package/package.json +48 -0
package/README.md
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# π° Rei Skills β 883+ Universal Agentic Skills
|
|
2
|
+
|
|
3
|
+
> **The Ultimate Collection of 883+ Universal Agentic Skills for AI Coding Assistants β Curated by Rootcastle Engineering & Innovation (REI) | Batuhan AyrΔ±baΕ**
|
|
4
|
+
|
|
5
|
+
[](https://www.rootcastle.com)
|
|
6
|
+
[](https://www.npmjs.com/package/rei-skills)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[]()
|
|
9
|
+
|
|
10
|
+
[](https://claude.ai)
|
|
11
|
+
[](https://github.com/google-gemini/gemini-cli)
|
|
12
|
+
[](https://github.com/openai/codex)
|
|
13
|
+
[](https://cursor.sh)
|
|
14
|
+
[](https://github.com/features/copilot)
|
|
15
|
+
[](https://github.com/rootcastleco/rei-skills)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## π° About Rootcastle Engineering & Innovation
|
|
20
|
+
|
|
21
|
+
**Rootcastle** is an international technology company that unifies engineering disciplines under a single architecture. With our software and R&D center in **Estonia** integrated with manufacturing, hardware development, and engineering capabilities in **Turkey**, we develop reliable, flexible, and scalable technologies.
|
|
22
|
+
|
|
23
|
+
Our expertise spans **software development**, **PCB & hardware design**, **embedded systems**, **IoT & GPS telematics**, **data security**, **3D manufacturing**, **rapid prototyping**, and **e-commerce integrations**. This infrastructure serves industries from logistics and manufacturing to public services, security, fleet management, and critical monitoring operations.
|
|
24
|
+
|
|
25
|
+
Under brands like **jTrack** and **NetFleet**, we support container security solutions (HSCTS), fleet telemetry devices, OBD-II product families, solar asset tracking systems, and mobile monitoring units. Through our technology partners in the **UK** and **US**, our platforms deliver cloud architectures, mobile applications, and modern API integrations.
|
|
26
|
+
|
|
27
|
+
> **π 5 International Partnerships | 150+ Global Projects**
|
|
28
|
+
> **π Website:** [www.rootcastle.com](https://www.rootcastle.com)
|
|
29
|
+
> **π§ Contact:** admin@rootcastle.com
|
|
30
|
+
> **π± Phone:** +90 507 545 29 39
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Table of Contents
|
|
35
|
+
|
|
36
|
+
- [β‘ Quick Start](#quick-start)
|
|
37
|
+
- [π Complete Usage Guide](docs/USAGE.md)
|
|
38
|
+
- [π Compatibility & Invocation](#compatibility--invocation)
|
|
39
|
+
- [π οΈ Installation](#installation)
|
|
40
|
+
- [π§― Troubleshooting](#troubleshooting)
|
|
41
|
+
- [π Curated Collections (Bundles)](#curated-collections)
|
|
42
|
+
- [π§ Workflows](#workflows)
|
|
43
|
+
- [π¦ Features & Categories](#features--categories)
|
|
44
|
+
- [π Browse 883+ Skills](#browse-883-skills)
|
|
45
|
+
- [π Security](#security)
|
|
46
|
+
- [π€ How to Contribute](#how-to-contribute)
|
|
47
|
+
- [π₯ Credits & Sources](#credits--sources)
|
|
48
|
+
- [βοΈ License](#license)
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Quick Start
|
|
53
|
+
|
|
54
|
+
Install once, use everywhere. Get 883+ skills in your AI coding assistant in under a minute.
|
|
55
|
+
|
|
56
|
+
### 1. Install
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Default: ~/.gemini/rei/skills (Global)
|
|
60
|
+
npx rei-skills
|
|
61
|
+
|
|
62
|
+
# Or choose your platform:
|
|
63
|
+
npx rei-skills --claude # Claude Code
|
|
64
|
+
npx rei-skills --gemini # Gemini CLI
|
|
65
|
+
npx rei-skills --cursor # Cursor IDE
|
|
66
|
+
npx rei-skills --codex # Codex CLI
|
|
67
|
+
npx rei-skills --antigravity # Antigravity IDE
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 2. Verify
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
test -d ~/.gemini/rei/skills && echo "β
Rei Skills installed successfully"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Use Your First Skill
|
|
77
|
+
|
|
78
|
+
> "Use **@brainstorming** to plan a SaaS MVP."
|
|
79
|
+
|
|
80
|
+
### 4. Pick a Bundle
|
|
81
|
+
|
|
82
|
+
- **Web Dev?** β Start with `Web Wizard`
|
|
83
|
+
- **Security?** β Start with `Security Engineer`
|
|
84
|
+
- **General?** β Start with `Essentials`
|
|
85
|
+
|
|
86
|
+
π **[Complete Usage Guide](docs/USAGE.md)** β Start here after installation
|
|
87
|
+
π **[Bundles Guide](docs/BUNDLES.md)** β Curated skill packs by role
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Compatibility & Invocation
|
|
92
|
+
|
|
93
|
+
Rei Skills follow the universal **SKILL.md** format and work with any AI coding assistant that supports agentic skills.
|
|
94
|
+
|
|
95
|
+
| Tool | Type | Invocation Example | Path |
|
|
96
|
+
| :-------------- | :--- | :-------------------------------- | :---------------- |
|
|
97
|
+
| **Claude Code** | CLI | `>> /skill-name help me...` | `.claude/skills/` |
|
|
98
|
+
| **Gemini CLI** | CLI | `(User Prompt) Use skill-name...` | `.gemini/skills/` |
|
|
99
|
+
| **Codex CLI** | CLI | `(User Prompt) Use skill-name...` | `.codex/skills/` |
|
|
100
|
+
| **Antigravity** | IDE | `(Agent Mode) Use skill...` | Global: `~/.gemini/rei/skills/` Β· Workspace: `.agent/skills/` |
|
|
101
|
+
| **Cursor** | IDE | `@skill-name (in Chat)` | `.cursor/skills/` |
|
|
102
|
+
| **Copilot** | Ext | `(Paste content manually)` | N/A |
|
|
103
|
+
| **OpenCode** | CLI | `opencode run @skill-name` | `.agents/skills/` |
|
|
104
|
+
| **AdaL CLI** | CLI | `(Auto) Skills load on-demand` | `.adal/skills/` |
|
|
105
|
+
|
|
106
|
+
> [!TIP]
|
|
107
|
+
> **Default installer path**: `~/.gemini/rei/skills` (Global). Use `--path ~/.agent/skills` for workspace-specific install.
|
|
108
|
+
|
|
109
|
+
> [!WARNING]
|
|
110
|
+
> **Windows Users**: This repository uses **symlinks** for official skills. Enable Developer Mode or run Git as Administrator. See [Troubleshooting](#troubleshooting).
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Installation
|
|
115
|
+
|
|
116
|
+
### Option A: npx (Recommended)
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Default: ~/.gemini/rei/skills (Global)
|
|
120
|
+
npx rei-skills
|
|
121
|
+
|
|
122
|
+
# Claude Code
|
|
123
|
+
npx rei-skills --claude
|
|
124
|
+
|
|
125
|
+
# Gemini CLI
|
|
126
|
+
npx rei-skills --gemini
|
|
127
|
+
|
|
128
|
+
# Codex CLI
|
|
129
|
+
npx rei-skills --codex
|
|
130
|
+
|
|
131
|
+
# Cursor
|
|
132
|
+
npx rei-skills --cursor
|
|
133
|
+
|
|
134
|
+
# Antigravity IDE
|
|
135
|
+
npx rei-skills --antigravity
|
|
136
|
+
|
|
137
|
+
# OpenCode
|
|
138
|
+
npx rei-skills --path .agents/skills
|
|
139
|
+
|
|
140
|
+
# Custom path
|
|
141
|
+
npx rei-skills --path ./my-skills
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Run `npx rei-skills --help` for all options.
|
|
145
|
+
|
|
146
|
+
### Option B: Git Clone
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Global (matches npx default)
|
|
150
|
+
git clone https://github.com/rootcastleco/rei-skills.git ~/.gemini/rei/skills
|
|
151
|
+
|
|
152
|
+
# Workspace-specific
|
|
153
|
+
git clone https://github.com/rootcastleco/rei-skills.git .agent/skills
|
|
154
|
+
|
|
155
|
+
# Claude Code
|
|
156
|
+
git clone https://github.com/rootcastleco/rei-skills.git .claude/skills
|
|
157
|
+
|
|
158
|
+
# Gemini CLI
|
|
159
|
+
git clone https://github.com/rootcastleco/rei-skills.git .gemini/skills
|
|
160
|
+
|
|
161
|
+
# Cursor
|
|
162
|
+
git clone https://github.com/rootcastleco/rei-skills.git .cursor/skills
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Troubleshooting
|
|
168
|
+
|
|
169
|
+
### `npx rei-skills` returns 404
|
|
170
|
+
|
|
171
|
+
Use the GitHub package fallback:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
npx github:rootcastle/rei-skills
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Windows clone issues (symlinks)
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
git clone -c core.symlinks=true https://github.com/rootcastleco/rei-skills.git .agent/skills
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Skills installed but not detected
|
|
184
|
+
|
|
185
|
+
Install to the tool-specific path using the installer flags: `--claude`, `--gemini`, `--codex`, `--cursor`, `--antigravity`, or `--path <dir>`.
|
|
186
|
+
|
|
187
|
+
### Update an existing installation
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
git -C ~/.gemini/rei/skills pull
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Reinstall from scratch
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
rm -rf ~/.gemini/rei/skills
|
|
197
|
+
npx rei-skills
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Curated Collections
|
|
203
|
+
|
|
204
|
+
**Bundles** are curated groups of skills for specific roles (e.g., `Web Wizard`, `Security Engineer`, `OSS Maintainer`).
|
|
205
|
+
|
|
206
|
+
> **Bundles are NOT separate installations.** You already have all skills after one install. Bundles are simply recommended lists to help you focus.
|
|
207
|
+
|
|
208
|
+
### How to use bundles:
|
|
209
|
+
|
|
210
|
+
1. **Install the repository once** (all 883+ skills included)
|
|
211
|
+
2. **Browse bundles** in [docs/BUNDLES.md](docs/BUNDLES.md)
|
|
212
|
+
3. **Pick 3-5 skills** from a bundle to start
|
|
213
|
+
4. **Reference them** in your conversations: `"Use @brainstorming..."`
|
|
214
|
+
|
|
215
|
+
### Examples:
|
|
216
|
+
|
|
217
|
+
- **Building a SaaS MVP:** `Essentials` + `Full-Stack Developer` + `QA & Testing`
|
|
218
|
+
- **Hardening production:** `Security Developer` + `DevOps & Cloud` + `Observability`
|
|
219
|
+
- **Shipping OSS changes:** `Essentials` + `OSS Maintainer`
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Workflows
|
|
224
|
+
|
|
225
|
+
Bundles help you choose skills. Workflows help you execute them in order.
|
|
226
|
+
|
|
227
|
+
- [docs/WORKFLOWS.md](docs/WORKFLOWS.md) β Human-readable playbooks
|
|
228
|
+
- [data/workflows.json](data/workflows.json) β Machine-readable workflow metadata
|
|
229
|
+
|
|
230
|
+
**Available Workflows:**
|
|
231
|
+
|
|
232
|
+
- π Ship a SaaS MVP
|
|
233
|
+
- π Security Audit for a Web App
|
|
234
|
+
- π€ Build an AI Agent System
|
|
235
|
+
- π§ͺ QA and Browser Automation
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Features & Categories
|
|
240
|
+
|
|
241
|
+
| Category | Focus | Example Skills |
|
|
242
|
+
| :------------- | :------------------------------------------------- | :----------------------------------------------------------------- |
|
|
243
|
+
| Architecture | System design, ADRs, C4, scalable patterns | `architecture`, `c4-context`, `senior-architect` |
|
|
244
|
+
| Business | Growth, pricing, CRO, SEO, go-to-market | `copywriting`, `pricing-strategy`, `seo-audit` |
|
|
245
|
+
| Data & AI | LLM apps, RAG, agents, observability | `rag-engineer`, `prompt-engineer`, `langgraph` |
|
|
246
|
+
| Development | Languages, frameworks, code quality | `typescript-expert`, `python-patterns`, `react-patterns` |
|
|
247
|
+
| General | Planning, docs, product ops, writing | `brainstorming`, `doc-coauthoring`, `writing-plans` |
|
|
248
|
+
| Infrastructure | DevOps, cloud, serverless, CI/CD | `docker-expert`, `aws-serverless`, `vercel-deployment` |
|
|
249
|
+
| Security | AppSec, pentesting, vuln analysis, compliance | `api-security-best-practices`, `vulnerability-scanner` |
|
|
250
|
+
| Testing | TDD, test design, QA workflows | `test-driven-development`, `testing-patterns`, `test-fixing` |
|
|
251
|
+
| Workflow | Automation, orchestration, agents | `workflow-automation`, `inngest`, `trigger-dev` |
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Browse 883+ Skills
|
|
256
|
+
|
|
257
|
+
π **[View the Complete Skill Catalog (CATALOG.md)](CATALOG.md)**
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Security
|
|
262
|
+
|
|
263
|
+
All skills are audited for security vulnerabilities, hardcoded credentials, and dangerous commands.
|
|
264
|
+
|
|
265
|
+
- [Security Policy](SECURITY.md)
|
|
266
|
+
- [Security Guardrails](docs/SECURITY_GUARDRAILS.md)
|
|
267
|
+
- [Community Guidelines](docs/COMMUNITY_GUIDELINES.md)
|
|
268
|
+
|
|
269
|
+
Offensive security skills (penetration testing, red teaming) are included for **authorized educational and professional use only**.
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## How to Contribute
|
|
274
|
+
|
|
275
|
+
1. **Fork** the repository
|
|
276
|
+
2. **Create a new directory** inside `skills/` for your skill
|
|
277
|
+
3. **Add a `SKILL.md`** with the required frontmatter (`name`, `description`, `risk`, `source`). See [docs/SKILL_ANATOMY.md](docs/SKILL_ANATOMY.md) and [docs/QUALITY_BAR.md](docs/QUALITY_BAR.md).
|
|
278
|
+
4. **Run validation**: `npm run validate`
|
|
279
|
+
5. **Submit a Pull Request**
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Credits & Sources
|
|
284
|
+
|
|
285
|
+
This collection stands on the shoulders of the open-source community. Full attribution is preserved in **[CREDITS.md](CREDITS.md)**.
|
|
286
|
+
|
|
287
|
+
Key sources include:
|
|
288
|
+
|
|
289
|
+
- **[anthropics/skills](https://github.com/anthropics/skills)** β Official Anthropic skills
|
|
290
|
+
- **[microsoft/skills](https://github.com/microsoft/skills)** β Official Microsoft skills
|
|
291
|
+
- **[openai/skills](https://github.com/openai/skills)** β Official OpenAI Codex skills
|
|
292
|
+
- **[google-gemini/gemini-skills](https://github.com/google-gemini/gemini-skills)** β Official Gemini skills
|
|
293
|
+
- **[vercel-labs/agent-skills](https://github.com/vercel-labs/agent-skills)** β Vercel Labs skills
|
|
294
|
+
- **[supabase/agent-skills](https://github.com/supabase/agent-skills)** β Supabase skills
|
|
295
|
+
- **The Open Source Community** β 300+ community contributors
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Author
|
|
300
|
+
|
|
301
|
+
**Batuhan AyrΔ±baΕ**
|
|
302
|
+
Founder & Lead Engineer β Rootcastle Engineering & Innovation (REI)
|
|
303
|
+
|
|
304
|
+
- π [www.rootcastle.com](https://www.rootcastle.com)
|
|
305
|
+
- π§ admin@rootcastle.com
|
|
306
|
+
- π± +90 507 545 29 39
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## License
|
|
311
|
+
|
|
312
|
+
MIT License. See [LICENSE](LICENSE) for details.
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
<div align="center">
|
|
317
|
+
|
|
318
|
+
**π° Rei Skills β Engineering Beyond Boundaries**
|
|
319
|
+
|
|
320
|
+
*Curated by [Rootcastle Engineering & Innovation](https://www.rootcastle.com) | Β© REI 2025. All rights reserved.*
|
|
321
|
+
|
|
322
|
+
</div>
|
package/bin/install.js
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { spawnSync } = require("child_process");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const os = require("os");
|
|
7
|
+
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// π° Rei Skills β Rootcastle Engineering & Innovation
|
|
10
|
+
// Curated by Batuhan AyrΔ±baΕ | www.rootcastle.com
|
|
11
|
+
// ============================================================================
|
|
12
|
+
|
|
13
|
+
const REPO = "https://github.com/rootcastleco/rei-skills.git";
|
|
14
|
+
const HOME = process.env.HOME || process.env.USERPROFILE || "";
|
|
15
|
+
const BRAND = "rei";
|
|
16
|
+
|
|
17
|
+
function resolveDir(p) {
|
|
18
|
+
if (!p) return null;
|
|
19
|
+
const s = p.replace(/^~($|\/)/, HOME + "$1");
|
|
20
|
+
return path.resolve(s);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function parseArgs() {
|
|
24
|
+
const a = process.argv.slice(2);
|
|
25
|
+
let pathArg = null;
|
|
26
|
+
let versionArg = null;
|
|
27
|
+
let tagArg = null;
|
|
28
|
+
let cursor = false,
|
|
29
|
+
claude = false,
|
|
30
|
+
gemini = false,
|
|
31
|
+
codex = false,
|
|
32
|
+
antigravity = false;
|
|
33
|
+
|
|
34
|
+
for (let i = 0; i < a.length; i++) {
|
|
35
|
+
if (a[i] === "--help" || a[i] === "-h") return { help: true };
|
|
36
|
+
if (a[i] === "--path" && a[i + 1]) {
|
|
37
|
+
pathArg = a[++i];
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (a[i] === "--version" && a[i + 1]) {
|
|
41
|
+
versionArg = a[++i];
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (a[i] === "--tag" && a[i + 1]) {
|
|
45
|
+
tagArg = a[++i];
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (a[i] === "--cursor") {
|
|
49
|
+
cursor = true;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (a[i] === "--claude") {
|
|
53
|
+
claude = true;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (a[i] === "--gemini") {
|
|
57
|
+
gemini = true;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (a[i] === "--codex") {
|
|
61
|
+
codex = true;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (a[i] === "--antigravity") {
|
|
65
|
+
antigravity = true;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (a[i] === "install") continue;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return {
|
|
72
|
+
pathArg,
|
|
73
|
+
versionArg,
|
|
74
|
+
tagArg,
|
|
75
|
+
cursor,
|
|
76
|
+
claude,
|
|
77
|
+
gemini,
|
|
78
|
+
codex,
|
|
79
|
+
antigravity,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function defaultDir(opts) {
|
|
84
|
+
if (opts.pathArg) return resolveDir(opts.pathArg);
|
|
85
|
+
if (opts.cursor) return path.join(HOME, ".cursor", "skills");
|
|
86
|
+
if (opts.claude) return path.join(HOME, ".claude", "skills");
|
|
87
|
+
if (opts.gemini) return path.join(HOME, ".gemini", "skills");
|
|
88
|
+
if (opts.codex) {
|
|
89
|
+
const codexHome = process.env.CODEX_HOME;
|
|
90
|
+
if (codexHome) return path.join(codexHome, "skills");
|
|
91
|
+
return path.join(HOME, ".codex", "skills");
|
|
92
|
+
}
|
|
93
|
+
if (opts.antigravity)
|
|
94
|
+
return path.join(HOME, ".gemini", BRAND, "skills");
|
|
95
|
+
// Default: ~/.gemini/rei/skills
|
|
96
|
+
return path.join(HOME, ".gemini", BRAND, "skills");
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function printHelp() {
|
|
100
|
+
console.log(`
|
|
101
|
+
π° rei-skills β Rootcastle Engineering & Innovation
|
|
102
|
+
Curated by Batuhan AyrΔ±baΕ | www.rootcastle.com
|
|
103
|
+
|
|
104
|
+
npx rei-skills [install] [options]
|
|
105
|
+
|
|
106
|
+
Installs 883+ universal agentic skills into your AI assistant's skills directory.
|
|
107
|
+
|
|
108
|
+
Options:
|
|
109
|
+
--cursor Install to ~/.cursor/skills (Cursor)
|
|
110
|
+
--claude Install to ~/.claude/skills (Claude Code)
|
|
111
|
+
--gemini Install to ~/.gemini/skills (Gemini CLI)
|
|
112
|
+
--codex Install to ~/.codex/skills (Codex CLI)
|
|
113
|
+
--antigravity Install to ~/.gemini/${BRAND}/skills (Antigravity)
|
|
114
|
+
--path <dir> Install to <dir> (default: ~/.gemini/${BRAND}/skills)
|
|
115
|
+
--version <ver> After clone, checkout tag v<ver> (e.g. 1.0.0 -> v1.0.0)
|
|
116
|
+
--tag <tag> After clone, checkout this tag (e.g. v1.0.0)
|
|
117
|
+
|
|
118
|
+
Examples:
|
|
119
|
+
npx rei-skills
|
|
120
|
+
npx rei-skills --cursor
|
|
121
|
+
npx rei-skills --claude
|
|
122
|
+
npx rei-skills --antigravity
|
|
123
|
+
npx rei-skills --version 1.0.0
|
|
124
|
+
npx rei-skills --path ./my-skills
|
|
125
|
+
|
|
126
|
+
π https://www.rootcastle.com | admin@rootcastle.com
|
|
127
|
+
`);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function copyRecursiveSync(src, dest, skipGit = true) {
|
|
131
|
+
const stats = fs.statSync(src);
|
|
132
|
+
if (stats.isDirectory()) {
|
|
133
|
+
if (!fs.existsSync(dest)) {
|
|
134
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
135
|
+
}
|
|
136
|
+
fs.readdirSync(src).forEach((child) => {
|
|
137
|
+
if (skipGit && child === ".git") return;
|
|
138
|
+
copyRecursiveSync(path.join(src, child), path.join(dest, child), skipGit);
|
|
139
|
+
});
|
|
140
|
+
} else {
|
|
141
|
+
fs.copyFileSync(src, dest);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/** Copy contents of repo's skills/ into target so each skill is target/skill-name/ */
|
|
146
|
+
function installSkillsIntoTarget(tempDir, target) {
|
|
147
|
+
const repoSkills = path.join(tempDir, "skills");
|
|
148
|
+
if (!fs.existsSync(repoSkills)) {
|
|
149
|
+
console.error("Cloned repo has no skills/ directory.");
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
fs.readdirSync(repoSkills).forEach((name) => {
|
|
153
|
+
const src = path.join(repoSkills, name);
|
|
154
|
+
const dest = path.join(target, name);
|
|
155
|
+
copyRecursiveSync(src, dest);
|
|
156
|
+
});
|
|
157
|
+
const repoDocs = path.join(tempDir, "docs");
|
|
158
|
+
if (fs.existsSync(repoDocs)) {
|
|
159
|
+
const docsDest = path.join(target, "docs");
|
|
160
|
+
if (!fs.existsSync(docsDest)) fs.mkdirSync(docsDest, { recursive: true });
|
|
161
|
+
copyRecursiveSync(repoDocs, docsDest);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function run(cmd, args, opts = {}) {
|
|
166
|
+
const r = spawnSync(cmd, args, { stdio: "inherit", ...opts });
|
|
167
|
+
if (r.status !== 0) process.exit(r.status == null ? 1 : r.status);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function main() {
|
|
171
|
+
const opts = parseArgs();
|
|
172
|
+
const { tagArg, versionArg } = opts;
|
|
173
|
+
|
|
174
|
+
if (opts.help) {
|
|
175
|
+
printHelp();
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
console.log("\nπ° Rei Skills β Rootcastle Engineering & Innovation");
|
|
180
|
+
console.log(" Curated by Batuhan AyrΔ±baΕ | www.rootcastle.com\n");
|
|
181
|
+
|
|
182
|
+
const target = defaultDir(opts);
|
|
183
|
+
if (!target || !HOME) {
|
|
184
|
+
console.error(
|
|
185
|
+
"Could not resolve home directory. Use --path <absolute-path>.",
|
|
186
|
+
);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "rei-skills-"));
|
|
191
|
+
const originalCwd = process.cwd();
|
|
192
|
+
|
|
193
|
+
try {
|
|
194
|
+
if (process.platform === "win32") {
|
|
195
|
+
run("git", ["-c", "core.symlinks=true", "clone", REPO, tempDir]);
|
|
196
|
+
} else {
|
|
197
|
+
run("git", ["clone", REPO, tempDir]);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
const ref =
|
|
201
|
+
tagArg ||
|
|
202
|
+
(versionArg
|
|
203
|
+
? versionArg.startsWith("v")
|
|
204
|
+
? versionArg
|
|
205
|
+
: `v${versionArg}`
|
|
206
|
+
: null);
|
|
207
|
+
if (ref) {
|
|
208
|
+
console.log(`Checking out ${ref}β¦`);
|
|
209
|
+
process.chdir(tempDir);
|
|
210
|
+
run("git", ["checkout", ref]);
|
|
211
|
+
process.chdir(originalCwd);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if (fs.existsSync(target)) {
|
|
215
|
+
const gitDir = path.join(target, ".git");
|
|
216
|
+
if (fs.existsSync(gitDir)) {
|
|
217
|
+
console.log("Migrating from full-repo install to skills-only layoutβ¦");
|
|
218
|
+
const entries = fs.readdirSync(target);
|
|
219
|
+
for (const name of entries) {
|
|
220
|
+
const full = path.join(target, name);
|
|
221
|
+
const stat = fs.statSync(full);
|
|
222
|
+
if (stat.isDirectory()) {
|
|
223
|
+
if (fs.rmSync) {
|
|
224
|
+
fs.rmSync(full, { recursive: true, force: true });
|
|
225
|
+
} else {
|
|
226
|
+
fs.rmdirSync(full, { recursive: true });
|
|
227
|
+
}
|
|
228
|
+
} else {
|
|
229
|
+
fs.unlinkSync(full);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
} else {
|
|
233
|
+
console.log(`Updating existing install at ${target}β¦`);
|
|
234
|
+
}
|
|
235
|
+
} else {
|
|
236
|
+
const parent = path.dirname(target);
|
|
237
|
+
if (!fs.existsSync(parent)) {
|
|
238
|
+
try {
|
|
239
|
+
fs.mkdirSync(parent, { recursive: true });
|
|
240
|
+
} catch (e) {
|
|
241
|
+
console.error(`Cannot create parent directory: ${parent}`, e.message);
|
|
242
|
+
process.exit(1);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
fs.mkdirSync(target, { recursive: true });
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
installSkillsIntoTarget(tempDir, target);
|
|
249
|
+
|
|
250
|
+
console.log(`\nβ
Rei Skills installed to ${target}`);
|
|
251
|
+
console.log(
|
|
252
|
+
"π¦ Pick a bundle in docs/BUNDLES.md and use @skill-name in your AI assistant.",
|
|
253
|
+
);
|
|
254
|
+
console.log(
|
|
255
|
+
"π www.rootcastle.com | Engineering Beyond Boundaries\n",
|
|
256
|
+
);
|
|
257
|
+
} finally {
|
|
258
|
+
try {
|
|
259
|
+
if (fs.existsSync(tempDir)) {
|
|
260
|
+
if (fs.rmSync) {
|
|
261
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
262
|
+
} else {
|
|
263
|
+
fs.rmdirSync(tempDir, { recursive: true });
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
} catch (e) {
|
|
267
|
+
// ignore cleanup errors
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
main();
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rei-skills",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "883+ Universal Agentic Skills for Claude Code, Gemini CLI, Cursor & More β Curated by Rootcastle Engineering & Innovation (REI) | Batuhan AyrΔ±baΕ",
|
|
5
|
+
"author": "Batuhan AyrΔ±baΕ <admin@rootcastle.com> (https://www.rootcastle.com)",
|
|
6
|
+
"homepage": "https://www.rootcastle.com",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"validate": "python3 scripts/validate_skills.py",
|
|
10
|
+
"validate:strict": "python3 scripts/validate_skills.py --strict",
|
|
11
|
+
"index": "python3 scripts/generate_index.py",
|
|
12
|
+
"readme": "python3 scripts/update_readme.py",
|
|
13
|
+
"chain": "npm run validate && npm run index && npm run readme",
|
|
14
|
+
"catalog": "node scripts/build-catalog.js",
|
|
15
|
+
"build": "npm run chain && npm run catalog",
|
|
16
|
+
"test": "node scripts/tests/validate_skills_headings.test.js && python3 scripts/tests/test_validate_skills_headings.py && python3 scripts/tests/inspect_microsoft_repo.py && python3 scripts/tests/test_comprehensive_coverage.py",
|
|
17
|
+
"brand": "node scripts/brand_skills.js",
|
|
18
|
+
"security-audit": "node scripts/security_audit.js",
|
|
19
|
+
"sync:microsoft": "python3 scripts/sync_microsoft_skills.py",
|
|
20
|
+
"sync:all-official": "npm run sync:microsoft && npm run chain"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"yaml": "^2.8.2"
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/rootcastleco/rei-skills.git"
|
|
28
|
+
},
|
|
29
|
+
"bin": {
|
|
30
|
+
"rei-skills": "bin/install.js"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"bin"
|
|
34
|
+
],
|
|
35
|
+
"keywords": [
|
|
36
|
+
"rei-skills",
|
|
37
|
+
"rootcastle",
|
|
38
|
+
"claude-code",
|
|
39
|
+
"cursor",
|
|
40
|
+
"gemini-cli",
|
|
41
|
+
"agentic-skills",
|
|
42
|
+
"ai-coding",
|
|
43
|
+
"ai-agents",
|
|
44
|
+
"engineering",
|
|
45
|
+
"iot",
|
|
46
|
+
"cybersecurity"
|
|
47
|
+
]
|
|
48
|
+
}
|