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.
Files changed (3) hide show
  1. package/README.md +322 -0
  2. package/bin/install.js +272 -0
  3. 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
+ [![Rootcastle](https://img.shields.io/badge/Rootcastle-Engineering-blue?style=for-the-badge)](https://www.rootcastle.com)
6
+ [![npm](https://img.shields.io/badge/npm-rei--skills-red?style=for-the-badge&logo=npm)](https://www.npmjs.com/package/rei-skills)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
8
+ [![Skills](https://img.shields.io/badge/Skills-883+-green?style=for-the-badge)]()
9
+
10
+ [![Claude Code](https://img.shields.io/badge/Claude%20Code-Anthropic-purple)](https://claude.ai)
11
+ [![Gemini CLI](https://img.shields.io/badge/Gemini%20CLI-Google-blue)](https://github.com/google-gemini/gemini-cli)
12
+ [![Codex CLI](https://img.shields.io/badge/Codex%20CLI-OpenAI-green)](https://github.com/openai/codex)
13
+ [![Cursor](https://img.shields.io/badge/Cursor-AI%20IDE-orange)](https://cursor.sh)
14
+ [![Copilot](https://img.shields.io/badge/GitHub%20Copilot-VSCode-lightblue)](https://github.com/features/copilot)
15
+ [![Antigravity](https://img.shields.io/badge/Antigravity-DeepMind-red)](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
+ }