diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 440e0c12..08eb5993 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,6 +45,13 @@ jobs: - name: Install npm dependencies run: npm ci + - name: Audit npm dependencies + run: npm audit --audit-level=high + continue-on-error: true + + - name: Run tests + run: npm run test + - name: 📦 Build catalog run: npm run catalog diff --git a/.gitignore b/.gitignore index 0a9be299..85e07471 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules/ +__pycache__/ .worktrees/ walkthrough.md @@ -25,3 +26,6 @@ scripts/*voltagent*.py scripts/*html*.py scripts/*similar*.py scripts/*count*.py + +# Optional baseline for legacy JS validator (scripts/validate-skills.js) +validation-baseline.json diff --git a/CATALOG.md b/CATALOG.md index eb8cc9dc..94e9dc42 100644 --- a/CATALOG.md +++ b/CATALOG.md @@ -1,10 +1,10 @@ # Skill Catalog -Generated at: 2026-02-02T18:58:37.318Z +Generated at: 2026-02-02T21:03:06.925Z -Total skills: 619 +Total skills: 626 -## architecture (59) +## architecture (60) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -36,6 +36,7 @@ Total skills: 619 | `error-handling-patterns` | Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applicatio... | error, handling | error, handling, languages, including, exceptions, result, types, propagation, graceful, degradation, resilient, applications | | `event-sourcing-architect` | Expert in event sourcing, CQRS, and event-driven architecture patterns. Masters event store design, projection building, saga orchestration, and eventual con... | event, sourcing | event, sourcing, architect, cqrs, driven, architecture, masters, store, projection, building, saga, orchestration | | `event-store-design` | Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implement... | event, store | event, store, stores, sourced, building, sourcing, infrastructure, choosing, technologies, implementing, persistence | +| `game-development/multiplayer` | Multiplayer game development principles. Architecture, networking, synchronization. | game, development/multiplayer | game, development/multiplayer, multiplayer, development, principles, architecture, networking, synchronization | | `godot-gdscript-patterns` | Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization. Use when building Godot games, implementing game systems, or le... | godot, gdscript | godot, gdscript, including, signals, scenes, state, machines, optimization, building, games, implementing, game | | `haskell-pro` | Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programm... | haskell | haskell, pro, engineer, specializing, type, pure, functional, high, reliability, software, proactively, level | | `i18n-localization` | Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support. | i18n, localization | i18n, localization, internationalization, detecting, hardcoded, strings, managing, translations, locale, files, rtl | @@ -110,7 +111,7 @@ Total skills: 619 | `startup-financial-modeling` | This skill should be used when the user asks to "create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "estima... | startup, financial, modeling | startup, financial, modeling, skill, should, used, user, asks, projections, model, forecast, revenue | | `team-composition-analysis` | This skill should be used when the user asks to "plan team structure", "determine hiring needs", "design org chart", "calculate compensation", "plan equity a... | team, composition | team, composition, analysis, skill, should, used, user, asks, plan, structure, determine, hiring | -## data-ai (93) +## data-ai (92) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -205,10 +206,9 @@ Total skills: 619 | `voice-ai-development` | Expert in building voice AI applications - from real-time voice agents to voice-enabled apps. Covers OpenAI Realtime API, Vapi for voice agents, Deepgram for... | voice, ai | voice, ai, development, building, applications, real, time, agents, enabled, apps, covers, openai | | `voice-ai-engine-development` | Build real-time conversational AI voice engines using async worker pipelines, streaming transcription, LLM agents, and TTS synthesis with interrupt handling ... | voice, ai, engine | voice, ai, engine, development, real, time, conversational, engines, async, worker, pipelines, streaming | | `web-artifacts-builder` | Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use ... | web, artifacts, builder | web, artifacts, builder, suite, creating, elaborate, multi, component, claude, ai, html, frontend | -| `xlsx` | Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work ... | xlsx | xlsx, spreadsheet, creation, editing, analysis, formulas, formatting, data, visualization, claude, work, spreadsheets | | `xlsx-official` | Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work ... | xlsx, official | xlsx, official, spreadsheet, creation, editing, analysis, formulas, formatting, data, visualization, claude, work | -## development (80) +## development (81) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -241,6 +241,7 @@ Total skills: 619 | `frontend-developer` | Build React components, implement responsive layouts, and handle client-side state management. Masters React 19, Next.js 15, and modern frontend architecture... | frontend | frontend, developer, react, components, responsive, layouts, handle, client, side, state, masters, 19 | | `frontend-mobile-development-component-scaffold` | You are a React component architecture expert specializing in scaffolding production-ready, accessible, and performant components. Generate complete componen... | frontend, mobile, component | frontend, mobile, component, development, scaffold, react, architecture, specializing, scaffolding, accessible, performant, components | | `frontend-slides` | Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a... | frontend, slides | frontend, slides, stunning, animation, rich, html, presentations, scratch, converting, powerpoint, files, user | +| `game-development/mobile-games` | Mobile game development principles. Touch input, battery, performance, app stores. | game, development/mobile, games | game, development/mobile, games, mobile, development, principles, touch, input, battery, performance, app, stores | | `go-concurrency-patterns` | Master Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or de... | go, concurrency | go, concurrency, goroutines, channels, sync, primitives, context, building, concurrent, applications, implementing, worker | | `golang-pro` | Master Go 1.21+ with modern patterns, advanced concurrency, performance optimization, and production-ready microservices. Expert in the latest Go ecosystem i... | golang | golang, pro, go, 21, concurrency, performance, optimization, microservices, latest, ecosystem, including, generics | | `hubspot-integration` | Expert patterns for HubSpot CRM integration including OAuth authentication, CRM objects, associations, batch operations, webhooks, and custom objects. Covers... | hubspot, integration | hubspot, integration, crm, including, oauth, authentication, objects, associations, batch, operations, webhooks, custom | @@ -294,7 +295,7 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `viral-generator-builder` | Expert in building shareable generator tools that go viral - name generators, quiz makers, avatar creators, personality tests, and calculator tools. Covers t... | viral, generator, builder | viral, generator, builder, building, shareable, go, name, generators, quiz, makers, avatar, creators | | `webapp-testing` | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing... | webapp | webapp, testing, toolkit, interacting, local, web, applications, playwright, supports, verifying, frontend, functionality | -## general (122) +## general (128) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -304,6 +305,7 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `angular-migration` | Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applicat... | angular, migration | angular, migration, migrate, angularjs, hybrid, mode, incremental, component, rewriting, dependency, injection, updates | | `anti-reversing-techniques` | Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use when analyzing protected binaries, bypassing anti... | anti, reversing, techniques | anti, reversing, techniques, understand, obfuscation, protection, encountered, during, software, analysis, analyzing, protected | | `app-builder` | Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordina... | app, builder | app, builder, main, application, building, orchestrator, creates, full, stack, applications, natural, language | +| `app-builder/templates` | Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks. | app, builder/templates | app, builder/templates, scaffolding, new, applications, creating, scratch, contains, 12, various, tech, stacks | | `arm-cortex-expert` | Senior embedded software engineer specializing in firmware and driver development for ARM Cortex-M microcontrollers (Teensy, STM32, nRF52, SAMD). Decades of ... | arm, cortex | arm, cortex, senior, embedded, software, engineer, specializing, firmware, driver, development, microcontrollers, teensy | | `avalonia-layout-zafiro` | Guidelines for modern Avalonia UI layout using Zafiro.Avalonia, emphasizing shared styles, generic components, and avoiding XAML redundancy. | avalonia, layout, zafiro | avalonia, layout, zafiro, guidelines, ui, emphasizing, shared, styles, generic, components, avoiding, xaml | | `avalonia-zafiro-development` | Mandatory skills, conventions, and behavioral rules for Avalonia UI development using the Zafiro toolkit. | avalonia, zafiro | avalonia, zafiro, development, mandatory, skills, conventions, behavioral, rules, ui, toolkit | @@ -345,7 +347,6 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `debugging-toolkit-smart-debug` | Use when working with debugging toolkit smart debug | debugging, debug | debugging, debug, toolkit, smart, working | | `design-md` | Analyze Stitch projects and synthesize a semantic design system into DESIGN.md files | md | md, analyze, stitch, synthesize, semantic, files | | `dispatching-parallel-agents` | Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies | dispatching, parallel, agents | dispatching, parallel, agents, facing, independent, tasks, worked, without, shared, state, sequential, dependencies | -| `docx` | Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude ... | docx | docx, document, creation, editing, analysis, tracked, changes, comments, formatting, preservation, text, extraction | | `docx-official` | Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude ... | docx, official | docx, official, document, creation, editing, analysis, tracked, changes, comments, formatting, preservation, text | | `dx-optimizer` | Developer Experience specialist. Improves tooling, setup, and workflows. Use PROACTIVELY when setting up new projects, after team feedback, or when developme... | dx, optimizer | dx, optimizer, developer, experience, improves, tooling, setup, proactively, setting, up, new, after | | `environment-setup-guide` | Guide developers through setting up development environments with proper tools, dependencies, and configurations | environment, setup | environment, setup, developers, through, setting, up, development, environments, proper, dependencies, configurations | @@ -360,6 +361,13 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `fix-review` | Verify fix commits address audit findings without new bugs | fix | fix, review, verify, commits, address, audit, findings, without, new, bugs | | `framework-migration-code-migrate` | You are a code migration expert specializing in transitioning codebases between frameworks, languages, versions, and platforms. Generate comprehensive migrat... | framework, migration, code, migrate | framework, migration, code, migrate, specializing, transitioning, codebases, between, frameworks, languages, versions, platforms | | `game-development` | Game development orchestrator. Routes to platform-specific skills based on project needs. | game | game, development, orchestrator, routes, platform, specific, skills | +| `game-development/2d-games` | 2D game development principles. Sprites, tilemaps, physics, camera. | game, development/2d, games | game, development/2d, games, 2d, development, principles, sprites, tilemaps, physics, camera | +| `game-development/3d-games` | 3D game development principles. Rendering, shaders, physics, cameras. | game, development/3d, games | game, development/3d, games, 3d, development, principles, rendering, shaders, physics, cameras | +| `game-development/game-audio` | Game audio principles. Sound design, music integration, adaptive audio systems. | game, development/game, audio | game, development/game, audio, principles, sound, music, integration, adaptive | +| `game-development/game-design` | Game design principles. GDD structure, balancing, player psychology, progression. | game, development/game | game, development/game, principles, gdd, structure, balancing, player, psychology, progression | +| `game-development/pc-games` | PC and console game development principles. Engine selection, platform features, optimization strategies. | game, development/pc, games | game, development/pc, games, pc, console, development, principles, engine, selection, platform, features, optimization | +| `game-development/vr-ar` | VR/AR development principles. Comfort, interaction, performance requirements. | game, development/vr, ar | game, development/vr, ar, vr, development, principles, comfort, interaction, performance, requirements | +| `game-development/web-games` | Web browser game development principles. Framework selection, WebGPU, optimization, PWA. | game, development/web, games | game, development/web, games, web, browser, development, principles, framework, selection, webgpu, optimization, pwa | | `git-advanced-workflows` | Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use... | git, advanced | git, advanced, including, rebasing, cherry, picking, bisect, worktrees, reflog, maintain, clean, history | | `git-pr-workflows-onboard` | You are an **expert onboarding specialist and knowledge transfer architect** with deep experience in remote-first organizations, technical team integration, ... | git, pr, onboard | git, pr, onboard, onboarding, knowledge, transfer, architect, deep, experience, remote, first, organizations | | `git-pr-workflows-pr-enhance` | You are a PR optimization expert specializing in creating high-quality pull requests that facilitate efficient code reviews. Generate comprehensive PR descri... | git, pr, enhance | git, pr, enhance, optimization, specializing, creating, high, quality, pull, requests, facilitate, efficient | @@ -386,7 +394,6 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `plan-writing` | Structured task planning with clear breakdowns, dependencies, and verification criteria. Use when implementing features, refactoring, or any multi-step work. | plan, writing | plan, writing, structured, task, planning, clear, breakdowns, dependencies, verification, criteria, implementing, features | | `planning-with-files` | Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks,... | planning, with, files | planning, with, files, implements, manus, style, file, complex, tasks, creates, task, plan | | `posix-shell-pro` | Expert in strict POSIX sh scripting for maximum portability across Unix-like systems. Specializes in shell scripts that run on any POSIX-compliant shell (das... | posix, shell | posix, shell, pro, strict, sh, scripting, maximum, portability, unix, like, specializes, scripts | -| `pptx` | Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying o... | pptx | pptx, presentation, creation, editing, analysis, claude, work, presentations, files, creating, new, modifying | | `pptx-official` | Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying o... | pptx, official | pptx, official, presentation, creation, editing, analysis, claude, work, presentations, files, creating, new | | `privilege-escalation-methods` | This skill should be used when the user asks to "escalate privileges", "get root access", "become administrator", "privesc techniques", "abuse sudo", "exploi... | privilege, escalation, methods | privilege, escalation, methods, skill, should, used, user, asks, escalate, privileges, get, root | | `prompt-library` | Curated collection of high-quality prompts for various use cases. Includes role-based prompts, task-specific templates, and prompt refinement techniques. Use... | prompt, library | prompt, library, curated, collection, high, quality, prompts, various, cases, includes, role, task | @@ -421,7 +428,7 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `writing-skills` | Use when creating, updating, or improving agent skills. | writing, skills | writing, skills, creating, updating, improving, agent | | `x-article-publisher-skill` | Publish articles to X/Twitter | x, article, publisher, skill | x, article, publisher, skill, publish, articles, twitter | -## infrastructure (77) +## infrastructure (78) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -458,6 +465,7 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `expo-deployment` | Deploy Expo apps to production | expo, deployment | expo, deployment, deploy, apps | | `file-uploads` | Expert at handling file uploads and cloud storage. Covers S3, Cloudflare R2, presigned URLs, multipart uploads, and image optimization. Knows how to handle l... | file, uploads | file, uploads, handling, cloud, storage, covers, s3, cloudflare, r2, presigned, urls, multipart | | `flutter-expert` | Master Flutter development with Dart 3, advanced widgets, and multi-platform deployment. Handles state management, animations, testing, and performance optim... | flutter | flutter, development, dart, widgets, multi, platform, deployment, state, animations, testing, performance, optimization | +| `game-development/game-art` | Game art principles. Visual style selection, asset pipeline, animation workflow. | game, development/game, art | game, development/game, art, principles, visual, style, selection, asset, pipeline, animation | | `gcp-cloud-run` | Specialized skill for building production-ready serverless applications on GCP. Covers Cloud Run services (containerized), Cloud Run Functions (event-driven)... | gcp, cloud, run | gcp, cloud, run, specialized, skill, building, serverless, applications, covers, containerized, functions, event | | `git-pr-workflows-git-workflow` | Orchestrate a comprehensive git workflow from code review through PR creation, leveraging specialized agents for quality assurance, testing, and deployment r... | git, pr | git, pr, orchestrate, code, review, through, creation, leveraging, specialized, agents, quality, assurance | | `github-actions-templates` | Create production-ready GitHub Actions workflows for automated testing, building, and deploying applications. Use when setting up CI/CD with GitHub Actions, ... | github, actions | github, actions, automated, testing, building, deploying, applications, setting, up, ci, cd, automating | @@ -647,7 +655,7 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `unit-testing-test-generate` | Generate comprehensive, maintainable unit tests across languages with strong coverage and edge case focus. | unit, generate | unit, generate, testing, test, maintainable, tests, languages, strong, coverage, edge, case | | `web3-testing` | Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, ... | web3 | web3, testing, test, smart, contracts, comprehensively, hardhat, foundry, unit, tests, integration, mainnet | -## workflow (17) +## workflow (16) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -664,7 +672,6 @@ TRIGGER: "shopify", "shopify app", "checkout extension",... | shopify | shopify, | `git-pushing` | Stage, commit, and push git changes with conventional commit messages. Use when user wants to commit and push changes, mentions pushing to remote, or asks to... | git, pushing | git, pushing, stage, commit, push, changes, conventional, messages, user, wants, mentions, remote | | `kaizen` | Guide for continuous improvement, error proofing, and standardization. Use this skill when the user wants to improve code quality, refactor, or discuss proce... | kaizen | kaizen, continuous, improvement, error, proofing, standardization, skill, user, wants, improve, code, quality | | `mermaid-expert` | Create Mermaid diagrams for flowcharts, sequences, ERDs, and architectures. Masters syntax for all diagram types and styling. Use PROACTIVELY for visual docu... | mermaid | mermaid, diagrams, flowcharts, sequences, erds, architectures, masters, syntax, all, diagram, types, styling | -| `pdf` | Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs ... | pdf | pdf, manipulation, toolkit, extracting, text, tables, creating, new, pdfs, merging, splitting, documents | | `pdf-official` | Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs ... | pdf, official | pdf, official, manipulation, toolkit, extracting, text, tables, creating, new, pdfs, merging, splitting | | `team-collaboration-issue` | You are a GitHub issue resolution expert specializing in systematic bug investigation, feature implementation, and collaborative development workflows. Your ... | team, collaboration, issue | team, collaboration, issue, github, resolution, specializing, systematic, bug, investigation, feature, collaborative, development | | `track-management` | Use this skill when creating, managing, or working with Conductor tracks - the logical work units for features, bugs, and refactors. Applies to spec.md, plan... | track | track, skill, creating, managing, working, conductor, tracks, logical, work, units, features, bugs | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 29ab8fb8..261c3af0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,6 +48,23 @@ You don't need to be an expert! Here are ways anyone can help: --- +## Local development setup + +To run validation, index generation, and README updates locally: + +1. **Node.js** (for catalog and installer): `npm ci` +2. **Python 3** (for validate, index, readme scripts): install dependencies with + ```bash + pip install -r requirements.txt + ``` + Then you can run `npm run chain` (validate → index → readme) and `npm run catalog`. + +**Validation:** The canonical validator is **Python** (`scripts/validate_skills.py`). Use `npm run validate` (or `npm run validate:strict` for CI-style checks). The JavaScript validator (`scripts/validate-skills.js`) is legacy/optional and uses a different schema; CI and PR checks rely on the Python validator only. + +**npm audit:** CI runs `npm audit --audit-level=high`. To fix issues locally: run `npm audit`, then `npm update` or `npm audit fix` as appropriate; for breaking changes, update dependencies manually and run tests. + +--- + ## How to Create a New Skill ### Step-by-Step Guide diff --git a/bin/install.js b/bin/install.js index f7422048..83f742ae 100755 --- a/bin/install.js +++ b/bin/install.js @@ -16,11 +16,15 @@ function resolveDir(p) { function parseArgs() { const a = process.argv.slice(2); let pathArg = null; + let versionArg = null; + let tagArg = null; let cursor = false, claude = false, gemini = false, codex = false; for (let i = 0; i < a.length; i++) { if (a[i] === '--help' || a[i] === '-h') return { help: true }; if (a[i] === '--path' && a[i + 1]) { pathArg = a[++i]; continue; } + if (a[i] === '--version' && a[i + 1]) { versionArg = a[++i]; continue; } + if (a[i] === '--tag' && a[i + 1]) { tagArg = a[++i]; continue; } if (a[i] === '--cursor') { cursor = true; continue; } if (a[i] === '--claude') { claude = true; continue; } if (a[i] === '--gemini') { gemini = true; continue; } @@ -28,7 +32,7 @@ function parseArgs() { if (a[i] === 'install') continue; } - return { pathArg, cursor, claude, gemini, codex }; + return { pathArg, versionArg, tagArg, cursor, claude, gemini, codex }; } function defaultDir(opts) { @@ -58,11 +62,13 @@ Options: --gemini Install to ~/.gemini/skills (Gemini CLI) --codex Install to ~/.codex/skills (Codex CLI) --path Install to (default: ~/.agent/skills) + --version After clone, checkout tag v (e.g. 4.6.0 -> v4.6.0) + --tag After clone, checkout this tag (e.g. v4.6.0) Examples: npx antigravity-awesome-skills npx antigravity-awesome-skills --cursor - npx antigravity-awesome-skills --codex + npx antigravity-awesome-skills --version 4.6.0 npx antigravity-awesome-skills --path ./my-skills `); } @@ -114,6 +120,13 @@ function main() { run('git', ['clone', REPO, target]); } + const ref = tagArg || (versionArg ? (versionArg.startsWith('v') ? versionArg : `v${versionArg}`) : null); + if (ref) { + console.log(`Checking out ${ref}…`); + process.chdir(target); + run('git', ['checkout', ref]); + } + console.log(`\nInstalled to ${target}`); console.log('Pick a bundle in docs/BUNDLES.md and use @skill-name in your AI assistant.'); } diff --git a/data/aliases.json b/data/aliases.json index 46515594..cf2341c7 100644 --- a/data/aliases.json +++ b/data/aliases.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-02-02T18:58:37.318Z", + "generatedAt": "2026-02-02T21:03:06.925Z", "aliases": { "accessibility-compliance-audit": "accessibility-compliance-accessibility-audit", "active directory attacks": "active-directory-attacks", @@ -7,6 +7,7 @@ "agent-orchestration-optimize": "agent-orchestration-multi-agent-optimize", "api fuzzing for bug bounty": "api-fuzzing-bug-bounty", "api-testing-mock": "api-testing-observability-api-mock", + "templates": "app-builder/templates", "application-performance-optimization": "application-performance-performance-optimization", "aws penetration testing": "aws-penetration-testing", "backend-development-feature": "backend-development-feature-development", @@ -45,6 +46,7 @@ "deployment-validation-validate": "deployment-validation-config-validate", "distributed-debugging-trace": "distributed-debugging-debug-trace", "documentation-generation-generate": "documentation-generation-doc-generate", + "docx": "docx-official", "error-debugging-analysis": "error-debugging-error-analysis", "error-debugging-review": "error-debugging-multi-agent-review", "error-diagnostics-analysis": "error-diagnostics-error-analysis", @@ -59,6 +61,16 @@ "frontend-mobile-scaffold": "frontend-mobile-development-component-scaffold", "frontend-mobile-scan": "frontend-mobile-security-xss-scan", "full-stack-feature": "full-stack-orchestration-full-stack-feature", + "2d-games": "game-development/2d-games", + "3d-games": "game-development/3d-games", + "game-art": "game-development/game-art", + "game-audio": "game-development/game-audio", + "game-design": "game-development/game-design", + "mobile-games": "game-development/mobile-games", + "multiplayer": "game-development/multiplayer", + "pc-games": "game-development/pc-games", + "vr-ar": "game-development/vr-ar", + "web-games": "game-development/web-games", "git-pr-workflow": "git-pr-workflows-git-workflow", "html injection testing": "html-injection-testing", "idor vulnerability testing": "idor-testing", @@ -79,11 +91,13 @@ "observability-monitoring-setup": "observability-monitoring-monitor-setup", "observability-monitoring-implement": "observability-monitoring-slo-implement", "obsidian-clipper-creator": "obsidian-clipper-template-creator", + "pdf": "pdf-official", "pentest checklist": "pentest-checklist", "pentest commands": "pentest-commands", "performance-testing-ai": "performance-testing-review-ai-review", "performance-testing-agent": "performance-testing-review-multi-agent-review", "supabase-postgres-best-practices": "postgres-best-practices", + "pptx": "pptx-official", "privilege escalation methods": "privilege-escalation-methods", "python-development-scaffold": "python-development-python-scaffold", "vercel-react-best-practices": "react-best-practices", @@ -107,6 +121,7 @@ "windows privilege escalation": "windows-privilege-escalation", "wireshark network traffic analysis": "wireshark-analysis", "wordpress penetration testing": "wordpress-penetration-testing", + "xlsx": "xlsx-official", "cross-site scripting and html injection testing": "xss-html-injection" } } \ No newline at end of file diff --git a/data/bundles.json b/data/bundles.json index ceb66e6d..784946af 100644 --- a/data/bundles.json +++ b/data/bundles.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-02-02T18:58:37.318Z", + "generatedAt": "2026-02-02T21:03:06.925Z", "bundles": { "core-dev": { "description": "Core development skills across languages, frameworks, and backend/frontend fundamentals.", @@ -55,6 +55,7 @@ "frontend-mobile-security-xss-scan", "frontend-security-coder", "frontend-slides", + "game-development/mobile-games", "go-concurrency-patterns", "golang-pro", "graphql", @@ -319,7 +320,6 @@ "unity-ecs-patterns", "using-neon", "vector-database-engineer", - "xlsx", "xlsx-official" ] }, @@ -357,6 +357,7 @@ "error-diagnostics-error-trace", "expo-deployment", "flutter-expert", + "game-development/game-art", "git-pr-workflows-git-workflow", "gitlab-ci-patterns", "gitops-workflow", diff --git a/data/catalog.json b/data/catalog.json index 409a2578..c36c5c9e 100644 --- a/data/catalog.json +++ b/data/catalog.json @@ -1,6 +1,6 @@ { - "generatedAt": "2026-02-02T18:58:37.318Z", - "total": 619, + "generatedAt": "2026-02-02T21:03:06.925Z", + "total": 626, "skills": [ { "id": "3d-web-experience", @@ -760,6 +760,31 @@ ], "path": "skills/app-builder/SKILL.md" }, + { + "id": "app-builder/templates", + "name": "templates", + "description": "Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.", + "category": "general", + "tags": [ + "app", + "builder/templates" + ], + "triggers": [ + "app", + "builder/templates", + "scaffolding", + "new", + "applications", + "creating", + "scratch", + "contains", + "12", + "various", + "tech", + "stacks" + ], + "path": "skills/app-builder/templates/SKILL.md" + }, { "id": "app-store-optimization", "name": "app-store-optimization", @@ -4778,30 +4803,6 @@ ], "path": "skills/documentation-templates/SKILL.md" }, - { - "id": "docx", - "name": "docx", - "description": "Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks", - "category": "general", - "tags": [ - "docx" - ], - "triggers": [ - "docx", - "document", - "creation", - "editing", - "analysis", - "tracked", - "changes", - "comments", - "formatting", - "preservation", - "text", - "extraction" - ], - "path": "skills/docx/SKILL.md" - }, { "id": "docx-official", "name": "docx", @@ -6272,6 +6273,245 @@ ], "path": "skills/game-development/SKILL.md" }, + { + "id": "game-development/2d-games", + "name": "2d-games", + "description": "2D game development principles. Sprites, tilemaps, physics, camera.", + "category": "general", + "tags": [ + "game", + "development/2d", + "games" + ], + "triggers": [ + "game", + "development/2d", + "games", + "2d", + "development", + "principles", + "sprites", + "tilemaps", + "physics", + "camera" + ], + "path": "skills/game-development/2d-games/SKILL.md" + }, + { + "id": "game-development/3d-games", + "name": "3d-games", + "description": "3D game development principles. Rendering, shaders, physics, cameras.", + "category": "general", + "tags": [ + "game", + "development/3d", + "games" + ], + "triggers": [ + "game", + "development/3d", + "games", + "3d", + "development", + "principles", + "rendering", + "shaders", + "physics", + "cameras" + ], + "path": "skills/game-development/3d-games/SKILL.md" + }, + { + "id": "game-development/game-art", + "name": "game-art", + "description": "Game art principles. Visual style selection, asset pipeline, animation workflow.", + "category": "infrastructure", + "tags": [ + "game", + "development/game", + "art" + ], + "triggers": [ + "game", + "development/game", + "art", + "principles", + "visual", + "style", + "selection", + "asset", + "pipeline", + "animation" + ], + "path": "skills/game-development/game-art/SKILL.md" + }, + { + "id": "game-development/game-audio", + "name": "game-audio", + "description": "Game audio principles. Sound design, music integration, adaptive audio systems.", + "category": "general", + "tags": [ + "game", + "development/game", + "audio" + ], + "triggers": [ + "game", + "development/game", + "audio", + "principles", + "sound", + "music", + "integration", + "adaptive" + ], + "path": "skills/game-development/game-audio/SKILL.md" + }, + { + "id": "game-development/game-design", + "name": "game-design", + "description": "Game design principles. GDD structure, balancing, player psychology, progression.", + "category": "general", + "tags": [ + "game", + "development/game" + ], + "triggers": [ + "game", + "development/game", + "principles", + "gdd", + "structure", + "balancing", + "player", + "psychology", + "progression" + ], + "path": "skills/game-development/game-design/SKILL.md" + }, + { + "id": "game-development/mobile-games", + "name": "mobile-games", + "description": "Mobile game development principles. Touch input, battery, performance, app stores.", + "category": "development", + "tags": [ + "game", + "development/mobile", + "games" + ], + "triggers": [ + "game", + "development/mobile", + "games", + "mobile", + "development", + "principles", + "touch", + "input", + "battery", + "performance", + "app", + "stores" + ], + "path": "skills/game-development/mobile-games/SKILL.md" + }, + { + "id": "game-development/multiplayer", + "name": "multiplayer", + "description": "Multiplayer game development principles. Architecture, networking, synchronization.", + "category": "architecture", + "tags": [ + "game", + "development/multiplayer" + ], + "triggers": [ + "game", + "development/multiplayer", + "multiplayer", + "development", + "principles", + "architecture", + "networking", + "synchronization" + ], + "path": "skills/game-development/multiplayer/SKILL.md" + }, + { + "id": "game-development/pc-games", + "name": "pc-games", + "description": "PC and console game development principles. Engine selection, platform features, optimization strategies.", + "category": "general", + "tags": [ + "game", + "development/pc", + "games" + ], + "triggers": [ + "game", + "development/pc", + "games", + "pc", + "console", + "development", + "principles", + "engine", + "selection", + "platform", + "features", + "optimization" + ], + "path": "skills/game-development/pc-games/SKILL.md" + }, + { + "id": "game-development/vr-ar", + "name": "vr-ar", + "description": "VR/AR development principles. Comfort, interaction, performance requirements.", + "category": "general", + "tags": [ + "game", + "development/vr", + "ar" + ], + "triggers": [ + "game", + "development/vr", + "ar", + "vr", + "development", + "principles", + "comfort", + "interaction", + "performance", + "requirements" + ], + "path": "skills/game-development/vr-ar/SKILL.md" + }, + { + "id": "game-development/web-games", + "name": "web-games", + "description": "Web browser game development principles. Framework selection, WebGPU, optimization, PWA.", + "category": "general", + "tags": [ + "game", + "development/web", + "games" + ], + "triggers": [ + "game", + "development/web", + "games", + "web", + "browser", + "development", + "principles", + "framework", + "selection", + "webgpu", + "optimization", + "pwa" + ], + "path": "skills/game-development/web-games/SKILL.md" + }, { "id": "gcp-cloud-run", "name": "gcp-cloud-run", @@ -9604,30 +9844,6 @@ ], "path": "skills/pci-compliance/SKILL.md" }, - { - "id": "pdf", - "name": "pdf", - "description": "Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.", - "category": "workflow", - "tags": [ - "pdf" - ], - "triggers": [ - "pdf", - "manipulation", - "toolkit", - "extracting", - "text", - "tables", - "creating", - "new", - "pdfs", - "merging", - "splitting", - "documents" - ], - "path": "skills/pdf/SKILL.md" - }, { "id": "pdf-official", "name": "pdf", @@ -10086,30 +10302,6 @@ ], "path": "skills/powershell-windows/SKILL.md" }, - { - "id": "pptx", - "name": "pptx", - "description": "Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks", - "category": "general", - "tags": [ - "pptx" - ], - "triggers": [ - "pptx", - "presentation", - "creation", - "editing", - "analysis", - "claude", - "work", - "presentations", - "files", - "creating", - "new", - "modifying" - ], - "path": "skills/pptx/SKILL.md" - }, { "id": "pptx-official", "name": "pptx", @@ -14971,30 +15163,6 @@ ], "path": "skills/x-article-publisher-skill/SKILL.md" }, - { - "id": "xlsx", - "name": "xlsx", - "description": "Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas", - "category": "data-ai", - "tags": [ - "xlsx" - ], - "triggers": [ - "xlsx", - "spreadsheet", - "creation", - "editing", - "analysis", - "formulas", - "formatting", - "data", - "visualization", - "claude", - "work", - "spreadsheets" - ], - "path": "skills/xlsx/SKILL.md" - }, { "id": "xlsx-official", "name": "xlsx", diff --git a/data/package.json b/data/package.json index 6bfc897f..956b2ff8 100644 --- a/data/package.json +++ b/data/package.json @@ -1,6 +1,6 @@ { "name": "antigravity-awesome-skills", - "version": "4.2.0", + "version": "4.6.0", "dependencies": { "yaml": "^2.8.2" } diff --git a/docs/SKILL_ANATOMY.md b/docs/SKILL_ANATOMY.md index d61b16a5..68202a06 100644 --- a/docs/SKILL_ANATOMY.md +++ b/docs/SKILL_ANATOMY.md @@ -73,7 +73,7 @@ Some skills include additional metadata: --- name: my-skill-name description: "Brief description" -risk: "safe" # safe | risk | official +risk: "safe" # none | safe | critical | offensive (see QUALITY_BAR.md) source: "community" tags: ["react", "typescript"] --- diff --git a/docs/vietnamese/SKILL_ANATOMY.vi.md b/docs/vietnamese/SKILL_ANATOMY.vi.md index fc6b5c1c..95c8a4ad 100644 --- a/docs/vietnamese/SKILL_ANATOMY.vi.md +++ b/docs/vietnamese/SKILL_ANATOMY.vi.md @@ -73,7 +73,7 @@ Một số skill bao gồm thêm siêu dữ liệu bổ sung: --- name: my-skill-name description: "Mô tả ngắn" -risk: "safe" # safe | risk | official +risk: "safe" # none | safe | critical | offensive (xem QUALITY_BAR.md) source: "community" tags: ["react", "typescript"] --- diff --git a/lib/skill-utils.js b/lib/skill-utils.js index 9b7a1ff9..61174526 100644 --- a/lib/skill-utils.js +++ b/lib/skill-utils.js @@ -159,8 +159,29 @@ function listSkillIds(skillsDir) { .sort(); } +/** + * Recursively list all skill directory paths under skillsDir (relative paths). + * Matches generate_index.py behavior so catalog includes nested skills (e.g. game-development/2d-games). + */ +function listSkillIdsRecursive(skillsDir, baseDir = skillsDir, acc = []) { + const entries = fs.readdirSync(baseDir, { withFileTypes: true }); + for (const entry of entries) { + if (entry.name.startsWith('.')) continue; + if (!entry.isDirectory()) continue; + const dirPath = path.join(baseDir, entry.name); + const skillPath = path.join(dirPath, 'SKILL.md'); + const relPath = path.relative(skillsDir, dirPath); + if (fs.existsSync(skillPath)) { + acc.push(relPath); + } + listSkillIdsRecursive(skillsDir, dirPath, acc); + } + return acc.sort(); +} + module.exports = { listSkillIds, + listSkillIdsRecursive, parseFrontmatter, parseInlineList, readSkill, diff --git a/package.json b/package.json index d52ac8cd..984ee449 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "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" + "build": "npm run chain && npm run catalog", + "test": "node scripts/tests/validate_skills_headings.test.js && python3 scripts/tests/test_validate_skills_headings.py" }, "devDependencies": { "yaml": "^2.8.2" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..f2d59d95 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +# Python dependencies for scripts (validate_skills.py, generate_index.py, update_readme.py) +pyyaml>=5.4,<7 diff --git a/scripts/build-catalog.js b/scripts/build-catalog.js index d3d0b653..1c5390f7 100644 --- a/scripts/build-catalog.js +++ b/scripts/build-catalog.js @@ -1,7 +1,7 @@ const fs = require('fs'); const path = require('path'); const { - listSkillIds, + listSkillIdsRecursive, readSkill, tokenize, unique, @@ -297,8 +297,8 @@ function renderCatalogMarkdown(catalog) { } function buildCatalog() { - const skillIds = listSkillIds(SKILLS_DIR); - const skills = skillIds.map(skillId => readSkill(SKILLS_DIR, skillId)); + const skillRelPaths = listSkillIdsRecursive(SKILLS_DIR); + const skills = skillRelPaths.map(relPath => readSkill(SKILLS_DIR, relPath)); const catalogSkills = []; for (const skill of skills) { diff --git a/scripts/update_readme.py b/scripts/update_readme.py index f7d23043..4c2f6d93 100644 --- a/scripts/update_readme.py +++ b/scripts/update_readme.py @@ -36,7 +36,7 @@ def update_readme(): # 3. Update Intro Text Count content = re.sub( - r"(library of \*\*)\d+( high-performance skills\*\*)", + r"(library of \*\*)\d+( high-performance agentic skills\*\*)", rf"\g<1>{total_skills}\g<2>", content, )