diff --git a/data/bundles.json b/data/bundles.json index b9a70021..be637d15 100644 --- a/data/bundles.json +++ b/data/bundles.json @@ -735,6 +735,506 @@ "vercel-deployment", "x-twitter-scraper" ] + }, + "automation-core": { + "description": "Automation platforms, workflow tooling, and business systems.", + "skills": [ + "activecampaign-automation", + "agent-orchestrator", + "ai-agent-development", + "ai-ml", + "airtable-automation", + "amplitude-automation", + "api-documentation", + "api-security-testing", + "apify-actor-development", + "asana-automation", + "autonomous-agent-patterns", + "aws-skills", + "azure-communication-callautomation-java", + "azure-mgmt-botservice-dotnet", + "bamboohr-automation", + "basecamp-automation", + "bash-pro", + "bash-scripting", + "billing-automation", + "biopython", + "bitbucket-automation", + "box-automation", + "brevo-automation", + "browser-automation", + "cal-com-automation", + "calendly-automation", + "canva-automation", + "changelog-automation", + "cicd-automation-workflow-automate", + "circleci-automation", + "clickup-automation", + "close-automation", + "cloud-devops", + "coda-automation", + "comfyui-gateway", + "conductor-implement", + "confluence-automation", + "convertkit-automation", + "copy-editing", + "create-branch", + "create-pr", + "database", + "database-admin", + "datadog-automation", + "deployment-engineer", + "development", + "discord-automation", + "doc-coauthoring", + "documentation", + "docusign-automation", + "dropbox-automation", + "e2e-testing", + "expo-cicd-workflows", + "fal-workflow", + "figma-automation", + "freshdesk-automation", + "freshservice-automation", + "game-development/game-art", + "gha-security-review", + "git-hooks-automation", + "git-pr-workflows-git-workflow", + "github-automation", + "github-workflow-automation", + "gitlab-automation", + "gitlab-ci-patterns", + "gitops-workflow", + "gmail-automation", + "go-playwright", + "go-rod-master", + "google-analytics-automation", + "google-calendar-automation", + "google-docs-automation", + "google-drive-automation", + "google-sheets-automation", + "google-slides-automation", + "googlesheets-automation", + "helpdesk-automation", + "hig-components-dialogs", + "hubspot-automation", + "hubspot-integration", + "incident-response-smart-fix", + "instagram-automation", + "intercom-automation", + "jira-automation", + "klaviyo-automation", + "kubernetes-deployment", + "libreoffice/calc", + "libreoffice/impress", + "libreoffice/writer", + "linear-automation", + "linkedin-automation", + "linux-troubleshooting", + "mailchimp-automation", + "make-automation", + "microsoft-teams-automation", + "miro-automation", + "mixpanel-automation", + "ml-pipeline-workflow", + "monday-automation", + "monetization", + "n8n-code-javascript", + "n8n-code-python", + "n8n-expression-syntax", + "n8n-mcp-tools-expert", + "n8n-node-configuration", + "n8n-validation-expert", + "n8n-workflow-patterns", + "nerdzao-elite", + "nerdzao-elite-gemini-high", + "notebooklm", + "notion-automation", + "notion-template-business", + "odoo-ecommerce-configurator", + "odoo-purchase-workflow", + "odoo-shopify-integration", + "odoo-xml-views-builder", + "office-productivity", + "one-drive-automation", + "openclaw-github-repo-commander", + "os-scripting", + "outlook-automation", + "outlook-calendar-automation", + "pagerduty-automation", + "payment-integration", + "pipedrive-automation", + "playwright-skill", + "plotly", + "postgresql-optimization", + "posthog-automation", + "postmark-automation", + "pr-writer", + "rag-implementation", + "react-flow-node-ts", + "reddit-automation", + "render-automation", + "salesforce-automation", + "security-audit", + "security/aws-secrets-rotation", + "segment-automation", + "sendgrid-automation", + "sentry-automation", + "shopify-apps", + "shopify-automation", + "shopify-development", + "skill-creator", + "slack-automation", + "slack-bot-builder", + "slack-gif-creator", + "square-automation", + "sred-work-summary", + "stripe-automation", + "stripe-integration", + "supabase-automation", + "tdd-orchestrator", + "tdd-workflow", + "tdd-workflows-tdd-green", + "telegram-automation", + "telegram-bot-builder", + "temporal-golang-pro", + "temporal-python-pro", + "terraform-infrastructure", + "terraform-specialist", + "test-automator", + "testing-patterns", + "testing-qa", + "tiktok-automation", + "todoist-automation", + "trello-automation", + "twitter-automation", + "vercel-automation", + "vibers-code-review", + "web-scraper", + "web-security-testing", + "webflow-automation", + "whatsapp-automation", + "wiki-vitepress", + "wordpress", + "wordpress-plugin-development", + "wordpress-theme-development", + "wordpress-woocommerce-development", + "workflow-automation", + "workflow-orchestration-patterns", + "workflow-patterns", + "wrike-automation", + "yes-md", + "youtube-automation", + "zapier-make-patterns", + "zendesk-automation", + "zoho-crm-automation", + "zoom-automation" + ] + }, + "azure-core": { + "description": "Azure cloud, platform, and AI development.", + "skills": [ + "agent-framework-azure-ai-py", + "agents-v2-py", + "azd-deployment", + "azure-ai-agents-persistent-dotnet", + "azure-ai-agents-persistent-java", + "azure-ai-anomalydetector-java", + "azure-ai-contentsafety-java", + "azure-ai-contentsafety-py", + "azure-ai-contentsafety-ts", + "azure-ai-contentunderstanding-py", + "azure-ai-document-intelligence-dotnet", + "azure-ai-document-intelligence-ts", + "azure-ai-formrecognizer-java", + "azure-ai-ml-py", + "azure-ai-openai-dotnet", + "azure-ai-projects-dotnet", + "azure-ai-projects-java", + "azure-ai-projects-py", + "azure-ai-projects-ts", + "azure-ai-textanalytics-py", + "azure-ai-transcription-py", + "azure-ai-translation-document-py", + "azure-ai-translation-text-py", + "azure-ai-translation-ts", + "azure-ai-vision-imageanalysis-java", + "azure-ai-vision-imageanalysis-py", + "azure-ai-voicelive-dotnet", + "azure-ai-voicelive-java", + "azure-ai-voicelive-py", + "azure-ai-voicelive-ts", + "azure-appconfiguration-java", + "azure-appconfiguration-py", + "azure-appconfiguration-ts", + "azure-communication-callautomation-java", + "azure-communication-callingserver-java", + "azure-communication-chat-java", + "azure-communication-common-java", + "azure-communication-sms-java", + "azure-compute-batch-java", + "azure-containerregistry-py", + "azure-cosmos-db-py", + "azure-cosmos-java", + "azure-cosmos-py", + "azure-cosmos-rust", + "azure-cosmos-ts", + "azure-data-tables-java", + "azure-data-tables-py", + "azure-eventgrid-dotnet", + "azure-eventgrid-java", + "azure-eventgrid-py", + "azure-eventhub-dotnet", + "azure-eventhub-java", + "azure-eventhub-py", + "azure-eventhub-rust", + "azure-eventhub-ts", + "azure-functions", + "azure-identity-dotnet", + "azure-identity-java", + "azure-identity-py", + "azure-identity-rust", + "azure-identity-ts", + "azure-keyvault-certificates-rust", + "azure-keyvault-keys-rust", + "azure-keyvault-keys-ts", + "azure-keyvault-py", + "azure-keyvault-secrets-rust", + "azure-keyvault-secrets-ts", + "azure-maps-search-dotnet", + "azure-messaging-webpubsub-java", + "azure-messaging-webpubsubservice-py", + "azure-mgmt-apicenter-dotnet", + "azure-mgmt-apicenter-py", + "azure-mgmt-apimanagement-dotnet", + "azure-mgmt-apimanagement-py", + "azure-mgmt-applicationinsights-dotnet", + "azure-mgmt-arizeaiobservabilityeval-dotnet", + "azure-mgmt-botservice-dotnet", + "azure-mgmt-botservice-py", + "azure-mgmt-fabric-dotnet", + "azure-mgmt-fabric-py", + "azure-mgmt-mongodbatlas-dotnet", + "azure-mgmt-weightsandbiases-dotnet", + "azure-microsoft-playwright-testing-ts", + "azure-monitor-ingestion-java", + "azure-monitor-ingestion-py", + "azure-monitor-opentelemetry-exporter-java", + "azure-monitor-opentelemetry-exporter-py", + "azure-monitor-opentelemetry-py", + "azure-monitor-opentelemetry-ts", + "azure-monitor-query-java", + "azure-monitor-query-py", + "azure-postgres-ts", + "azure-resource-manager-cosmosdb-dotnet", + "azure-resource-manager-durabletask-dotnet", + "azure-resource-manager-mysql-dotnet", + "azure-resource-manager-playwright-dotnet", + "azure-resource-manager-postgresql-dotnet", + "azure-resource-manager-redis-dotnet", + "azure-resource-manager-sql-dotnet", + "azure-search-documents-dotnet", + "azure-search-documents-py", + "azure-search-documents-ts", + "azure-security-keyvault-keys-dotnet", + "azure-security-keyvault-keys-java", + "azure-security-keyvault-secrets-java", + "azure-servicebus-dotnet", + "azure-servicebus-py", + "azure-servicebus-ts", + "azure-speech-to-text-rest-py", + "azure-storage-blob-java", + "azure-storage-blob-py", + "azure-storage-blob-rust", + "azure-storage-blob-ts", + "azure-storage-file-datalake-py", + "azure-storage-file-share-py", + "azure-storage-file-share-ts", + "azure-storage-queue-py", + "azure-storage-queue-ts", + "azure-web-pubsub-ts", + "cloud-architect", + "cloud-devops", + "cloud-penetration-testing", + "hosted-agents-v2-py", + "hybrid-cloud-architect", + "microsoft-azure-webjobs-extensions-authentication-events-dotnet", + "multi-cloud-architecture", + "podcast-generation", + "skill-creator-ms", + "terraform-module-library" + ] + }, + "commerce-core": { + "description": "Commerce, payments, and revenue operations skills.", + "skills": [ + "apify-ecommerce", + "billing-automation", + "browser-extension-builder", + "close-automation", + "growth-engine", + "hubspot-automation", + "hubspot-integration", + "monetization", + "odoo-accounting-setup", + "odoo-automated-tests", + "odoo-backup-strategy", + "odoo-docker-deployment", + "odoo-ecommerce-configurator", + "odoo-edi-connector", + "odoo-hr-payroll-setup", + "odoo-inventory-optimizer", + "odoo-l10n-compliance", + "odoo-manufacturing-advisor", + "odoo-migration-helper", + "odoo-module-developer", + "odoo-orm-expert", + "odoo-performance-tuner", + "odoo-project-timesheet", + "odoo-purchase-workflow", + "odoo-qweb-templates", + "odoo-rpc-api", + "odoo-sales-crm-expert", + "odoo-security-rules", + "odoo-shopify-integration", + "odoo-upgrade-advisor", + "odoo-woocommerce-bridge", + "odoo-xml-views-builder", + "pakistan-payments-stack", + "payment-integration", + "paypal-integration", + "pipedrive-automation", + "plaid-fintech", + "pricing-strategy", + "shopify-apps", + "shopify-automation", + "shopify-development", + "stripe-automation", + "stripe-integration", + "telegram-bot-builder", + "webflow-automation", + "wordpress", + "wordpress-woocommerce-development", + "zoho-crm-automation" + ] + }, + "mobile-core": { + "description": "Mobile app development across native and cross-platform stacks.", + "skills": [ + "android-jetpack-compose-expert", + "android_ui_verification", + "app-store-optimization", + "audit-skills", + "awt-e2e-testing", + "building-native-ui", + "development", + "docker-expert", + "earllm-build", + "expo-api-routes", + "expo-cicd-workflows", + "expo-deployment", + "expo-dev-client", + "expo-tailwind-setup", + "expo-ui-jetpack-compose", + "expo-ui-swift-ui", + "flutter-expert", + "fp-pipe-ref", + "frontend-mobile-development-component-scaffold", + "frontend-mobile-security-xss-scan", + "game-development/mobile-games", + "ios-developer", + "makepad-deployment", + "makepad-platform", + "mobile-design", + "mobile-developer", + "mobile-security-coder", + "multi-platform-apps-multi-platform", + "native-data-fetching", + "odoo-docker-deployment", + "react-native-architecture", + "senior-architect", + "stitch-ui-design", + "swiftui-expert-skill", + "ui-ux-pro-max", + "upgrading-expo" + ] + }, + "seo-core": { + "description": "SEO, search visibility, and structured content optimization.", + "skills": [ + "agent-orchestrator", + "analyze-project", + "antigravity-skill-orchestrator", + "competitor-alternatives", + "content-creator", + "content-marketer", + "convex", + "database-architect", + "database-design", + "drizzle-orm-expert", + "fixing-metadata", + "free-tool-strategy", + "graphql", + "growth-engine", + "hybrid-search-implementation", + "keyword-extractor", + "landing-page-generator", + "llm-structured-output", + "local-legal-seo-audit", + "odoo-ecommerce-configurator", + "paid-ads", + "postgres-best-practices", + "postgresql", + "prisma-expert", + "programmatic-seo", + "schema-markup", + "seo-audit", + "seo-authority-builder", + "seo-cannibalization-detector", + "seo-content-auditor", + "seo-content-planner", + "seo-content-refresher", + "seo-content-writer", + "seo-forensic-incident-response", + "seo-fundamentals", + "seo-keyword-strategist", + "seo-meta-optimizer", + "seo-snippet-hunter", + "seo-structure-architect", + "whatsapp-cloud-api", + "yann-lecun", + "yann-lecun-filosofia", + "zod-validation-expert" + ] + }, + "docs-core": { + "description": "Documents, spreadsheets, presentations, and office workflows.", + "skills": [ + "azure-ai-translation-document-py", + "canvas-design", + "create-pr", + "docx-official", + "firecrawl-scraper", + "frontend-slides", + "google-sheets-automation", + "google-slides-automation", + "libreoffice/base", + "libreoffice/calc", + "libreoffice/draw", + "libreoffice/impress", + "libreoffice/writer", + "matplotlib", + "odoo-qweb-templates", + "office-productivity", + "pdf-official", + "pptx-official", + "pr-writer", + "seo-content-writer", + "skill-writer", + "theme-factory", + "wiki-page-writer", + "xlsx-official" + ] } }, "common": [ diff --git a/docs/users/bundles.md b/docs/users/bundles.md index fc5d70c1..e3a1b142 100644 --- a/docs/users/bundles.md +++ b/docs/users/bundles.md @@ -2,6 +2,8 @@ > **Curated collections of skills organized by role and expertise level.** Don't know where to start? Pick a bundle below to get a curated set of skills for your role. +> These packs are curated starter recommendations for humans. Generated bundle ids in `data/bundles.json` are broader catalog/workflow groupings and do not need to map 1:1 to the editorial packs below. + ## Quick Start 1. **Install the repository:** @@ -341,6 +343,122 @@ _For teams modeling complex domains and evolving toward evented systems._ - [`saga-orchestration`](../../skills/saga-orchestration/): Cross-context long-running transaction coordination. - [`projection-patterns`](../../skills/projection-patterns/): Materialized read models from event streams. +### 🤖 The "Automation Builder" Pack + +_For connecting tools and building repeatable automated workflows._ + +- [`workflow-automation`](../../skills/workflow-automation/): Design durable automation flows for AI and business systems. +- [`mcp-builder`](../../skills/mcp-builder/): Create tool interfaces agents can use reliably. +- [`make-automation`](../../skills/make-automation/): Build automations in Make/Integromat. +- [`airtable-automation`](../../skills/airtable-automation/): Automate Airtable records, bases, and views. +- [`notion-automation`](../../skills/notion-automation/): Automate Notion pages, databases, and blocks. +- [`slack-automation`](../../skills/slack-automation/): Automate Slack messaging and channel workflows. +- [`googlesheets-automation`](../../skills/googlesheets-automation/): Automate spreadsheet updates and data operations. + +### 💼 The "RevOps & CRM Automation" Pack + +_For revenue operations, support handoffs, and CRM-heavy automation._ + +- [`hubspot-automation`](../../skills/hubspot-automation/): Automate contacts, companies, deals, and tickets. +- [`sendgrid-automation`](../../skills/sendgrid-automation/): Automate email sends, contacts, and templates. +- [`zendesk-automation`](../../skills/zendesk-automation/): Automate support tickets and reply workflows. +- [`google-calendar-automation`](../../skills/google-calendar-automation/): Schedule events and manage availability. +- [`outlook-calendar-automation`](../../skills/outlook-calendar-automation/): Automate Outlook meetings and invitations. +- [`stripe-automation`](../../skills/stripe-automation/): Automate billing, invoices, and subscriptions. +- [`shopify-automation`](../../skills/shopify-automation/): Automate products, orders, customers, and inventory. + +### 💳 The "Commerce & Payments" Pack + +_For monetization, payments, and commerce workflows._ + +- [`stripe-integration`](../../skills/stripe-integration/): Build robust checkout, subscription, and webhook flows. +- [`paypal-integration`](../../skills/paypal-integration/): Integrate PayPal payments and related flows. +- [`plaid-fintech`](../../skills/plaid-fintech/): Link bank accounts and handle ACH-related use cases. +- [`hubspot-integration`](../../skills/hubspot-integration/): Connect CRM data into product and revenue workflows. +- [`algolia-search`](../../skills/algolia-search/): Add search and discovery to commerce experiences. +- [`monetization`](../../skills/monetization/): Design pricing and monetization systems deliberately. + +### 🏢 The "Odoo ERP" Pack + +_For teams building or operating around Odoo-based business systems._ + +- [`odoo-module-developer`](../../skills/odoo-module-developer/): Create custom Odoo modules cleanly. +- [`odoo-orm-expert`](../../skills/odoo-orm-expert/): Work effectively with Odoo ORM patterns and performance. +- [`odoo-sales-crm-expert`](../../skills/odoo-sales-crm-expert/): Optimize sales pipelines, leads, and forecasting. +- [`odoo-ecommerce-configurator`](../../skills/odoo-ecommerce-configurator/): Configure storefront, catalog, and order flows. +- [`odoo-performance-tuner`](../../skills/odoo-performance-tuner/): Diagnose and improve slow Odoo instances. +- [`odoo-security-rules`](../../skills/odoo-security-rules/): Apply secure access controls and rule design. +- [`odoo-docker-deployment`](../../skills/odoo-docker-deployment/): Deploy and run Odoo in Docker-based environments. + +### ☁️ The "Azure AI & Cloud" Pack + +_For building on Azure across cloud, AI, and platform services._ + +- [`azd-deployment`](../../skills/azd-deployment/): Ship Azure apps with Azure Developer CLI workflows. +- [`azure-functions`](../../skills/azure-functions/): Build serverless workloads with Azure Functions. +- [`azure-ai-openai-dotnet`](../../skills/azure-ai-openai-dotnet/): Use Azure OpenAI from .NET applications. +- [`azure-search-documents-py`](../../skills/azure-search-documents-py/): Build search, hybrid search, and indexing in Python. +- [`azure-identity-py`](../../skills/azure-identity-py/): Handle Azure authentication flows in Python services. +- [`azure-monitor-opentelemetry-ts`](../../skills/azure-monitor-opentelemetry-ts/): Add telemetry and tracing from TypeScript apps. + +### 📲 The "Expo & React Native" Pack + +_For shipping mobile apps with Expo and React Native._ + +- [`react-native-architecture`](../../skills/react-native-architecture/): Structure production React Native apps well. +- [`expo-api-routes`](../../skills/expo-api-routes/): Build API routes in Expo Router and EAS Hosting. +- [`expo-dev-client`](../../skills/expo-dev-client/): Build and distribute Expo development clients. +- [`expo-tailwind-setup`](../../skills/expo-tailwind-setup/): Set up Tailwind and NativeWind in Expo apps. +- [`expo-cicd-workflows`](../../skills/expo-cicd-workflows/): Automate builds and releases with EAS workflows. +- [`expo-deployment`](../../skills/expo-deployment/): Deploy Expo apps and manage release flow. +- [`app-store-optimization`](../../skills/app-store-optimization/): Improve App Store and Play Store discoverability. + +### 🍎 The "Apple Platform Design" Pack + +_For teams designing native-feeling Apple platform experiences._ + +- [`hig-foundations`](../../skills/hig-foundations/): Learn the core Apple Human Interface Guidelines. +- [`hig-patterns`](../../skills/hig-patterns/): Apply Apple interaction and UX patterns correctly. +- [`hig-components-layout`](../../skills/hig-components-layout/): Use Apple layout and navigation components well. +- [`hig-inputs`](../../skills/hig-inputs/): Design for gestures, keyboards, Pencil, focus, and controllers. +- [`hig-components-system`](../../skills/hig-components-system/): Work with widgets, live activities, and system surfaces. +- [`hig-platforms`](../../skills/hig-platforms/): Adapt experiences across Apple device families. + +### 🧩 The "Makepad Builder" Pack + +_For building UI-heavy apps with the Makepad ecosystem._ + +- [`makepad-basics`](../../skills/makepad-basics/): Start with Makepad fundamentals and mental model. +- [`makepad-layout`](../../skills/makepad-layout/): Handle sizing, flow, alignment, and layout composition. +- [`makepad-widgets`](../../skills/makepad-widgets/): Build interfaces from Makepad widgets. +- [`makepad-event-action`](../../skills/makepad-event-action/): Wire interaction and event handling correctly. +- [`makepad-shaders`](../../skills/makepad-shaders/): Create GPU-driven visual effects and custom drawing. +- [`makepad-deployment`](../../skills/makepad-deployment/): Package and ship Makepad projects. + +### 🔎 The "SEO Specialist" Pack + +_For technical SEO, content structure, and search growth._ + +- [`seo-fundamentals`](../../skills/seo-fundamentals/): Build from sound SEO principles and search constraints. +- [`seo-content-planner`](../../skills/seo-content-planner/): Plan clusters, calendars, and content gaps. +- [`seo-content-writer`](../../skills/seo-content-writer/): Produce search-aware content drafts with intent alignment. +- [`seo-structure-architect`](../../skills/seo-structure-architect/): Improve hierarchy, internal links, and structure. +- [`seo-cannibalization-detector`](../../skills/seo-cannibalization-detector/): Find overlapping pages competing for the same intent. +- [`seo-content-auditor`](../../skills/seo-content-auditor/): Audit existing content quality and optimization gaps. +- [`schema-markup`](../../skills/schema-markup/): Add structured data to support richer search results. + +### 📄 The "Documents & Presentations" Pack + +_For document-heavy workflows, spreadsheets, PDFs, and presentations._ + +- [`office-productivity`](../../skills/office-productivity/): Coordinate document, spreadsheet, and presentation workflows. +- [`docx-official`](../../skills/docx-official/): Create and edit Word-compatible documents. +- [`pptx-official`](../../skills/pptx-official/): Create and edit PowerPoint-compatible presentations. +- [`xlsx-official`](../../skills/xlsx-official/): Create and analyze spreadsheet files with formulas and formatting. +- [`pdf-official`](../../skills/pdf-official/): Extract, generate, and manipulate PDFs programmatically. +- [`google-slides-automation`](../../skills/google-slides-automation/): Automate presentation updates in Google Slides. +- [`google-sheets-automation`](../../skills/google-sheets-automation/): Automate reads and writes in Google Sheets. + --- ## 🧰 Maintainer & OSS @@ -461,4 +579,4 @@ Found a skill that should be in a bundle? Or want to create a new bundle? [Open --- -_Last updated: March 2026 | Total Skills: 1,254+ | Total Bundles: 26_ +_Last updated: March 2026 | Total Skills: 1,254+ | Total Bundles: 36_ diff --git a/tools/scripts/build-catalog.js b/tools/scripts/build-catalog.js index a5a63ce6..d87c927f 100644 --- a/tools/scripts/build-catalog.js +++ b/tools/scripts/build-catalog.js @@ -412,6 +412,91 @@ const BUNDLE_RULES = { "incident", ], }, + "automation-core": { + description: "Automation platforms, workflow tooling, and business systems.", + keywords: [ + "automation", + "workflow", + "airtable", + "notion", + "slack", + "calendar", + "sheets", + "outlook", + "hubspot", + "zendesk", + "shopify", + "stripe", + "sendgrid", + "calendly", + "clickup", + "make", + "n8n", + "zoom", + ], + }, + "azure-core": { + description: "Azure cloud, platform, and AI development.", + keywords: ["azure", "azd"], + }, + "commerce-core": { + description: "Commerce, payments, and revenue operations skills.", + keywords: [ + "stripe", + "paypal", + "plaid", + "ecommerce", + "commerce", + "billing", + "monetization", + "crm", + "shopify", + "hubspot", + "woocommerce", + "odoo", + ], + }, + "mobile-core": { + description: "Mobile app development across native and cross-platform stacks.", + keywords: [ + "mobile", + "ios", + "android", + "flutter", + "expo", + "swiftui", + "compose", + "appstore", + ], + }, + "seo-core": { + description: "SEO, search visibility, and structured content optimization.", + keywords: [ + "seo", + "schema", + "keyword", + "snippet", + "meta", + "cannibalization", + "authority", + ], + }, + "docs-core": { + description: "Documents, spreadsheets, presentations, and office workflows.", + keywords: [ + "docx", + "pptx", + "xlsx", + "pdf", + "slides", + "spreadsheet", + "libreoffice", + "writer", + "calc", + "impress", + "office", + ], + }, }; const CURATED_COMMON = [ diff --git a/tools/scripts/tests/build_catalog_bundles.test.js b/tools/scripts/tests/build_catalog_bundles.test.js new file mode 100644 index 00000000..bdc9f6e9 --- /dev/null +++ b/tools/scripts/tests/build_catalog_bundles.test.js @@ -0,0 +1,59 @@ +const assert = require("assert"); +const fs = require("fs"); +const path = require("path"); + +const { buildCatalog } = require("../build-catalog"); + +const repoRoot = path.resolve(__dirname, "..", "..", ".."); +const bundlesPath = path.join(repoRoot, "data", "bundles.json"); + +buildCatalog(); + +const bundleData = JSON.parse(fs.readFileSync(bundlesPath, "utf8")); +const bundles = bundleData.bundles || {}; + +for (const bundleId of [ + "core-dev", + "security-core", + "k8s-core", + "data-core", + "ops-core", + "automation-core", + "azure-core", + "commerce-core", + "mobile-core", + "seo-core", + "docs-core", +]) { + assert.ok(bundles[bundleId], `expected generated bundles to include ${bundleId}`); +} + +assert.ok( + bundles["automation-core"].skills.includes("workflow-automation"), + "workflow-automation should be included in automation-core", +); +assert.ok( + bundles["automation-core"].skills.includes("airtable-automation"), + "airtable-automation should be included in automation-core", +); +assert.ok( + bundles["azure-core"].skills.includes("azure-ai-openai-dotnet"), + "azure-ai-openai-dotnet should be included in azure-core", +); +assert.ok( + bundles["commerce-core"].skills.includes("stripe-automation") || + bundles["commerce-core"].skills.includes("plaid-fintech"), + "commerce-core should include a representative commerce skill", +); +assert.ok( + bundles["mobile-core"].skills.includes("expo-api-routes"), + "expo-api-routes should be included in mobile-core", +); +assert.ok( + bundles["seo-core"].skills.includes("seo-fundamentals"), + "seo-fundamentals should be included in seo-core", +); +assert.ok( + bundles["docs-core"].skills.includes("docx-official"), + "docx-official should be included in docs-core", +); diff --git a/tools/scripts/tests/run-test-suite.js b/tools/scripts/tests/run-test-suite.js index 1b278164..99456064 100644 --- a/tools/scripts/tests/run-test-suite.js +++ b/tools/scripts/tests/run-test-suite.js @@ -9,6 +9,7 @@ const TOOL_SCRIPTS = path.join("tools", "scripts"); const TOOL_TESTS = path.join(TOOL_SCRIPTS, "tests"); const LOCAL_TEST_COMMANDS = [ [path.join(TOOL_TESTS, "activate_skills_batch_security.test.js")], + [path.join(TOOL_TESTS, "build_catalog_bundles.test.js")], [path.join(TOOL_TESTS, "claude_plugin_marketplace.test.js")], [path.join(TOOL_TESTS, "jetski_gemini_loader.test.js")], [path.join(TOOL_TESTS, "npm_package_contents.test.js")],