chore: implement repo improvements plan (npm scripts, docs, catalog CI, i18n, validator)

- Add npm scripts: validate, validate:strict, index, readme, chain, catalog, build
- Align docs to V4 and 560 skills (GETTING_STARTED, FAQ, BUNDLES, MAINTENANCE, vietnamese)
- build-catalog: output to data/ for catalog, bundles, aliases; add to CI and drift check
- Add yaml dep, Node setup and catalog step in CI; extend auto-commit and drift msg
- Translate CI and MAINTENANCE to English; update CI_DRIFT_FIX and maintenance routine
- QUALITY_BAR/CONTRIBUTING: canonical validator npm run validate; legacy note in validate-skills.js
This commit is contained in:
sck_0
2026-01-29 13:08:02 +01:00
parent 6365f592f0
commit 559dd6f40f
19 changed files with 160 additions and 86 deletions

View File

@@ -1,4 +1,4 @@
# 🛠️ Repository Maintenance Guide (V3)
# 🛠️ Repository Maintenance Guide (V4)
> **"If it's not documented, it's broken."**
@@ -24,21 +24,20 @@ Committing is NOT enough. You must PUSH to the remote.
If you touch **any of these**:
- `skills/` (aggiungi/rimuovi/modifichi skill)
- la sezione **Full Skill Registry** di `README.md`
- i **conteggi/claim** sul numero di skill (`256+ Agentic Skills...`, `(256/256)`, ecc.)
- `skills/` (add/remove/modify skills)
- the **Full Skill Registry** section of `README.md`
- **counts/claims** about the number of skills (`560+ Agentic Skills...`, `(560/560)`, etc.)
allora **DEVI** eseguire la Validation Chain **PRIMA** di committare.
then you **MUST** run the Validation Chain **BEFORE** committing.
- Eseguire `validate_skills.py` **NON è opzionale**.
- Eseguire `generate_index.py` **NON è opzionale**.
- Eseguire `update_readme.py` **NON è opzionale**.
- Running `npm run chain` is **NOT optional**.
- Running `npm run catalog` is **NOT optional**.
Se la CI fallisce con:
If CI fails with:
> `❌ Detected uncommitted changes in README.md or skills_index.json`
> `❌ Detected uncommitted changes produced by registry/readme/catalog scripts.`
significa che **non hai eseguito o committato** correttamente la Validation Chain.
it means you **did not run or commit** the Validation Chain correctly.
### 3. 📝 EVIDENCE OF WORK
@@ -59,29 +58,23 @@ significa che **non hai eseguito o committato** correttamente la Validation Chai
Before ANY commit that adds/modifies skills, run the chain:
1. **Validate Metadata & Quality**:
1. **Validate, index, and update readme**:
```bash
python3 scripts/validate_skills.py
npm run chain
```
_Must return 0 errors for new skills._
2. **Regenerate Index**:
2. **Build catalog**:
```bash
python3 scripts/generate_index.py
npm run catalog
```
3. **Update Readme**:
3. **COMMIT GENERATED FILES**:
```bash
python3 scripts/update_readme.py
```
4. **COMMIT GENERATED FILES**:
```bash
git add skills_index.json README.md
git add README.md skills_index.json data/catalog.json data/bundles.json data/aliases.json CATALOG.md
git commit -m "chore: sync generated files"
```
> 🔴 **CRITICAL**: If you skip this, CI will fail with "Detected uncommitted changes".
@@ -102,13 +95,13 @@ After multiple PR merges or significant changes:
3. **Draft a Release**:
- Go to [Releases Page](https://github.com/sickn33/antigravity-awesome-skills/releases).
- Draft a new release for the merged changes.
- Tag version (e.g., `v3.1.0`).
- Tag version (e.g., `v4.1.0`).
---
## 2. 📝 Documentation "Pixel Perfect" Rules
We discovered several consistency issues during V3 development. Follow these rules STRICTLY.
We discovered several consistency issues during V4 development. Follow these rules STRICTLY.
### A. Table of Contents (TOC) Anchors
@@ -132,12 +125,12 @@ _Common pitfall: Updating the clone URL in README but leaving an old one in FAQ.
### C. Statistics Consistency (CRITICAL)
If you add/remove skills, you **MUST** ensure the total count is identical in ALL locations.
**Do not allow drift** (e.g., 356 in title, 354 in header).
**Do not allow drift** (e.g., 560 in title, 558 in header).
Locations to check:
1. **Title of `README.md`**: "356+ Agentic Skills..."
2. **`## Full Skill Registry (356/356)` header**.
1. **Title of `README.md`**: "560+ Agentic Skills..."
2. **`## Full Skill Registry (560/560)` header**.
3. **`docs/GETTING_STARTED.md` intro**.
### D. Credits Policy (Who goes where?)
@@ -166,7 +159,7 @@ Reject any PR that fails this:
4. **Examples**: Copy-pasteable code blocks?
5. **Actions**: "Run this command" vs "Think about this".
### B. Risk Labels (V3)
### B. Risk Labels (V4)
- ⚪ **Safe**: Default.
- 🔴 **Risk**: Destructive/Security tools. MUST have `[Authorized Use Only]` warning.
@@ -183,8 +176,8 @@ When cutting a new version (e.g., V4):
3. **Bump Version**: Update header in `README.md`.
4. **Tag Release**:
```bash
git tag -a v3.0.0 -m "V3 Enterprise Edition"
git push origin v3.0.0
git tag -a v4.0.0 -m "V4 Enterprise Edition"
git push origin v4.0.0
```
### 📋 Release Note Template

View File

@@ -37,6 +37,17 @@ jobs:
run: |
python3 scripts/update_readme.py
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install npm dependencies
run: npm install
- name: 📦 Build catalog
run: npm run catalog
- name: Set up GitHub credentials (for auto-sync)
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
@@ -47,12 +58,12 @@ jobs:
- name: Auto-commit registry drift (main only)
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
# Se non ci sono cambi, esci senza errore
# If no changes, exit successfully
git diff --quiet && exit 0
git add README.md skills_index.json || true
git add README.md skills_index.json data/catalog.json data/bundles.json data/aliases.json CATALOG.md || true
# Se non c'è niente da committare, esci senza errore
# If nothing to commit, exit successfully
git diff --cached --quiet && exit 0
git commit -m "chore: sync generated registry files [ci skip]"
@@ -61,13 +72,12 @@ jobs:
- name: 🚨 Check for Uncommitted Drift
run: |
if ! git diff --quiet; then
echo "❌ Detected uncommitted changes produced by registry/readme scripts."
echo "❌ Detected uncommitted changes produced by registry/readme/catalog scripts."
echo
echo "To fix locally, run the FULL Validation Chain, then commit and push:"
echo " python3 scripts/validate_skills.py"
echo " python3 scripts/generate_index.py"
echo " python3 scripts/update_readme.py"
echo " git add README.md skills_index.json"
echo " npm run chain"
echo " npm run catalog"
echo " git add README.md skills_index.json data/catalog.json data/bundles.json data/aliases.json CATALOG.md"
echo " git commit -m \"chore: sync generated registry files\""
echo " git push"
exit 1

View File

@@ -1,10 +1,10 @@
# Skill Catalog
Generated at: 2026-01-28T16:10:28.837Z
Generated at: 2026-01-29T12:07:33.859Z
Total skills: 552
Total skills: 553
## architecture (52)
## architecture (53)
| Skill | Description | Tags | Triggers |
| --- | --- | --- | --- |
@@ -56,6 +56,7 @@ Total skills: 552
| `tailwind-design-system` | Build scalable design systems with Tailwind CSS, design tokens, component libraries, and responsive patterns. Use when creating component libraries, implemen... | tailwind | tailwind, scalable, css, tokens, component, libraries, responsive, creating, implementing, standardizing, ui |
| `tailwind-patterns` | Tailwind CSS v4 principles. CSS-first configuration, container queries, modern patterns, design token architecture. | tailwind | tailwind, css, v4, principles, first, configuration, container, queries, token, architecture |
| `testing-patterns` | Jest testing patterns, factory functions, mocking strategies, and TDD workflow. Use when writing unit tests, creating test factories, or following TDD red-gr... | | testing, jest, factory, functions, mocking, tdd, writing, unit, tests, creating, test, factories |
| `unreal-engine-cpp-pro` | Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices. | unreal, engine, cpp | unreal, engine, cpp, pro, development, covering, uobject, hygiene, performance |
| `wcag-audit-patterns` | Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fi... | wcag, audit | wcag, audit, conduct, accessibility, audits, automated, testing, manual, verification, remediation, guidance, auditing |
| `workflow-orchestration-patterns` | Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism cons... | | orchestration, durable, temporal, distributed, covers, vs, activity, separation, saga, state, determinism, constraints |
| `workflow-patterns` | Use this skill when implementing tasks according to Conductor's TDD workflow, handling phase checkpoints, managing git commits for tasks, or understanding th... | | skill, implementing, tasks, according, conductor, tdd, handling, phase, checkpoints, managing, git, commits |

View File

@@ -1,11 +1,11 @@
# 🤝 Contributing Guide - V3 Enterprise Edition
# 🤝 Contributing Guide - V4 Enterprise Edition
**Thank you for wanting to make this repo better!** This guide shows you exactly how to contribute, even if you're new to open source.
With V3, we raised the bar for quality. Please read the **new Quality Standards** below carefully.
With V4, we raised the bar for quality. Please read the **new Quality Standards** below carefully.
---
## 🧐 The "Quality Bar" (V3 Standard)
## 🧐 The "Quality Bar" (V4 Standard)
**Critical for new skills:** Every skill submitted must pass our **5-Point Quality Check** (see `docs/QUALITY_BAR.md` for details):
@@ -112,16 +112,13 @@ code example here
- ❌ Don't do this
```
#### Step 4: Validate (CRITICAL V3 STEP)
#### Step 4: Validate (CRITICAL V4 STEP)
Run the validation script locally. **We will not merge PRs that fail this check.**
Use the canonical validator `scripts/validate_skills.py` via `npm run validate`. **We will not merge PRs that fail this check.**
```bash
# Soft mode (warnings only)
python3 scripts/validate_skills.py
# Hard mode (what CI runs)
python3 scripts/validate_skills.py --strict
npm run validate # soft mode (warnings only)
npm run validate:strict # strict mode (what CI runs)
```
This checks:

View File

@@ -1,5 +1,5 @@
{
"generatedAt": "2026-01-28T16:10:28.837Z",
"generatedAt": "2026-01-29T12:07:33.859Z",
"aliases": {
"accessibility-compliance-audit": "accessibility-compliance-accessibility-audit",
"active directory attacks": "active-directory-attacks",

View File

@@ -1,5 +1,5 @@
{
"generatedAt": "2026-01-28T16:10:28.837Z",
"generatedAt": "2026-01-29T12:07:33.859Z",
"bundles": {
"core-dev": {
"description": "Core development skills across languages, frameworks, and backend/frontend fundamentals.",

View File

@@ -1,6 +1,6 @@
{
"generatedAt": "2026-01-28T16:10:28.837Z",
"total": 552,
"generatedAt": "2026-01-29T12:07:33.859Z",
"total": 553,
"skills": [
{
"id": "3d-web-experience",
@@ -12843,6 +12843,29 @@
],
"path": "skills/unity-ecs-patterns/SKILL.md"
},
{
"id": "unreal-engine-cpp-pro",
"name": "unreal-engine-cpp-pro",
"description": "Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.",
"category": "architecture",
"tags": [
"unreal",
"engine",
"cpp"
],
"triggers": [
"unreal",
"engine",
"cpp",
"pro",
"development",
"covering",
"uobject",
"hygiene",
"performance"
],
"path": "skills/unreal-engine-cpp-pro/SKILL.md"
},
{
"id": "upstash-qstash",
"name": "upstash-qstash",

View File

@@ -1,24 +1,23 @@
# CI Drift Fix Guide
**Problem**: The failing job is caused by uncommitted changes detected in `README.md` or `skills_index.json` after the update scripts run.
**Problem**: The failing job is caused by uncommitted changes detected in `README.md`, `skills_index.json`, or catalog files after the update scripts run.
**Error**:
```
❌ Detected uncommitted changes in README.md or skills_index.json. Please run scripts locally and commit.
❌ Detected uncommitted changes produced by registry/readme/catalog scripts.
```
**Cause**:
Scripts like `scripts/generate_index.py` and `scripts/update_readme.py` modify `README.md` and `skills_index.json`, but the workflow expects these files to have no changes after the scripts are run. Any differences mean the committed repo is out-of-sync with what the generation scripts produce.
Scripts like `scripts/generate_index.py`, `scripts/update_readme.py`, and `scripts/build-catalog.js` modify `README.md`, `skills_index.json`, `data/catalog.json`, `data/bundles.json`, `data/aliases.json`, and `CATALOG.md`. The workflow expects these files to have no changes after the scripts run. Any differences mean the committed repo is out-of-sync with what the generation scripts produce.
**How to Fix (DO THIS EVERY TIME):**
1. Run the **FULL Validation Chain** locally to regenerate `README.md` e `skills_index.json`:
1. Run the **FULL Validation Chain** locally:
```bash
python3 scripts/validate_skills.py
python3 scripts/generate_index.py
python3 scripts/update_readme.py
npm run chain
npm run catalog
```
2. Check for changes:
@@ -30,10 +29,10 @@ Scripts like `scripts/generate_index.py` and `scripts/update_readme.py` modify `
3. Commit and push any updates:
```bash
git add README.md skills_index.json
git add README.md skills_index.json data/catalog.json data/bundles.json data/aliases.json CATALOG.md
git commit -m "chore: sync generated registry files"
git push
```
**Summary**:
Always commit and push all changes produced by the registry or readme update scripts. This keeps the CI workflow passing by ensuring the repository and generated files are synced.
Always commit and push all changes produced by the registry, readme, and catalog scripts. This keeps the CI workflow passing by ensuring the repository and generated files are synced.

View File

@@ -11,7 +11,7 @@
Skills are specialized instruction files that teach AI assistants how to handle specific tasks. Think of them as expert knowledge modules that your AI can load on-demand.
**Simple analogy:** Just like you might consult different experts (a lawyer, a doctor, a mechanic), these skills let your AI become an expert in different areas when you need them.
### Do I need to install all 552+ skills?
### Do I need to install all 560+ skills?
**No!** When you clone the repository, all skills are available, but your AI only loads them when you explicitly invoke them with `@skill-name`.
It's like having a library - all books are there, but you only read the ones you need.
@@ -41,7 +41,7 @@ The skill files themselves are stored locally on your computer, but your AI assi
---
## 🔒 Security & Trust (V3 Update)
## 🔒 Security & Trust (V4 Update)
### What do the Risk Labels mean?
@@ -156,7 +156,7 @@ Include:
### My PR failed "Quality Bar" check. Why?
V3 introduces automated quality control. Your skill might be missing:
V4 introduces automated quality control. Your skill might be missing:
1. A valid `description`.
2. Usage examples.

View File

@@ -1,4 +1,4 @@
# Getting Started with Antigravity Awesome Skills (V3)
# Getting Started with Antigravity Awesome Skills (V4)
**New here? This guide will help you supercharge your AI Agent in 5 minutes.**
@@ -84,7 +84,7 @@ Once installed, just talk to your AI naturally.
---
## 🛡️ Trust & Safety (New in V3)
## 🛡️ Trust & Safety (New in V4)
We classify skills so you know what you're running:

View File

@@ -57,8 +57,9 @@ We also categorize skills by who maintains them:
## How to Validate Your Skill
Run the validator script before submitting a PR:
The canonical validator is `scripts/validate_skills.py`. Run `npm run validate` (or `npm run validate:strict`) before submitting a PR:
```bash
python3 scripts/validate_skills.py --strict
npm run validate # soft mode (warnings only)
npm run validate:strict # strict mode (CI uses this)
```

View File

@@ -11,7 +11,7 @@
Skills là các tệp hướng dẫn chuyên biệt dạy cho các trợ lý AI cách xử lý những tác vụ cụ thể. Hãy coi chúng như những mô-đun kiến thức chuyên gia mà AI của bạn có thể tải khi cần.
**Một so sánh đơn giản:** Giống như việc bạn tham khảo ý kiến của các chuyên gia khác nhau (luật sư, bác sĩ, thợ máy), những kỹ năng này giúp AI của bạn trở thành chuyên gia trong các lĩnh vực khác nhau khi bạn cần.
### Tôi có cần phải cài đặt tất cả hơn 552 skills không?
### Tôi có cần phải cài đặt tất cả hơn 560 skills không?
**Không!** Khi bạn clone (tải bản sao) repository này, tất cả các kỹ năng đều có sẵn, nhưng AI của bạn chỉ tải chúng khi bạn yêu cầu rõ ràng bằng lệnh `@ten-skill`.
Nó giống như việc sở hữu một thư viện - tất cả sách đều ở đó, nhưng bạn chỉ đọc những cuốn bạn cần thôi.
@@ -41,7 +41,7 @@ Bản thân các file skill được lưu trữ cục bộ trên máy tính củ
---
## 🔒 Bảo mật & Tin cậy (Cập nhật V3)
## 🔒 Bảo mật & Tin cậy (Cập nhật V4)
### Các Nhãn rủi ro (Risk Labels) có ý nghĩa gì?

View File

@@ -1,4 +1,4 @@
# Hướng dẫn Bắt đầu với Antigravity Awesome Skills (V3)
# Hướng dẫn Bắt đầu với Antigravity Awesome Skills (V4)
**Bạn mới đến đây? Hướng dẫn này sẽ giúp bạn tăng cường sức mạnh cho trợ lý trợ lý AI của mình chỉ trong 5 phút.**
@@ -15,7 +15,7 @@ Các trợ lý AI (như **Claude Code**, **Gemini**, **Cursor**) rất thông mi
## ⚡️ Khởi động nhanh: Các "Gói khởi đầu" (Starter Packs)
Đừng lo lắng về con số hơn 552 kỹ năng. Bạn không cần dùng tất cả chúng cùng một lúc.
Đừng lo lắng về con số hơn 560 kỹ năng. Bạn không cần dùng tất cả chúng cùng một lúc.
Chúng tôi đã tuyển chọn các **Gói khởi đầu** để bạn có thể bắt đầu sử dụng ngay lập tức.
### 1. Cài đặt Repository
@@ -76,7 +76,7 @@ Sau khi cài đặt, bạn chỉ cần trò chuyện với AI một cách tự n
---
## 🛡️ Sự tin cậy & An toàn (Mới trong bản V3)
## 🛡️ Sự tin cậy & An toàn (Mới trong bản V4)
Chúng tôi phân loại các kỹ năng để bạn biết mình đang chạy những gì:
@@ -90,7 +90,7 @@ _Kiểm tra [Danh mục Skill (Skill Catalog)](../CATALOG.vi.md) để xem danh
## ❓ FAQ
**H: Tôi có cần cài đặt tất cả 552 kỹ năng không?**
**H: Tôi có cần cài đặt tất cả 560 kỹ năng không?**
Đ: Bạn tải toàn bộ repo về, nhưng AI của bạn chỉ _đọc_ những kỹ năng bạn yêu cầu (hoặc những kỹ năng có liên quan). Nó rất nhẹ!
**H: Tôi có thể tự tạo kỹ năng cho riêng mình không?**

View File

@@ -1,6 +1,6 @@
# 🌌 Antigravity Awesome Skills: 552+ Kỹ năng (Skills) cho Claude Code, Gemini CLI, Cursor, Copilot và nhiều hơn nữa
# 🌌 Antigravity Awesome Skills: 560+ Kỹ năng (Skills) cho Claude Code, Gemini CLI, Cursor, Copilot và nhiều hơn nữa
> **Bộ sưu tập tối ưu gồm hơn 552 Kỹ năng Phổ quát cho các Trợ lý Lập trình AI — Claude Code, Gemini CLI, Codex CLI, Antigravity IDE, GitHub Copilot, Cursor, OpenCode**
> **Bộ sưu tập tối ưu gồm hơn 560 Kỹ năng Phổ quát cho các Trợ lý Lập trình AI — Claude Code, Gemini CLI, Codex CLI, Antigravity IDE, GitHub Copilot, Cursor, OpenCode**
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Anthropic-purple)](https://claude.ai)
@@ -11,7 +11,7 @@
[![OpenCode](https://img.shields.io/badge/OpenCode-CLI-gray)](https://github.com/opencode-ai/opencode)
[![Antigravity](https://img.shields.io/badge/Antigravity-DeepMind-red)](https://github.com/sickn33/antigravity-awesome-skills)
**Antigravity Awesome Skills** là một thư viện được tuyển chọn và kiểm chứng kỹ lưỡng với **552 kỹ năng hiệu suất cao** được thiết kế để hoạt động mượt mà trên tất cả các trợ lý lập trình AI lớn:
**Antigravity Awesome Skills** là một thư viện được tuyển chọn và kiểm chứng kỹ lưỡng với **560 kỹ năng hiệu suất cao** được thiết kế để hoạt động mượt mà trên tất cả các trợ lý lập trình AI lớn:
- 🟣 **Claude Code** (Anthropic CLI)
- 🔵 **Gemini CLI** (Google DeepMind)
@@ -56,7 +56,7 @@ Repository được tổ chức thành các lĩnh vực chuyên biệt để bi
[Xem các Gói khởi đầu tại docs/vietnamese/BUNDLES.md](docs/vietnamese/BUNDLES.vi.md) để tìm bộ công cụ hoàn hảo cho vai trò của bạn.
## Duyệt hơn 552 Kỹ năng
## Duyệt hơn 560 Kỹ năng
Chúng tôi đã chuyển danh sách đầy đủ các kỹ năng sang một danh mục riêng biệt để giữ cho file README này gọn gàng.

View File

@@ -2,7 +2,7 @@
Tài liệu này dùng để theo dõi tiến độ dịch thuật toàn bộ repository `antigravity-awesome-skills` sang tiếng Việt.
**Mục tiêu:** Dịch toàn bộ 552+ kỹ năng và tài liệu hướng dẫn.
**Mục tiêu:** Dịch toàn bộ 560+ kỹ năng và tài liệu hướng dẫn.
**Quy tắc:**
1. Giữ nguyên cấu trúc thư mục gốc.
2. File dịch được lưu tại `docs/vietnamese/skills/<category>/<skill-name>.vi.md`.

34
package-lock.json generated Normal file
View File

@@ -0,0 +1,34 @@
{
"name": "antigravity-awesome-skills",
"version": "4.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "antigravity-awesome-skills",
"version": "4.0.0",
"license": "MIT",
"dependencies": {
"yaml": "^2.8.2"
},
"bin": {
"antigravity-awesome-skills": "bin/install.js"
}
},
"node_modules/yaml": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
"integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14.6"
},
"funding": {
"url": "https://github.com/sponsors/eemeli"
}
}
}
}

View File

@@ -3,6 +3,18 @@
"version": "4.0.0",
"description": "560+ agentic skills for Claude Code, Gemini CLI, Cursor, Antigravity & more. Installer CLI.",
"license": "MIT",
"scripts": {
"validate": "python3 scripts/validate_skills.py",
"validate:strict": "python3 scripts/validate_skills.py --strict",
"index": "python3 scripts/generate_index.py",
"readme": "python3 scripts/update_readme.py",
"chain": "npm run validate && npm run index && npm run readme",
"catalog": "node scripts/build-catalog.js",
"build": "npm run chain && npm run catalog"
},
"dependencies": {
"yaml": "^2.8.2"
},
"repository": {
"type": "git",
"url": "https://github.com/sickn33/antigravity-awesome-skills.git"

View File

@@ -326,10 +326,10 @@ function buildCatalog() {
const aliases = buildAliases(catalog.skills);
const bundleData = buildBundles(catalog.skills);
const catalogPath = path.join(ROOT, 'catalog.json');
const catalogPath = path.join(ROOT, 'data', 'catalog.json');
const catalogMarkdownPath = path.join(ROOT, 'CATALOG.md');
const bundlesPath = path.join(ROOT, 'bundles.json');
const aliasesPath = path.join(ROOT, 'aliases.json');
const bundlesPath = path.join(ROOT, 'data', 'bundles.json');
const aliasesPath = path.join(ROOT, 'data', 'aliases.json');
fs.writeFileSync(catalogPath, JSON.stringify(catalog, null, 2));
fs.writeFileSync(catalogMarkdownPath, renderCatalogMarkdown(catalog));

View File

@@ -1,3 +1,7 @@
/**
* Legacy / alternative validator. For CI and PR checks, use scripts/validate_skills.py.
* Run: npm run validate (or npm run validate:strict)
*/
const fs = require('fs');
const path = require('path');
const { listSkillIds, parseFrontmatter } = require('../lib/skill-utils');