[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FTX2TH48WPXNMH48BCGDHC":3,"skill-same:01M6FTX2TH48WPXNMH48BCGDHC":59},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":14,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6FTX2TH48WPXNMH48BCGDHC","azure-identity-ts",null,"Authenticate to Azure services using Azure Identity SDK for JavaScript (@azure\u002Fidentity). Use when configuring authentication with DefaultAzureCredential, managed identity, service principals, or i...","reikiplanet\u002Fdaoskills","reikiplanet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96377599?v=4","01M6CVWCMD740YHQDK7E9QYBW4","Reiki Planet","01M6CVWCS4KXVA2CWFVJ43EAXK",0,"MIT","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fdevelopment\u002Fazure-identity-ts\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29],"identity","azure","azure identity ts","sdk","javascript","authentication","services","use","community","service","with","2026-11-10 10:12:30",false,"---\nname: azure-identity-ts\ndescription: \"Authenticate to Azure services using Azure Identity SDK for JavaScript (@azure\u002Fidentity). Use when configuring authentication with DefaultAzureCredential, managed identity, service principals, or i...\"\npackage: \"@azure\u002Fidentity\"\nrisk: unknown\nsource: community\n---\n\n# Azure Identity SDK for TypeScript\n\nAuthenticate to Azure services with various credential types.\n\n## Installation\n\n```bash\nnpm install @azure\u002Fidentity\n```\n\n## Environment Variables\n\n### Service Principal (Secret)\n\n```bash\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_CLIENT_SECRET=\u003Cclient-secret>\n```\n\n### Service Principal (Certificate)\n\n```bash\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_CLIENT_CERTIFICATE_PATH=\u002Fpath\u002Fto\u002Fcert.pem\nAZURE_CLIENT_CERTIFICATE_PASSWORD=\u003Coptional-password>\n```\n\n### Workload Identity (Kubernetes)\n\n```bash\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_FEDERATED_TOKEN_FILE=\u002Fvar\u002Frun\u002Fsecrets\u002Ftokens\u002Fazure-identity\n```\n\n## DefaultAzureCredential (Recommended)\n\n```typescript\nimport { DefaultAzureCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new DefaultAzureCredential();\n\n\u002F\u002F Use with any Azure SDK client\nimport { BlobServiceClient } from \"@azure\u002Fstorage-blob\";\nconst blobClient = new BlobServiceClient(\n  \"https:\u002F\u002F\u003Caccount>.blob.core.windows.net\",\n  credential\n);\n```\n\n**Credential Chain Order:**\n1. EnvironmentCredential\n2. WorkloadIdentityCredential\n3. ManagedIdentityCredential\n4. VisualStudioCodeCredential\n5. AzureCliCredential\n6. AzurePowerShellCredential\n7. AzureDeveloperCliCredential\n\n## Managed Identity\n\n### System-Assigned\n\n```typescript\nimport { ManagedIdentityCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new ManagedIdentityCredential();\n```\n\n### User-Assigned (by Client ID)\n\n```typescript\nconst credential = new ManagedIdentityCredential({\n  clientId: \"\u003Cuser-assigned-client-id>\"\n});\n```\n\n### User-Assigned (by Resource ID)\n\n```typescript\nconst credential = new ManagedIdentityCredential({\n  resourceId: \"\u002Fsubscriptions\u002F\u003Csub>\u002FresourceGroups\u002F\u003Crg>\u002Fproviders\u002FMicrosoft.ManagedIdentity\u002FuserAssignedIdentities\u002F\u003Cname>\"\n});\n```\n\n## Service Principal\n\n### Client Secret\n\n```typescript\nimport { ClientSecretCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new ClientSecretCredential(\n  \"\u003Ctenant-id>\",\n  \"\u003Cclient-id>\",\n  \"\u003Cclient-secret>\"\n);\n```\n\n### Client Certificate\n\n```typescript\nimport { ClientCertificateCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new ClientCertificateCredential(\n  \"\u003Ctenant-id>\",\n  \"\u003Cclient-id>\",\n  { certificatePath: \"\u002Fpath\u002Fto\u002Fcert.pem\" }\n);\n\n\u002F\u002F With password\nconst credentialWithPwd = new ClientCertificateCredential(\n  \"\u003Ctenant-id>\",\n  \"\u003Cclient-id>\",\n  { \n    certificatePath: \"\u002Fpath\u002Fto\u002Fcert.pem\",\n    certificatePassword: \"\u003Cpassword>\"\n  }\n);\n```\n\n## Interactive Authentication\n\n### Browser-Based Login\n\n```typescript\nimport { InteractiveBrowserCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new InteractiveBrowserCredential({\n  clientId: \"\u003Cclient-id>\",\n  tenantId: \"\u003Ctenant-id>\",\n  loginHint: \"user@example.com\"\n});\n```\n\n### Device Code Flow\n\n```typescript\nimport { DeviceCodeCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new DeviceCodeCredential({\n  clientId: \"\u003Cclient-id>\",\n  tenantId: \"\u003Ctenant-id>\",\n  userPromptCallback: (info) => {\n    console.log(info.message);\n    \u002F\u002F \"To sign in, use a web browser to open...\"\n  }\n});\n```\n\n## Custom Credential Chain\n\n```typescript\nimport { \n  ChainedTokenCredential,\n  ManagedIdentityCredential,\n  AzureCliCredential\n} from \"@azure\u002Fidentity\";\n\n\u002F\u002F Try managed identity first, fall back to CLI\nconst credential = new ChainedTokenCredential(\n  new ManagedIdentityCredential(),\n  new AzureCliCredential()\n);\n```\n\n## Developer Credentials\n\n### Azure CLI\n\n```typescript\nimport { AzureCliCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new AzureCliCredential();\n\u002F\u002F Uses: az login\n```\n\n### Azure Developer CLI\n\n```typescript\nimport { AzureDeveloperCliCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new AzureDeveloperCliCredential();\n\u002F\u002F Uses: azd auth login\n```\n\n### Azure PowerShell\n\n```typescript\nimport { AzurePowerShellCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new AzurePowerShellCredential();\n\u002F\u002F Uses: Connect-AzAccount\n```\n\n## Sovereign Clouds\n\n```typescript\nimport { ClientSecretCredential, AzureAuthorityHosts } from \"@azure\u002Fidentity\";\n\n\u002F\u002F Azure Government\nconst credential = new ClientSecretCredential(\n  \"\u003Ctenant>\", \"\u003Cclient>\", \"\u003Csecret>\",\n  { authorityHost: AzureAuthorityHosts.AzureGovernment }\n);\n\n\u002F\u002F Azure China\nconst credentialChina = new ClientSecretCredential(\n  \"\u003Ctenant>\", \"\u003Cclient>\", \"\u003Csecret>\",\n  { authorityHost: AzureAuthorityHosts.AzureChina }\n);\n```\n\n## Bearer Token Provider\n\n```typescript\nimport { DefaultAzureCredential, getBearerTokenProvider } from \"@azure\u002Fidentity\";\n\nconst credential = new DefaultAzureCredential();\n\n\u002F\u002F Create a function that returns tokens\nconst getAccessToken = getBearerTokenProvider(\n  credential,\n  \"https:\u002F\u002Fcognitiveservices.azure.com\u002F.default\"\n);\n\n\u002F\u002F Use with APIs that need bearer tokens\nconst token = await getAccessToken();\n```\n\n## Key Types\n\n```typescript\nimport type { \n  TokenCredential, \n  AccessToken, \n  GetTokenOptions \n} from \"@azure\u002Fcore-auth\";\n\nimport {\n  DefaultAzureCredential,\n  DefaultAzureCredentialOptions,\n  ManagedIdentityCredential,\n  ClientSecretCredential,\n  ClientCertificateCredential,\n  InteractiveBrowserCredential,\n  ChainedTokenCredential,\n  AzureCliCredential,\n  AzurePowerShellCredential,\n  AzureDeveloperCliCredential,\n  DeviceCodeCredential,\n  AzureAuthorityHosts\n} from \"@azure\u002Fidentity\";\n```\n\n## Custom Credential Implementation\n\n```typescript\nimport type { TokenCredential, AccessToken, GetTokenOptions } from \"@azure\u002Fcore-auth\";\n\nclass CustomCredential implements TokenCredential {\n  async getToken(\n    scopes: string | string[],\n    options?: GetTokenOptions\n  ): Promise\u003CAccessToken | null> {\n    \u002F\u002F Custom token acquisition logic\n    return {\n      token: \"\u003Caccess-token>\",\n      expiresOnTimestamp: Date.now() + 3600000\n    };\n  }\n}\n```\n\n## Debugging\n\n```typescript\nimport { setLogLevel, AzureLogger } from \"@azure\u002Flogger\";\n\nsetLogLevel(\"verbose\");\n\n\u002F\u002F Custom log handler\nAzureLogger.log = (...args) => {\n  console.log(\"[Azure]\", ...args);\n};\n```\n\n## Best Practices\n\n1. **Use DefaultAzureCredential** - Works in development (CLI) and production (managed identity)\n2. **Never hardcode credentials** - Use environment variables or managed identity\n3. **Prefer managed identity** - No secrets to manage in production\n4. **Scope credentials appropriately** - Use user-assigned identity for multi-tenant scenarios\n5. **Handle token refresh** - Azure SDK handles this automatically\n6. **Use ChainedTokenCredential** - For custom fallback scenarios\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Azure Identity SDK for TypeScript\n\nAuthenticate to Azure services with various credential types.\n\n## Installation\n\n```bash\nnpm install @azure\u002Fidentity\n```\n\n## Environment Variables\n\n### Service Principal (Secret)\n\n```bash\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_CLIENT_SECRET=\u003Cclient-secret>\n```\n\n### Service Principal (Certificate)\n\n```bash\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_CLIENT_CERTIFICATE_PATH=\u002Fpath\u002Fto\u002Fcert.pem\nAZURE_CLIENT_CERTIFICATE_PASSWORD=\u003Coptional-password>\n```\n\n### Workload Identity (Kubernetes)\n\n```bash\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_FEDERATED_TOKEN_FILE=\u002Fvar\u002Frun\u002Fsecrets\u002Ftokens\u002Fazure-identity\n```\n\n## DefaultAzureCredential (Recommended)\n\n```typescript\nimport { DefaultAzureCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new DefaultAzureCredential();\n\n\u002F\u002F Use with any Azure SDK client\nimport { BlobServiceClient } from \"@azure\u002Fstorage-blob\";\nconst blobClient = new BlobServiceClient(\n  \"https:\u002F\u002F\u003Caccount>.blob.core.windows.net\",\n  credential\n);\n```\n\n**Credential Chain Order:**\n1. EnvironmentCredential\n2. WorkloadIdentityCredential\n3. ManagedIdentityCredential\n4. VisualStudioCodeCredential\n5. AzureCliCredential\n6. AzurePowerShellCredential\n7. AzureDeveloperCliCredential\n\n## Managed Identity\n\n### System-Assigned\n\n```typescript\nimport { ManagedIdentityCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new ManagedIdentityCredential();\n```\n\n### User-Assigned (by Client ID)\n\n```typescript\nconst credential = new ManagedIdentityCredential({\n  clientId: \"\u003Cuser-assigned-client-id>\"\n});\n```\n\n### User-Assigned (by Resource ID)\n\n```typescript\nconst credential = new ManagedIdentityCredential({\n  resourceId: \"\u002Fsubscriptions\u002F\u003Csub>\u002FresourceGroups\u002F\u003Crg>\u002Fproviders\u002FMicrosoft.ManagedIdentity\u002FuserAssignedIdentities\u002F\u003Cname>\"\n});\n```\n\n## Service Principal\n\n### Client Secret\n\n```typescript\nimport { ClientSecretCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new ClientSecretCredential(\n  \"\u003Ctenant-id>\",\n  \"\u003Cclient-id>\",\n  \"\u003Cclient-secret>\"\n);\n```\n\n### Client Certificate\n\n```typescript\nimport { ClientCertificateCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new ClientCertificateCredential(\n  \"\u003Ctenant-id>\",\n  \"\u003Cclient-id>\",\n  { certificatePath: \"\u002Fpath\u002Fto\u002Fcert.pem\" }\n);\n\n\u002F\u002F With password\nconst credentialWithPwd = new ClientCertificateCredential(\n  \"\u003Ctenant-id>\",\n  \"\u003Cclient-id>\",\n  { \n    certificatePath: \"\u002Fpath\u002Fto\u002Fcert.pem\",\n    certificatePassword: \"\u003Cpassword>\"\n  }\n);\n```\n\n## Interactive Authentication\n\n### Browser-Based Login\n\n```typescript\nimport { InteractiveBrowserCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new InteractiveBrowserCredential({\n  clientId: \"\u003Cclient-id>\",\n  tenantId: \"\u003Ctenant-id>\",\n  loginHint: \"user@example.com\"\n});\n```\n\n### Device Code Flow\n\n```typescript\nimport { DeviceCodeCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new DeviceCodeCredential({\n  clientId: \"\u003Cclient-id>\",\n  tenantId: \"\u003Ctenant-id>\",\n  userPromptCallback: (info) => {\n    console.log(info.message);\n    \u002F\u002F \"To sign in, use a web browser to open...\"\n  }\n});\n```\n\n## Custom Credential Chain\n\n```typescript\nimport { \n  ChainedTokenCredential,\n  ManagedIdentityCredential,\n  AzureCliCredential\n} from \"@azure\u002Fidentity\";\n\n\u002F\u002F Try managed identity first, fall back to CLI\nconst credential = new ChainedTokenCredential(\n  new ManagedIdentityCredential(),\n  new AzureCliCredential()\n);\n```\n\n## Developer Credentials\n\n### Azure CLI\n\n```typescript\nimport { AzureCliCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new AzureCliCredential();\n\u002F\u002F Uses: az login\n```\n\n### Azure Developer CLI\n\n```typescript\nimport { AzureDeveloperCliCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new AzureDeveloperCliCredential();\n\u002F\u002F Uses: azd auth login\n```\n\n### Azure PowerShell\n\n```typescript\nimport { AzurePowerShellCredential } from \"@azure\u002Fidentity\";\n\nconst credential = new AzurePowerShellCredential();\n\u002F\u002F Uses: Connect-AzAccount\n```\n\n## Sovereign Clouds\n\n```typescript\nimport { ClientSecretCredential, AzureAuthorityHosts } from \"@azure\u002Fidentity\";\n\n\u002F\u002F Azure Government\nconst credential = new ClientSecretCredential(\n  \"\u003Ctenant>\", \"\u003Cclient>\", \"\u003Csecret>\",\n  { authorityHost: AzureAuthorityHosts.AzureGovernment }\n);\n\n\u002F\u002F Azure China\nconst credentialChina = new ClientSecretCredential(\n  \"\u003Ctenant>\", \"\u003Cclient>\", \"\u003Csecret>\",\n  { authorityHost: AzureAuthorityHosts.AzureChina }\n);\n```\n\n## Bearer Token Provider\n\n```typescript\nimport { DefaultAzureCredential, getBearerTokenProvider } from \"@azure\u002Fidentity\";\n\nconst credential = new DefaultAzureCredential();\n\n\u002F\u002F Create a function that returns tokens\nconst getAccessToken = getBearerTokenProvider(\n  credential,\n  \"https:\u002F\u002Fcognitiveservices.azure.com\u002F.default\"\n);\n\n\u002F\u002F Use with APIs that need bearer tokens\nconst token = await getAccessToken();\n```\n\n## Key Types\n\n```typescript\nimport type { \n  TokenCredential, \n  AccessToken, \n  GetTokenOptions \n} from \"@azure\u002Fcore-auth\";\n\nimport {\n  DefaultAzureCredential,\n  DefaultAzureCredentialOptions,\n  ManagedIdentityCredential,\n  ClientSecretCredential,\n  ClientCertificateCredential,\n  InteractiveBrowserCredential,\n  ChainedTokenCredential,\n  AzureCliCredential,\n  AzurePowerShellCredential,\n  AzureDeveloperCliCredential,\n  DeviceCodeCredential,\n  AzureAuthorityHosts\n} from \"@azure\u002Fidentity\";\n```\n\n## Custom Credential Implementation\n\n```typescript\nimport type { TokenCredential, AccessToken, GetTokenOptions } from \"@azure\u002Fcore-auth\";\n\nclass CustomCredential implements TokenCredential {\n  async getToken(\n    scopes: string | string[],\n    options?: GetTokenOptions\n  ): Promise\u003CAccessToken | null> {\n    \u002F\u002F Custom token acquisition logic\n    return {\n      token: \"\u003Caccess-token>\",\n      expiresOnTimestamp: Date.now() + 3600000\n    };\n  }\n}\n```\n\n## Debugging\n\n```typescript\nimport { setLogLevel, AzureLogger } from \"@azure\u002Flogger\";\n\nsetLogLevel(\"verbose\");\n\n\u002F\u002F Custom log handler\nAzureLogger.log = (...args) => {\n  console.log(\"[Azure]\", ...args);\n};\n```\n\n## Best Practices\n\n1. **Use DefaultAzureCredential** - Works in development (CLI) and production (managed identity)\n2. **Never hardcode credentials** - Use environment variables or managed identity\n3. **Prefer managed identity** - No secrets to manage in production\n4. **Scope credentials appropriately** - Use user-assigned identity for multi-tenant scenarios\n5. **Handle token refresh** - Azure SDK handles this automatically\n6. **Use ChainedTokenCredential** - For custom fallback scenarios\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":35,"source":27,"package":36,"description":7},"unknown","@azure\u002Fidentity","master","dff58085da947e81e8418c922055644bf0082b1b","development\u002Fazure-identity-ts","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills","https:\u002F\u002Fgithub.com\u002Freikiplanet","https:\u002F\u002Fwww.reiki-planet.com","Reiki Planet Game","2026-03-29 06:02:29",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add reikiplanet\u002Fdaoskills --skill azure-identity-ts",{"tool":51,"command":52},"bunx","bunx skills add reikiplanet\u002Fdaoskills --skill azure-identity-ts",{"tool":54,"command":55},"pnpm","pnpm dlx skills add reikiplanet\u002Fdaoskills --skill azure-identity-ts","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fdevelopment\u002Fazure-identity-ts\u002FSKILL.md",true,[],[60,86,98,112,131,154],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":30},"01M6G614JTEQJHPT8AKK3YQ18S","web-games","Web browser game development principles. Framework selection, WebGPU, optimization, PWA.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fweb-games\u002FSKILL.md",[],[67,68,69,70,71,72,27,73,74,75,76,77,78,79,80,81,82,83,84,85],"games","web games","web","grep","principles","selection","framework selection","edit","write","read","pwa","game","web browser","game development","Optimization","framework","browser","development","webgpu",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":30},"01M6G611H2YGV0GZFP90D38ZMJ","vr-ar","VR\u002FAR development principles. Comfort, interaction, performance requirements.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fvr-ar\u002FSKILL.md",[],[93,94,84,95,96,27,74,75,76,70,97,71],"ar","vr ar","interaction","requirements","performance",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":30},"01M6G60XNMHAMV1SV0EJ1CX0AY","templates","Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Ftemplates\u002FSKILL.md",[],[100,105,106,107,108,109,27,26,76,110,111,70],"project scaffolding","From Scratch","tech","project","scaffolding","projects","applications",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":30},"01M6G60T0GATMK3Q5H8GDC1Z8S","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing ac...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fwcag-audit-patterns\u002FSKILL.md",[],[119,120,121,122,123,27,124,29,125,126,26,127,128,129,130],"wcag audit patterns","wcag audit","patterns","WCAG","audit","manual","automated testing","guidance","remediation","verification","accessibility","testing",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":30},"01M6G60PMCHW1FRZ63F931QK3R","vulnerability-scanner","Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fvulnerability-scanner\u002FSKILL.md",[],[138,139,140,141,142,143,144,145,27,76,70,146,71,147,148,149,150,151,152,153],"scanner","vulnerability scanner","vulnerability","prioritization","2025","mapping","chain","supply chain","Bash","analysis","risk","owasp","supply chain security","security","supply","advanced",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":30},"01M6G60JZBB8DK0W3DSG1WNMZK","threat-modeling-expert","Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use for security architecture r...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fthreat-modeling-expert\u002FSKILL.md",[],[161,162,163,164,165,166,167,168,151,26,169,170,171,27,172,173,174,148,175,176],"modeling","threat modeling expert","threat modeling","expert","threat","risk assessment","architecture review","architecture","security architecture review","trees","security architecture","security requirement extraction","assessment","extraction","review","stride"]