refactor: flatten Microsoft skills from nested to flat directory structure
Rewrote sync_microsoft_skills.py (v4) to use each SKILL.md's frontmatter 'name' field as the flat directory name under skills/, replacing the nested skills/official/microsoft/<lang>/<category>/<service>/ hierarchy. This fixes CI failures caused by the indexing, validation, and catalog scripts expecting skills/<id>/SKILL.md (depth 1). Changes: - Rewrite scripts/sync_microsoft_skills.py for flat output with collision detection - Update scripts/tests/inspect_microsoft_repo.py for flat name mapping - Update scripts/tests/test_comprehensive_coverage.py for name uniqueness checks - Delete skills/official/ nested directory - Add 129 Microsoft skills as flat directories (e.g. skills/azure-mgmt-botservice-dotnet/) - Move attribution files to docs/ (LICENSE-MICROSOFT, microsoft-skills-attribution.json) - Rebuild skills_index.json, CATALOG.md, README.md (845 total skills)
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
{
|
||||
"generatedAt": "2026-02-11T16:18:46.125Z",
|
||||
"generatedAt": "2026-02-08T00:00:00.000Z",
|
||||
"bundles": {
|
||||
"core-dev": {
|
||||
"description": "Core development skills across languages, frameworks, and backend/frontend fundamentals.",
|
||||
"skills": [
|
||||
"3d-web-experience",
|
||||
"agent-framework-azure-ai-py",
|
||||
"algolia-search",
|
||||
"api-design-principles",
|
||||
"api-documentation-generator",
|
||||
@@ -19,7 +20,90 @@
|
||||
"async-python-patterns",
|
||||
"autonomous-agents",
|
||||
"aws-serverless",
|
||||
"azure-ai-anomalydetector-java",
|
||||
"azure-ai-contentsafety-java",
|
||||
"azure-ai-contentsafety-py",
|
||||
"azure-ai-contentunderstanding-py",
|
||||
"azure-ai-formrecognizer-java",
|
||||
"azure-ai-ml-py",
|
||||
"azure-ai-projects-java",
|
||||
"azure-ai-projects-py",
|
||||
"azure-ai-projects-ts",
|
||||
"azure-ai-transcription-py",
|
||||
"azure-ai-translation-ts",
|
||||
"azure-ai-vision-imageanalysis-java",
|
||||
"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-java",
|
||||
"azure-eventgrid-py",
|
||||
"azure-eventhub-java",
|
||||
"azure-eventhub-py",
|
||||
"azure-eventhub-rust",
|
||||
"azure-eventhub-ts",
|
||||
"azure-functions",
|
||||
"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-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-botservice-py",
|
||||
"azure-mgmt-fabric-py",
|
||||
"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-search-documents-py",
|
||||
"azure-search-documents-ts",
|
||||
"azure-security-keyvault-keys-java",
|
||||
"azure-security-keyvault-secrets-java",
|
||||
"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",
|
||||
"backend-architect",
|
||||
"backend-dev-guidelines",
|
||||
"backend-development-feature-development",
|
||||
@@ -56,6 +140,7 @@
|
||||
"frontend-mobile-security-xss-scan",
|
||||
"frontend-security-coder",
|
||||
"frontend-slides",
|
||||
"frontend-ui-dark-ts",
|
||||
"game-development/mobile-games",
|
||||
"gemini-api-dev",
|
||||
"go-concurrency-patterns",
|
||||
@@ -72,6 +157,8 @@
|
||||
"javascript-typescript-typescript-scaffold",
|
||||
"langgraph",
|
||||
"launch-strategy",
|
||||
"m365-agents-py",
|
||||
"m365-agents-ts",
|
||||
"makepad-skills",
|
||||
"mcp-builder",
|
||||
"memory-safety-patterns",
|
||||
@@ -89,95 +176,6 @@
|
||||
"nodejs-backend-patterns",
|
||||
"nodejs-best-practices",
|
||||
"observe-whatsapp",
|
||||
"official/microsoft/dotnet/integration/apicenter",
|
||||
"official/microsoft/dotnet/integration/apimanagement",
|
||||
"official/microsoft/dotnet/monitoring/applicationinsights",
|
||||
"official/microsoft/java/communication/callautomation",
|
||||
"official/microsoft/java/communication/callingserver",
|
||||
"official/microsoft/java/communication/chat",
|
||||
"official/microsoft/java/communication/common",
|
||||
"official/microsoft/java/communication/sms",
|
||||
"official/microsoft/java/compute/batch",
|
||||
"official/microsoft/java/data/blob",
|
||||
"official/microsoft/java/data/cosmos",
|
||||
"official/microsoft/java/data/tables",
|
||||
"official/microsoft/java/entra/azure-identity",
|
||||
"official/microsoft/java/entra/keyvault-keys",
|
||||
"official/microsoft/java/entra/keyvault-secrets",
|
||||
"official/microsoft/java/foundry/anomalydetector",
|
||||
"official/microsoft/java/foundry/contentsafety",
|
||||
"official/microsoft/java/foundry/formrecognizer",
|
||||
"official/microsoft/java/foundry/projects",
|
||||
"official/microsoft/java/foundry/vision-imageanalysis",
|
||||
"official/microsoft/java/foundry/voicelive",
|
||||
"official/microsoft/java/integration/appconfiguration",
|
||||
"official/microsoft/java/messaging/eventgrid",
|
||||
"official/microsoft/java/messaging/eventhubs",
|
||||
"official/microsoft/java/messaging/webpubsub",
|
||||
"official/microsoft/java/monitoring/ingestion",
|
||||
"official/microsoft/java/monitoring/opentelemetry-exporter",
|
||||
"official/microsoft/java/monitoring/query",
|
||||
"official/microsoft/python/compute/botservice",
|
||||
"official/microsoft/python/compute/containerregistry",
|
||||
"official/microsoft/python/compute/fabric",
|
||||
"official/microsoft/python/data/blob",
|
||||
"official/microsoft/python/data/cosmos",
|
||||
"official/microsoft/python/data/cosmos-db",
|
||||
"official/microsoft/python/data/datalake",
|
||||
"official/microsoft/python/data/fileshare",
|
||||
"official/microsoft/python/data/queue",
|
||||
"official/microsoft/python/data/tables",
|
||||
"official/microsoft/python/entra/azure-identity",
|
||||
"official/microsoft/python/entra/keyvault",
|
||||
"official/microsoft/python/foundry/agent-framework",
|
||||
"official/microsoft/python/foundry/contentsafety",
|
||||
"official/microsoft/python/foundry/contentunderstanding",
|
||||
"official/microsoft/python/foundry/ml",
|
||||
"official/microsoft/python/foundry/projects",
|
||||
"official/microsoft/python/foundry/search-documents",
|
||||
"official/microsoft/python/foundry/speech-to-text-rest",
|
||||
"official/microsoft/python/foundry/transcription",
|
||||
"official/microsoft/python/foundry/voicelive",
|
||||
"official/microsoft/python/integration/apicenter",
|
||||
"official/microsoft/python/integration/apimanagement",
|
||||
"official/microsoft/python/integration/appconfiguration",
|
||||
"official/microsoft/python/m365/m365-agents",
|
||||
"official/microsoft/python/messaging/eventgrid",
|
||||
"official/microsoft/python/messaging/eventhub",
|
||||
"official/microsoft/python/messaging/servicebus",
|
||||
"official/microsoft/python/messaging/webpubsub-service",
|
||||
"official/microsoft/python/monitoring/ingestion",
|
||||
"official/microsoft/python/monitoring/opentelemetry",
|
||||
"official/microsoft/python/monitoring/opentelemetry-exporter",
|
||||
"official/microsoft/python/monitoring/query",
|
||||
"official/microsoft/rust/data/azure-cosmos-rust",
|
||||
"official/microsoft/rust/data/azure-storage-blob-rust",
|
||||
"official/microsoft/rust/entra/azure-identity-rust",
|
||||
"official/microsoft/rust/entra/azure-keyvault-certificates-rust",
|
||||
"official/microsoft/rust/entra/azure-keyvault-keys-rust",
|
||||
"official/microsoft/rust/entra/azure-keyvault-secrets-rust",
|
||||
"official/microsoft/rust/messaging/azure-eventhub-rust",
|
||||
"official/microsoft/typescript/data/blob",
|
||||
"official/microsoft/typescript/data/cosmosdb",
|
||||
"official/microsoft/typescript/data/fileshare",
|
||||
"official/microsoft/typescript/data/postgres",
|
||||
"official/microsoft/typescript/data/queue",
|
||||
"official/microsoft/typescript/entra/azure-identity",
|
||||
"official/microsoft/typescript/entra/keyvault-keys",
|
||||
"official/microsoft/typescript/entra/keyvault-secrets",
|
||||
"official/microsoft/typescript/foundry/projects",
|
||||
"official/microsoft/typescript/foundry/search-documents",
|
||||
"official/microsoft/typescript/foundry/translation",
|
||||
"official/microsoft/typescript/foundry/voicelive",
|
||||
"official/microsoft/typescript/frontend/frontend-ui-dark",
|
||||
"official/microsoft/typescript/frontend/react-flow-node",
|
||||
"official/microsoft/typescript/frontend/zustand-store",
|
||||
"official/microsoft/typescript/integration/appconfiguration",
|
||||
"official/microsoft/typescript/m365/m365-agents",
|
||||
"official/microsoft/typescript/messaging/eventhubs",
|
||||
"official/microsoft/typescript/messaging/servicebus",
|
||||
"official/microsoft/typescript/messaging/webpubsub",
|
||||
"official/microsoft/typescript/monitoring/opentelemetry",
|
||||
"openapi-spec-generation",
|
||||
"php-pro",
|
||||
"plaid-fintech",
|
||||
@@ -189,6 +187,7 @@
|
||||
"python-pro",
|
||||
"python-testing-patterns",
|
||||
"react-best-practices",
|
||||
"react-flow-node-ts",
|
||||
"react-modernization",
|
||||
"react-native-architecture",
|
||||
"react-patterns",
|
||||
@@ -227,7 +226,8 @@
|
||||
"voice-agents",
|
||||
"voice-ai-development",
|
||||
"web-artifacts-builder",
|
||||
"webapp-testing"
|
||||
"webapp-testing",
|
||||
"zustand-store-ts"
|
||||
]
|
||||
},
|
||||
"security-core": {
|
||||
@@ -240,6 +240,14 @@
|
||||
"attack-tree-construction",
|
||||
"auth-implementation-patterns",
|
||||
"aws-penetration-testing",
|
||||
"azure-cosmos-db-py",
|
||||
"azure-identity-dotnet",
|
||||
"azure-keyvault-py",
|
||||
"azure-keyvault-secrets-rust",
|
||||
"azure-keyvault-secrets-ts",
|
||||
"azure-security-keyvault-keys-dotnet",
|
||||
"azure-security-keyvault-keys-java",
|
||||
"azure-security-keyvault-secrets-java",
|
||||
"backend-security-coder",
|
||||
"broken-authentication",
|
||||
"burp-suite-testing",
|
||||
@@ -278,6 +286,8 @@
|
||||
"legal-advisor",
|
||||
"linkerd-patterns",
|
||||
"loki-mode",
|
||||
"m365-agents-dotnet",
|
||||
"m365-agents-py",
|
||||
"malware-analyst",
|
||||
"metasploit-framework",
|
||||
"mobile-security-coder",
|
||||
@@ -286,16 +296,6 @@
|
||||
"nextjs-supabase-auth",
|
||||
"nodejs-best-practices",
|
||||
"notebooklm",
|
||||
"official/microsoft/dotnet/entra/azure-identity",
|
||||
"official/microsoft/dotnet/entra/keyvault",
|
||||
"official/microsoft/dotnet/m365/m365-agents",
|
||||
"official/microsoft/java/entra/keyvault-keys",
|
||||
"official/microsoft/java/entra/keyvault-secrets",
|
||||
"official/microsoft/python/data/cosmos-db",
|
||||
"official/microsoft/python/entra/keyvault",
|
||||
"official/microsoft/python/m365/m365-agents",
|
||||
"official/microsoft/rust/entra/azure-keyvault-secrets-rust",
|
||||
"official/microsoft/typescript/entra/keyvault-secrets",
|
||||
"openapi-spec-generation",
|
||||
"payment-integration",
|
||||
"pci-compliance",
|
||||
@@ -339,6 +339,18 @@
|
||||
"k8s-core": {
|
||||
"description": "Kubernetes and service mesh essentials.",
|
||||
"skills": [
|
||||
"azure-cosmos-db-py",
|
||||
"azure-identity-dotnet",
|
||||
"azure-identity-java",
|
||||
"azure-identity-py",
|
||||
"azure-identity-ts",
|
||||
"azure-messaging-webpubsubservice-py",
|
||||
"azure-mgmt-apimanagement-dotnet",
|
||||
"azure-mgmt-botservice-dotnet",
|
||||
"azure-mgmt-botservice-py",
|
||||
"azure-servicebus-dotnet",
|
||||
"azure-servicebus-py",
|
||||
"azure-servicebus-ts",
|
||||
"backend-architect",
|
||||
"devops-troubleshooter",
|
||||
"freshservice-automation",
|
||||
@@ -355,18 +367,6 @@
|
||||
"mtls-configuration",
|
||||
"network-engineer",
|
||||
"observability-monitoring-slo-implement",
|
||||
"official/microsoft/dotnet/compute/botservice",
|
||||
"official/microsoft/dotnet/entra/azure-identity",
|
||||
"official/microsoft/dotnet/integration/apimanagement",
|
||||
"official/microsoft/dotnet/messaging/servicebus",
|
||||
"official/microsoft/java/entra/azure-identity",
|
||||
"official/microsoft/python/compute/botservice",
|
||||
"official/microsoft/python/data/cosmos-db",
|
||||
"official/microsoft/python/entra/azure-identity",
|
||||
"official/microsoft/python/messaging/servicebus",
|
||||
"official/microsoft/python/messaging/webpubsub-service",
|
||||
"official/microsoft/typescript/entra/azure-identity",
|
||||
"official/microsoft/typescript/messaging/servicebus",
|
||||
"service-mesh-expert",
|
||||
"service-mesh-observability",
|
||||
"slo-implementation"
|
||||
@@ -378,6 +378,35 @@
|
||||
"airflow-dag-patterns",
|
||||
"analytics-tracking",
|
||||
"angular-ui-patterns",
|
||||
"azure-ai-document-intelligence-dotnet",
|
||||
"azure-ai-document-intelligence-ts",
|
||||
"azure-ai-textanalytics-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-eventhub-dotnet",
|
||||
"azure-eventhub-java",
|
||||
"azure-eventhub-rust",
|
||||
"azure-eventhub-ts",
|
||||
"azure-maps-search-dotnet",
|
||||
"azure-mgmt-applicationinsights-dotnet",
|
||||
"azure-monitor-ingestion-java",
|
||||
"azure-monitor-ingestion-py",
|
||||
"azure-monitor-query-java",
|
||||
"azure-monitor-query-py",
|
||||
"azure-postgres-ts",
|
||||
"azure-resource-manager-cosmosdb-dotnet",
|
||||
"azure-resource-manager-mysql-dotnet",
|
||||
"azure-resource-manager-postgresql-dotnet",
|
||||
"azure-resource-manager-redis-dotnet",
|
||||
"azure-resource-manager-sql-dotnet",
|
||||
"azure-security-keyvault-secrets-java",
|
||||
"azure-storage-blob-java",
|
||||
"azure-storage-file-datalake-py",
|
||||
"blockrun",
|
||||
"business-analyst",
|
||||
"cc-skill-backend-patterns",
|
||||
@@ -402,6 +431,7 @@
|
||||
"firebase",
|
||||
"fp-ts-react",
|
||||
"frontend-dev-guidelines",
|
||||
"frontend-ui-dark-ts",
|
||||
"gdpr-data-handling",
|
||||
"google-analytics-automation",
|
||||
"googlesheets-automation",
|
||||
@@ -420,36 +450,6 @@
|
||||
"nextjs-app-router-patterns",
|
||||
"nextjs-best-practices",
|
||||
"nodejs-backend-patterns",
|
||||
"official/microsoft/dotnet/data/cosmosdb",
|
||||
"official/microsoft/dotnet/data/mysql",
|
||||
"official/microsoft/dotnet/data/postgresql",
|
||||
"official/microsoft/dotnet/data/redis",
|
||||
"official/microsoft/dotnet/data/sql",
|
||||
"official/microsoft/dotnet/foundry/document-intelligence",
|
||||
"official/microsoft/dotnet/general/maps",
|
||||
"official/microsoft/dotnet/messaging/eventhubs",
|
||||
"official/microsoft/dotnet/monitoring/applicationinsights",
|
||||
"official/microsoft/java/data/blob",
|
||||
"official/microsoft/java/data/cosmos",
|
||||
"official/microsoft/java/data/tables",
|
||||
"official/microsoft/java/entra/keyvault-secrets",
|
||||
"official/microsoft/java/messaging/eventhubs",
|
||||
"official/microsoft/java/monitoring/ingestion",
|
||||
"official/microsoft/java/monitoring/query",
|
||||
"official/microsoft/python/data/cosmos",
|
||||
"official/microsoft/python/data/cosmos-db",
|
||||
"official/microsoft/python/data/datalake",
|
||||
"official/microsoft/python/data/tables",
|
||||
"official/microsoft/python/foundry/textanalytics",
|
||||
"official/microsoft/python/monitoring/ingestion",
|
||||
"official/microsoft/python/monitoring/query",
|
||||
"official/microsoft/rust/data/azure-cosmos-rust",
|
||||
"official/microsoft/rust/messaging/azure-eventhub-rust",
|
||||
"official/microsoft/typescript/data/cosmosdb",
|
||||
"official/microsoft/typescript/data/postgres",
|
||||
"official/microsoft/typescript/foundry/document-intelligence",
|
||||
"official/microsoft/typescript/frontend/frontend-ui-dark",
|
||||
"official/microsoft/typescript/messaging/eventhubs",
|
||||
"pci-compliance",
|
||||
"php-pro",
|
||||
"postgres-best-practices",
|
||||
@@ -486,6 +486,12 @@
|
||||
"api-testing-observability-api-mock",
|
||||
"application-performance-performance-optimization",
|
||||
"aws-serverless",
|
||||
"azure-ai-anomalydetector-java",
|
||||
"azure-mgmt-applicationinsights-dotnet",
|
||||
"azure-mgmt-arizeaiobservabilityeval-dotnet",
|
||||
"azure-mgmt-weightsandbiases-dotnet",
|
||||
"azure-monitor-opentelemetry-exporter-java",
|
||||
"azure-monitor-opentelemetry-ts",
|
||||
"backend-architect",
|
||||
"backend-development-feature-development",
|
||||
"c4-container",
|
||||
@@ -536,12 +542,6 @@
|
||||
"observability-engineer",
|
||||
"observability-monitoring-monitor-setup",
|
||||
"observability-monitoring-slo-implement",
|
||||
"official/microsoft/dotnet/foundry/weightsandbiases",
|
||||
"official/microsoft/dotnet/monitoring/applicationinsights",
|
||||
"official/microsoft/dotnet/partner/arize-ai-observability-eval",
|
||||
"official/microsoft/java/foundry/anomalydetector",
|
||||
"official/microsoft/java/monitoring/opentelemetry-exporter",
|
||||
"official/microsoft/typescript/monitoring/opentelemetry",
|
||||
"performance-engineer",
|
||||
"performance-testing-review-ai-review",
|
||||
"pipedrive-automation",
|
||||
|
||||
Reference in New Issue
Block a user