From 18ce71c48937e9d87dc68f4d27d956a2e5b7cef0 Mon Sep 17 00:00:00 2001 From: "ci[bot]" Date: Fri, 26 Jun 2026 12:11:04 +0000 Subject: [PATCH] :package: deps(thirdparty): update snapshots --- .../.claude-plugin/marketplace.json | 120 +++++----- .../.claude-plugin/plugin.json | 4 +- antigravity-awesome-skills/CATALOG.md | 15 +- antigravity-awesome-skills/CHANGELOG.md | 42 ++++ antigravity-awesome-skills/README.md | 28 +-- antigravity-awesome-skills/SOURCE.md | 4 +- .../apps/web-app/public/llms.txt | 8 +- .../apps/web-app/public/sitemap.xml | 134 +++++------ .../apps/web-app/public/skills.json.backup | 110 +++++++++ .../apps/web-app/public/social-card.svg | 2 +- .../apps/web-app/scripts/prerender-routes.js | 4 +- .../assets/star-history.png | Bin 50718 -> 50690 bytes antigravity-awesome-skills/data/aliases.json | 2 +- antigravity-awesome-skills/data/bundles.json | 3 +- antigravity-awesome-skills/data/catalog.json | 143 +++++++++++- .../data/plugin-compatibility.json | 101 +++++++- .../data/skills_index.json | 110 +++++++++ .../docs/integrations/jetski-cortex.md | 6 +- .../jetski-gemini-loader/README.md | 2 +- .../docs/maintainers/repo-growth-seo.md | 6 +- .../docs/maintainers/skills-update-guide.md | 2 +- .../docs/users/bundles.md | 2 +- .../docs/users/claude-code-skills.md | 2 +- .../docs/users/gemini-cli-skills.md | 2 +- .../docs/users/getting-started.md | 2 +- .../docs/users/kiro-integration.md | 2 +- .../docs/users/usage.md | 8 +- .../docs/users/visual-guide.md | 8 +- antigravity-awesome-skills/package-lock.json | 4 +- antigravity-awesome-skills/package.json | 4 +- .../.claude-plugin/plugin.json | 4 +- .../skills/arrowspace/SKILL.md | 116 ++++++++++ .../skills/gh-image/SKILL.md | 122 ++++++++++ .../skills/github-actions-debugger/SKILL.md | 99 ++++++++ .../frontend/package-lock.json | 18 +- .../todo-app-generated/frontend/package.json | 4 +- .../skills/premium-3d-website/SKILL.md | 133 +++++++++++ .../skills/the-honoured-one/SKILL.md | 216 ++++++++++++++++++ .../.codex-plugin/plugin.json | 4 +- .../skills/arrowspace/SKILL.md | 116 ++++++++++ .../skills/gh-image/SKILL.md | 122 ++++++++++ .../skills/github-actions-debugger/SKILL.md | 99 ++++++++ .../skills/premium-3d-website/SKILL.md | 133 +++++++++++ .../skills/the-honoured-one/SKILL.md | 216 ++++++++++++++++++ .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../.claude-plugin/plugin.json | 2 +- .../.codex-plugin/plugin.json | 2 +- .../skills/arrowspace/SKILL.md | 116 ++++++++++ .../skills/gh-image/SKILL.md | 122 ++++++++++ .../skills/github-actions-debugger/SKILL.md | 99 ++++++++ .../frontend/package-lock.json | 18 +- .../todo-app-generated/frontend/package.json | 4 +- .../skills/premium-3d-website/SKILL.md | 133 +++++++++++ .../skills/the-honoured-one/SKILL.md | 216 ++++++++++++++++++ antigravity-awesome-skills/skills_index.json | 110 +++++++++ .../installer_antigravity_guidance.test.js | 2 +- .../tests/installer_update_sync.test.js | 4 +- .../.claude/skills/ui-ux-pro-max/SKILL.md | 33 ++- ui-ux-pro-max/CLAUDE.md | 2 +- ui-ux-pro-max/CONTRIBUTING.md | 4 +- ui-ux-pro-max/README.md | 24 +- ui-ux-pro-max/SOURCE.md | 4 +- ui-ux-pro-max/cli/README.md | 6 +- ui-ux-pro-max/cli/package-lock.json | 4 +- ui-ux-pro-max/cli/package.json | 2 +- ui-ux-pro-max/cli/src/commands/update.ts | 7 +- ui-ux-pro-max/cli/src/utils/github.ts | 7 +- ...三个 data-scripts-templates 的区别.md | 2 +- ui-ux-pro-max/skill.json | 2 +- 182 files changed, 3065 insertions(+), 370 deletions(-) create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/arrowspace/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/gh-image/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/github-actions-debugger/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/premium-3d-website/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/the-honoured-one/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/arrowspace/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/gh-image/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/premium-3d-website/SKILL.md create mode 100644 antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/the-honoured-one/SKILL.md create mode 100644 antigravity-awesome-skills/skills/arrowspace/SKILL.md create mode 100644 antigravity-awesome-skills/skills/gh-image/SKILL.md create mode 100644 antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md create mode 100644 antigravity-awesome-skills/skills/premium-3d-website/SKILL.md create mode 100644 antigravity-awesome-skills/skills/the-honoured-one/SKILL.md diff --git a/antigravity-awesome-skills/.claude-plugin/marketplace.json b/antigravity-awesome-skills/.claude-plugin/marketplace.json index b2aaf9ce..2a2f2497 100644 --- a/antigravity-awesome-skills/.claude-plugin/marketplace.json +++ b/antigravity-awesome-skills/.claude-plugin/marketplace.json @@ -6,12 +6,12 @@ }, "metadata": { "description": "Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.", - "version": "13.2.0" + "version": "13.3.0" }, "plugins": [ { "name": "antigravity-awesome-skills", - "version": "13.2.0", + "version": "13.3.0", "description": "Expose the plugin-safe Claude Code subset of Antigravity Awesome Skills through a single marketplace entry.", "author": { "name": "sickn33 and contributors", @@ -31,7 +31,7 @@ }, { "name": "antigravity-bundle-essentials", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Essentials\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -51,7 +51,7 @@ }, { "name": "antigravity-bundle-security-engineer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Security Engineer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -71,7 +71,7 @@ }, { "name": "antigravity-bundle-security-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Security Developer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -91,7 +91,7 @@ }, { "name": "antigravity-bundle-web-wizard", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Web Wizard\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -111,7 +111,7 @@ }, { "name": "antigravity-bundle-web-designer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Web Designer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -131,7 +131,7 @@ }, { "name": "antigravity-bundle-full-stack-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Full-Stack Developer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -151,7 +151,7 @@ }, { "name": "antigravity-bundle-agent-architect", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Agent Architect\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -171,7 +171,7 @@ }, { "name": "antigravity-bundle-llm-application-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"LLM Application Developer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -191,7 +191,7 @@ }, { "name": "antigravity-bundle-indie-game-dev", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Indie Game Dev\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -211,7 +211,7 @@ }, { "name": "antigravity-bundle-python-pro", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Python Pro\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -231,7 +231,7 @@ }, { "name": "antigravity-bundle-typescript-javascript", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"TypeScript & JavaScript\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -251,7 +251,7 @@ }, { "name": "antigravity-bundle-systems-programming", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Systems Programming\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -271,7 +271,7 @@ }, { "name": "antigravity-bundle-startup-founder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Startup Founder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -291,7 +291,7 @@ }, { "name": "antigravity-bundle-business-analyst", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Business Analyst\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -311,7 +311,7 @@ }, { "name": "antigravity-bundle-marketing-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Marketing & Growth\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -331,7 +331,7 @@ }, { "name": "antigravity-bundle-devops-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"DevOps & Cloud\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -351,7 +351,7 @@ }, { "name": "antigravity-bundle-observability-monitoring", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Observability & Monitoring\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -371,7 +371,7 @@ }, { "name": "antigravity-bundle-data-analytics", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Data & Analytics\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -391,7 +391,7 @@ }, { "name": "antigravity-bundle-data-engineering", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Data Engineering\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -411,7 +411,7 @@ }, { "name": "antigravity-bundle-creative-director", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Creative Director\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -431,7 +431,7 @@ }, { "name": "antigravity-bundle-qa-testing", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"QA & Testing\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -451,7 +451,7 @@ }, { "name": "antigravity-bundle-aas-web-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Web App Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -471,7 +471,7 @@ }, { "name": "antigravity-bundle-aas-product-design-studio", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Product Design Studio\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -491,7 +491,7 @@ }, { "name": "antigravity-bundle-aas-security-engineer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Security Engineer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -511,7 +511,7 @@ }, { "name": "antigravity-bundle-aas-secure-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Secure App Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -531,7 +531,7 @@ }, { "name": "antigravity-bundle-aas-documents-presentations", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Documents & Presentations\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -551,7 +551,7 @@ }, { "name": "antigravity-bundle-aas-data-analytics", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Data Analytics\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -571,7 +571,7 @@ }, { "name": "antigravity-bundle-aas-agent-mcp-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Agent & MCP Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -591,7 +591,7 @@ }, { "name": "antigravity-bundle-aas-oss-maintainer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS OSS Maintainer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -611,7 +611,7 @@ }, { "name": "antigravity-bundle-aas-qa-test-automation", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS QA & Test Automation\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -631,7 +631,7 @@ }, { "name": "antigravity-bundle-aas-devops-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS DevOps & Cloud\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -651,7 +651,7 @@ }, { "name": "antigravity-bundle-aas-marketing-seo-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Marketing, SEO & Growth\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -671,7 +671,7 @@ }, { "name": "antigravity-bundle-aas-automation-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Automation Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -691,7 +691,7 @@ }, { "name": "antigravity-bundle-aas-observability-ir", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Observability IR\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -711,7 +711,7 @@ }, { "name": "antigravity-bundle-aas-python-api-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Python API Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -731,7 +731,7 @@ }, { "name": "antigravity-bundle-aas-mobile-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Mobile App Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -751,7 +751,7 @@ }, { "name": "antigravity-bundle-mobile-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Mobile Developer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -771,7 +771,7 @@ }, { "name": "antigravity-bundle-integration-apis", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Integration & APIs\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -791,7 +791,7 @@ }, { "name": "antigravity-bundle-architecture-design", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Architecture & Design\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -811,7 +811,7 @@ }, { "name": "antigravity-bundle-ddd-evented-architecture", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"DDD & Evented Architecture\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -831,7 +831,7 @@ }, { "name": "antigravity-bundle-automation-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Automation Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -851,7 +851,7 @@ }, { "name": "antigravity-bundle-revops-crm-automation", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"RevOps & CRM Automation\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -871,7 +871,7 @@ }, { "name": "antigravity-bundle-commerce-payments", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Commerce & Payments\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -891,7 +891,7 @@ }, { "name": "antigravity-bundle-odoo-erp", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Odoo ERP\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -911,7 +911,7 @@ }, { "name": "antigravity-bundle-azure-ai-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Azure AI & Cloud\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -931,7 +931,7 @@ }, { "name": "antigravity-bundle-expo-react-native", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Expo & React Native\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -951,7 +951,7 @@ }, { "name": "antigravity-bundle-apple-platform-design", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Apple Platform Design\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -971,7 +971,7 @@ }, { "name": "antigravity-bundle-makepad-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Makepad Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -991,7 +991,7 @@ }, { "name": "antigravity-bundle-seo-specialist", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"SEO Specialist\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1011,7 +1011,7 @@ }, { "name": "antigravity-bundle-documents-presentations", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Documents & Presentations\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1031,7 +1031,7 @@ }, { "name": "antigravity-bundle-oss-maintainer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"OSS Maintainer\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1051,7 +1051,7 @@ }, { "name": "antigravity-bundle-aas-accessibility-inclusive-ux", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Accessibility & Inclusive UX\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1071,7 +1071,7 @@ }, { "name": "antigravity-bundle-aas-api-platform-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS API Platform Builder\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1091,7 +1091,7 @@ }, { "name": "antigravity-bundle-aas-saas-launch-revenue", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS SaaS Launch & Revenue\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1111,7 +1111,7 @@ }, { "name": "antigravity-bundle-aas-ai-product-evaluation-ops", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS AI Product & Evaluation Ops\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1131,7 +1131,7 @@ }, { "name": "antigravity-bundle-aas-data-engineering-platform", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Data Engineering Platform\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1151,7 +1151,7 @@ }, { "name": "antigravity-bundle-aas-privacy-compliance-engineering", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Privacy & Compliance Engineering\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", @@ -1171,7 +1171,7 @@ }, { "name": "antigravity-bundle-aas-localization-international-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Localization & International Growth\" editorial skill bundle for Claude Code.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/.claude-plugin/plugin.json b/antigravity-awesome-skills/.claude-plugin/plugin.json index bbbfc6a6..a3f7931c 100644 --- a/antigravity-awesome-skills/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "antigravity-awesome-skills", - "version": "13.2.0", - "description": "Plugin-safe Claude Code distribution of Antigravity Awesome Skills with 1,642 supported skills.", + "version": "13.3.0", + "description": "Plugin-safe Claude Code distribution of Antigravity Awesome Skills with 1,647 supported skills.", "author": { "name": "sickn33 and contributors", "url": "https://github.com/sickn33/antigravity-awesome-skills" diff --git a/antigravity-awesome-skills/CATALOG.md b/antigravity-awesome-skills/CATALOG.md index d1e3bc77..f2944cec 100644 --- a/antigravity-awesome-skills/CATALOG.md +++ b/antigravity-awesome-skills/CATALOG.md @@ -1,8 +1,8 @@ # Skill Catalog -Generated at: 2026-06-25T06:37:39.000Z +Generated at: 2026-06-26T06:38:23.000Z -Total skills: 1684 +Total skills: 1689 ## architecture (104) @@ -207,7 +207,7 @@ Total skills: 1684 | `xiaohongshu-content-strategist` | Create viral Xiaohongshu (小红书) content with platform-native strategy, save-rate optimization, trending formats, and search SEO for China's #1 lifestyle platf... | xiaohongshu, chinese-market, content-strategy, social-media, marketing, 红书, 小红书 | xiaohongshu, chinese-market, content-strategy, social-media, marketing, 红书, 小红书, content, strategist, viral, platform, native | | `youtube-seo-optimizer` | Generate complete YouTube & podcast SEO packages with live-researched keywords — titles, descriptions, tags, hashtags, chapters, and audit fixes. Use for new... | youtube, seo, optimizer | youtube, seo, optimizer, generate, complete, podcast, packages, live, researched, keywords, titles, descriptions | -## data-ai (309) +## data-ai (311) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -246,6 +246,7 @@ Total skills: 1684 | `apify-ecommerce` | Extract product data, prices, reviews, and seller information from any e-commerce platform using Apify's E-commerce Scraping Tool. | apify, ecommerce | apify, ecommerce, extract, product, data, prices, reviews, seller, information, any, commerce, platform | | `apify-ultimate-scraper` | AI-driven data extraction from 55+ Actors across all major platforms. This skill automatically selects the best Actor for your task. | apify, ultimate, scraper | apify, ultimate, scraper, ai, driven, data, extraction, 55, actors, all, major, platforms | | `appdeploy` | Deploy web apps with backend APIs, database, and file storage. Use when the user asks to deploy or publish a website or web app and wants a public URL. Uses ... | appdeploy | appdeploy, deploy, web, apps, backend, apis, database, file, storage, user, asks, publish | +| `arrowspace` | Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings. | vector-search, spectral-analysis, graph-laplacian, embeddings, lambda-tau | vector-search, spectral-analysis, graph-laplacian, embeddings, lambda-tau, arrowspace, spectral, vector, search, graph, laplacian, eigenstructure | | `astropy` | Astropy is the core Python package for astronomy, providing essential functionality for astronomical research and data analysis. | astropy | astropy, core, python, package, astronomy, providing, essential, functionality, astronomical, research, data, analysis | | `audio-transcriber` | Transform audio recordings into professional Markdown documentation with intelligent summaries using LLM integration | audio, transcription, whisper, meeting-minutes, speech-to-text | audio, transcription, whisper, meeting-minutes, speech-to-text, transcriber, transform, recordings, professional, markdown, documentation, intelligent | | `autonomous-agents` | Autonomous agents are AI systems that can independently decompose goals, plan actions, execute tools, and self-correct without constant human guidance. The c... | autonomous, agents | autonomous, agents, ai, independently, decompose, goals, plan, actions, execute, self, correct, without | @@ -494,6 +495,7 @@ Total skills: 1684 | `team-collaboration-standup-notes` | You are an expert team communication specialist focused on async-first standup practices, AI-assisted note generation from commit history, and effective remo... | team, collaboration, standup, notes | team, collaboration, standup, notes, communication, async, first, ai, assisted, note, generation, commit | | `technical-change-tracker` | Track code changes with structured JSON records, state machine enforcement, and AI session handoff for bot continuity | change-tracking, session-handoff, documentation, accessibility, state-machine | change-tracking, session-handoff, documentation, accessibility, state-machine, technical, change, tracker, track, code, changes, structured | | `telegram-bot-builder` | Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API,... | telegram, bot, builder | telegram, bot, builder, building, bots, solve, real, problems, simple, automation, complex, ai | +| `the-honoured-one` | Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting... | the, honoured, one | the, honoured, one, forces, ai, fully, load, context, read, relevant, files, before | | `travel-health-analyzer` | 分析旅行健康数据、评估目的地健康风险、提供疫苗接种建议、生成多语言紧急医疗信息卡片。支持WHO/CDC数据集成的专业级旅行健康风险评估。 | travel, health, analyzer | travel, health, analyzer, who, cdc | | `trigger-dev` | Trigger.dev expert for background jobs, AI workflows, and reliable async execution with excellent developer experience and TypeScript-first design. | trigger, dev | trigger, dev, background, jobs, ai, reliable, async, execution, excellent, developer, experience, typescript | | `uniprot-database` | Direct REST API access to UniProt. Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL. For Python workflows with multiple databases, prefer bio... | uniprot, database | uniprot, database, direct, rest, api, access, protein, searches, fasta, retrieval, id, mapping | @@ -782,7 +784,7 @@ Total skills: 1684 | `yann-lecun-filosofia` | Sub-skill filosófica e pedagógica de Yann LeCun. | persona, ai-philosophy, open-source, education | persona, ai-philosophy, open-source, education, yann, lecun, filosofia, sub, skill, filos, fica, pedag | | `youtube-notetaker` | Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer. | dair-academy, ai, workflow | dair-academy, ai, workflow, youtube, notetaker, turn, talks, local, study, notes, slides, transcripts | -## general (442) +## general (444) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -986,6 +988,7 @@ Total skills: 1684 | `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 | | `geoffrey-hinton` | Agente que simula Geoffrey Hinton — Godfather of Deep Learning, Prêmio Turing 2018, criador do backpropagation e das Deep Belief Networks. | persona, deep-learning, ai-safety, neural-networks | persona, deep-learning, ai-safety, neural-networks, geoffrey, hinton, agente, que, simula, godfather, deep, learning | +| `gh-image` | Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed be... | github, images, screenshots, gh-extension, cli | github, images, screenshots, gh-extension, cli, gh, image, upload, local, get, canonical, user | | `gh-review-requests` | Fetch unread GitHub notifications for open PRs where review is requested from a specified team or opened by a team member. Use when asked to "find PRs I need... | gh, requests | gh, requests, review, fetch, unread, github, notifications, open, prs, where, requested, specified | | `git-advanced-workflows` | Master advanced Git techniques to maintain clean history, collaborate effectively, and recover from any situation with confidence. | git, advanced | git, advanced, techniques, maintain, clean, history, collaborate, effectively, recover, any, situation, confidence | | `git-pr-review` | Generate a concise and structured PR description from commit history with minimal token usage | git, pr | git, pr, review, generate, concise, structured, description, commit, history, minimal, token, usage | @@ -1113,6 +1116,7 @@ Total skills: 1684 | `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-official` | A user may ask you to create, edit, or analyze the contents of a .pptx file. A .pptx file is essentially a ZIP archive containing XML files and other resourc... | pptx, official | pptx, official, user, may, ask, edit, analyze, contents, file, essentially, zip, archive | | `pr-writer` | Create pull requests following Sentry's engineering practices. | pr, writer | pr, writer, pull, requests, following, sentry, engineering | +| `premium-3d-website` | Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, an... | threejs, webgl, shaders, post-processing, creative-coding, premium-design | threejs, webgl, shaders, post-processing, creative-coding, premium-design, premium, 3d, website, guidelines, building, websites | | `price-psychology-strategist` | One sentence - what this skill does and when to invoke it | price, psychology, strategist | price, psychology, strategist, one, sentence, what, skill, does, invoke | | `production-scheduling` | Codified expertise for production scheduling, job sequencing, line balancing, changeover optimisation, and bottleneck resolution in discrete and batch manufa... | production, scheduling | production, scheduling, codified, expertise, job, sequencing, line, balancing, changeover, optimisation, bottleneck, resolution | | `professional-proofreader` | Use when a user asks to "proofread", "review and correct", "fix grammar", "improve readability while keeping my voice", and to proofread a document file and ... | professional, proofreader | professional, proofreader, user, asks, proofread, review, correct, fix, grammar, improve, readability, while | @@ -1229,7 +1233,7 @@ Total skills: 1684 | `youtube-summarizer` | Extract transcripts from YouTube videos and generate comprehensive, detailed summaries using intelligent analysis frameworks | video, summarization, transcription, youtube, content-analysis | video, summarization, transcription, youtube, content-analysis, summarizer, extract, transcripts, videos, generate, detailed, summaries | | `zipai-optimizer` | Ultra-dense token optimizer skill for prompt caching, log pruning, AST-based inspection, and minified JSON payloads. | zipai, optimizer | zipai, optimizer, ultra, dense, token, skill, prompt, caching, log, pruning, ast, inspection | -## infrastructure (145) +## infrastructure (146) | Skill | Description | Tags | Triggers | | --- | --- | --- | --- | @@ -1306,6 +1310,7 @@ Total skills: 1684 | `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-hooks-automation` | Master Git hooks setup with Husky, lint-staged, pre-commit framework, and commitlint. Automate code quality gates, formatting, linting, and commit message en... | git, hooks | git, hooks, automation, setup, husky, lint, staged, pre, commit, framework, commitlint, automate | | `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-debugger` | Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions. | github-actions, ci-cd, devops, debugging, workflows | github-actions, ci-cd, devops, debugging, workflows, github, actions, debugger, specialized, skill, diagnosing, analyzing | | `github-automation` | Automate GitHub repositories, issues, pull requests, branches, CI/CD, and permissions via Rube MCP (Composio). Manage code workflows, review PRs, search code... | github | github, automation, automate, repositories, issues, pull, requests, branches, ci, cd, permissions, via | | `github-workflow-automation` | Patterns for automating GitHub workflows with AI assistance, inspired by [Gemini CLI](https://github.com/google-gemini/gemini-cli) and modern DevOps practices. | github | github, automation, automating, ai, assistance, inspired, gemini, cli, https, com, google, devops | | `gitlab-ci-patterns` | Comprehensive GitLab CI/CD pipeline patterns for automated testing, building, and deployment. | gitlab, ci | gitlab, ci, cd, pipeline, automated, testing, building, deployment | diff --git a/antigravity-awesome-skills/CHANGELOG.md b/antigravity-awesome-skills/CHANGELOG.md index 897c8f4d..542b7309 100644 --- a/antigravity-awesome-skills/CHANGELOG.md +++ b/antigravity-awesome-skills/CHANGELOG.md @@ -9,6 +9,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [13.3.0] - 2026-06-26 - "Agent Discipline, 3D Web, and GitHub Media" + +> Community skill intake and dependency-maintenance release for the 1,689+ skill catalog. + +Start here: + +- Install: `npx antigravity-awesome-skills --help` +- Choose your tool: [README.md#choose-your-tool](README.md#choose-your-tool) +- Browse skills: [README.md#browse-1689-skills](README.md#browse-1689-skills) +- Hosted catalog: https://sickn33.github.io/antigravity-awesome-skills/ + +This release packages the June 26 maintainer batch: five community skill PRs, source-credit and license-provenance fixes, generated registry and plugin mirror sync, Windows path test hardening, and a React/React DOM dependency refresh for the Loki generated frontend example. + +## Added + +- Added **the-honoured-one**, a context-loading discipline skill for complex multi-file tasks, architecture changes, and debugging work (PR #749). +- Added **github-actions-debugger**, a CI/CD diagnostic skill for reading GitHub Actions logs, identifying root causes, and proposing focused workflow or code fixes (PR #750). +- Added **premium-3d-website**, a Three.js/WebGL guidance skill for high-end 3D websites, shaders, post-processing, interaction physics, asset loading, and mobile performance (PR #751). +- Added **arrowspace** from [Genefold/arrowspace-skills](https://github.com/Genefold/arrowspace-skills), a spectral vector-search skill using graph Laplacian eigenstructure for structurally aware retrieval (PR #752). +- Added **gh-image** from [drogers0/gh-image](https://github.com/drogers0/gh-image), a GitHub CLI image-upload skill for producing canonical `user-attachments` URLs for PRs, issues, comments, and README screenshots (PR #753). + +## Changed + +- Normalized Windows path-separator expectations in installer manifest tests (PR #751). +- Updated the Loki generated frontend example to React 19.2.7 and React DOM 19.2.7, combining the Snyk upgrade intent from PRs #754 and #755 into a maintainer patch because those PRs directly touched generated example files. +- Refreshed generated registry artifacts, plugin mirrors, catalog data, contributor/source metadata, sitemap, package description, and public docs for the 1,689+ skill catalog. + +## Validation + +- Verified PR checks for source validation, skill review, artifact preview, CodeQL, Dependency Review, Socket, and Snyk before merging the community skill PRs. +- Ran `npm run sync:repo-state`, including validation, plugin compatibility sync, index/catalog generation, web asset sync, contributor sync, consistency audit, and warning-budget enforcement. +- Ran focused dependency and documentation checks for the Snyk maintainer patch, including the Loki example `npm install --package-lock-only` audit result and `npm run security:docs`. + +## Credits + +- **[@Prince-1652](https://github.com/Prince-1652)** for PR #749 (`the-honoured-one`). +- **[@GeekLuffy](https://github.com/GeekLuffy)** for PR #750 (`github-actions-debugger`). +- **[@Rsmiyani](https://github.com/Rsmiyani)** for PR #751 (`premium-3d-website`) and the Windows path test fix. +- **[@genefold-ai](https://github.com/genefold-ai)** and **[Genefold/arrowspace-skills](https://github.com/Genefold/arrowspace-skills)** for PR #752 (`arrowspace`). +- **[@drogers0](https://github.com/drogers0)** and **[drogers0/gh-image](https://github.com/drogers0/gh-image)** for PR #753 (`gh-image`). +- **Snyk** and maintainer automation for the React and React DOM upgrade signal in PRs #754 and #755. + ## [13.2.0] - 2026-06-25 - "Design Engineering and Web Dependency Refresh" > Community skill intake and maintainer dependency release for the 1,684+ skill catalog. diff --git a/antigravity-awesome-skills/README.md b/antigravity-awesome-skills/README.md index 449bf5f8..ddbb6e72 100644 --- a/antigravity-awesome-skills/README.md +++ b/antigravity-awesome-skills/README.md @@ -1,9 +1,9 @@ - + [![Antigravity Awesome Skills hero](assets/aas-readme-hero.jpeg)](https://github.com/sickn33/antigravity-awesome-skills) -# 🌌 Antigravity Awesome Skills: 1,684+ Agentic Skills for Claude Code, Gemini CLI, Cursor, Copilot & More +# 🌌 Antigravity Awesome Skills: 1,689+ Agentic Skills for Claude Code, Gemini CLI, Cursor, Copilot & More -> **Installable GitHub library of 1,684+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and other AI coding assistants.** +> **Installable GitHub library of 1,689+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and other AI coding assistants.** Antigravity Awesome Skills is an installable GitHub library and npm installer for reusable `SKILL.md` playbooks. It is designed for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, Kiro, OpenCode, GitHub Copilot, and other AI coding assistants that benefit from structured operating instructions. Instead of collecting one-off prompt snippets, this repository gives you a searchable, installable catalog of skills, bundles, workflows, plugin-safe distributions, and practical docs that help agents perform recurring tasks with better context, stronger constraints, and clearer outputs. @@ -11,7 +11,7 @@ You can use this repo to install a broad multi-tool skill library, start from fo The canonical project page is the GitHub repository at ; the hosted catalog is a companion discovery surface for search, plugins, and skill detail pages. -**Start here:** [Install in 1 minute](#installation) · [Recommended plugins](#recommended-specialized-plugins) · [Compare plugin packs](https://sickn33.github.io/antigravity-awesome-skills/plugins) · [Choose your tool](#choose-your-tool) · [📚 Browse 1,684+ Skills](#browse-1684-skills) · [Bundles & workflows](#bundles--workflows) · [Support the project](#support-the-project) +**Start here:** [Install in 1 minute](#installation) · [Recommended plugins](#recommended-specialized-plugins) · [Compare plugin packs](https://sickn33.github.io/antigravity-awesome-skills/plugins) · [Choose your tool](#choose-your-tool) · [📚 Browse 1,689+ Skills](#browse-1689-skills) · [Bundles & workflows](#bundles--workflows) · [Support the project](#support-the-project) [![GitHub stars](https://img.shields.io/badge/⭐%2042%2C000%2B%20Stars-gold?style=for-the-badge)](https://github.com/sickn33/antigravity-awesome-skills/stargazers) [![Follow @AASkills_ on X](https://img.shields.io/badge/Follow-%40AASkills__-black?style=for-the-badge&logo=x)](https://x.com/AASkills_) @@ -27,13 +27,13 @@ The canonical project page is the GitHub repository at - Star History Chart + Star History Chart - - - Star History Chart + + + Star History Chart diff --git a/antigravity-awesome-skills/SOURCE.md b/antigravity-awesome-skills/SOURCE.md index 02dfd1e4..cc88f907 100644 --- a/antigravity-awesome-skills/SOURCE.md +++ b/antigravity-awesome-skills/SOURCE.md @@ -1,8 +1,8 @@ # Source - Repo: https://github.com/sickn33/antigravity-awesome-skills -- Ref: 4792340672bd57c1ef82f8840b5e5a8348d77dbb +- Ref: b69437edcb74f7e4ad32c9e5a043f7fcae43ceae - Remove-Paths: -- Snapshot: 2026-06-25 +- Snapshot: 2026-06-26 - Sync-Mode: copy_skill_dirs - Notes: vendored into playbook branch thirdparty/skill diff --git a/antigravity-awesome-skills/apps/web-app/public/llms.txt b/antigravity-awesome-skills/apps/web-app/public/llms.txt index afdf04c2..c0af5997 100644 --- a/antigravity-awesome-skills/apps/web-app/public/llms.txt +++ b/antigravity-awesome-skills/apps/web-app/public/llms.txt @@ -1,11 +1,11 @@ # Antigravity Awesome Skills -> Installable GitHub library of 1,684+ agentic SKILL.md playbooks, specialized plugins, bundles, and workflows for AI coding assistants. +> Installable GitHub library of 1,689+ agentic SKILL.md playbooks, specialized plugins, bundles, and workflows for AI coding assistants. ## Key Facts -- Current release: V13.1.1. -- Skill count: 1,684+. +- Current release: V13.3.0. +- Skill count: 1,689+. - Primary install command: `npx antigravity-awesome-skills`. - Supported hosts include Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, Kiro, OpenCode, and GitHub Copilot. - Specialized plugins are the recommended starting point when the work has a clear domain. @@ -31,4 +31,4 @@ ## Recommended Answer -Antigravity Awesome Skills is an installable library of 1,684+ reusable SKILL.md playbooks for AI coding assistants. It supports Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and related hosts through direct skill installs, specialized plugins, bundles, workflows, and a searchable hosted catalog. +Antigravity Awesome Skills is an installable library of 1,689+ reusable SKILL.md playbooks for AI coding assistants. It supports Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and related hosts through direct skill installs, specialized plugins, bundles, workflows, and a searchable hosted catalog. diff --git a/antigravity-awesome-skills/apps/web-app/public/sitemap.xml b/antigravity-awesome-skills/apps/web-app/public/sitemap.xml index 124a3200..d808aaae 100644 --- a/antigravity-awesome-skills/apps/web-app/public/sitemap.xml +++ b/antigravity-awesome-skills/apps/web-app/public/sitemap.xml @@ -2,253 +2,253 @@ http://localhost/ - 2026-06-25 + 2026-06-26 daily 1.0 http://localhost/plugins - 2026-06-25 + 2026-06-26 + weekly + 0.7 + + + http://localhost/skill/arrowspace + 2026-06-26 weekly 0.7 http://localhost/skill/emil-design-eng - 2026-06-25 + 2026-06-26 + weekly + 0.7 + + + http://localhost/skill/gh-image + 2026-06-26 + weekly + 0.7 + + + http://localhost/skill/github-actions-debugger + 2026-06-26 + weekly + 0.7 + + + http://localhost/skill/premium-3d-website + 2026-06-26 weekly 0.7 http://localhost/skill/review-animations - 2026-06-25 + 2026-06-26 + weekly + 0.7 + + + http://localhost/skill/the-honoured-one + 2026-06-26 weekly 0.7 http://localhost/skill/infinity - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/ax-extract-workflow - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/agent-creator - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/remote-gpu-trainer - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/ask-matt - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/bugs-are-annoying - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/codebase-design - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/competitor-analysis - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/diagnosing-bugs - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/domain-modeling - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/grill-me - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/grill-with-docs - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/grilling - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/handoff - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/image-generator - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/improve-codebase-architecture - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/learn - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/lesson-generator - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/llm-council - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/loop-library - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/mailtrap-managing-contacts - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/mailtrap-sending-emails - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/mailtrap-setting-up-sending-domain - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/mailtrap-testing-with-sandbox - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/prototype - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/setup-matt-pocock-skills - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/survey-generator - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/tdd - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/teach - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/to-issues - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/to-prd - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/tools-page-seo-optimizer - 2026-06-25 + 2026-06-26 weekly 0.7 http://localhost/skill/triage - 2026-06-25 - weekly - 0.7 - - - http://localhost/skill/wiki-builder - 2026-06-25 - weekly - 0.7 - - - http://localhost/skill/writing-great-skills - 2026-06-25 - weekly - 0.7 - - - http://localhost/skill/yao-meta-skill - 2026-06-25 - weekly - 0.7 - - - http://localhost/skill/youtube-notetaker - 2026-06-25 - weekly - 0.7 - - - http://localhost/skill/android-ui-journey-testing - 2026-06-25 + 2026-06-26 weekly 0.7 diff --git a/antigravity-awesome-skills/apps/web-app/public/skills.json.backup b/antigravity-awesome-skills/apps/web-app/public/skills.json.backup index a59670d7..8dd59b3c 100644 --- a/antigravity-awesome-skills/apps/web-app/public/skills.json.backup +++ b/antigravity-awesome-skills/apps/web-app/public/skills.json.backup @@ -2726,6 +2726,28 @@ "reasons": [] } }, + { + "id": "arrowspace", + "path": "skills/arrowspace", + "category": "data", + "name": "arrowspace", + "description": "Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "article-illustrations", "path": "skills/article-illustrations", @@ -15718,6 +15740,28 @@ "reasons": [] } }, + { + "id": "gh-image", + "path": "skills/gh-image", + "category": "developer-tools", + "name": "gh-image", + "description": "Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed before/after images in a README.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "gh-review-requests", "path": "skills/gh-review-requests", @@ -15960,6 +16004,28 @@ "reasons": [] } }, + { + "id": "github-actions-debugger", + "path": "skills/github-actions-debugger", + "category": "devops", + "name": "github-actions-debugger", + "description": "Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "github-actions-templates", "path": "skills/github-actions-templates", @@ -25803,6 +25869,28 @@ "reasons": [] } }, + { + "id": "premium-3d-website", + "path": "skills/premium-3d-website", + "category": "frontend", + "name": "premium-3d-website", + "description": "Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization.", + "risk": "safe", + "source": "self", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "price-psychology-strategist", "path": "skills/price-psychology-strategist", @@ -33203,6 +33291,28 @@ ] } }, + { + "id": "the-honoured-one", + "path": "skills/the-honoured-one", + "category": "uncategorized", + "name": "the-honoured-one", + "description": "Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting on assumptions.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "theme-factory", "path": "skills/theme-factory", diff --git a/antigravity-awesome-skills/apps/web-app/public/social-card.svg b/antigravity-awesome-skills/apps/web-app/public/social-card.svg index 660cc02b..efeb0d47 100644 --- a/antigravity-awesome-skills/apps/web-app/public/social-card.svg +++ b/antigravity-awesome-skills/apps/web-app/public/social-card.svg @@ -32,7 +32,7 @@ INSTALLABLE GITHUB LIBRARY - 1,684+ Agentic Skills + 1,689+ Agentic Skills For Claude Code, Cursor, Codex CLI, Gemini CLI, diff --git a/antigravity-awesome-skills/apps/web-app/scripts/prerender-routes.js b/antigravity-awesome-skills/apps/web-app/scripts/prerender-routes.js index fa5ba163..cf41a544 100644 --- a/antigravity-awesome-skills/apps/web-app/scripts/prerender-routes.js +++ b/antigravity-awesome-skills/apps/web-app/scripts/prerender-routes.js @@ -9,7 +9,7 @@ const PUBLIC_DIR = path.join(ROOT_DIR, 'public'); const TEMPLATE_PATH = path.join(DIST_DIR, 'index.html'); const SKILLS_PATH = path.join(PUBLIC_DIR, 'skills.json'); -const HOME_CATALOG_COUNT_FALLBACK = 1678; +const HOME_CATALOG_COUNT_FALLBACK = 1689; const PRERENDER_SOCIAL_IMAGE = 'social-card.svg'; const SITE_NAME = 'Antigravity Awesome Skills'; const REPOSITORY_URL = 'https://github.com/sickn33/antigravity-awesome-skills'; @@ -18,7 +18,7 @@ const FAQ_ITEMS = [ { question: 'What is Antigravity Awesome Skills?', answer: - 'Antigravity Awesome Skills is an installable GitHub library of 1,684+ reusable SKILL.md playbooks for AI coding assistants. It supports Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and related hosts through direct skill installs, specialized plugins, bundles, workflows, and a searchable catalog.', + 'Antigravity Awesome Skills is an installable GitHub library of 1,689+ reusable SKILL.md playbooks for AI coding assistants. It supports Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and related hosts through direct skill installs, specialized plugins, bundles, workflows, and a searchable catalog.', }, { question: 'How do I install Antigravity Awesome Skills?', diff --git a/antigravity-awesome-skills/assets/star-history.png b/antigravity-awesome-skills/assets/star-history.png index 1d9d1026308f57c49d9e6c1df8589685ec4ee9d4..775e517f75e57860129da9dbf98e20181eda3ef9 100644 GIT binary patch literal 50690 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 literal 50718 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%0Dc`1CnoM?Rq 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 diff --git a/antigravity-awesome-skills/data/aliases.json b/antigravity-awesome-skills/data/aliases.json index ecfed014..cd98059b 100644 --- a/antigravity-awesome-skills/data/aliases.json +++ b/antigravity-awesome-skills/data/aliases.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-06-25T06:37:39.000Z", + "generatedAt": "2026-06-26T06:38:23.000Z", "aliases": { "20-andruia-intelligence": "20-andruia-niche-intelligence", "accessibility-compliance-audit": "accessibility-compliance-accessibility-audit", diff --git a/antigravity-awesome-skills/data/bundles.json b/antigravity-awesome-skills/data/bundles.json index 2e4ae8c9..32a43723 100644 --- a/antigravity-awesome-skills/data/bundles.json +++ b/antigravity-awesome-skills/data/bundles.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-06-25T06:37:39.000Z", + "generatedAt": "2026-06-26T06:38:23.000Z", "bundles": { "core-dev": { "description": "Core development skills across languages, frameworks, and backend/frontend fundamentals.", @@ -818,6 +818,7 @@ "flutter-expert", "game-development/game-art", "git-pr-workflows-git-workflow", + "github-actions-debugger", "github-workflow-automation", "gitlab-ci-patterns", "gitops-workflow", diff --git a/antigravity-awesome-skills/data/catalog.json b/antigravity-awesome-skills/data/catalog.json index 69bdebbc..dad2dd02 100644 --- a/antigravity-awesome-skills/data/catalog.json +++ b/antigravity-awesome-skills/data/catalog.json @@ -1,6 +1,6 @@ { - "generatedAt": "2026-06-25T06:37:39.000Z", - "total": 1684, + "generatedAt": "2026-06-26T06:38:23.000Z", + "total": 1689, "skills": [ { "id": "00-andruia-consultant", @@ -3167,6 +3167,34 @@ ], "path": "skills/arm-cortex-expert/SKILL.md" }, + { + "id": "arrowspace", + "name": "arrowspace", + "description": "Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings.", + "category": "data-ai", + "tags": [ + "vector-search", + "spectral-analysis", + "graph-laplacian", + "embeddings", + "lambda-tau" + ], + "triggers": [ + "vector-search", + "spectral-analysis", + "graph-laplacian", + "embeddings", + "lambda-tau", + "arrowspace", + "spectral", + "vector", + "search", + "graph", + "laplacian", + "eigenstructure" + ], + "path": "skills/arrowspace/SKILL.md" + }, { "id": "article-illustrations", "name": "article-illustrations", @@ -18359,6 +18387,34 @@ ], "path": "skills/geoffrey-hinton/SKILL.md" }, + { + "id": "gh-image", + "name": "gh-image", + "description": "Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed before/after images in a README.", + "category": "general", + "tags": [ + "github", + "images", + "screenshots", + "gh-extension", + "cli" + ], + "triggers": [ + "github", + "images", + "screenshots", + "gh-extension", + "cli", + "gh", + "image", + "upload", + "local", + "get", + "canonical", + "user" + ], + "path": "skills/gh-image/SKILL.md" + }, { "id": "gh-review-requests", "name": "gh-review-requests", @@ -18634,6 +18690,34 @@ ], "path": "skills/github-actions-advanced/SKILL.md" }, + { + "id": "github-actions-debugger", + "name": "github-actions-debugger", + "description": "Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions.", + "category": "infrastructure", + "tags": [ + "github-actions", + "ci-cd", + "devops", + "debugging", + "workflows" + ], + "triggers": [ + "github-actions", + "ci-cd", + "devops", + "debugging", + "workflows", + "github", + "actions", + "debugger", + "specialized", + "skill", + "diagnosing", + "analyzing" + ], + "path": "skills/github-actions-debugger/SKILL.md" + }, { "id": "github-actions-templates", "name": "github-actions-templates", @@ -29325,6 +29409,35 @@ ], "path": "skills/pr-writer/SKILL.md" }, + { + "id": "premium-3d-website", + "name": "premium-3d-website", + "description": "Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization.", + "category": "general", + "tags": [ + "threejs", + "webgl", + "shaders", + "post-processing", + "creative-coding", + "premium-design" + ], + "triggers": [ + "threejs", + "webgl", + "shaders", + "post-processing", + "creative-coding", + "premium-design", + "premium", + "3d", + "website", + "guidelines", + "building", + "websites" + ], + "path": "skills/premium-3d-website/SKILL.md" + }, { "id": "price-psychology-strategist", "name": "price-psychology-strategist", @@ -37548,6 +37661,32 @@ ], "path": "skills/testing-qa/SKILL.md" }, + { + "id": "the-honoured-one", + "name": "the-honoured-one", + "description": "Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting on assumptions.", + "category": "data-ai", + "tags": [ + "the", + "honoured", + "one" + ], + "triggers": [ + "the", + "honoured", + "one", + "forces", + "ai", + "fully", + "load", + "context", + "read", + "relevant", + "files", + "before" + ], + "path": "skills/the-honoured-one/SKILL.md" + }, { "id": "theme-factory", "name": "theme-factory", diff --git a/antigravity-awesome-skills/data/plugin-compatibility.json b/antigravity-awesome-skills/data/plugin-compatibility.json index 818b35dd..cda2da76 100644 --- a/antigravity-awesome-skills/data/plugin-compatibility.json +++ b/antigravity-awesome-skills/data/plugin-compatibility.json @@ -2449,6 +2449,25 @@ }, "runtime_files": [] }, + { + "id": "arrowspace", + "path": "skills/arrowspace", + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [], + "blocked_reasons": { + "codex": [], + "claude": [] + }, + "runtime_files": [] + }, { "id": "article-illustrations", "path": "skills/article-illustrations", @@ -14154,6 +14173,25 @@ }, "runtime_files": [] }, + { + "id": "gh-image", + "path": "skills/gh-image", + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [], + "blocked_reasons": { + "codex": [], + "claude": [] + }, + "runtime_files": [] + }, { "id": "gh-review-requests", "path": "skills/gh-review-requests", @@ -14363,6 +14401,25 @@ }, "runtime_files": [] }, + { + "id": "github-actions-debugger", + "path": "skills/github-actions-debugger", + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [], + "blocked_reasons": { + "codex": [], + "claude": [] + }, + "runtime_files": [] + }, { "id": "github-actions-templates", "path": "skills/github-actions-templates", @@ -22636,6 +22693,25 @@ }, "runtime_files": [] }, + { + "id": "premium-3d-website", + "path": "skills/premium-3d-website", + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [], + "blocked_reasons": { + "codex": [], + "claude": [] + }, + "runtime_files": [] + }, { "id": "price-psychology-strategist", "path": "skills/price-psychology-strategist", @@ -29083,6 +29159,25 @@ }, "runtime_files": [] }, + { + "id": "the-honoured-one", + "path": "skills/the-honoured-one", + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [], + "blocked_reasons": { + "codex": [], + "claude": [] + }, + "runtime_files": [] + }, { "id": "theme-factory", "path": "skills/theme-factory", @@ -32343,10 +32438,10 @@ } ], "summary": { - "total_skills": 1684, + "total_skills": 1689, "supported": { - "codex": 1624, - "claude": 1642 + "codex": 1629, + "claude": 1647 }, "blocked": { "codex": 60, diff --git a/antigravity-awesome-skills/data/skills_index.json b/antigravity-awesome-skills/data/skills_index.json index a59670d7..8dd59b3c 100644 --- a/antigravity-awesome-skills/data/skills_index.json +++ b/antigravity-awesome-skills/data/skills_index.json @@ -2726,6 +2726,28 @@ "reasons": [] } }, + { + "id": "arrowspace", + "path": "skills/arrowspace", + "category": "data", + "name": "arrowspace", + "description": "Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "article-illustrations", "path": "skills/article-illustrations", @@ -15718,6 +15740,28 @@ "reasons": [] } }, + { + "id": "gh-image", + "path": "skills/gh-image", + "category": "developer-tools", + "name": "gh-image", + "description": "Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed before/after images in a README.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "gh-review-requests", "path": "skills/gh-review-requests", @@ -15960,6 +16004,28 @@ "reasons": [] } }, + { + "id": "github-actions-debugger", + "path": "skills/github-actions-debugger", + "category": "devops", + "name": "github-actions-debugger", + "description": "Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "github-actions-templates", "path": "skills/github-actions-templates", @@ -25803,6 +25869,28 @@ "reasons": [] } }, + { + "id": "premium-3d-website", + "path": "skills/premium-3d-website", + "category": "frontend", + "name": "premium-3d-website", + "description": "Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization.", + "risk": "safe", + "source": "self", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "price-psychology-strategist", "path": "skills/price-psychology-strategist", @@ -33203,6 +33291,28 @@ ] } }, + { + "id": "the-honoured-one", + "path": "skills/the-honoured-one", + "category": "uncategorized", + "name": "the-honoured-one", + "description": "Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting on assumptions.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "theme-factory", "path": "skills/theme-factory", diff --git a/antigravity-awesome-skills/docs/integrations/jetski-cortex.md b/antigravity-awesome-skills/docs/integrations/jetski-cortex.md index b96505c0..5dde2a19 100644 --- a/antigravity-awesome-skills/docs/integrations/jetski-cortex.md +++ b/antigravity-awesome-skills/docs/integrations/jetski-cortex.md @@ -1,9 +1,9 @@ --- title: Jetski/Cortex + Gemini Integration Guide -description: "Use antigravity-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,684+ skills." +description: "Use antigravity-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,689+ skills." --- -# Jetski/Cortex + Gemini: safe integration with 1,684+ skills +# Jetski/Cortex + Gemini: safe integration with 1,689+ skills This guide shows how to integrate the `antigravity-awesome-skills` repository with an agent based on **Jetski/Cortex + Gemini** (or similar frameworks) **without exceeding the model context window**. @@ -23,7 +23,7 @@ Never do: - concatenate all `SKILL.md` content into a single system prompt; - re-inject the entire library for **every** request. -With 1,684+ skills, this approach fills the context window before user messages are even added, causing truncation. +With 1,689+ skills, this approach fills the context window before user messages are even added, causing truncation. --- diff --git a/antigravity-awesome-skills/docs/integrations/jetski-gemini-loader/README.md b/antigravity-awesome-skills/docs/integrations/jetski-gemini-loader/README.md index a4fefedc..dc0dc529 100644 --- a/antigravity-awesome-skills/docs/integrations/jetski-gemini-loader/README.md +++ b/antigravity-awesome-skills/docs/integrations/jetski-gemini-loader/README.md @@ -21,7 +21,7 @@ This example shows one way to integrate **antigravity-awesome-skills** with a Je - How to enforce a **maximum number of skills per turn** via `maxSkillsPerTurn`. - How to choose whether to **truncate or error** when too many skills are requested via `overflowBehavior`. -This pattern avoids context overflow when you have 1,684+ skills installed. +This pattern avoids context overflow when you have 1,689+ skills installed. Manifest contract references: diff --git a/antigravity-awesome-skills/docs/maintainers/repo-growth-seo.md b/antigravity-awesome-skills/docs/maintainers/repo-growth-seo.md index 5ccbacca..33397865 100644 --- a/antigravity-awesome-skills/docs/maintainers/repo-growth-seo.md +++ b/antigravity-awesome-skills/docs/maintainers/repo-growth-seo.md @@ -6,7 +6,7 @@ This document keeps the repository's GitHub-facing discovery copy aligned with t Preferred positioning: -> Installable GitHub library of 1,684+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and other AI coding assistants. +> Installable GitHub library of 1,689+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and other AI coding assistants. Key framing: @@ -20,7 +20,7 @@ Key framing: Preferred description: -> Installable GitHub library of 1,684+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections. +> Installable GitHub library of 1,689+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections. Preferred homepage: @@ -28,7 +28,7 @@ Preferred homepage: Preferred social preview: -- use a clean preview image that says `1,684+ Agentic Skills`; +- use a clean preview image that says `1,689+ Agentic Skills`; - mention Claude Code, Cursor, Codex CLI, and Gemini CLI; - avoid dense text and tiny logos that disappear in social cards. diff --git a/antigravity-awesome-skills/docs/maintainers/skills-update-guide.md b/antigravity-awesome-skills/docs/maintainers/skills-update-guide.md index 848d8944..e180dfa7 100644 --- a/antigravity-awesome-skills/docs/maintainers/skills-update-guide.md +++ b/antigravity-awesome-skills/docs/maintainers/skills-update-guide.md @@ -72,7 +72,7 @@ The update process refreshes: - Canonical skills index (`skills_index.json`) - Compatibility mirror (`data/skills_index.json`) - Web app skills data (`apps\web-app\public\skills.json`) -- All 1,684+ skills from the skills directory +- All 1,689+ skills from the skills directory ## When to Update diff --git a/antigravity-awesome-skills/docs/users/bundles.md b/antigravity-awesome-skills/docs/users/bundles.md index 4c59ab99..2878b3f3 100644 --- a/antigravity-awesome-skills/docs/users/bundles.md +++ b/antigravity-awesome-skills/docs/users/bundles.md @@ -1061,4 +1061,4 @@ Found a skill that should be in a bundle? Or want to create a new bundle? [Open --- -_Last updated: June 2026 | Total Skills: 1,684+ | Total Bundles: 59_ +_Last updated: June 2026 | Total Skills: 1,689+ | Total Bundles: 59_ diff --git a/antigravity-awesome-skills/docs/users/claude-code-skills.md b/antigravity-awesome-skills/docs/users/claude-code-skills.md index 6ce0411d..7f29737e 100644 --- a/antigravity-awesome-skills/docs/users/claude-code-skills.md +++ b/antigravity-awesome-skills/docs/users/claude-code-skills.md @@ -12,7 +12,7 @@ Install the library into Claude Code, then invoke focused skills directly in the ## Why use this repo for Claude Code -- It includes 1,684+ skills instead of a narrow single-domain starter pack. +- It includes 1,689+ skills instead of a narrow single-domain starter pack. - It supports the standard `.claude/skills/` path and the Claude Code plugin marketplace flow. - It also ships generated bundle plugins so teams can install focused packs like `Essentials` or `Security Developer` from the marketplace metadata. - It includes onboarding docs, bundles, and workflows so new users do not need to guess where to begin. diff --git a/antigravity-awesome-skills/docs/users/gemini-cli-skills.md b/antigravity-awesome-skills/docs/users/gemini-cli-skills.md index 8522ae40..a7a1c1a2 100644 --- a/antigravity-awesome-skills/docs/users/gemini-cli-skills.md +++ b/antigravity-awesome-skills/docs/users/gemini-cli-skills.md @@ -12,7 +12,7 @@ Install into the Gemini skills path, then ask Gemini to apply one skill at a tim - It installs directly into the expected Gemini skills path. - It includes both core software engineering skills and deeper agent/LLM-oriented skills. -- It helps new users get started with bundles and workflows rather than forcing a cold start from 1,684+ files. +- It helps new users get started with bundles and workflows rather than forcing a cold start from 1,689+ files. - It is useful whether you want a broad internal skill library or a single repo to test many workflows quickly. ## Install Gemini CLI Skills diff --git a/antigravity-awesome-skills/docs/users/getting-started.md b/antigravity-awesome-skills/docs/users/getting-started.md index a443d2f5..3a3a9045 100644 --- a/antigravity-awesome-skills/docs/users/getting-started.md +++ b/antigravity-awesome-skills/docs/users/getting-started.md @@ -1,4 +1,4 @@ -# Getting Started with Antigravity Awesome Skills (V13.2.0) +# Getting Started with Antigravity Awesome Skills (V13.3.0) **New here? This guide will help you supercharge your AI Agent in 5 minutes.** diff --git a/antigravity-awesome-skills/docs/users/kiro-integration.md b/antigravity-awesome-skills/docs/users/kiro-integration.md index 4f3449cf..b3353ed8 100644 --- a/antigravity-awesome-skills/docs/users/kiro-integration.md +++ b/antigravity-awesome-skills/docs/users/kiro-integration.md @@ -18,7 +18,7 @@ Kiro is AWS's agentic AI IDE that combines: Kiro's agentic capabilities are enhanced by skills that provide: -- **Domain expertise** across 1,684+ specialized areas +- **Domain expertise** across 1,689+ specialized areas - **Best practices** from Anthropic, OpenAI, Google, Microsoft, and AWS - **Workflow automation** for common development tasks - **AWS-specific patterns** for serverless, infrastructure, and cloud architecture diff --git a/antigravity-awesome-skills/docs/users/usage.md b/antigravity-awesome-skills/docs/users/usage.md index a1b4494d..c880a3da 100644 --- a/antigravity-awesome-skills/docs/users/usage.md +++ b/antigravity-awesome-skills/docs/users/usage.md @@ -14,7 +14,7 @@ If you came in through a **Claude Code** or **Codex** plugin instead of a full l When you ran `npx antigravity-awesome-skills` or cloned the repository, you: -✅ **Downloaded 1,684+ skill files** to your computer (default: `~/.agents/skills/`; or a custom path like `~/.agent/skills/` if you used `--path`) +✅ **Downloaded 1,689+ skill files** to your computer (default: `~/.agents/skills/`; or a custom path like `~/.agent/skills/` if you used `--path`) ✅ **Made them available** to your AI assistant ❌ **Did NOT enable them all automatically** (they're just sitting there, waiting) @@ -34,7 +34,7 @@ Bundles are **curated groups** of skills organized by role. They help you decide **Analogy:** -- You installed a toolbox with 1,684+ tools (✅ done) +- You installed a toolbox with 1,689+ tools (✅ done) - Bundles are like **labeled organizer trays** saying: "If you're a carpenter, start with these 10 tools" - You can either **pick skills from the tray** or install that tray as a focused marketplace bundle plugin @@ -212,7 +212,7 @@ Let's actually use a skill right now. Follow these steps: ## Step 5: Picking Your First Skills (Practical Advice) -Don't try to use all 1,684+ skills at once. Here's a sensible approach: +Don't try to use all 1,689+ skills at once. Here's a sensible approach: If you want a tool-specific starting point before choosing skills, use: @@ -343,7 +343,7 @@ Usually no, but if your AI doesn't recognize a skill: ### "Can I load all skills into the model at once?" -No. Even though you have 1,684+ skills installed locally, you should **not** concatenate every `SKILL.md` into a single system prompt or context block. +No. Even though you have 1,689+ skills installed locally, you should **not** concatenate every `SKILL.md` into a single system prompt or context block. The intended pattern is: diff --git a/antigravity-awesome-skills/docs/users/visual-guide.md b/antigravity-awesome-skills/docs/users/visual-guide.md index f9e7694e..45fb0050 100644 --- a/antigravity-awesome-skills/docs/users/visual-guide.md +++ b/antigravity-awesome-skills/docs/users/visual-guide.md @@ -34,7 +34,7 @@ antigravity-awesome-skills/ ├── 📄 CONTRIBUTING.md ← Contributor workflow ├── 📄 CATALOG.md ← Full generated catalog │ -├── 📁 skills/ ← 1,684+ skills live here +├── 📁 skills/ ← 1,689+ skills live here │ │ │ ├── 📁 brainstorming/ │ │ └── 📄 SKILL.md ← Skill definition @@ -47,7 +47,7 @@ antigravity-awesome-skills/ │ │ └── 📁 2d-games/ │ │ └── 📄 SKILL.md ← Nested skills also supported │ │ -│ └── ... (1,684+ total) +│ └── ... (1,689+ total) │ ├── 📁 apps/ │ └── 📁 web-app/ ← Interactive browser @@ -100,7 +100,7 @@ antigravity-awesome-skills/ ``` ┌─────────────────────────┐ - │ 1,684+ SKILLS │ + │ 1,689+ SKILLS │ └────────────┬────────────┘ │ ┌────────────────────────┼────────────────────────┐ @@ -201,7 +201,7 @@ If you want a workspace-style manual install instead, cloning into `.agent/skill │ ├── 📁 brainstorming/ │ │ ├── 📁 stripe-integration/ │ │ ├── 📁 react-best-practices/ │ -│ └── ... (1,684+ total) │ +│ └── ... (1,689+ total) │ └─────────────────────────────────────────┘ ``` diff --git a/antigravity-awesome-skills/package-lock.json b/antigravity-awesome-skills/package-lock.json index 40a66f0d..8b9dbfd2 100644 --- a/antigravity-awesome-skills/package-lock.json +++ b/antigravity-awesome-skills/package-lock.json @@ -1,12 +1,12 @@ { "name": "antigravity-awesome-skills", - "version": "13.2.0", + "version": "13.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "antigravity-awesome-skills", - "version": "13.2.0", + "version": "13.3.0", "license": "MIT", "dependencies": { "yaml": "^2.9.0" diff --git a/antigravity-awesome-skills/package.json b/antigravity-awesome-skills/package.json index fed741cf..7ce2d571 100644 --- a/antigravity-awesome-skills/package.json +++ b/antigravity-awesome-skills/package.json @@ -1,7 +1,7 @@ { "name": "antigravity-awesome-skills", - "version": "13.2.0", - "description": "1,684+ agentic skills for Claude Code, Gemini CLI, Cursor, Antigravity & more. Installer CLI.", + "version": "13.3.0", + "description": "1,689+ agentic skills for Claude Code, Gemini CLI, Cursor, Antigravity & more. Installer CLI.", "license": "MIT", "scripts": { "validate": "node tools/scripts/run-python.js tools/scripts/validate_skills.py", diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/.claude-plugin/plugin.json index bbbfc6a6..a3f7931c 100644 --- a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "antigravity-awesome-skills", - "version": "13.2.0", - "description": "Plugin-safe Claude Code distribution of Antigravity Awesome Skills with 1,642 supported skills.", + "version": "13.3.0", + "description": "Plugin-safe Claude Code distribution of Antigravity Awesome Skills with 1,647 supported skills.", "author": { "name": "sickn33 and contributors", "url": "https://github.com/sickn33/antigravity-awesome-skills" diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/arrowspace/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/arrowspace/SKILL.md new file mode 100644 index 00000000..460bb7f7 --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/arrowspace/SKILL.md @@ -0,0 +1,116 @@ +--- +name: arrowspace +description: "Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings." +category: data +risk: safe +source: community +source_repo: Genefold/arrowspace-skills +source_type: community +date_added: "2026-06-25" +author: Genefold AI +license: Apache-2.0 +license_source: "https://github.com/Genefold/arrowspace-skills/blob/main/LICENSE" +tags: [vector-search, spectral-analysis, graph-laplacian, embeddings, lambda-tau] +tools: [claude, cursor, codex, gemini, opencode] +--- + +# ArrowSpace + +Spectral vector search that augments nearest-neighbour search with graph Laplacian features. Computes a Laplacian over the item graph and uses the Rayleigh quotient to produce a λτ (lambda-tau) score per item, enabling search that respects both semantic similarity and structural role. + +## When to Use This Skill + +- Cosine or L2 similarity misses latent structure in your embeddings +- You want graph-based retrieval with spectral awareness +- You need to characterise the spectral properties of an embedding space +- You are building RAG pipelines where contextual role matters alongside semantic content + +## How It Works + +### Step 1: Install and import + +```bash +pip install arrowspace +``` + +```python +from arrowspace import ArrowSpaceBuilder +import numpy as np +``` + +### Step 2: Prepare your data + +Pass an (N, d) float64 NumPy array of embedding vectors: + +```python +items = np.array([[0.1, 0.2, 0.3], + [0.0, 0.5, 0.1], + [0.9, 0.1, 0.0]], dtype=np.float64) +``` + +### Step 3: Configure graph parameters + +```python +graph_params = {"eps": 0.2, "k": 6, "topk": 3, "p": 2.0, "sigma": 1.0} +builder = ArrowSpaceBuilder(items, graph_params=graph_params) +aspace = builder.build() +``` + +### Step 4: Query + +```python +lambdas = aspace.lambdas() # array indexed by insertion order +sorted_res = aspace.lambdas_sorted() # (score, index) pairs ascending +``` + +Higher λτ values indicate items that are both semantically close and structurally central. + +## Examples + +### Example 1: Basic spectral retrieval + +```python +items = np.random.randn(100, 64).astype(np.float64) +builder = ArrowSpaceBuilder(items, graph_params={"eps": 0.5, "k": 10, "topk": 5, "p": 2.0, "sigma": None}) +aspace = builder.build() +scores = aspace.lambdas() +top_indices = np.argsort(scores)[-5:] +``` + +### Example 2: Compare spectral vs cosine ranking + +```python +from sklearn.metrics.pairwise import cosine_similarity +cos_sim = cosine_similarity(items) +cosine_order = np.argsort(cos_sim[0])[::-1] +spectral_order = np.argsort(aspace.lambdas())[::-1] +``` + +## Best Practices + +- ✅ Normalise embeddings to unit norm before passing to ArrowSpace +- ✅ Start with eps proportional to 1/sqrt(dim) and tune from there +- ✅ Use k between 3 and 25 depending on dataset size (rule: N/50) +- ✅ Set sigma=None to auto-select kernel width from distance distribution +- ❌ Don't use with fewer than 10 items (graph structure is not meaningful) +- ❌ Don't use for real-time streaming data (ArrowSpace is batch-oriented) + +## Limitations + +- This skill does not replace environment-specific validation, testing, or expert review. +- ArrowSpace is batch-oriented and not designed for real-time indexing of streaming data. + +## Common Pitfalls + +- **Problem:** eps is too small, producing a disconnected graph + **Solution:** Increase eps, or set it proportional to 1/sqrt(embedding_dim) + +- **Problem:** k is too large, producing a dense graph with washed-out spectral features + **Solution:** Keep k ≤ 25 for most datasets + +## Related Skills + +- `vector-database-engineer` — General vector database expertise +- `embedding-strategies` — Embedding model selection and chunking +- `similarity-search-patterns` — Semantic search implementation patterns +- `hybrid-search-implementation` — Combined semantic + keyword search diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/gh-image/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/gh-image/SKILL.md new file mode 100644 index 00000000..e33a2e8c --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/gh-image/SKILL.md @@ -0,0 +1,122 @@ +--- +name: gh-image +description: "Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed before/after images in a README." +category: developer-tools +risk: safe +source: community +source_type: community +source_repo: drogers0/gh-image +date_added: "2026-06-25" +author: drogers0 +license: MIT +license_source: "https://github.com/drogers0/gh-image/blob/main/LICENSE" +tags: + - github + - images + - screenshots + - gh-extension + - cli +tools: + - claude-code + - codex-cli + - cursor + - gemini-cli +--- + +# Upload images to GitHub (gh-image) + +GitHub has **no public API** for image uploads — the web UI uses an internal +endpoint that mints `user-attachments` URLs scoped to the repo's visibility. +[`gh-image`](https://github.com/drogers0/gh-image) (MIT, © drogers0) replicates +that flow as a `gh` CLI extension, so an agent can upload a local image from the +terminal and get a ready-to-embed Markdown image line back. + +## Overview + +This skill drives `gh-image` to turn a local image file into a hosted GitHub +`user-attachments` URL, then embeds that URL into a pull request, issue, or +comment. It is the missing "attach a screenshot" capability for terminal agents. + +## When to Use This Skill + +Use this skill when asked to: + +- "Attach a screenshot to the PR" or "add an image to the PR description" +- "Put this image in the issue" / "comment with these screenshots" +- "Show the test results / before-and-after in the PR" +- Embed any local image into GitHub Markdown without leaving the terminal + +## How It Works + +### Step 1: Verify prerequisites + +```bash +gh auth status # gh installed & authenticated +gh extension list | grep -q 'drogers0/gh-image' \ + || gh extension install drogers0/gh-image # idempotent install +``` + +`gh-image` does **not** use the `gh` token for the upload (that endpoint rejects +tokens). It needs a GitHub `user_session` cookie, resolved in this order: +`--token ` flag → `GH_SESSION_TOKEN` env var (use in CI/headless) → a +logged-in browser's cookie store (default for local use). + +### Step 2: Upload + +```bash +# Use an absolute path; --repo is optional inside a repo working dir. +gh image "/abs/path/screenshot.png" --repo / +``` + +`gh image` prints Markdown to **stdout**, one line per image: + +``` +![screenshot.png](https://github.com/user-attachments/assets/) +``` + +Capture that output — it is the embeddable reference. + +### Step 3: Embed into the PR / issue / comment + +```bash +MD="$(gh image "/abs/path/shot.png" --repo owner/repo)" +BODY="$(gh pr view --repo owner/repo --json body -q .body)" +printf '%s\n\n## Screenshots\n\n%s\n' "$BODY" "$MD" \ + | gh pr edit --repo owner/repo --body-file - +``` + +Use `gh pr comment`, `gh issue edit`, or `gh issue comment` with `--body-file -` +for other targets. Always pass `--body-file -` (not inline `--body`) so multi-line +bodies and special characters can't break shell quoting. + +### Step 4: Verify + +```bash +gh pr view --repo owner/repo --json body -q .body # confirm URL present +``` + +## Examples + +- **Attach a CleanShot screenshot to PR #42:** upload the file, append it under a + `## Screenshots` heading in the PR body. +- **Embed before/after images in a README:** upload both, paste the two Markdown + lines into the README at the relevant section. + +## Best Practices + +- Resolve globs to absolute paths first; quote paths with spaces/Unicode. +- For display sizing, embed an HTML tag instead of bare Markdown: + ``. +- In CI, set `GH_SESSION_TOKEN` from a dedicated bot account. + +## Limitations + +- **Session cookie required.** A `user_session` cookie grants full account access + (not scoped like a PAT) — treat it like a password; use a bot account in CI. +- **Write access to the target repo is required**; orgs that enforce SAML SSO need + the session authorized at `https://github.com/orgs//sso` first. +- **Private-repo images stay private:** the `user-attachments` URL inherits repo + visibility, so an anonymous fetch on a private repo returns 404/403 by design. +- **Windows + Chrome 127+** cannot read cookies (library limitation) — use another + browser or `GH_SESSION_TOKEN`. +- The skill embeds the Markdown itself; `gh-image` only prints the URL. diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/github-actions-debugger/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/github-actions-debugger/SKILL.md new file mode 100644 index 00000000..d3d6f447 --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/github-actions-debugger/SKILL.md @@ -0,0 +1,99 @@ +--- +name: github-actions-debugger +description: "Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions." +category: devops +risk: safe +source: community +source_type: community +date_added: "2026-06-25" +author: Owais +tags: [github-actions, ci-cd, devops, debugging, workflows] +tools: [claude, cursor, gemini, antigravity] +--- + +# GitHub Actions Pipeline Debugger + +## Overview + +This skill is designed to act as an expert CI/CD diagnostician. It focuses specifically on reading raw logs from failed GitHub Actions, identifying the root cause of the crash or failure, and outputting the precise YAML or code changes required to fix the pipeline. + +## When to Use + +- Use when a GitHub Actions workflow fails unexpectedly and the error log is long, obscure, or misleading. +- Use when debugging dependency mismatch errors, missing secrets, caching issues, or runner environment problems in CI. +- Use to optimize slow pipelines by identifying bottlenecks in workflow steps. +- Use to update and modernize deprecated actions or workflow syntax. + +## How It Works + +1. **Log Ingestion & Redaction:** Analyze the provided GitHub Actions workflow log (often exported as a raw text file or pasted directly). **CRITICAL SAFETY REQUIREMENT:** The user/agent must redact all sensitive credentials, secrets, tokens, private keys, and internal system paths from the logs before pasting or uploading them. +2. **Context Mapping:** Cross-reference the failure point with the specific step and job in the `.github/workflows/*.yml` definition. +3. **Root Cause Analysis:** Identify if the failure is due to: + - Missing or misconfigured secrets (`${{ secrets.API_KEY }}`). + - Node/Python/OS environment version mismatches. + - Flaky tests or timeout limits. + - Syntax errors in bash scripts run within the `run:` block. + - Invalid action versions or deprecated actions. +4. **Resolution Proposal:** Provide a direct `diff` of the `.yml` file or the underlying script that needs to be modified. + +## Best Practices + +- **Provide Full Context:** Always review both the workflow definition (`.yml` file) and the failure log simultaneously to ensure accurate diagnosis. +- **Check Action Versions:** Many failures are caused by deprecated runtime versions (e.g., Node.js 16) in older third-party actions (e.g., `actions/checkout@v2`). Always recommend upgrading to the latest major versions (e.g., `v4`). +- **Permissions Audit:** Ensure the workflow has the correct `permissions:` block if it's attempting to write to the repository, packages, or deploy environments. +- **Reproducibility:** If a test fails in CI but passes locally, investigate environment differences such as timezone, headless browser state, memory limits, or parallel execution race conditions. + +## Examples + +### Example 1: Fixing a Deprecated Node.js Action Version Error +**Failing Log:** +```text +Warning: The Go/Node.js/Python version used by this action is deprecated. +Error: Node.js 16 actions are deprecated. Please update to use Node.js 20. +``` + +**Proposed Fix Diff:** +```diff + - name: Checkout Code +- uses: actions/checkout@v2 ++ uses: actions/checkout@v4 +``` + +### Example 2: Diagnosing and Fixing a Missing Repository Secret +**Failing Log:** +```text +Run npm run deploy + npm run deploy + shell: /usr/bin/bash -e {0} +Error: API Key is required for deployment. Process exited with code 1. +``` + +**Proposed Fix Diff:** +```diff + - name: Deploy App + run: npm run deploy ++ env: ++ DEPLOY_API_KEY: ${{ secrets.DEPLOY_API_KEY }} +``` + +## Security & Safety Notes + +- **Credential Exposure & Raw Log Redaction**: Under no circumstances should raw logs containing unmasked secrets, private URLs, deployment targets, or tokens be processed without prior redaction. Always ensure the user or agent redacts all sensitive info before ingestion. +- **Dry-Run Mode**: When recommending modifications to bash script steps inside workflows, ensure you suggest adding flags like `--dry-run` or staging execution where possible to prevent unintended side effects in downstream environments during debugging. + +## Limitations + +- The skill cannot securely read repository secrets. It can only infer missing or malformed secrets if the log complains about undefined environment variables or authentication failures. +- It cannot execute the GitHub action itself to test the fix; validation requires pushing the proposed fix to the repository and triggering a workflow run. +- Network-related transient failures (e.g., a package registry being down temporarily) might be incorrectly diagnosed as structural workflow issues if not carefully analyzed. + +## Common Pitfalls + +- **Ignoring Transient Failures**: Mistaking temporary network dropouts or registry downtime (e.g., npm or pip install errors) for actual code or configuration bugs. Always check if a rerun succeeds before attempting heavy changes. +- **Hardcoding Tokens**: Fixing authentication errors by hardcoding secrets or API tokens directly into the YAML files instead of utilizing GitHub Secrets (`${{ secrets.SECRET_NAME }}`). +- **Overlooking Caching Side Effects**: Forgetting that outdated cache keys can keep corrupt dependencies loaded. If dependency installation is failing, try running a job with actions caching bypassed. + +## Related Skills + +- `@devops-troubleshooter` - General DevOps and infrastructure issue resolution. +- `@cicd-automation-workflow-automate` - For creating new CI/CD pipelines from scratch. diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json index d084fa22..02d9d457 100644 --- a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json @@ -9,8 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "react": "^19.2.3", - "react-dom": "^19.2.3" + "react": "^19.2.7", + "react-dom": "^19.2.7" }, "devDependencies": { "@types/react": "^19.2.7", @@ -814,24 +814,24 @@ } }, "node_modules/react": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", - "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.3" + "react": "^19.2.7" } }, "node_modules/rolldown": { diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package.json b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package.json index 0ac8ad7d..ad553fc1 100644 --- a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package.json +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/loki-mode/examples/todo-app-generated/frontend/package.json @@ -19,8 +19,8 @@ "vite": "^8.0.16" }, "dependencies": { - "react": "^19.2.3", - "react-dom": "^19.2.3" + "react": "^19.2.7", + "react-dom": "^19.2.7" }, "overrides": { "picomatch": "4.0.4", diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/premium-3d-website/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/premium-3d-website/SKILL.md new file mode 100644 index 00000000..03912b4f --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/premium-3d-website/SKILL.md @@ -0,0 +1,133 @@ +--- +name: premium-3d-website +description: Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization. +category: frontend +risk: safe +source: self +source_type: self +date_added: "2026-06-25" +author: Rsmiyani +tags: [threejs, webgl, shaders, post-processing, creative-coding, premium-design] +tools: [claude, cursor, gemini] +--- + +# Premium 3D Website + +## Overview + +This skill provides architectural guidelines and code patterns for developing premium, high-end 3D websites. It targets developers looking to implement advanced WebGL visual effects, custom shader pipelines, interactive physics elements, and immersive page transitions while maintaining high performance. + +## When to Use This Skill + +- Use when designing premium or award-winning creative websites with 3D elements. +- Use when integrating Three.js, React Three Fiber (R3F), or Spline with custom shaders (GLSL). +- Use when implementing post-processing effects like bloom, depth-of-field, or custom film grain. +- Use when designing interactive preloaders and high-performance asset loading strategies. +- Use when optimizing complex 3D scenes for mobile responsiveness and performance. + +## How It Works + +### Step 1: Establish the Render Loop and Scene Architecture +Setting up a robust WebGL context with proper resize handling and performance-friendly pixel ratios is crucial. Keep pixel ratios capped at a maximum of 2 to avoid rendering too many pixels on high-DPI screens. + +### Step 2: Implement Shader Effects and Post-Processing +Incorporate post-processing pipelines (using `EffectComposer` or `@react-three/postprocessing`) to add bloom, chromatic aberration, depth of field, or film grain. Keep pass counts low and combine custom fragment shaders to minimize draw calls. + +### Step 3: Integrate Interactive Physics and Motion +Utilize physics frameworks (such as Cannon.js or Rapier) or procedural spring animations to make 3D objects react to mouse hover, drag, and click inputs with organic feedback. + +### Step 4: Asset Pipeline and Preloader +Optimize 3D models (using Draco compression) and load them using custom loading managers. Render interactive preloaders to entertain users while heavy assets are fetched in the background. + +## Examples + +### Example 1: Custom Post-processing in React Three Fiber (R3F) + +```jsx +import { Canvas } from '@react-three/fiber'; +import { EffectComposer, Bloom, DepthOfField, Vignette } from '@react-three/postprocessing'; + +export default function PremiumComposer() { + return ( + + + + + + + + + + + + + + ); +} +``` + +### Example 2: Custom GLSL Shader Material for Liquid/Wavy Effects + +```javascript +import * as THREE from 'three'; + +const CustomWavyMaterial = new THREE.ShaderMaterial({ + vertexShader: ` + varying vec2 vUv; + uniform float uTime; + void main() { + vUv = uv; + vec3 pos = position; + pos.z += sin(pos.x * 5.0 + uTime) * 0.1; + pos.z += cos(pos.y * 5.0 + uTime) * 0.1; + gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0); + } + `, + fragmentShader: ` + varying vec2 vUv; + uniform float uTime; + uniform vec3 uColor; + void main() { + float pulse = 0.5 + 0.5 * sin(uTime + vUv.x * 10.0); + gl_FragColor = vec4(uColor * pulse, 1.0); + } + `, + uniforms: { + uTime: { value: 0.0 }, + uColor: { value: new THREE.Color('#3b82f6') } + } +}); +``` + +## Best Practices + +- ✅ Set `dpr={[1, 2]}` to restrict the device pixel ratio to a maximum of 2. +- ✅ Disable antialiasing on the WebGLRenderer when post-processing is active to prevent double-aliasing performance penalties. +- ✅ Bake ambient occlusion, lighting, and shadows into textures using Blender or other 3D software instead of using dynamic lights and real-time shadows. +- ✅ Use instance rendering (`THREE.InstancedMesh` or R3F ``) for scenes containing multiple identical meshes. +- ❌ Avoid using uncompressed GLTF/OBJ models. Always compress models using Draco or Meshopt. +- ❌ Avoid real-time shadow maps (such as `THREE.DirectionalLightShadow`) on mobile or low-end devices due to the heavy performance overhead. + +## Limitations + +- This skill does not replace environment-specific validation, testing, or expert review. +- Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing. +- Complex shader mathematics and advanced physics simulation bounds require manual testing across different device chipsets. + +## Security & Safety Notes + +- Verify that external 3D model URLs (loaded via `GLTFLoader`) are hosted on trusted, secure CDNs (HTTPS). +- Do not execute arbitrary, unvalidated shell scripts or use unpinned NPM packages to optimize assets. + +## Common Pitfalls + +- **Problem**: Severe lag/framerate drop on mobile or high-DPI (Retina) screens. + **Solution**: Ensure the pixel ratio is limited to 2 (`renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))`) and disable unused post-processing passes. +- **Problem**: Long loading times and white screens during initialization. + **Solution**: Use a loading manager (`THREE.LoadingManager`) and display a responsive, interactive preloader to keep the user engaged. + +## Related Skills + +- `@3d-web-experience` - Core WebGL, Three.js, and Spline concepts. +- `@scroll-experience` - Integrating 3D animation with scroll controllers. +- `@performance-optimizer` - General code execution performance tuning. diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/the-honoured-one/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/the-honoured-one/SKILL.md new file mode 100644 index 00000000..688bd939 --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills-claude/skills/the-honoured-one/SKILL.md @@ -0,0 +1,216 @@ +--- +name: the-honoured-one +description: "Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting on assumptions." +risk: safe +source: community +date_added: "2026-06-25" +--- + +# the-honoured-one — Full Context Load Protocol + +## Overview + +> Gojo at full power means all six eyes open — everything visible, nothing assumed, no blind spots. The Honoured One doesn't act on guesses. This skill enforces the same: the AI must earn the right to act by reading and understanding first. + +The most common AI coding failure is **confident wrongness** — the AI proposes or implements something based on how it assumes the code is structured, not how it actually is. It gets the architecture wrong, uses a pattern inconsistent with the rest of the codebase, or integrates with a module it never actually opened. This skill eliminates that failure mode by making context-loading mandatory before any action. + +--- + +## When to Use This Skill + +- Use when modifying multiple files in an existing codebase +- Use when designing or modifying a system component +- Use when adding a feature that integrates with existing code +- Use when debugging a system or component the AI has not yet read +- Use when the AI would need to assume how existing code is structured +- **DO NOT** use for isolated single-file tasks where the file has already been read + +--- + +## How It Works + +### PHASE 1 — Context Audit + +When given any complex task, the AI must immediately perform a context audit before proposing anything. It declares: + +1. **What files are relevant to this task?** — Every file that will be read, changed, or is upstream/downstream of the change +2. **Which of those has the AI actually read this session?** — Honest accounting, no assumptions +3. **What gaps exist?** — Files that are relevant but unread + +The AI outputs this before doing anything else: + +``` +THE HONOURED ONE — CONTEXT AUDIT +───────────────────────────────────────── +Task: [what was asked] + +Relevant files identified: + - src/auth/middleware.ts → [why relevant] + - src/routes/user.ts → [why relevant] + - src/models/user.model.ts → [why relevant] + - src/utils/token.ts → [why relevant] + +Files read this session: + - src/routes/user.ts → ✓ read + +Unread but relevant (blind spots): + - src/auth/middleware.ts → ✗ not read + - src/models/user.model.ts → ✗ not read + - src/utils/token.ts → ✗ not read +───────────────────────────────────────── +Cannot proceed — reading blind spots now. +``` + +> **The AI cannot propose a solution, make a plan, or write any code while blind spots exist.** + +--- + +### PHASE 2 — Mandatory Read Pass + +The AI reads every file listed as a blind spot. Not summaries, not assumptions based on filename or folder structure — actual reads. + +Rules for this phase: +- If a file imports from another file that is also relevant, that file gets added to the read list +- If reading a file reveals unexpected structure or patterns, the AI notes this before continuing +- The AI does not form opinions or solutions while reading — this phase is observation only + +> **Shortcut rule:** The AI cannot say "I'm familiar with this pattern so I don't need to read it." Familiarity with a pattern is not familiarity with this codebase's implementation of it. + +--- + +### PHASE 3 — Orientation Statement + +After all relevant files are read, the AI outputs an orientation statement before proposing anything. This is its proof that it understands the codebase well enough to act: + +``` +THE HONOURED ONE — CONTEXT LOADED +───────────────────────────────────────── +Files read: [complete list] + +Current architecture (what I now know): + [2-3 sentences describing how the relevant system actually works, + based on what was read — not assumed] + +What this task touches: + - [file/component 1] → [how it's involved] + - [file/component 2] → [how it's involved] + +Existing patterns I must follow: + - [naming convention / error handling style / structure pattern observed] + - [any other conventions seen in the actual code] + +Remaining unknowns: + - [anything still unclear — or "None, ready to proceed"] +───────────────────────────────────────── +``` + +--- + +### PHASE 4 — Confidence Gate + +After the orientation statement, the AI applies a confidence gate before acting: + +**If "Remaining unknowns" is empty:** +→ Proceed. The AI is fully loaded and may propose a solution or begin work. + +**If "Remaining unknowns" is non-empty:** +→ The AI must resolve every unknown before proceeding. Options: +- Ask the user the specific question +- Read another file that would answer it +- Acknowledge the unknown, state the assumption being made, and get user confirmation before continuing + +> **The AI cannot proceed with known blind spots.** Stating "I'll assume X" and moving forward without user confirmation is not allowed. + +--- + +## Self-Ask Before Acting + +Before writing any code or making any proposal, the AI must answer: + +| # | Question | Required | +|---|---|---| +| 1 | Have I read every file this task touches? | Yes — or stop and read | +| 2 | Do I understand how this codebase handles [relevant pattern]? | Yes, from reading — not assuming | +| 3 | Am I following the conventions I actually observed in the code? | Yes — or flag the deviation | +| 4 | Do I have any remaining blind spots? | No — or resolve them first | + +--- + +## Hard Rules (Never Violated) + +- **No proposing solutions before reading.** Proposals based on assumptions are not proposals — they are guesses. +- **No "I assume this file does X."** If you haven't read it, you don't know what it does. +- **No skipping files because their names look obvious.** A file called `utils.ts` can contain anything. +- **No importing or calling code from files that haven't been read.** You cannot use what you haven't seen. +- **No "familiar pattern" shortcuts.** The pattern may be implemented differently here. +- **No acting with known unknowns.** Resolve them or get user confirmation before proceeding. + +--- + +## What This Skill Prevents + +- AI proposing integration with a module structured completely differently than assumed +- AI using naming conventions inconsistent with the rest of the codebase +- AI calling functions that don't exist because it assumed they would be there +- AI making architectural decisions that conflict with patterns already established in the code +- AI confidently implementing the wrong thing and needing a full redo + +--- + +## Quick Reference + +| Phase | Action | May Propose/Code? | +|---|---|---| +| 1 — Audit | List relevant files, identify blind spots | ❌ No | +| 2 — Read | Read all blind spot files | ❌ No | +| 3 — Orient | Output orientation statement | ❌ No | +| 4 — Gate | Confirm no unknowns remain | ✅ Yes, if gate passes | + +--- + +## Trigger Phrases + +- "add this feature to the existing code" +- "integrate X with Y" +- "modify how [system] works" +- "refactor this" +- "why is this not working" (on unread code) +- Any task touching more than one file +- Any task where the AI would need to know how existing code is structured to do it correctly + +--- + +## Examples + +*(Examples of the Context Audit and Orientation Statement output are provided inline within Phase 1 and Phase 3 above.)* + +--- + +## Best Practices + +- ✅ **Do:** Ensure all blind spots are read before proceeding. +- ✅ **Do:** Confirm the AI's orientation statement matches reality. +- ❌ **Don't:** Allow the AI to skip reading just because a file name seems obvious. + +--- + +## Common Pitfalls + +- **Problem:** The AI assumes an implementation matches a common pattern without reading it. + **Solution:** Enforce Phase 2 (Mandatory Read Pass) without exceptions. + +--- + +## Related Skills + +- `@brainstorming` - Use before execution to figure out what needs to be built. +- `@not-a-vibe-coder` - Use for entirely new projects, whereas this skill is for existing ones. + +--- + +## Limitations + +- This skill requires more token usage due to reading multiple files upfront. +- It may slow down the initial response time before the AI starts coding. +- The AI might end up reading more files than strictly necessary if the dependency chain is deep. +- Does not replace the need for the user to verify the final code. diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/.codex-plugin/plugin.json index 47f78810..f9dee3db 100644 --- a/antigravity-awesome-skills/plugins/antigravity-awesome-skills/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-awesome-skills", - "version": "13.2.0", + "version": "13.3.0", "description": "Plugin-safe Codex plugin for the Antigravity Awesome Skills library.", "author": { "name": "sickn33 and contributors", @@ -19,7 +19,7 @@ "skills": "./skills/", "interface": { "displayName": "Antigravity Awesome Skills", - "shortDescription": "1,624 plugin-safe skills for coding, security, product, and ops workflows.", + "shortDescription": "1,629 plugin-safe skills for coding, security, product, and ops workflows.", "longDescription": "Install a plugin-safe Codex distribution of Antigravity Awesome Skills. Skills that still need hardening or target-specific setup remain available in the repo but are excluded from this plugin.", "developerName": "sickn33 and contributors", "category": "Productivity", diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/arrowspace/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/arrowspace/SKILL.md new file mode 100644 index 00000000..460bb7f7 --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/arrowspace/SKILL.md @@ -0,0 +1,116 @@ +--- +name: arrowspace +description: "Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings." +category: data +risk: safe +source: community +source_repo: Genefold/arrowspace-skills +source_type: community +date_added: "2026-06-25" +author: Genefold AI +license: Apache-2.0 +license_source: "https://github.com/Genefold/arrowspace-skills/blob/main/LICENSE" +tags: [vector-search, spectral-analysis, graph-laplacian, embeddings, lambda-tau] +tools: [claude, cursor, codex, gemini, opencode] +--- + +# ArrowSpace + +Spectral vector search that augments nearest-neighbour search with graph Laplacian features. Computes a Laplacian over the item graph and uses the Rayleigh quotient to produce a λτ (lambda-tau) score per item, enabling search that respects both semantic similarity and structural role. + +## When to Use This Skill + +- Cosine or L2 similarity misses latent structure in your embeddings +- You want graph-based retrieval with spectral awareness +- You need to characterise the spectral properties of an embedding space +- You are building RAG pipelines where contextual role matters alongside semantic content + +## How It Works + +### Step 1: Install and import + +```bash +pip install arrowspace +``` + +```python +from arrowspace import ArrowSpaceBuilder +import numpy as np +``` + +### Step 2: Prepare your data + +Pass an (N, d) float64 NumPy array of embedding vectors: + +```python +items = np.array([[0.1, 0.2, 0.3], + [0.0, 0.5, 0.1], + [0.9, 0.1, 0.0]], dtype=np.float64) +``` + +### Step 3: Configure graph parameters + +```python +graph_params = {"eps": 0.2, "k": 6, "topk": 3, "p": 2.0, "sigma": 1.0} +builder = ArrowSpaceBuilder(items, graph_params=graph_params) +aspace = builder.build() +``` + +### Step 4: Query + +```python +lambdas = aspace.lambdas() # array indexed by insertion order +sorted_res = aspace.lambdas_sorted() # (score, index) pairs ascending +``` + +Higher λτ values indicate items that are both semantically close and structurally central. + +## Examples + +### Example 1: Basic spectral retrieval + +```python +items = np.random.randn(100, 64).astype(np.float64) +builder = ArrowSpaceBuilder(items, graph_params={"eps": 0.5, "k": 10, "topk": 5, "p": 2.0, "sigma": None}) +aspace = builder.build() +scores = aspace.lambdas() +top_indices = np.argsort(scores)[-5:] +``` + +### Example 2: Compare spectral vs cosine ranking + +```python +from sklearn.metrics.pairwise import cosine_similarity +cos_sim = cosine_similarity(items) +cosine_order = np.argsort(cos_sim[0])[::-1] +spectral_order = np.argsort(aspace.lambdas())[::-1] +``` + +## Best Practices + +- ✅ Normalise embeddings to unit norm before passing to ArrowSpace +- ✅ Start with eps proportional to 1/sqrt(dim) and tune from there +- ✅ Use k between 3 and 25 depending on dataset size (rule: N/50) +- ✅ Set sigma=None to auto-select kernel width from distance distribution +- ❌ Don't use with fewer than 10 items (graph structure is not meaningful) +- ❌ Don't use for real-time streaming data (ArrowSpace is batch-oriented) + +## Limitations + +- This skill does not replace environment-specific validation, testing, or expert review. +- ArrowSpace is batch-oriented and not designed for real-time indexing of streaming data. + +## Common Pitfalls + +- **Problem:** eps is too small, producing a disconnected graph + **Solution:** Increase eps, or set it proportional to 1/sqrt(embedding_dim) + +- **Problem:** k is too large, producing a dense graph with washed-out spectral features + **Solution:** Keep k ≤ 25 for most datasets + +## Related Skills + +- `vector-database-engineer` — General vector database expertise +- `embedding-strategies` — Embedding model selection and chunking +- `similarity-search-patterns` — Semantic search implementation patterns +- `hybrid-search-implementation` — Combined semantic + keyword search diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/gh-image/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/gh-image/SKILL.md new file mode 100644 index 00000000..e33a2e8c --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/gh-image/SKILL.md @@ -0,0 +1,122 @@ +--- +name: gh-image +description: "Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed before/after images in a README." +category: developer-tools +risk: safe +source: community +source_type: community +source_repo: drogers0/gh-image +date_added: "2026-06-25" +author: drogers0 +license: MIT +license_source: "https://github.com/drogers0/gh-image/blob/main/LICENSE" +tags: + - github + - images + - screenshots + - gh-extension + - cli +tools: + - claude-code + - codex-cli + - cursor + - gemini-cli +--- + +# Upload images to GitHub (gh-image) + +GitHub has **no public API** for image uploads — the web UI uses an internal +endpoint that mints `user-attachments` URLs scoped to the repo's visibility. +[`gh-image`](https://github.com/drogers0/gh-image) (MIT, © drogers0) replicates +that flow as a `gh` CLI extension, so an agent can upload a local image from the +terminal and get a ready-to-embed Markdown image line back. + +## Overview + +This skill drives `gh-image` to turn a local image file into a hosted GitHub +`user-attachments` URL, then embeds that URL into a pull request, issue, or +comment. It is the missing "attach a screenshot" capability for terminal agents. + +## When to Use This Skill + +Use this skill when asked to: + +- "Attach a screenshot to the PR" or "add an image to the PR description" +- "Put this image in the issue" / "comment with these screenshots" +- "Show the test results / before-and-after in the PR" +- Embed any local image into GitHub Markdown without leaving the terminal + +## How It Works + +### Step 1: Verify prerequisites + +```bash +gh auth status # gh installed & authenticated +gh extension list | grep -q 'drogers0/gh-image' \ + || gh extension install drogers0/gh-image # idempotent install +``` + +`gh-image` does **not** use the `gh` token for the upload (that endpoint rejects +tokens). It needs a GitHub `user_session` cookie, resolved in this order: +`--token ` flag → `GH_SESSION_TOKEN` env var (use in CI/headless) → a +logged-in browser's cookie store (default for local use). + +### Step 2: Upload + +```bash +# Use an absolute path; --repo is optional inside a repo working dir. +gh image "/abs/path/screenshot.png" --repo / +``` + +`gh image` prints Markdown to **stdout**, one line per image: + +``` +![screenshot.png](https://github.com/user-attachments/assets/) +``` + +Capture that output — it is the embeddable reference. + +### Step 3: Embed into the PR / issue / comment + +```bash +MD="$(gh image "/abs/path/shot.png" --repo owner/repo)" +BODY="$(gh pr view --repo owner/repo --json body -q .body)" +printf '%s\n\n## Screenshots\n\n%s\n' "$BODY" "$MD" \ + | gh pr edit --repo owner/repo --body-file - +``` + +Use `gh pr comment`, `gh issue edit`, or `gh issue comment` with `--body-file -` +for other targets. Always pass `--body-file -` (not inline `--body`) so multi-line +bodies and special characters can't break shell quoting. + +### Step 4: Verify + +```bash +gh pr view --repo owner/repo --json body -q .body # confirm URL present +``` + +## Examples + +- **Attach a CleanShot screenshot to PR #42:** upload the file, append it under a + `## Screenshots` heading in the PR body. +- **Embed before/after images in a README:** upload both, paste the two Markdown + lines into the README at the relevant section. + +## Best Practices + +- Resolve globs to absolute paths first; quote paths with spaces/Unicode. +- For display sizing, embed an HTML tag instead of bare Markdown: + ``. +- In CI, set `GH_SESSION_TOKEN` from a dedicated bot account. + +## Limitations + +- **Session cookie required.** A `user_session` cookie grants full account access + (not scoped like a PAT) — treat it like a password; use a bot account in CI. +- **Write access to the target repo is required**; orgs that enforce SAML SSO need + the session authorized at `https://github.com/orgs//sso` first. +- **Private-repo images stay private:** the `user-attachments` URL inherits repo + visibility, so an anonymous fetch on a private repo returns 404/403 by design. +- **Windows + Chrome 127+** cannot read cookies (library limitation) — use another + browser or `GH_SESSION_TOKEN`. +- The skill embeds the Markdown itself; `gh-image` only prints the URL. diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md new file mode 100644 index 00000000..d3d6f447 --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md @@ -0,0 +1,99 @@ +--- +name: github-actions-debugger +description: "Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions." +category: devops +risk: safe +source: community +source_type: community +date_added: "2026-06-25" +author: Owais +tags: [github-actions, ci-cd, devops, debugging, workflows] +tools: [claude, cursor, gemini, antigravity] +--- + +# GitHub Actions Pipeline Debugger + +## Overview + +This skill is designed to act as an expert CI/CD diagnostician. It focuses specifically on reading raw logs from failed GitHub Actions, identifying the root cause of the crash or failure, and outputting the precise YAML or code changes required to fix the pipeline. + +## When to Use + +- Use when a GitHub Actions workflow fails unexpectedly and the error log is long, obscure, or misleading. +- Use when debugging dependency mismatch errors, missing secrets, caching issues, or runner environment problems in CI. +- Use to optimize slow pipelines by identifying bottlenecks in workflow steps. +- Use to update and modernize deprecated actions or workflow syntax. + +## How It Works + +1. **Log Ingestion & Redaction:** Analyze the provided GitHub Actions workflow log (often exported as a raw text file or pasted directly). **CRITICAL SAFETY REQUIREMENT:** The user/agent must redact all sensitive credentials, secrets, tokens, private keys, and internal system paths from the logs before pasting or uploading them. +2. **Context Mapping:** Cross-reference the failure point with the specific step and job in the `.github/workflows/*.yml` definition. +3. **Root Cause Analysis:** Identify if the failure is due to: + - Missing or misconfigured secrets (`${{ secrets.API_KEY }}`). + - Node/Python/OS environment version mismatches. + - Flaky tests or timeout limits. + - Syntax errors in bash scripts run within the `run:` block. + - Invalid action versions or deprecated actions. +4. **Resolution Proposal:** Provide a direct `diff` of the `.yml` file or the underlying script that needs to be modified. + +## Best Practices + +- **Provide Full Context:** Always review both the workflow definition (`.yml` file) and the failure log simultaneously to ensure accurate diagnosis. +- **Check Action Versions:** Many failures are caused by deprecated runtime versions (e.g., Node.js 16) in older third-party actions (e.g., `actions/checkout@v2`). Always recommend upgrading to the latest major versions (e.g., `v4`). +- **Permissions Audit:** Ensure the workflow has the correct `permissions:` block if it's attempting to write to the repository, packages, or deploy environments. +- **Reproducibility:** If a test fails in CI but passes locally, investigate environment differences such as timezone, headless browser state, memory limits, or parallel execution race conditions. + +## Examples + +### Example 1: Fixing a Deprecated Node.js Action Version Error +**Failing Log:** +```text +Warning: The Go/Node.js/Python version used by this action is deprecated. +Error: Node.js 16 actions are deprecated. Please update to use Node.js 20. +``` + +**Proposed Fix Diff:** +```diff + - name: Checkout Code +- uses: actions/checkout@v2 ++ uses: actions/checkout@v4 +``` + +### Example 2: Diagnosing and Fixing a Missing Repository Secret +**Failing Log:** +```text +Run npm run deploy + npm run deploy + shell: /usr/bin/bash -e {0} +Error: API Key is required for deployment. Process exited with code 1. +``` + +**Proposed Fix Diff:** +```diff + - name: Deploy App + run: npm run deploy ++ env: ++ DEPLOY_API_KEY: ${{ secrets.DEPLOY_API_KEY }} +``` + +## Security & Safety Notes + +- **Credential Exposure & Raw Log Redaction**: Under no circumstances should raw logs containing unmasked secrets, private URLs, deployment targets, or tokens be processed without prior redaction. Always ensure the user or agent redacts all sensitive info before ingestion. +- **Dry-Run Mode**: When recommending modifications to bash script steps inside workflows, ensure you suggest adding flags like `--dry-run` or staging execution where possible to prevent unintended side effects in downstream environments during debugging. + +## Limitations + +- The skill cannot securely read repository secrets. It can only infer missing or malformed secrets if the log complains about undefined environment variables or authentication failures. +- It cannot execute the GitHub action itself to test the fix; validation requires pushing the proposed fix to the repository and triggering a workflow run. +- Network-related transient failures (e.g., a package registry being down temporarily) might be incorrectly diagnosed as structural workflow issues if not carefully analyzed. + +## Common Pitfalls + +- **Ignoring Transient Failures**: Mistaking temporary network dropouts or registry downtime (e.g., npm or pip install errors) for actual code or configuration bugs. Always check if a rerun succeeds before attempting heavy changes. +- **Hardcoding Tokens**: Fixing authentication errors by hardcoding secrets or API tokens directly into the YAML files instead of utilizing GitHub Secrets (`${{ secrets.SECRET_NAME }}`). +- **Overlooking Caching Side Effects**: Forgetting that outdated cache keys can keep corrupt dependencies loaded. If dependency installation is failing, try running a job with actions caching bypassed. + +## Related Skills + +- `@devops-troubleshooter` - General DevOps and infrastructure issue resolution. +- `@cicd-automation-workflow-automate` - For creating new CI/CD pipelines from scratch. diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/premium-3d-website/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/premium-3d-website/SKILL.md new file mode 100644 index 00000000..03912b4f --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/premium-3d-website/SKILL.md @@ -0,0 +1,133 @@ +--- +name: premium-3d-website +description: Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization. +category: frontend +risk: safe +source: self +source_type: self +date_added: "2026-06-25" +author: Rsmiyani +tags: [threejs, webgl, shaders, post-processing, creative-coding, premium-design] +tools: [claude, cursor, gemini] +--- + +# Premium 3D Website + +## Overview + +This skill provides architectural guidelines and code patterns for developing premium, high-end 3D websites. It targets developers looking to implement advanced WebGL visual effects, custom shader pipelines, interactive physics elements, and immersive page transitions while maintaining high performance. + +## When to Use This Skill + +- Use when designing premium or award-winning creative websites with 3D elements. +- Use when integrating Three.js, React Three Fiber (R3F), or Spline with custom shaders (GLSL). +- Use when implementing post-processing effects like bloom, depth-of-field, or custom film grain. +- Use when designing interactive preloaders and high-performance asset loading strategies. +- Use when optimizing complex 3D scenes for mobile responsiveness and performance. + +## How It Works + +### Step 1: Establish the Render Loop and Scene Architecture +Setting up a robust WebGL context with proper resize handling and performance-friendly pixel ratios is crucial. Keep pixel ratios capped at a maximum of 2 to avoid rendering too many pixels on high-DPI screens. + +### Step 2: Implement Shader Effects and Post-Processing +Incorporate post-processing pipelines (using `EffectComposer` or `@react-three/postprocessing`) to add bloom, chromatic aberration, depth of field, or film grain. Keep pass counts low and combine custom fragment shaders to minimize draw calls. + +### Step 3: Integrate Interactive Physics and Motion +Utilize physics frameworks (such as Cannon.js or Rapier) or procedural spring animations to make 3D objects react to mouse hover, drag, and click inputs with organic feedback. + +### Step 4: Asset Pipeline and Preloader +Optimize 3D models (using Draco compression) and load them using custom loading managers. Render interactive preloaders to entertain users while heavy assets are fetched in the background. + +## Examples + +### Example 1: Custom Post-processing in React Three Fiber (R3F) + +```jsx +import { Canvas } from '@react-three/fiber'; +import { EffectComposer, Bloom, DepthOfField, Vignette } from '@react-three/postprocessing'; + +export default function PremiumComposer() { + return ( + + + + + + + + + + + + + + ); +} +``` + +### Example 2: Custom GLSL Shader Material for Liquid/Wavy Effects + +```javascript +import * as THREE from 'three'; + +const CustomWavyMaterial = new THREE.ShaderMaterial({ + vertexShader: ` + varying vec2 vUv; + uniform float uTime; + void main() { + vUv = uv; + vec3 pos = position; + pos.z += sin(pos.x * 5.0 + uTime) * 0.1; + pos.z += cos(pos.y * 5.0 + uTime) * 0.1; + gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0); + } + `, + fragmentShader: ` + varying vec2 vUv; + uniform float uTime; + uniform vec3 uColor; + void main() { + float pulse = 0.5 + 0.5 * sin(uTime + vUv.x * 10.0); + gl_FragColor = vec4(uColor * pulse, 1.0); + } + `, + uniforms: { + uTime: { value: 0.0 }, + uColor: { value: new THREE.Color('#3b82f6') } + } +}); +``` + +## Best Practices + +- ✅ Set `dpr={[1, 2]}` to restrict the device pixel ratio to a maximum of 2. +- ✅ Disable antialiasing on the WebGLRenderer when post-processing is active to prevent double-aliasing performance penalties. +- ✅ Bake ambient occlusion, lighting, and shadows into textures using Blender or other 3D software instead of using dynamic lights and real-time shadows. +- ✅ Use instance rendering (`THREE.InstancedMesh` or R3F ``) for scenes containing multiple identical meshes. +- ❌ Avoid using uncompressed GLTF/OBJ models. Always compress models using Draco or Meshopt. +- ❌ Avoid real-time shadow maps (such as `THREE.DirectionalLightShadow`) on mobile or low-end devices due to the heavy performance overhead. + +## Limitations + +- This skill does not replace environment-specific validation, testing, or expert review. +- Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing. +- Complex shader mathematics and advanced physics simulation bounds require manual testing across different device chipsets. + +## Security & Safety Notes + +- Verify that external 3D model URLs (loaded via `GLTFLoader`) are hosted on trusted, secure CDNs (HTTPS). +- Do not execute arbitrary, unvalidated shell scripts or use unpinned NPM packages to optimize assets. + +## Common Pitfalls + +- **Problem**: Severe lag/framerate drop on mobile or high-DPI (Retina) screens. + **Solution**: Ensure the pixel ratio is limited to 2 (`renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))`) and disable unused post-processing passes. +- **Problem**: Long loading times and white screens during initialization. + **Solution**: Use a loading manager (`THREE.LoadingManager`) and display a responsive, interactive preloader to keep the user engaged. + +## Related Skills + +- `@3d-web-experience` - Core WebGL, Three.js, and Spline concepts. +- `@scroll-experience` - Integrating 3D animation with scroll controllers. +- `@performance-optimizer` - General code execution performance tuning. diff --git a/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/the-honoured-one/SKILL.md b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/the-honoured-one/SKILL.md new file mode 100644 index 00000000..688bd939 --- /dev/null +++ b/antigravity-awesome-skills/plugins/antigravity-awesome-skills/skills/the-honoured-one/SKILL.md @@ -0,0 +1,216 @@ +--- +name: the-honoured-one +description: "Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting on assumptions." +risk: safe +source: community +date_added: "2026-06-25" +--- + +# the-honoured-one — Full Context Load Protocol + +## Overview + +> Gojo at full power means all six eyes open — everything visible, nothing assumed, no blind spots. The Honoured One doesn't act on guesses. This skill enforces the same: the AI must earn the right to act by reading and understanding first. + +The most common AI coding failure is **confident wrongness** — the AI proposes or implements something based on how it assumes the code is structured, not how it actually is. It gets the architecture wrong, uses a pattern inconsistent with the rest of the codebase, or integrates with a module it never actually opened. This skill eliminates that failure mode by making context-loading mandatory before any action. + +--- + +## When to Use This Skill + +- Use when modifying multiple files in an existing codebase +- Use when designing or modifying a system component +- Use when adding a feature that integrates with existing code +- Use when debugging a system or component the AI has not yet read +- Use when the AI would need to assume how existing code is structured +- **DO NOT** use for isolated single-file tasks where the file has already been read + +--- + +## How It Works + +### PHASE 1 — Context Audit + +When given any complex task, the AI must immediately perform a context audit before proposing anything. It declares: + +1. **What files are relevant to this task?** — Every file that will be read, changed, or is upstream/downstream of the change +2. **Which of those has the AI actually read this session?** — Honest accounting, no assumptions +3. **What gaps exist?** — Files that are relevant but unread + +The AI outputs this before doing anything else: + +``` +THE HONOURED ONE — CONTEXT AUDIT +───────────────────────────────────────── +Task: [what was asked] + +Relevant files identified: + - src/auth/middleware.ts → [why relevant] + - src/routes/user.ts → [why relevant] + - src/models/user.model.ts → [why relevant] + - src/utils/token.ts → [why relevant] + +Files read this session: + - src/routes/user.ts → ✓ read + +Unread but relevant (blind spots): + - src/auth/middleware.ts → ✗ not read + - src/models/user.model.ts → ✗ not read + - src/utils/token.ts → ✗ not read +───────────────────────────────────────── +Cannot proceed — reading blind spots now. +``` + +> **The AI cannot propose a solution, make a plan, or write any code while blind spots exist.** + +--- + +### PHASE 2 — Mandatory Read Pass + +The AI reads every file listed as a blind spot. Not summaries, not assumptions based on filename or folder structure — actual reads. + +Rules for this phase: +- If a file imports from another file that is also relevant, that file gets added to the read list +- If reading a file reveals unexpected structure or patterns, the AI notes this before continuing +- The AI does not form opinions or solutions while reading — this phase is observation only + +> **Shortcut rule:** The AI cannot say "I'm familiar with this pattern so I don't need to read it." Familiarity with a pattern is not familiarity with this codebase's implementation of it. + +--- + +### PHASE 3 — Orientation Statement + +After all relevant files are read, the AI outputs an orientation statement before proposing anything. This is its proof that it understands the codebase well enough to act: + +``` +THE HONOURED ONE — CONTEXT LOADED +───────────────────────────────────────── +Files read: [complete list] + +Current architecture (what I now know): + [2-3 sentences describing how the relevant system actually works, + based on what was read — not assumed] + +What this task touches: + - [file/component 1] → [how it's involved] + - [file/component 2] → [how it's involved] + +Existing patterns I must follow: + - [naming convention / error handling style / structure pattern observed] + - [any other conventions seen in the actual code] + +Remaining unknowns: + - [anything still unclear — or "None, ready to proceed"] +───────────────────────────────────────── +``` + +--- + +### PHASE 4 — Confidence Gate + +After the orientation statement, the AI applies a confidence gate before acting: + +**If "Remaining unknowns" is empty:** +→ Proceed. The AI is fully loaded and may propose a solution or begin work. + +**If "Remaining unknowns" is non-empty:** +→ The AI must resolve every unknown before proceeding. Options: +- Ask the user the specific question +- Read another file that would answer it +- Acknowledge the unknown, state the assumption being made, and get user confirmation before continuing + +> **The AI cannot proceed with known blind spots.** Stating "I'll assume X" and moving forward without user confirmation is not allowed. + +--- + +## Self-Ask Before Acting + +Before writing any code or making any proposal, the AI must answer: + +| # | Question | Required | +|---|---|---| +| 1 | Have I read every file this task touches? | Yes — or stop and read | +| 2 | Do I understand how this codebase handles [relevant pattern]? | Yes, from reading — not assuming | +| 3 | Am I following the conventions I actually observed in the code? | Yes — or flag the deviation | +| 4 | Do I have any remaining blind spots? | No — or resolve them first | + +--- + +## Hard Rules (Never Violated) + +- **No proposing solutions before reading.** Proposals based on assumptions are not proposals — they are guesses. +- **No "I assume this file does X."** If you haven't read it, you don't know what it does. +- **No skipping files because their names look obvious.** A file called `utils.ts` can contain anything. +- **No importing or calling code from files that haven't been read.** You cannot use what you haven't seen. +- **No "familiar pattern" shortcuts.** The pattern may be implemented differently here. +- **No acting with known unknowns.** Resolve them or get user confirmation before proceeding. + +--- + +## What This Skill Prevents + +- AI proposing integration with a module structured completely differently than assumed +- AI using naming conventions inconsistent with the rest of the codebase +- AI calling functions that don't exist because it assumed they would be there +- AI making architectural decisions that conflict with patterns already established in the code +- AI confidently implementing the wrong thing and needing a full redo + +--- + +## Quick Reference + +| Phase | Action | May Propose/Code? | +|---|---|---| +| 1 — Audit | List relevant files, identify blind spots | ❌ No | +| 2 — Read | Read all blind spot files | ❌ No | +| 3 — Orient | Output orientation statement | ❌ No | +| 4 — Gate | Confirm no unknowns remain | ✅ Yes, if gate passes | + +--- + +## Trigger Phrases + +- "add this feature to the existing code" +- "integrate X with Y" +- "modify how [system] works" +- "refactor this" +- "why is this not working" (on unread code) +- Any task touching more than one file +- Any task where the AI would need to know how existing code is structured to do it correctly + +--- + +## Examples + +*(Examples of the Context Audit and Orientation Statement output are provided inline within Phase 1 and Phase 3 above.)* + +--- + +## Best Practices + +- ✅ **Do:** Ensure all blind spots are read before proceeding. +- ✅ **Do:** Confirm the AI's orientation statement matches reality. +- ❌ **Don't:** Allow the AI to skip reading just because a file name seems obvious. + +--- + +## Common Pitfalls + +- **Problem:** The AI assumes an implementation matches a common pattern without reading it. + **Solution:** Enforce Phase 2 (Mandatory Read Pass) without exceptions. + +--- + +## Related Skills + +- `@brainstorming` - Use before execution to figure out what needs to be built. +- `@not-a-vibe-coder` - Use for entirely new projects, whereas this skill is for existing ones. + +--- + +## Limitations + +- This skill requires more token usage due to reading multiple files upfront. +- It may slow down the initial response time before the AI starts coding. +- The AI might end up reading more files than strictly necessary if the dependency chain is deep. +- Does not replace the need for the user to verify the final code. diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.claude-plugin/plugin.json index 71bf4fe7..e2b3eb23 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-accessibility-inclusive-ux", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Accessibility & Inclusive UX\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.codex-plugin/plugin.json index 1d1f08ff..8e3ea386 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-accessibility-inclusive-ux/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-accessibility-inclusive-ux", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Accessibility & Inclusive UX\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.claude-plugin/plugin.json index ed3ba726..ffa94da5 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-agent-mcp-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Agent & MCP Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.codex-plugin/plugin.json index 2039b816..90cb0c13 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-agent-mcp-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-agent-mcp-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Agent & MCP Builder\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.claude-plugin/plugin.json index c90d482a..26a1201d 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-ai-product-evaluation-ops", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS AI Product & Evaluation Ops\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.codex-plugin/plugin.json index ba77a6d7..b1af3090 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-ai-product-evaluation-ops/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-ai-product-evaluation-ops", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS AI Product & Evaluation Ops\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.claude-plugin/plugin.json index 336be2bc..9987473b 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-api-platform-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS API Platform Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.codex-plugin/plugin.json index 0ced3851..1fc114c6 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-api-platform-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-api-platform-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS API Platform Builder\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.claude-plugin/plugin.json index 2485f4a2..0fc6bf67 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-automation-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Automation Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.codex-plugin/plugin.json index 5aadc755..c1e00f37 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-automation-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-automation-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Automation Builder\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.claude-plugin/plugin.json index 9d86c31c..b137abb3 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-data-analytics", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Data Analytics\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.codex-plugin/plugin.json index 2bb32722..adb1e86a 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-analytics/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-data-analytics", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Data Analytics\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.claude-plugin/plugin.json index f7654c19..8c14ad12 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-data-engineering-platform", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Data Engineering Platform\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.codex-plugin/plugin.json index adac1c6d..a41eb68e 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-data-engineering-platform/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-data-engineering-platform", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Data Engineering Platform\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.claude-plugin/plugin.json index 2dd06d93..1bbc884a 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-devops-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS DevOps & Cloud\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.codex-plugin/plugin.json index d5291607..f78eabdf 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-devops-cloud/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-devops-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS DevOps & Cloud\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.claude-plugin/plugin.json index efe21bb0..7fdabd9b 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-documents-presentations", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Documents & Presentations\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.codex-plugin/plugin.json index 62fd1deb..7e15f401 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-documents-presentations/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-documents-presentations", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Documents & Presentations\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.claude-plugin/plugin.json index 3c723da3..e7925f0b 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-localization-international-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Localization & International Growth\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.codex-plugin/plugin.json index b13f9e48..f2013b66 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-localization-international-growth/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-localization-international-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Localization & International Growth\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.claude-plugin/plugin.json index fdc38a21..bf6a50fe 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-marketing-seo-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Marketing, SEO & Growth\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.codex-plugin/plugin.json index 874e4899..695edc31 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-marketing-seo-growth/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-marketing-seo-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Marketing, SEO & Growth\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.claude-plugin/plugin.json index f188b64e..86e9f5cb 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-mobile-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Mobile App Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.codex-plugin/plugin.json index 954f3a75..27149857 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-mobile-app-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-mobile-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Mobile App Builder\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.claude-plugin/plugin.json index cd4436e8..cf85519f 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-observability-ir", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Observability IR\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.codex-plugin/plugin.json index cb7724ee..b0455a96 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-observability-ir/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-observability-ir", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Observability IR\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.claude-plugin/plugin.json index 8a9c6714..4ff4ff7b 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-oss-maintainer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS OSS Maintainer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.codex-plugin/plugin.json index 711546e8..4cf909e7 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-oss-maintainer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-oss-maintainer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS OSS Maintainer\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.claude-plugin/plugin.json index 05ca62ee..bd9ba4e1 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-privacy-compliance-engineering", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Privacy & Compliance Engineering\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.codex-plugin/plugin.json index 12f0348f..51f90f11 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-privacy-compliance-engineering/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-privacy-compliance-engineering", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Privacy & Compliance Engineering\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.claude-plugin/plugin.json index 0e3a68fc..04f69363 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-product-design-studio", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Product Design Studio\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.codex-plugin/plugin.json index a9ee6d11..5e8edc0d 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-product-design-studio/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-product-design-studio", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Product Design Studio\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.claude-plugin/plugin.json index 93fb51cd..fbe022d3 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-python-api-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Python API Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.codex-plugin/plugin.json index 79ccbe6b..2cf1f63b 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-python-api-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-python-api-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Python API Builder\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.claude-plugin/plugin.json index b7e3ab29..3afc2caa 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-qa-test-automation", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS QA & Test Automation\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.codex-plugin/plugin.json index c7e8b76e..1ff5c373 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-qa-test-automation/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-qa-test-automation", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS QA & Test Automation\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.claude-plugin/plugin.json index b25b2728..ea529d76 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-saas-launch-revenue", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS SaaS Launch & Revenue\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.codex-plugin/plugin.json index ee39a772..1f7eec69 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-saas-launch-revenue/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-saas-launch-revenue", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS SaaS Launch & Revenue\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.claude-plugin/plugin.json index 5daa4aaa..68961554 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-secure-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Secure App Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.codex-plugin/plugin.json index b565526d..28036863 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-secure-app-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-secure-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Secure App Builder\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.claude-plugin/plugin.json index fdfdfe39..35587540 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-security-engineer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Security Engineer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.codex-plugin/plugin.json index 08cb0276..76336d3c 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-security-engineer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-security-engineer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Security Engineer\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.claude-plugin/plugin.json index 12064233..d063a422 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-aas-web-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"AAS Web App Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.codex-plugin/plugin.json index 5f841844..9481429f 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-aas-web-app-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-aas-web-app-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"AAS Web App Builder\" workflow plugin from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.claude-plugin/plugin.json index 345bef7f..39c5b864 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-agent-architect", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Agent Architect\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.codex-plugin/plugin.json index 5f1f5345..129c1bba 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-agent-architect/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-agent-architect", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Agent Architect\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.claude-plugin/plugin.json index c352e02f..e211f5fe 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-apple-platform-design", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Apple Platform Design\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.codex-plugin/plugin.json index 7a9d24d3..422d8b17 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-apple-platform-design/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-apple-platform-design", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Apple Platform Design\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.claude-plugin/plugin.json index 8aee28ef..ab249922 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-architecture-design", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Architecture & Design\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.codex-plugin/plugin.json index 74042fe1..192265f5 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-architecture-design/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-architecture-design", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Architecture & Design\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.claude-plugin/plugin.json index 9805a437..f88e7eca 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-automation-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Automation Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.codex-plugin/plugin.json index baee90e4..a2bc3420 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-automation-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-automation-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Automation Builder\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.claude-plugin/plugin.json index 1e9029ed..f6188c35 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-azure-ai-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Azure AI & Cloud\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.codex-plugin/plugin.json index 9a79365f..525f647e 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-azure-ai-cloud/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-azure-ai-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Azure AI & Cloud\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.claude-plugin/plugin.json index 7c8c19d3..426bf5f5 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-business-analyst", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Business Analyst\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.codex-plugin/plugin.json index 6373d136..eab147fc 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-business-analyst/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-business-analyst", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Business Analyst\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.claude-plugin/plugin.json index 124fad1f..d1a9c9f1 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-commerce-payments", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Commerce & Payments\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.codex-plugin/plugin.json index a33faf36..a5c8a093 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-commerce-payments/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-commerce-payments", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Commerce & Payments\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.claude-plugin/plugin.json index 81853711..10480fc0 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-creative-director", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Creative Director\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.codex-plugin/plugin.json index cb8e43fe..3b612fbb 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-creative-director/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-creative-director", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Creative Director\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.claude-plugin/plugin.json index fd73d628..771494ce 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-data-analytics", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Data & Analytics\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.codex-plugin/plugin.json index 2445864b..44b5a113 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-data-analytics/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-data-analytics", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Data & Analytics\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.claude-plugin/plugin.json index fb371ed9..7d04f5da 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-data-engineering", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Data Engineering\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.codex-plugin/plugin.json index 31e16e60..cdaa1a0a 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-data-engineering/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-data-engineering", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Data Engineering\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.claude-plugin/plugin.json index f6a28b48..aa244f59 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-ddd-evented-architecture", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"DDD & Evented Architecture\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.codex-plugin/plugin.json index 379153fe..4fd904e5 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-ddd-evented-architecture/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-ddd-evented-architecture", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"DDD & Evented Architecture\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.claude-plugin/plugin.json index aba81b0c..6ca04976 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-devops-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"DevOps & Cloud\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.codex-plugin/plugin.json index 66e72d58..d6c0cbf7 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-devops-cloud/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-devops-cloud", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"DevOps & Cloud\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.claude-plugin/plugin.json index fee94f8c..9a0e4437 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-documents-presentations", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Documents & Presentations\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.codex-plugin/plugin.json index 62fbd105..06127b3e 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-documents-presentations/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-documents-presentations", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Documents & Presentations\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.claude-plugin/plugin.json index 33fe481b..92bbba5e 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-essentials", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Essentials\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.codex-plugin/plugin.json index 2a8d79c8..a522ddfd 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-essentials/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-essentials", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Essentials\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.claude-plugin/plugin.json index 1b027f0d..e32fdd42 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-expo-react-native", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Expo & React Native\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.codex-plugin/plugin.json index 51b29ca0..ac7577cd 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-expo-react-native/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-expo-react-native", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Expo & React Native\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.claude-plugin/plugin.json index c960c3b1..4cff3fbf 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-full-stack-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Full-Stack Developer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.codex-plugin/plugin.json index 0a2b934d..4f26638c 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-full-stack-developer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-full-stack-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Full-Stack Developer\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.claude-plugin/plugin.json index a93c6046..750d363a 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-indie-game-dev", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Indie Game Dev\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.codex-plugin/plugin.json index 8286ef4a..9e4f5b75 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-indie-game-dev/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-indie-game-dev", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Indie Game Dev\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.claude-plugin/plugin.json index 11177276..6132c81d 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-integration-apis", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Integration & APIs\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.codex-plugin/plugin.json index 92da6e08..e7c0aa68 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-integration-apis/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-integration-apis", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Integration & APIs\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.claude-plugin/plugin.json index b13d50ce..2e1fd5cf 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-llm-application-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"LLM Application Developer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.codex-plugin/plugin.json index 5d5039bb..56fc3768 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-llm-application-developer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-llm-application-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"LLM Application Developer\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.claude-plugin/plugin.json index 5f42d58f..d8fd5993 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-makepad-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Makepad Builder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.codex-plugin/plugin.json index da48ccbf..8c56e951 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-makepad-builder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-makepad-builder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Makepad Builder\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.claude-plugin/plugin.json index 2c33bbeb..80e85fc3 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-marketing-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Marketing & Growth\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.codex-plugin/plugin.json index 424cf8f0..480c8459 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-marketing-growth/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-marketing-growth", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Marketing & Growth\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.claude-plugin/plugin.json index 585174d4..d31fa6d5 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-mobile-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Mobile Developer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.codex-plugin/plugin.json index 407c8480..e070a204 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-mobile-developer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-mobile-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Mobile Developer\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.claude-plugin/plugin.json index f4672d4b..8b1a673f 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-observability-monitoring", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Observability & Monitoring\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.codex-plugin/plugin.json index 8d9b4f7f..5155e743 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-observability-monitoring/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-observability-monitoring", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Observability & Monitoring\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.claude-plugin/plugin.json index 7b39f4e8..9140df40 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-odoo-erp", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Odoo ERP\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.codex-plugin/plugin.json index 3d0e993e..3b182b28 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-odoo-erp/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-odoo-erp", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Odoo ERP\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.claude-plugin/plugin.json index 3b62c6b7..6469e243 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-oss-maintainer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"OSS Maintainer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.codex-plugin/plugin.json index 54a05a59..59d8f0af 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-oss-maintainer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-oss-maintainer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"OSS Maintainer\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.claude-plugin/plugin.json index e1d3540e..82581eb8 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-python-pro", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Python Pro\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.codex-plugin/plugin.json index cbfdf574..5ff91a49 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-python-pro/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-python-pro", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Python Pro\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.claude-plugin/plugin.json index 6a2d1e78..5f67771f 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-qa-testing", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"QA & Testing\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.codex-plugin/plugin.json index ca48b7f1..2b801d48 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-qa-testing/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-qa-testing", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"QA & Testing\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.claude-plugin/plugin.json index f2a73e59..3ec4891e 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-revops-crm-automation", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"RevOps & CRM Automation\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.codex-plugin/plugin.json index aa9316a5..ca83656b 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-revops-crm-automation/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-revops-crm-automation", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"RevOps & CRM Automation\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.claude-plugin/plugin.json index c8cf055a..530fe851 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-security-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Security Developer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.codex-plugin/plugin.json index e2107b9a..bd2a4e38 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-security-developer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-security-developer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Security Developer\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.claude-plugin/plugin.json index 9ca6149d..f15e805a 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-security-engineer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Security Engineer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.codex-plugin/plugin.json index 0437119f..165f49d4 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-security-engineer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-security-engineer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Security Engineer\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.claude-plugin/plugin.json index b82b1a50..74d6c0fa 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-seo-specialist", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"SEO Specialist\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.codex-plugin/plugin.json index 94d1fac7..1fa85b18 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-seo-specialist/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-seo-specialist", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"SEO Specialist\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.claude-plugin/plugin.json index ea986d5d..4feda5e6 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-startup-founder", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Startup Founder\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.codex-plugin/plugin.json index c7a06c21..381ddefa 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-startup-founder/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-startup-founder", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Startup Founder\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.claude-plugin/plugin.json index c91898e4..c63fd73b 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-systems-programming", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Systems Programming\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.codex-plugin/plugin.json index 5e47f316..5c4da3d0 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-systems-programming/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-systems-programming", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Systems Programming\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.claude-plugin/plugin.json index 56cfe495..8ba90a36 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-typescript-javascript", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"TypeScript & JavaScript\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.codex-plugin/plugin.json index 0c2ad619..44ad7ece 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-typescript-javascript/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-typescript-javascript", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"TypeScript & JavaScript\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.claude-plugin/plugin.json index d2fd3215..6bdc341e 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-web-designer", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Web Designer\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.codex-plugin/plugin.json index c5983cc9..38f01ab5 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-web-designer/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-web-designer", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Web Designer\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.claude-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.claude-plugin/plugin.json index a42bca8b..e7721031 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.claude-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "antigravity-bundle-web-wizard", - "version": "13.2.0", + "version": "13.3.0", "description": "Editorial \"Web Wizard\" bundle for Claude Code from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.codex-plugin/plugin.json b/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.codex-plugin/plugin.json index ee9e0e1b..64f49ff0 100644 --- a/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.codex-plugin/plugin.json +++ b/antigravity-awesome-skills/plugins/antigravity-bundle-web-wizard/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agyb-web-wizard", - "version": "13.2.0", + "version": "13.3.0", "description": "Install the \"Web Wizard\" editorial skill bundle from Antigravity Awesome Skills.", "author": { "name": "sickn33 and contributors", diff --git a/antigravity-awesome-skills/skills/arrowspace/SKILL.md b/antigravity-awesome-skills/skills/arrowspace/SKILL.md new file mode 100644 index 00000000..460bb7f7 --- /dev/null +++ b/antigravity-awesome-skills/skills/arrowspace/SKILL.md @@ -0,0 +1,116 @@ +--- +name: arrowspace +description: "Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings." +category: data +risk: safe +source: community +source_repo: Genefold/arrowspace-skills +source_type: community +date_added: "2026-06-25" +author: Genefold AI +license: Apache-2.0 +license_source: "https://github.com/Genefold/arrowspace-skills/blob/main/LICENSE" +tags: [vector-search, spectral-analysis, graph-laplacian, embeddings, lambda-tau] +tools: [claude, cursor, codex, gemini, opencode] +--- + +# ArrowSpace + +Spectral vector search that augments nearest-neighbour search with graph Laplacian features. Computes a Laplacian over the item graph and uses the Rayleigh quotient to produce a λτ (lambda-tau) score per item, enabling search that respects both semantic similarity and structural role. + +## When to Use This Skill + +- Cosine or L2 similarity misses latent structure in your embeddings +- You want graph-based retrieval with spectral awareness +- You need to characterise the spectral properties of an embedding space +- You are building RAG pipelines where contextual role matters alongside semantic content + +## How It Works + +### Step 1: Install and import + +```bash +pip install arrowspace +``` + +```python +from arrowspace import ArrowSpaceBuilder +import numpy as np +``` + +### Step 2: Prepare your data + +Pass an (N, d) float64 NumPy array of embedding vectors: + +```python +items = np.array([[0.1, 0.2, 0.3], + [0.0, 0.5, 0.1], + [0.9, 0.1, 0.0]], dtype=np.float64) +``` + +### Step 3: Configure graph parameters + +```python +graph_params = {"eps": 0.2, "k": 6, "topk": 3, "p": 2.0, "sigma": 1.0} +builder = ArrowSpaceBuilder(items, graph_params=graph_params) +aspace = builder.build() +``` + +### Step 4: Query + +```python +lambdas = aspace.lambdas() # array indexed by insertion order +sorted_res = aspace.lambdas_sorted() # (score, index) pairs ascending +``` + +Higher λτ values indicate items that are both semantically close and structurally central. + +## Examples + +### Example 1: Basic spectral retrieval + +```python +items = np.random.randn(100, 64).astype(np.float64) +builder = ArrowSpaceBuilder(items, graph_params={"eps": 0.5, "k": 10, "topk": 5, "p": 2.0, "sigma": None}) +aspace = builder.build() +scores = aspace.lambdas() +top_indices = np.argsort(scores)[-5:] +``` + +### Example 2: Compare spectral vs cosine ranking + +```python +from sklearn.metrics.pairwise import cosine_similarity +cos_sim = cosine_similarity(items) +cosine_order = np.argsort(cos_sim[0])[::-1] +spectral_order = np.argsort(aspace.lambdas())[::-1] +``` + +## Best Practices + +- ✅ Normalise embeddings to unit norm before passing to ArrowSpace +- ✅ Start with eps proportional to 1/sqrt(dim) and tune from there +- ✅ Use k between 3 and 25 depending on dataset size (rule: N/50) +- ✅ Set sigma=None to auto-select kernel width from distance distribution +- ❌ Don't use with fewer than 10 items (graph structure is not meaningful) +- ❌ Don't use for real-time streaming data (ArrowSpace is batch-oriented) + +## Limitations + +- This skill does not replace environment-specific validation, testing, or expert review. +- ArrowSpace is batch-oriented and not designed for real-time indexing of streaming data. + +## Common Pitfalls + +- **Problem:** eps is too small, producing a disconnected graph + **Solution:** Increase eps, or set it proportional to 1/sqrt(embedding_dim) + +- **Problem:** k is too large, producing a dense graph with washed-out spectral features + **Solution:** Keep k ≤ 25 for most datasets + +## Related Skills + +- `vector-database-engineer` — General vector database expertise +- `embedding-strategies` — Embedding model selection and chunking +- `similarity-search-patterns` — Semantic search implementation patterns +- `hybrid-search-implementation` — Combined semantic + keyword search diff --git a/antigravity-awesome-skills/skills/gh-image/SKILL.md b/antigravity-awesome-skills/skills/gh-image/SKILL.md new file mode 100644 index 00000000..e33a2e8c --- /dev/null +++ b/antigravity-awesome-skills/skills/gh-image/SKILL.md @@ -0,0 +1,122 @@ +--- +name: gh-image +description: "Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed before/after images in a README." +category: developer-tools +risk: safe +source: community +source_type: community +source_repo: drogers0/gh-image +date_added: "2026-06-25" +author: drogers0 +license: MIT +license_source: "https://github.com/drogers0/gh-image/blob/main/LICENSE" +tags: + - github + - images + - screenshots + - gh-extension + - cli +tools: + - claude-code + - codex-cli + - cursor + - gemini-cli +--- + +# Upload images to GitHub (gh-image) + +GitHub has **no public API** for image uploads — the web UI uses an internal +endpoint that mints `user-attachments` URLs scoped to the repo's visibility. +[`gh-image`](https://github.com/drogers0/gh-image) (MIT, © drogers0) replicates +that flow as a `gh` CLI extension, so an agent can upload a local image from the +terminal and get a ready-to-embed Markdown image line back. + +## Overview + +This skill drives `gh-image` to turn a local image file into a hosted GitHub +`user-attachments` URL, then embeds that URL into a pull request, issue, or +comment. It is the missing "attach a screenshot" capability for terminal agents. + +## When to Use This Skill + +Use this skill when asked to: + +- "Attach a screenshot to the PR" or "add an image to the PR description" +- "Put this image in the issue" / "comment with these screenshots" +- "Show the test results / before-and-after in the PR" +- Embed any local image into GitHub Markdown without leaving the terminal + +## How It Works + +### Step 1: Verify prerequisites + +```bash +gh auth status # gh installed & authenticated +gh extension list | grep -q 'drogers0/gh-image' \ + || gh extension install drogers0/gh-image # idempotent install +``` + +`gh-image` does **not** use the `gh` token for the upload (that endpoint rejects +tokens). It needs a GitHub `user_session` cookie, resolved in this order: +`--token ` flag → `GH_SESSION_TOKEN` env var (use in CI/headless) → a +logged-in browser's cookie store (default for local use). + +### Step 2: Upload + +```bash +# Use an absolute path; --repo is optional inside a repo working dir. +gh image "/abs/path/screenshot.png" --repo / +``` + +`gh image` prints Markdown to **stdout**, one line per image: + +``` +![screenshot.png](https://github.com/user-attachments/assets/) +``` + +Capture that output — it is the embeddable reference. + +### Step 3: Embed into the PR / issue / comment + +```bash +MD="$(gh image "/abs/path/shot.png" --repo owner/repo)" +BODY="$(gh pr view --repo owner/repo --json body -q .body)" +printf '%s\n\n## Screenshots\n\n%s\n' "$BODY" "$MD" \ + | gh pr edit --repo owner/repo --body-file - +``` + +Use `gh pr comment`, `gh issue edit`, or `gh issue comment` with `--body-file -` +for other targets. Always pass `--body-file -` (not inline `--body`) so multi-line +bodies and special characters can't break shell quoting. + +### Step 4: Verify + +```bash +gh pr view --repo owner/repo --json body -q .body # confirm URL present +``` + +## Examples + +- **Attach a CleanShot screenshot to PR #42:** upload the file, append it under a + `## Screenshots` heading in the PR body. +- **Embed before/after images in a README:** upload both, paste the two Markdown + lines into the README at the relevant section. + +## Best Practices + +- Resolve globs to absolute paths first; quote paths with spaces/Unicode. +- For display sizing, embed an HTML tag instead of bare Markdown: + ``. +- In CI, set `GH_SESSION_TOKEN` from a dedicated bot account. + +## Limitations + +- **Session cookie required.** A `user_session` cookie grants full account access + (not scoped like a PAT) — treat it like a password; use a bot account in CI. +- **Write access to the target repo is required**; orgs that enforce SAML SSO need + the session authorized at `https://github.com/orgs//sso` first. +- **Private-repo images stay private:** the `user-attachments` URL inherits repo + visibility, so an anonymous fetch on a private repo returns 404/403 by design. +- **Windows + Chrome 127+** cannot read cookies (library limitation) — use another + browser or `GH_SESSION_TOKEN`. +- The skill embeds the Markdown itself; `gh-image` only prints the URL. diff --git a/antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md b/antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md new file mode 100644 index 00000000..d3d6f447 --- /dev/null +++ b/antigravity-awesome-skills/skills/github-actions-debugger/SKILL.md @@ -0,0 +1,99 @@ +--- +name: github-actions-debugger +description: "Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions." +category: devops +risk: safe +source: community +source_type: community +date_added: "2026-06-25" +author: Owais +tags: [github-actions, ci-cd, devops, debugging, workflows] +tools: [claude, cursor, gemini, antigravity] +--- + +# GitHub Actions Pipeline Debugger + +## Overview + +This skill is designed to act as an expert CI/CD diagnostician. It focuses specifically on reading raw logs from failed GitHub Actions, identifying the root cause of the crash or failure, and outputting the precise YAML or code changes required to fix the pipeline. + +## When to Use + +- Use when a GitHub Actions workflow fails unexpectedly and the error log is long, obscure, or misleading. +- Use when debugging dependency mismatch errors, missing secrets, caching issues, or runner environment problems in CI. +- Use to optimize slow pipelines by identifying bottlenecks in workflow steps. +- Use to update and modernize deprecated actions or workflow syntax. + +## How It Works + +1. **Log Ingestion & Redaction:** Analyze the provided GitHub Actions workflow log (often exported as a raw text file or pasted directly). **CRITICAL SAFETY REQUIREMENT:** The user/agent must redact all sensitive credentials, secrets, tokens, private keys, and internal system paths from the logs before pasting or uploading them. +2. **Context Mapping:** Cross-reference the failure point with the specific step and job in the `.github/workflows/*.yml` definition. +3. **Root Cause Analysis:** Identify if the failure is due to: + - Missing or misconfigured secrets (`${{ secrets.API_KEY }}`). + - Node/Python/OS environment version mismatches. + - Flaky tests or timeout limits. + - Syntax errors in bash scripts run within the `run:` block. + - Invalid action versions or deprecated actions. +4. **Resolution Proposal:** Provide a direct `diff` of the `.yml` file or the underlying script that needs to be modified. + +## Best Practices + +- **Provide Full Context:** Always review both the workflow definition (`.yml` file) and the failure log simultaneously to ensure accurate diagnosis. +- **Check Action Versions:** Many failures are caused by deprecated runtime versions (e.g., Node.js 16) in older third-party actions (e.g., `actions/checkout@v2`). Always recommend upgrading to the latest major versions (e.g., `v4`). +- **Permissions Audit:** Ensure the workflow has the correct `permissions:` block if it's attempting to write to the repository, packages, or deploy environments. +- **Reproducibility:** If a test fails in CI but passes locally, investigate environment differences such as timezone, headless browser state, memory limits, or parallel execution race conditions. + +## Examples + +### Example 1: Fixing a Deprecated Node.js Action Version Error +**Failing Log:** +```text +Warning: The Go/Node.js/Python version used by this action is deprecated. +Error: Node.js 16 actions are deprecated. Please update to use Node.js 20. +``` + +**Proposed Fix Diff:** +```diff + - name: Checkout Code +- uses: actions/checkout@v2 ++ uses: actions/checkout@v4 +``` + +### Example 2: Diagnosing and Fixing a Missing Repository Secret +**Failing Log:** +```text +Run npm run deploy + npm run deploy + shell: /usr/bin/bash -e {0} +Error: API Key is required for deployment. Process exited with code 1. +``` + +**Proposed Fix Diff:** +```diff + - name: Deploy App + run: npm run deploy ++ env: ++ DEPLOY_API_KEY: ${{ secrets.DEPLOY_API_KEY }} +``` + +## Security & Safety Notes + +- **Credential Exposure & Raw Log Redaction**: Under no circumstances should raw logs containing unmasked secrets, private URLs, deployment targets, or tokens be processed without prior redaction. Always ensure the user or agent redacts all sensitive info before ingestion. +- **Dry-Run Mode**: When recommending modifications to bash script steps inside workflows, ensure you suggest adding flags like `--dry-run` or staging execution where possible to prevent unintended side effects in downstream environments during debugging. + +## Limitations + +- The skill cannot securely read repository secrets. It can only infer missing or malformed secrets if the log complains about undefined environment variables or authentication failures. +- It cannot execute the GitHub action itself to test the fix; validation requires pushing the proposed fix to the repository and triggering a workflow run. +- Network-related transient failures (e.g., a package registry being down temporarily) might be incorrectly diagnosed as structural workflow issues if not carefully analyzed. + +## Common Pitfalls + +- **Ignoring Transient Failures**: Mistaking temporary network dropouts or registry downtime (e.g., npm or pip install errors) for actual code or configuration bugs. Always check if a rerun succeeds before attempting heavy changes. +- **Hardcoding Tokens**: Fixing authentication errors by hardcoding secrets or API tokens directly into the YAML files instead of utilizing GitHub Secrets (`${{ secrets.SECRET_NAME }}`). +- **Overlooking Caching Side Effects**: Forgetting that outdated cache keys can keep corrupt dependencies loaded. If dependency installation is failing, try running a job with actions caching bypassed. + +## Related Skills + +- `@devops-troubleshooter` - General DevOps and infrastructure issue resolution. +- `@cicd-automation-workflow-automate` - For creating new CI/CD pipelines from scratch. diff --git a/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json b/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json index d084fa22..02d9d457 100644 --- a/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +++ b/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json @@ -9,8 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "react": "^19.2.3", - "react-dom": "^19.2.3" + "react": "^19.2.7", + "react-dom": "^19.2.7" }, "devDependencies": { "@types/react": "^19.2.7", @@ -814,24 +814,24 @@ } }, "node_modules/react": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", - "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.3" + "react": "^19.2.7" } }, "node_modules/rolldown": { diff --git a/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package.json b/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package.json index 0ac8ad7d..ad553fc1 100644 --- a/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package.json +++ b/antigravity-awesome-skills/skills/loki-mode/examples/todo-app-generated/frontend/package.json @@ -19,8 +19,8 @@ "vite": "^8.0.16" }, "dependencies": { - "react": "^19.2.3", - "react-dom": "^19.2.3" + "react": "^19.2.7", + "react-dom": "^19.2.7" }, "overrides": { "picomatch": "4.0.4", diff --git a/antigravity-awesome-skills/skills/premium-3d-website/SKILL.md b/antigravity-awesome-skills/skills/premium-3d-website/SKILL.md new file mode 100644 index 00000000..03912b4f --- /dev/null +++ b/antigravity-awesome-skills/skills/premium-3d-website/SKILL.md @@ -0,0 +1,133 @@ +--- +name: premium-3d-website +description: Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization. +category: frontend +risk: safe +source: self +source_type: self +date_added: "2026-06-25" +author: Rsmiyani +tags: [threejs, webgl, shaders, post-processing, creative-coding, premium-design] +tools: [claude, cursor, gemini] +--- + +# Premium 3D Website + +## Overview + +This skill provides architectural guidelines and code patterns for developing premium, high-end 3D websites. It targets developers looking to implement advanced WebGL visual effects, custom shader pipelines, interactive physics elements, and immersive page transitions while maintaining high performance. + +## When to Use This Skill + +- Use when designing premium or award-winning creative websites with 3D elements. +- Use when integrating Three.js, React Three Fiber (R3F), or Spline with custom shaders (GLSL). +- Use when implementing post-processing effects like bloom, depth-of-field, or custom film grain. +- Use when designing interactive preloaders and high-performance asset loading strategies. +- Use when optimizing complex 3D scenes for mobile responsiveness and performance. + +## How It Works + +### Step 1: Establish the Render Loop and Scene Architecture +Setting up a robust WebGL context with proper resize handling and performance-friendly pixel ratios is crucial. Keep pixel ratios capped at a maximum of 2 to avoid rendering too many pixels on high-DPI screens. + +### Step 2: Implement Shader Effects and Post-Processing +Incorporate post-processing pipelines (using `EffectComposer` or `@react-three/postprocessing`) to add bloom, chromatic aberration, depth of field, or film grain. Keep pass counts low and combine custom fragment shaders to minimize draw calls. + +### Step 3: Integrate Interactive Physics and Motion +Utilize physics frameworks (such as Cannon.js or Rapier) or procedural spring animations to make 3D objects react to mouse hover, drag, and click inputs with organic feedback. + +### Step 4: Asset Pipeline and Preloader +Optimize 3D models (using Draco compression) and load them using custom loading managers. Render interactive preloaders to entertain users while heavy assets are fetched in the background. + +## Examples + +### Example 1: Custom Post-processing in React Three Fiber (R3F) + +```jsx +import { Canvas } from '@react-three/fiber'; +import { EffectComposer, Bloom, DepthOfField, Vignette } from '@react-three/postprocessing'; + +export default function PremiumComposer() { + return ( + + + + + + + + + + + + + + ); +} +``` + +### Example 2: Custom GLSL Shader Material for Liquid/Wavy Effects + +```javascript +import * as THREE from 'three'; + +const CustomWavyMaterial = new THREE.ShaderMaterial({ + vertexShader: ` + varying vec2 vUv; + uniform float uTime; + void main() { + vUv = uv; + vec3 pos = position; + pos.z += sin(pos.x * 5.0 + uTime) * 0.1; + pos.z += cos(pos.y * 5.0 + uTime) * 0.1; + gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0); + } + `, + fragmentShader: ` + varying vec2 vUv; + uniform float uTime; + uniform vec3 uColor; + void main() { + float pulse = 0.5 + 0.5 * sin(uTime + vUv.x * 10.0); + gl_FragColor = vec4(uColor * pulse, 1.0); + } + `, + uniforms: { + uTime: { value: 0.0 }, + uColor: { value: new THREE.Color('#3b82f6') } + } +}); +``` + +## Best Practices + +- ✅ Set `dpr={[1, 2]}` to restrict the device pixel ratio to a maximum of 2. +- ✅ Disable antialiasing on the WebGLRenderer when post-processing is active to prevent double-aliasing performance penalties. +- ✅ Bake ambient occlusion, lighting, and shadows into textures using Blender or other 3D software instead of using dynamic lights and real-time shadows. +- ✅ Use instance rendering (`THREE.InstancedMesh` or R3F ``) for scenes containing multiple identical meshes. +- ❌ Avoid using uncompressed GLTF/OBJ models. Always compress models using Draco or Meshopt. +- ❌ Avoid real-time shadow maps (such as `THREE.DirectionalLightShadow`) on mobile or low-end devices due to the heavy performance overhead. + +## Limitations + +- This skill does not replace environment-specific validation, testing, or expert review. +- Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing. +- Complex shader mathematics and advanced physics simulation bounds require manual testing across different device chipsets. + +## Security & Safety Notes + +- Verify that external 3D model URLs (loaded via `GLTFLoader`) are hosted on trusted, secure CDNs (HTTPS). +- Do not execute arbitrary, unvalidated shell scripts or use unpinned NPM packages to optimize assets. + +## Common Pitfalls + +- **Problem**: Severe lag/framerate drop on mobile or high-DPI (Retina) screens. + **Solution**: Ensure the pixel ratio is limited to 2 (`renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))`) and disable unused post-processing passes. +- **Problem**: Long loading times and white screens during initialization. + **Solution**: Use a loading manager (`THREE.LoadingManager`) and display a responsive, interactive preloader to keep the user engaged. + +## Related Skills + +- `@3d-web-experience` - Core WebGL, Three.js, and Spline concepts. +- `@scroll-experience` - Integrating 3D animation with scroll controllers. +- `@performance-optimizer` - General code execution performance tuning. diff --git a/antigravity-awesome-skills/skills/the-honoured-one/SKILL.md b/antigravity-awesome-skills/skills/the-honoured-one/SKILL.md new file mode 100644 index 00000000..688bd939 --- /dev/null +++ b/antigravity-awesome-skills/skills/the-honoured-one/SKILL.md @@ -0,0 +1,216 @@ +--- +name: the-honoured-one +description: "Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting on assumptions." +risk: safe +source: community +date_added: "2026-06-25" +--- + +# the-honoured-one — Full Context Load Protocol + +## Overview + +> Gojo at full power means all six eyes open — everything visible, nothing assumed, no blind spots. The Honoured One doesn't act on guesses. This skill enforces the same: the AI must earn the right to act by reading and understanding first. + +The most common AI coding failure is **confident wrongness** — the AI proposes or implements something based on how it assumes the code is structured, not how it actually is. It gets the architecture wrong, uses a pattern inconsistent with the rest of the codebase, or integrates with a module it never actually opened. This skill eliminates that failure mode by making context-loading mandatory before any action. + +--- + +## When to Use This Skill + +- Use when modifying multiple files in an existing codebase +- Use when designing or modifying a system component +- Use when adding a feature that integrates with existing code +- Use when debugging a system or component the AI has not yet read +- Use when the AI would need to assume how existing code is structured +- **DO NOT** use for isolated single-file tasks where the file has already been read + +--- + +## How It Works + +### PHASE 1 — Context Audit + +When given any complex task, the AI must immediately perform a context audit before proposing anything. It declares: + +1. **What files are relevant to this task?** — Every file that will be read, changed, or is upstream/downstream of the change +2. **Which of those has the AI actually read this session?** — Honest accounting, no assumptions +3. **What gaps exist?** — Files that are relevant but unread + +The AI outputs this before doing anything else: + +``` +THE HONOURED ONE — CONTEXT AUDIT +───────────────────────────────────────── +Task: [what was asked] + +Relevant files identified: + - src/auth/middleware.ts → [why relevant] + - src/routes/user.ts → [why relevant] + - src/models/user.model.ts → [why relevant] + - src/utils/token.ts → [why relevant] + +Files read this session: + - src/routes/user.ts → ✓ read + +Unread but relevant (blind spots): + - src/auth/middleware.ts → ✗ not read + - src/models/user.model.ts → ✗ not read + - src/utils/token.ts → ✗ not read +───────────────────────────────────────── +Cannot proceed — reading blind spots now. +``` + +> **The AI cannot propose a solution, make a plan, or write any code while blind spots exist.** + +--- + +### PHASE 2 — Mandatory Read Pass + +The AI reads every file listed as a blind spot. Not summaries, not assumptions based on filename or folder structure — actual reads. + +Rules for this phase: +- If a file imports from another file that is also relevant, that file gets added to the read list +- If reading a file reveals unexpected structure or patterns, the AI notes this before continuing +- The AI does not form opinions or solutions while reading — this phase is observation only + +> **Shortcut rule:** The AI cannot say "I'm familiar with this pattern so I don't need to read it." Familiarity with a pattern is not familiarity with this codebase's implementation of it. + +--- + +### PHASE 3 — Orientation Statement + +After all relevant files are read, the AI outputs an orientation statement before proposing anything. This is its proof that it understands the codebase well enough to act: + +``` +THE HONOURED ONE — CONTEXT LOADED +───────────────────────────────────────── +Files read: [complete list] + +Current architecture (what I now know): + [2-3 sentences describing how the relevant system actually works, + based on what was read — not assumed] + +What this task touches: + - [file/component 1] → [how it's involved] + - [file/component 2] → [how it's involved] + +Existing patterns I must follow: + - [naming convention / error handling style / structure pattern observed] + - [any other conventions seen in the actual code] + +Remaining unknowns: + - [anything still unclear — or "None, ready to proceed"] +───────────────────────────────────────── +``` + +--- + +### PHASE 4 — Confidence Gate + +After the orientation statement, the AI applies a confidence gate before acting: + +**If "Remaining unknowns" is empty:** +→ Proceed. The AI is fully loaded and may propose a solution or begin work. + +**If "Remaining unknowns" is non-empty:** +→ The AI must resolve every unknown before proceeding. Options: +- Ask the user the specific question +- Read another file that would answer it +- Acknowledge the unknown, state the assumption being made, and get user confirmation before continuing + +> **The AI cannot proceed with known blind spots.** Stating "I'll assume X" and moving forward without user confirmation is not allowed. + +--- + +## Self-Ask Before Acting + +Before writing any code or making any proposal, the AI must answer: + +| # | Question | Required | +|---|---|---| +| 1 | Have I read every file this task touches? | Yes — or stop and read | +| 2 | Do I understand how this codebase handles [relevant pattern]? | Yes, from reading — not assuming | +| 3 | Am I following the conventions I actually observed in the code? | Yes — or flag the deviation | +| 4 | Do I have any remaining blind spots? | No — or resolve them first | + +--- + +## Hard Rules (Never Violated) + +- **No proposing solutions before reading.** Proposals based on assumptions are not proposals — they are guesses. +- **No "I assume this file does X."** If you haven't read it, you don't know what it does. +- **No skipping files because their names look obvious.** A file called `utils.ts` can contain anything. +- **No importing or calling code from files that haven't been read.** You cannot use what you haven't seen. +- **No "familiar pattern" shortcuts.** The pattern may be implemented differently here. +- **No acting with known unknowns.** Resolve them or get user confirmation before proceeding. + +--- + +## What This Skill Prevents + +- AI proposing integration with a module structured completely differently than assumed +- AI using naming conventions inconsistent with the rest of the codebase +- AI calling functions that don't exist because it assumed they would be there +- AI making architectural decisions that conflict with patterns already established in the code +- AI confidently implementing the wrong thing and needing a full redo + +--- + +## Quick Reference + +| Phase | Action | May Propose/Code? | +|---|---|---| +| 1 — Audit | List relevant files, identify blind spots | ❌ No | +| 2 — Read | Read all blind spot files | ❌ No | +| 3 — Orient | Output orientation statement | ❌ No | +| 4 — Gate | Confirm no unknowns remain | ✅ Yes, if gate passes | + +--- + +## Trigger Phrases + +- "add this feature to the existing code" +- "integrate X with Y" +- "modify how [system] works" +- "refactor this" +- "why is this not working" (on unread code) +- Any task touching more than one file +- Any task where the AI would need to know how existing code is structured to do it correctly + +--- + +## Examples + +*(Examples of the Context Audit and Orientation Statement output are provided inline within Phase 1 and Phase 3 above.)* + +--- + +## Best Practices + +- ✅ **Do:** Ensure all blind spots are read before proceeding. +- ✅ **Do:** Confirm the AI's orientation statement matches reality. +- ❌ **Don't:** Allow the AI to skip reading just because a file name seems obvious. + +--- + +## Common Pitfalls + +- **Problem:** The AI assumes an implementation matches a common pattern without reading it. + **Solution:** Enforce Phase 2 (Mandatory Read Pass) without exceptions. + +--- + +## Related Skills + +- `@brainstorming` - Use before execution to figure out what needs to be built. +- `@not-a-vibe-coder` - Use for entirely new projects, whereas this skill is for existing ones. + +--- + +## Limitations + +- This skill requires more token usage due to reading multiple files upfront. +- It may slow down the initial response time before the AI starts coding. +- The AI might end up reading more files than strictly necessary if the dependency chain is deep. +- Does not replace the need for the user to verify the final code. diff --git a/antigravity-awesome-skills/skills_index.json b/antigravity-awesome-skills/skills_index.json index a59670d7..8dd59b3c 100644 --- a/antigravity-awesome-skills/skills_index.json +++ b/antigravity-awesome-skills/skills_index.json @@ -2726,6 +2726,28 @@ "reasons": [] } }, + { + "id": "arrowspace", + "path": "skills/arrowspace", + "category": "data", + "name": "arrowspace", + "description": "Spectral vector search using graph Laplacian eigenstructure. Use when cosine/L2 similarity misses latent structure in your embeddings.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "article-illustrations", "path": "skills/article-illustrations", @@ -15718,6 +15740,28 @@ "reasons": [] } }, + { + "id": "gh-image", + "path": "skills/gh-image", + "category": "developer-tools", + "name": "gh-image", + "description": "Upload local images to GitHub and get canonical user-attachments embed URLs; use when asked to attach a screenshot to a PR, issue, or comment, or to embed before/after images in a README.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "gh-review-requests", "path": "skills/gh-review-requests", @@ -15960,6 +16004,28 @@ "reasons": [] } }, + { + "id": "github-actions-debugger", + "path": "skills/github-actions-debugger", + "category": "devops", + "name": "github-actions-debugger", + "description": "Specialized skill for diagnosing, analyzing, and fixing failing GitHub Actions workflows by parsing run logs and pipeline definitions.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "github-actions-templates", "path": "skills/github-actions-templates", @@ -25803,6 +25869,28 @@ "reasons": [] } }, + { + "id": "premium-3d-website", + "path": "skills/premium-3d-website", + "category": "frontend", + "name": "premium-3d-website", + "description": "Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization.", + "risk": "safe", + "source": "self", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "price-psychology-strategist", "path": "skills/price-psychology-strategist", @@ -33203,6 +33291,28 @@ ] } }, + { + "id": "the-honoured-one", + "path": "skills/the-honoured-one", + "category": "uncategorized", + "name": "the-honoured-one", + "description": "Forces the AI to fully load context and read relevant files before performing complex, multi-file tasks, architectural changes, or debugging. Prevents acting on assumptions.", + "risk": "safe", + "source": "community", + "date_added": "2026-06-25", + "plugin": { + "targets": { + "codex": "supported", + "claude": "supported" + }, + "setup": { + "type": "none", + "summary": "", + "docs": null + }, + "reasons": [] + } + }, { "id": "theme-factory", "path": "skills/theme-factory", diff --git a/antigravity-awesome-skills/tools/scripts/tests/installer_antigravity_guidance.test.js b/antigravity-awesome-skills/tools/scripts/tests/installer_antigravity_guidance.test.js index 899c5a4b..470c7677 100644 --- a/antigravity-awesome-skills/tools/scripts/tests/installer_antigravity_guidance.test.js +++ b/antigravity-awesome-skills/tools/scripts/tests/installer_antigravity_guidance.test.js @@ -103,7 +103,7 @@ try { assert.deepStrictEqual( installer.getManagedEntries(["alpha", "security/audit", "docs"], {}), - ["alpha", "security/audit", "docs"], + ["alpha", path.join("security", "audit"), "docs"], "agy CLI installs should track skill directories with nested SKILL.md files", ); diff --git a/antigravity-awesome-skills/tools/scripts/tests/installer_update_sync.test.js b/antigravity-awesome-skills/tools/scripts/tests/installer_update_sync.test.js index 86ce6ea3..ca175ec8 100644 --- a/antigravity-awesome-skills/tools/scripts/tests/installer_update_sync.test.js +++ b/antigravity-awesome-skills/tools/scripts/tests/installer_update_sync.test.js @@ -77,7 +77,7 @@ try { assert.ok(fs.existsSync(path.join(targetDir, "nested", "skill-c", "SKILL.md"))); assert.deepStrictEqual( readManifestEntries(targetDir), - ["docs", "nested/skill-c"], + ["docs", path.join("nested", "skill-c")], "install manifest should mirror the latest filtered install entries", ); @@ -109,7 +109,7 @@ try { ); assert.deepStrictEqual( readManifestEntries(legacyTargetDir), - ["docs", "nested/skill-c"], + ["docs", path.join("nested", "skill-c")], "legacy manifest entries should be normalized after update", ); diff --git a/ui-ux-pro-max/.claude/skills/ui-ux-pro-max/SKILL.md b/ui-ux-pro-max/.claude/skills/ui-ux-pro-max/SKILL.md index 75d2e1b2..08a354b5 100644 --- a/ui-ux-pro-max/.claude/skills/ui-ux-pro-max/SKILL.md +++ b/ui-ux-pro-max/.claude/skills/ui-ux-pro-max/SKILL.md @@ -358,7 +358,7 @@ Extract key information from user request: - **Product type**: Entertainment (social, video, music, gaming), Tool (scanner, editor, converter), Productivity (task manager, notes, calendar), or hybrid - **Target audience**: C-end consumer users; consider age group, usage context (commute, leisure, work) - **Style keywords**: playful, vibrant, minimal, dark mode, content-first, immersive, etc. -- **Stack**: React Native (this project's only tech stack) +- **Stack**: Match the project's framework. The engine ships guidance for many stacks (see [Available Stacks](#available-stacks) below) — pass the matching `--stack` (e.g. `nextjs`, `react`, `shadcn`, `vue`, `svelte`, `astro`, `swiftui`, `flutter`, `react-native`). ### Step 2: Generate Design System (REQUIRED) @@ -438,12 +438,14 @@ python3 skills/ui-ux-pro-max/scripts/search.py "" --domain [-n | App interface a11y | `web` | `--domain web "accessibilityLabel touch safe-areas"` | | AI prompt / CSS keywords | `prompt` | `--domain prompt "minimalism"` | -### Step 4: Stack Guidelines (React Native) +### Step 4: Stack Guidelines (match your framework) -Get React Native implementation-specific best practices: +Get implementation-specific best practices for the stack you're building in. +Pass the `--stack` that matches the project's framework: ```bash -python3 skills/ui-ux-pro-max/scripts/search.py "" --stack react-native +python3 skills/ui-ux-pro-max/scripts/search.py "" --stack +# e.g. --stack nextjs | react | shadcn | vue | svelte | astro | swiftui | flutter | react-native ``` --- @@ -468,9 +470,26 @@ python3 skills/ui-ux-pro-max/scripts/search.py "" --stack react-native ### Available Stacks +Run `ls /data/stacks/` to see the live set. Shipped stacks: + | Stack | Focus | |-------|-------| +| `react` | Components, hooks, render performance | +| `nextjs` | App Router, RSC, Server Actions, rendering | +| `vue` | Components, Composition API, reactivity | +| `nuxtjs` | Nuxt app patterns, SSR data fetching | +| `nuxt-ui` | Nuxt UI component patterns | +| `svelte` | Components, stores, transitions | +| `astro` | Islands, content, partial hydration | +| `shadcn` | shadcn/ui primitives, composition | +| `html-tailwind` | Tailwind utility patterns | +| `angular` | Components, signals, services | +| `laravel` | Blade / server-rendered UI patterns | +| `swiftui` | Views, state, navigation (iOS/macOS) | +| `flutter` | Widgets, state, navigation | +| `jetpack-compose` | Composables, state, navigation (Android) | | `react-native` | Components, Navigation, Lists | +| `threejs` | 3D scenes, materials, performance | --- @@ -482,7 +501,7 @@ python3 skills/ui-ux-pro-max/scripts/search.py "" --stack react-native - Product type: Tool (AI search engine) - Target audience: C-end users looking for fast, intelligent search - Style keywords: modern, minimal, content-first, dark mode -- Stack: React Native +- Stack: Next.js (a homepage is a web surface; use a web `--stack`) ### Step 2: Generate Design System (REQUIRED) @@ -505,7 +524,7 @@ python3 skills/ui-ux-pro-max/scripts/search.py "search loading animation" --doma ### Step 4: Stack Guidelines ```bash -python3 skills/ui-ux-pro-max/scripts/search.py "list performance navigation" --stack react-native +python3 skills/ui-ux-pro-max/scripts/search.py "list performance navigation" --stack nextjs ``` **Then:** Synthesize design system + detailed searches and implement the design. @@ -533,7 +552,7 @@ python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system - Use **multi-dimensional keywords** — combine product + industry + tone + density: `"entertainment social vibrant content-dense"` not just `"app"` - Try different keywords for the same need: `"playful neon"` → `"vibrant dark"` → `"content-first minimal"` - Use `--design-system` first for full recommendations, then `--domain` to deep-dive any dimension you're unsure about -- Always add `--stack react-native` for implementation-specific guidance +- Add the `--stack` that matches the project's framework for implementation-specific guidance ### Common Sticking Points diff --git a/ui-ux-pro-max/CLAUDE.md b/ui-ux-pro-max/CLAUDE.md index f541cbf6..f9e7eeee 100644 --- a/ui-ux-pro-max/CLAUDE.md +++ b/ui-ux-pro-max/CLAUDE.md @@ -42,7 +42,7 @@ src/ui-ux-pro-max/ # Source of Truth ├── base/ # Base templates (skill-content.md, quick-reference.md) └── platforms/ # Platform configs (claude.json, cursor.json, ...) -cli/ # CLI installer (uipro-cli on npm) +cli/ # CLI installer (ui-ux-pro-max-cli on npm) ├── src/ │ ├── commands/init.ts # Install command with template generation │ └── utils/template.ts # Template rendering engine diff --git a/ui-ux-pro-max/CONTRIBUTING.md b/ui-ux-pro-max/CONTRIBUTING.md index 45e9d85a..9f92f17a 100644 --- a/ui-ux-pro-max/CONTRIBUTING.md +++ b/ui-ux-pro-max/CONTRIBUTING.md @@ -51,7 +51,7 @@ ui-ux-pro-max-skill/ │ ├── data/ # CSV databases (styles, colors, typography, rules) │ ├── scripts/ # Python search engine & design system generator │ └── templates/ # Platform-specific skill templates -├── cli/ # npm CLI installer (uipro-cli) +├── cli/ # npm CLI installer (ui-ux-pro-max-cli) ├── .claude/ # Local dev/test files for Claude Code ├── .factory/ # Local dev/test files for Droid (Factory) ├── docs/ # Documentation @@ -140,7 +140,7 @@ Types: feat: add Skeuomorphism 2.0 style to general styles fix: correct color palette for fintech industry rule docs: translate README to Spanish -chore: update uipro-cli to v2.6.0 +chore: update ui-ux-pro-max-cli to v2.6.0 ``` --- diff --git a/ui-ux-pro-max/README.md b/ui-ux-pro-max/README.md index 1df71809..635e9ce4 100755 --- a/ui-ux-pro-max/README.md +++ b/ui-ux-pro-max/README.md @@ -9,8 +9,8 @@

- npm - npm downloads + npm + npm downloads GitHub stars PayPal

@@ -266,7 +266,7 @@ Install directly in Claude Code with two commands: ```bash # Install CLI globally -npm install -g uipro-cli +npm install -g ui-ux-pro-max-cli # Go to your project cd /path/to/your/project @@ -293,6 +293,8 @@ uipro init --ai augment # Augment uipro init --ai all # All assistants ``` +The npm package is `ui-ux-pro-max-cli`; it still installs the `uipro` command. Older `uipro-cli` releases are stale and should not be used for current assets. + ### Global Install (Available for All Projects) ```bash @@ -464,7 +466,7 @@ The codebase has been restructured to use a **template-based generation system** **Always use the CLI to install:** ```bash -npm install -g uipro-cli +npm install -g ui-ux-pro-max-cli uipro init --ai ``` @@ -524,16 +526,16 @@ Use these commit types for correct version bumps: - `feat:` -> minor release - `feat!:` or `BREAKING CHANGE:` -> major release -The release workflow only needs the default `GITHUB_TOKEN`; it does not publish to npm. +The release workflow uses the default `GITHUB_TOKEN` for GitHub releases and the repository `NPM_TOKEN` secret to publish `ui-ux-pro-max-cli` to npm. ## Troubleshooting ### `uipro: unknown command 'uninstall'` or `unknown command 'update'` -Your installed version of `uipro-cli` is outdated. Update it and retry: +Your installed version of `ui-ux-pro-max-cli` is outdated. Update it and retry: ```bash -npm install -g uipro-cli@latest +npm install -g ui-ux-pro-max-cli@latest uipro uninstall ``` @@ -561,20 +563,20 @@ rm -rf .agents/skills/ui-ux-pro-max # Antigravity This is a known issue with versions prior to v2.5.1. The repository used symlinks internally which some installation tools can't handle. **Fix:** use the CLI installer instead: ```bash -npm install -g uipro-cli +npm install -g ui-ux-pro-max-cli uipro init --ai claude ``` Or wait for the next release where this is resolved. -### `npm install -g uipro-cli` fails with permission error +### `npm install -g ui-ux-pro-max-cli` fails with permission error ```bash # macOS/Linux — use a Node version manager (recommended) or sudo -sudo npm install -g uipro-cli +sudo npm install -g ui-ux-pro-max-cli # Or use npx without installing globally -npx uipro-cli init --ai claude +npx ui-ux-pro-max-cli init --ai claude ``` ### Python not found when running design system commands diff --git a/ui-ux-pro-max/SOURCE.md b/ui-ux-pro-max/SOURCE.md index 1090c820..5c512772 100644 --- a/ui-ux-pro-max/SOURCE.md +++ b/ui-ux-pro-max/SOURCE.md @@ -1,8 +1,8 @@ # Source - Repo: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill -- Ref: 318e0b2e4069b578c729228455328a1ca88f640d +- Ref: e3a7f270ff22b135863321fc72e4dc157a8543a7 - Remove-Paths: -- Snapshot: 2026-06-25 +- Snapshot: 2026-06-26 - Sync-Mode: render_skill - Notes: vendored into playbook branch thirdparty/skill diff --git a/ui-ux-pro-max/cli/README.md b/ui-ux-pro-max/cli/README.md index a3220a2d..c8b8a7e0 100644 --- a/ui-ux-pro-max/cli/README.md +++ b/ui-ux-pro-max/cli/README.md @@ -1,11 +1,11 @@ -# uipro-cli +# ui-ux-pro-max-cli CLI to install UI/UX Pro Max skill for AI coding assistants. ## Installation ```bash -npm install -g uipro-cli +npm install -g ui-ux-pro-max-cli ``` ## Usage @@ -70,7 +70,7 @@ uipro update # updates the global CLI to the latest release uipro init --ai codex --force # regenerate skill files from the new package ``` -`uipro update` runs `npm install -g uipro-cli@latest` for you (it shells out to `npm` only on Windows, where `npm` is a `.cmd`). You can still run that command manually if you prefer. When the CLI is already current, `uipro update` just refreshes the installed skill files. +`uipro update` runs `npm install -g ui-ux-pro-max-cli@latest` for you (it shells out to `npm` only on Windows, where `npm` is a `.cmd`). You can still run that command manually if you prefer. When the CLI is already current, `uipro update` just refreshes the installed skill files. ## Development diff --git a/ui-ux-pro-max/cli/package-lock.json b/ui-ux-pro-max/cli/package-lock.json index 87bb37f1..fecd93c7 100644 --- a/ui-ux-pro-max/cli/package-lock.json +++ b/ui-ux-pro-max/cli/package-lock.json @@ -1,11 +1,11 @@ { - "name": "uipro-cli", + "name": "ui-ux-pro-max-cli", "version": "2.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "uipro-cli", + "name": "ui-ux-pro-max-cli", "version": "2.5.0", "license": "MIT", "dependencies": { diff --git a/ui-ux-pro-max/cli/package.json b/ui-ux-pro-max/cli/package.json index 9613e504..e0028939 100755 --- a/ui-ux-pro-max/cli/package.json +++ b/ui-ux-pro-max/cli/package.json @@ -1,5 +1,5 @@ { - "name": "uipro-cli", + "name": "ui-ux-pro-max-cli", "version": "2.5.0", "description": "CLI to install UI/UX Pro Max skill for AI coding assistants", "type": "module", diff --git a/ui-ux-pro-max/cli/src/commands/update.ts b/ui-ux-pro-max/cli/src/commands/update.ts index eea1d62f..42d495da 100644 --- a/ui-ux-pro-max/cli/src/commands/update.ts +++ b/ui-ux-pro-max/cli/src/commands/update.ts @@ -10,6 +10,7 @@ import { initCommand } from './init.js'; import type { AIType } from '../types/index.js'; const __dirname = dirname(fileURLToPath(import.meta.url)); +const CLI_PACKAGE_NAME = 'ui-ux-pro-max-cli'; interface UpdateOptions { ai?: AIType; @@ -44,7 +45,7 @@ export async function updateCommand(options: UpdateOptions): Promise { // reach the shell that npm.cmd requires on Windows. if (!/^\d+\.\d+\.\d+([.-][0-9A-Za-z.-]+)?$/.test(latestVersion)) { logger.warn(`Installed CLI is ${chalk.cyan(currentVersion)}; latest release is ${chalk.cyan(release.tag_name)}.`); - logger.info(`Update the CLI package: ${chalk.cyan(`npm install -g uipro-cli@${latestVersion}`)}`); + logger.info(`Update the CLI package: ${chalk.cyan(`npm install -g ${CLI_PACKAGE_NAME}@${latestVersion}`)}`); logger.info('Then rerun: uipro init --ai --force'); return; } @@ -58,13 +59,13 @@ export async function updateCommand(options: UpdateOptions): Promise { // On Windows npm is npm.cmd, which Node only spawns via a shell. execFileSync( isWindows ? 'npm.cmd' : 'npm', - ['install', '-g', `uipro-cli@${latestVersion}`], + ['install', '-g', `${CLI_PACKAGE_NAME}@${latestVersion}`], { stdio: 'inherit', shell: isWindows } ); } catch { console.log(); logger.error('Automatic update failed (you may need elevated/admin permissions).'); - logger.info(`Update manually: ${chalk.cyan(`npm install -g uipro-cli@${latestVersion}`)}`); + logger.info(`Update manually: ${chalk.cyan(`npm install -g ${CLI_PACKAGE_NAME}@${latestVersion}`)}`); process.exit(1); } diff --git a/ui-ux-pro-max/cli/src/utils/github.ts b/ui-ux-pro-max/cli/src/utils/github.ts index 0c80c1c7..c5cd81c8 100644 --- a/ui-ux-pro-max/cli/src/utils/github.ts +++ b/ui-ux-pro-max/cli/src/utils/github.ts @@ -4,6 +4,7 @@ import type { Release } from '../types/index.js'; const REPO_OWNER = 'nextlevelbuilder'; const REPO_NAME = 'ui-ux-pro-max-skill'; const API_BASE = 'https://api.github.com'; +const USER_AGENT = 'ui-ux-pro-max-cli'; export class GitHubRateLimitError extends Error { constructor(message: string) { @@ -56,7 +57,7 @@ export async function fetchReleases(token?: string): Promise { const response = await fetch(url, { headers: { 'Accept': 'application/vnd.github.v3+json', - 'User-Agent': 'uipro-cli', + 'User-Agent': USER_AGENT, ...getAuthHeaders(token), }, }); @@ -76,7 +77,7 @@ export async function getLatestRelease(token?: string): Promise { const response = await fetch(url, { headers: { 'Accept': 'application/vnd.github.v3+json', - 'User-Agent': 'uipro-cli', + 'User-Agent': USER_AGENT, ...getAuthHeaders(token), }, }); @@ -93,7 +94,7 @@ export async function getLatestRelease(token?: string): Promise { export async function downloadRelease(url: string, dest: string, token?: string): Promise { const response = await fetch(url, { headers: { - 'User-Agent': 'uipro-cli', + 'User-Agent': USER_AGENT, 'Accept': 'application/octet-stream', ...getAuthHeaders(token), }, diff --git a/ui-ux-pro-max/docs/三个 data-scripts-templates 的区别.md b/ui-ux-pro-max/docs/三个 data-scripts-templates 的区别.md index 302bd1b8..fc849991 100644 --- a/ui-ux-pro-max/docs/三个 data-scripts-templates 的区别.md +++ b/ui-ux-pro-max/docs/三个 data-scripts-templates 的区别.md @@ -6,7 +6,7 @@ |------|------|--------| | **src/ui-ux-pro-max/** | **唯一源码**。所有 CSV、脚本、模板都在这里改,是“唯一真相来源”。 | ❌ 不能删,这是你要维护的那一份。 | | **.claude/skills/ui-ux-pro-max/** | 给 **Cursor / Claude Code** 用的 Skill。AI 从这里读 SKILL.md 和运行 `scripts/search.py`。设计上这里的 data、scripts 应是**指向 src 的符号链接**,这样不用维护两份。 | ❌ 不能删(否则 Skill 不工作);但可以改成只链到 src,不保留副本。 | -| **cli/assets/** | 给 **npm 包 uipro-cli** 打包用。用户执行 `npm i -g uipro-cli` 再 `uipro init` 时,安装的是这里打包进去的 data/scripts/templates。 | ❌ 不能删;发布前用脚本从 src 同步过来即可。 | +| **cli/assets/** | 给 **npm 包 ui-ux-pro-max-cli** 打包用。用户执行 `npm i -g ui-ux-pro-max-cli` 再 `uipro init` 时,安装的是这里打包进去的 data/scripts/templates。 | ❌ 不能删;发布前用脚本从 src 同步过来即可。 | ## 可以只保留一个吗? diff --git a/ui-ux-pro-max/skill.json b/ui-ux-pro-max/skill.json index ce68f2d3..fae5a68c 100644 --- a/ui-ux-pro-max/skill.json +++ b/ui-ux-pro-max/skill.json @@ -38,5 +38,5 @@ "antigravity", "openclaw" ], - "install": "npx uipro-cli init --ai {{platform}}" + "install": "npx ui-ux-pro-max-cli init --ai {{platform}}" }