[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS428DWHMQ8TJYVNN3RPVZ":3,"skill-same:01M6CS428DWHMQ8TJYVNN3RPVZ":54},{"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":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":36,"ownerHtmlUrl":37,"ownerBlogUrl":6,"ownerDescription":38,"updatedAt":39,"install":40,"resources":53},"01M6CS428DWHMQ8TJYVNN3RPVZ","azure-identity-ts",null,"Authenticate to Azure services with various credential types.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-identity-ts\u002FSKILL.md",[],[19,20,21,22,23,24],"identity","azure","azure identity ts","services","credential","community","2026-11-10 10:12:30",false,"---\nname: azure-identity-ts\ndescription: \"Authenticate to Azure services with various credential types.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\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":30,"source":24,"date_added":31,"description":7},"unknown","2026-02-27","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-identity-ts",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill azure-identity-ts",{"tool":46,"command":47},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill azure-identity-ts",{"tool":49,"command":50},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill azure-identity-ts","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-identity-ts\u002FSKILL.md",true,[],[55,68,84,111,130,157],{"skillNo":56,"name":57,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":65,"publishedAt":25},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[60],{"categoryNo":61,"categoryName":62,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[66,67],"Test Skill","test",{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":25},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[75,76,77,78,79,80,81,24,82,83],"zustand store ts","zustand","store","with","types","middleware","patterns","create","typescript",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":93,"publishedAt":25},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[90],{"categoryNo":91,"categoryName":92,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000023","Skill与智能体开发",[94,95,96,97,98,99,100,101,102,103,104,105,106,107,24,108,109,110],"automation","zoom automation","zoom","first","Tools","search","MCP","via","meeting","automate","critical","creation","webinars","composio","recordings","management","tracking",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":118,"publishedAt":25},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[117],{"categoryNo":91,"categoryName":92,"taxonomyType":63,"taxonomyTypeDesc":64},[119,94,120,121,122,123,124,24,99,125,107,126,104,103,98,127,82,128,100,129],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks","manage",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":25},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000009","前端开发",[140,141,142,143,144,83,145,146,147,148,149,150,78,151,152,153,154,24,155,156],"expert","zod","zod validation expert","validation","react","safe","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":25},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[163],{"categoryNo":91,"categoryName":92,"taxonomyType":63,"taxonomyTypeDesc":64},[165,166,167,168,169,170,171,172,24,173,174,175,176,177,178,179,180,181,182,100],"zeroize audit","audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","verification","code","rust"]