[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H61SFE5XDFM91SY0FDPT21":3,"skill-same:01M6H61SFE5XDFM91SY0FDPT21":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M6H61SFE5XDFM91SY0FDPT21","databricks-security-basics",null,"Apply Databricks security best practices for secrets and access control.\nUse when securing API tokens, implementing least privilege access,\nor auditing Databricks security configuration.\nTrigger with phrases like \"databricks security\", \"databricks secrets\",\n\"secure databricks\", \"databricks token security\", \"databricks scopes\".","micsapp\u002Fmicstec-skills","micsapp","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F82411001?v=4","01M6GWCFQ6D3PV8EHNY62NN5VW","01M6GWCFVE1PA5HG0DKC7AMFJ3",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fdatabricks-pack\u002Fskills\u002Fdatabricks-security-basics\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"security","databricks","databricks security basics","basics","for","openclaw","implementing","trigger","io","Access Control","token","write","read","access","Bash","secrets","api","security best practices","code","secure","2026-11-10 10:12:30",false,"---\nname: databricks-security-basics\ndescription: |\n  Apply Databricks security best practices for secrets and access control.\n  Use when securing API tokens, implementing least privilege access,\n  or auditing Databricks security configuration.\n  Trigger with phrases like \"databricks security\", \"databricks secrets\",\n  \"secure databricks\", \"databricks token security\", \"databricks scopes\".\nallowed-tools: Read, Write, Grep, Bash(databricks:*)\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\n---\n# Databricks Security Basics\n\n## Overview\nSecurity best practices for Databricks tokens, secrets, and access control.\n\n## Prerequisites\n- Databricks CLI installed\n- Workspace admin access (for secrets management)\n- Understanding of Unity Catalog\n\n## Instructions\n\n### Step 1: Configure Secret Scopes\n```bash\n# Create a secret scope (Databricks-backed)\ndatabricks secrets create-scope my-app-secrets\n\n# Create a secret scope (Azure Key Vault-backed)\ndatabricks secrets create-scope azure-secrets \\\n  --scope-backend-type AZURE_KEYVAULT \\\n  --resource-id \"\u002Fsubscriptions\u002F...\u002Fvaults\u002Fmy-vault\" \\\n  --dns-name \"https:\u002F\u002Fmy-vault.vault.azure.net\u002F\"\n\n# List scopes\ndatabricks secrets list-scopes\n```\n\n### Step 2: Store Secrets\n```bash\n# Store a secret\ndatabricks secrets put-secret my-app-secrets db-password\n\n# Store from file (for multi-line secrets)\ndatabricks secrets put-secret my-app-secrets api-key --string-value \"sk_live_...\"\n\n# List secrets in scope (values are hidden)\ndatabricks secrets list-secrets my-app-secrets\n```\n\n### Step 3: Access Secrets in Code\n```python\n# In notebooks and jobs\ndb_password = dbutils.secrets.get(scope=\"my-app-secrets\", key=\"db-password\")\napi_key = dbutils.secrets.get(scope=\"my-app-secrets\", key=\"api-key\")\n\n# Secrets are redacted in logs\nprint(f\"Password: {db_password}\")  # Shows [REDACTED]\n\n# Use in connection strings\njdbc_url = f\"jdbc:postgresql:\u002F\u002Fhost:5432\u002Fdb?user=app&password={db_password}\"  # 5432: PostgreSQL port\n```\n\n### Step 4: Secret Scope ACLs\n```bash\n# Grant read access to a user\ndatabricks secrets put-acl my-app-secrets user@company.com READ\n\n# Grant manage access to a group\ndatabricks secrets put-acl my-app-secrets data-engineers MANAGE\n\n# List ACLs\ndatabricks secrets list-acls my-app-secrets\n```\n\n### Step 5: Token Management\n```python\n# src\u002Fdatabricks\u002Ftokens.py\nfrom databricks.sdk import WorkspaceClient\nfrom datetime import datetime, timedelta\n\ndef audit_tokens(w: WorkspaceClient) -> list[dict]:\n    \"\"\"Audit all tokens in workspace for security review.\"\"\"\n    tokens = list(w.tokens.list())\n\n    token_audit = []\n    for token in tokens:\n        created = datetime.fromtimestamp(token.creation_time \u002F 1000)  # 1000: 1 second in ms\n        expiry = datetime.fromtimestamp(token.expiry_time \u002F 1000) if token.expiry_time else None  # 1 second in ms\n\n        token_audit.append({\n            \"token_id\": token.token_id,\n            \"comment\": token.comment,\n            \"created\": created,\n            \"expires\": expiry,\n            \"days_until_expiry\": (expiry - datetime.now()).days if expiry else None,\n            \"is_expired\": expiry \u003C datetime.now() if expiry else False,\n            \"needs_rotation\": expiry and (expiry - datetime.now()).days \u003C 30 if expiry else True,\n        })\n\n    return token_audit\n\ndef rotate_token(w: WorkspaceClient, old_token_id: str, lifetime_days: int = 90) -> str:\n    \"\"\"Rotate a token by creating new and deleting old.\"\"\"\n    # Create new token\n    new_token = w.tokens.create(\n        comment=f\"Rotated token - {datetime.now().isoformat()}\",\n        lifetime_seconds=lifetime_days * 24 * 60 * 60,\n    )\n\n    # Delete old token\n    w.tokens.delete(token_id=old_token_id)\n\n    return new_token.token_value\n```\n\n### Step 6: Implement Least Privilege\n```python\n# Environment-specific permissions\npermission_matrix = {\n    \"development\": {\n        \"cluster_access\": \"CAN_ATTACH_TO\",\n        \"job_access\": \"CAN_MANAGE_RUN\",\n        \"notebook_access\": \"CAN_EDIT\",\n    },\n    \"staging\": {\n        \"cluster_access\": \"CAN_RESTART\",\n        \"job_access\": \"CAN_MANAGE_RUN\",\n        \"notebook_access\": \"CAN_READ\",\n    },\n    \"production\": {\n        \"cluster_access\": \"CAN_ATTACH_TO\",  # Read-only\n        \"job_access\": \"CAN_VIEW\",\n        \"notebook_access\": \"CAN_READ\",\n    },\n}\n\ndef apply_environment_permissions(\n    w: WorkspaceClient,\n    environment: str,\n    user_email: str,\n    resource_type: str,\n    resource_id: str,\n) -> None:\n    \"\"\"Apply environment-appropriate permissions.\"\"\"\n    perms = permission_matrix[environment]\n\n    if resource_type == \"cluster\":\n        w.permissions.update(\n            object_type=\"clusters\",\n            object_id=resource_id,\n            access_control_list=[{\n                \"user_name\": user_email,\n                \"permission_level\": perms[\"cluster_access\"],\n            }]\n        )\n```\n\n## Output\n- Secret scopes configured\n- Secrets stored securely\n- Token rotation procedures\n- Least privilege access\n\n## Error Handling\n| Security Issue | Detection | Mitigation |\n|----------------|-----------|------------|\n| Exposed token | Audit logs | Immediate rotation |\n| Excessive scopes | Permission audit | Reduce to minimum |\n| No token expiry | Token audit | Set 90-day max lifetime |\n| Shared credentials | Usage patterns | Individual service principals |\n\n## Examples\n\n### Security Audit Script\n```python\nfrom databricks.sdk import WorkspaceClient\n\ndef security_audit(w: WorkspaceClient) -> dict:\n    \"\"\"Run comprehensive security audit.\"\"\"\n    audit_results = {\n        \"tokens\": [],\n        \"secrets\": [],\n        \"permissions\": [],\n        \"findings\": [],\n    }\n\n    # Audit tokens\n    for token in w.tokens.list():\n        if not token.expiry_time:\n            audit_results[\"findings\"].append({\n                \"severity\": \"HIGH\",\n                \"type\": \"token_no_expiry\",\n                \"detail\": f\"Token {token.comment} has no expiration\",\n            })\n\n    # Audit secret scopes\n    for scope in w.secrets.list_scopes():\n        acls = list(w.secrets.list_acls(scope=scope.name))\n        if not acls:\n            audit_results[\"findings\"].append({\n                \"severity\": \"MEDIUM\",\n                \"type\": \"scope_no_acl\",\n                \"detail\": f\"Scope {scope.name} has no ACLs\",\n            })\n\n    return audit_results\n```\n\n### Service Principal Setup (Azure)\n```bash\n# Create service principal in Azure AD\naz ad sp create-for-rbac --name databricks-cicd\n\n# Add to Databricks workspace (Admin Console or SCIM API)\ndatabricks service-principals create \\\n  --json '{\n    \"display_name\": \"CI\u002FCD Pipeline\",\n    \"application_id\": \"your-azure-app-id\"\n  }'\n\n# Grant permissions\ndatabricks permissions update jobs --job-id 123 --json '{\n  \"access_control_list\": [{\n    \"service_principal_name\": \"your-azure-app-id\",\n    \"permission_level\": \"CAN_MANAGE\"\n  }]\n}'\n```\n\n### Unity Catalog Security\n```sql\n-- Create secure group\nCREATE GROUP IF NOT EXISTS `data-scientists`;\n\n-- Grant schema access (not table-level for simplicity)\nGRANT USAGE ON CATALOG main TO `data-scientists`;\nGRANT USAGE ON SCHEMA main.analytics TO `data-scientists`;\nGRANT SELECT ON SCHEMA main.analytics TO `data-scientists`;\n\n-- Audit grants\nSHOW GRANTS ON SCHEMA main.analytics;\n\n-- Row-level security\nALTER TABLE main.analytics.customers\nSET ROW FILTER customer_region_filter ON (region);\n```\n\n### Security Checklist\n- [ ] Personal access tokens have expiration dates\n- [ ] Secrets stored in Databricks Secret Scopes\n- [ ] No hardcoded credentials in notebooks\n- [ ] Service principals for automation\n- [ ] Unity Catalog for data governance\n- [ ] Audit logging enabled\n- [ ] Network security (IP access lists)\n- [ ] Cluster policies enforced\n\n## Resources\n- [Databricks Security Guide](https:\u002F\u002Fdocs.databricks.com\u002Fsecurity\u002Findex.html)\n- [Secret Management](https:\u002F\u002Fdocs.databricks.com\u002Fsecurity\u002Fsecrets\u002Findex.html)\n- [Unity Catalog Security](https:\u002F\u002Fdocs.databricks.com\u002Fdata-governance\u002Funity-catalog\u002Findex.html)\n- [Token Management](https:\u002F\u002Fdocs.databricks.com\u002Fdev-tools\u002Fauth.html)\n\n## Next Steps\nFor production deployment, see `databricks-prod-checklist`.","# Databricks Security Basics\n\n## Overview\nSecurity best practices for Databricks tokens, secrets, and access control.\n\n## Prerequisites\n- Databricks CLI installed\n- Workspace admin access (for secrets management)\n- Understanding of Unity Catalog\n\n## Instructions\n\n### Step 1: Configure Secret Scopes\n```bash\n# Create a secret scope (Databricks-backed)\ndatabricks secrets create-scope my-app-secrets\n\n# Create a secret scope (Azure Key Vault-backed)\ndatabricks secrets create-scope azure-secrets \\\n  --scope-backend-type AZURE_KEYVAULT \\\n  --resource-id \"\u002Fsubscriptions\u002F...\u002Fvaults\u002Fmy-vault\" \\\n  --dns-name \"https:\u002F\u002Fmy-vault.vault.azure.net\u002F\"\n\n# List scopes\ndatabricks secrets list-scopes\n```\n\n### Step 2: Store Secrets\n```bash\n# Store a secret\ndatabricks secrets put-secret my-app-secrets db-password\n\n# Store from file (for multi-line secrets)\ndatabricks secrets put-secret my-app-secrets api-key --string-value \"sk_live_...\"\n\n# List secrets in scope (values are hidden)\ndatabricks secrets list-secrets my-app-secrets\n```\n\n### Step 3: Access Secrets in Code\n```python\n# In notebooks and jobs\ndb_password = dbutils.secrets.get(scope=\"my-app-secrets\", key=\"db-password\")\napi_key = dbutils.secrets.get(scope=\"my-app-secrets\", key=\"api-key\")\n\n# Secrets are redacted in logs\nprint(f\"Password: {db_password}\")  # Shows [REDACTED]\n\n# Use in connection strings\njdbc_url = f\"jdbc:postgresql:\u002F\u002Fhost:5432\u002Fdb?user=app&password={db_password}\"  # 5432: PostgreSQL port\n```\n\n### Step 4: Secret Scope ACLs\n```bash\n# Grant read access to a user\ndatabricks secrets put-acl my-app-secrets user@company.com READ\n\n# Grant manage access to a group\ndatabricks secrets put-acl my-app-secrets data-engineers MANAGE\n\n# List ACLs\ndatabricks secrets list-acls my-app-secrets\n```\n\n### Step 5: Token Management\n```python\n# src\u002Fdatabricks\u002Ftokens.py\nfrom databricks.sdk import WorkspaceClient\nfrom datetime import datetime, timedelta\n\ndef audit_tokens(w: WorkspaceClient) -> list[dict]:\n    \"\"\"Audit all tokens in workspace for security review.\"\"\"\n    tokens = list(w.tokens.list())\n\n    token_audit = []\n    for token in tokens:\n        created = datetime.fromtimestamp(token.creation_time \u002F 1000)  # 1000: 1 second in ms\n        expiry = datetime.fromtimestamp(token.expiry_time \u002F 1000) if token.expiry_time else None  # 1 second in ms\n\n        token_audit.append({\n            \"token_id\": token.token_id,\n            \"comment\": token.comment,\n            \"created\": created,\n            \"expires\": expiry,\n            \"days_until_expiry\": (expiry - datetime.now()).days if expiry else None,\n            \"is_expired\": expiry \u003C datetime.now() if expiry else False,\n            \"needs_rotation\": expiry and (expiry - datetime.now()).days \u003C 30 if expiry else True,\n        })\n\n    return token_audit\n\ndef rotate_token(w: WorkspaceClient, old_token_id: str, lifetime_days: int = 90) -> str:\n    \"\"\"Rotate a token by creating new and deleting old.\"\"\"\n    # Create new token\n    new_token = w.tokens.create(\n        comment=f\"Rotated token - {datetime.now().isoformat()}\",\n        lifetime_seconds=lifetime_days * 24 * 60 * 60,\n    )\n\n    # Delete old token\n    w.tokens.delete(token_id=old_token_id)\n\n    return new_token.token_value\n```\n\n### Step 6: Implement Least Privilege\n```python\n# Environment-specific permissions\npermission_matrix = {\n    \"development\": {\n        \"cluster_access\": \"CAN_ATTACH_TO\",\n        \"job_access\": \"CAN_MANAGE_RUN\",\n        \"notebook_access\": \"CAN_EDIT\",\n    },\n    \"staging\": {\n        \"cluster_access\": \"CAN_RESTART\",\n        \"job_access\": \"CAN_MANAGE_RUN\",\n        \"notebook_access\": \"CAN_READ\",\n    },\n    \"production\": {\n        \"cluster_access\": \"CAN_ATTACH_TO\",  # Read-only\n        \"job_access\": \"CAN_VIEW\",\n        \"notebook_access\": \"CAN_READ\",\n    },\n}\n\ndef apply_environment_permissions(\n    w: WorkspaceClient,\n    environment: str,\n    user_email: str,\n    resource_type: str,\n    resource_id: str,\n) -> None:\n    \"\"\"Apply environment-appropriate permissions.\"\"\"\n    perms = permission_matrix[environment]\n\n    if resource_type == \"cluster\":\n        w.permissions.update(\n            object_type=\"clusters\",\n            object_id=resource_id,\n            access_control_list=[{\n                \"user_name\": user_email,\n                \"permission_level\": perms[\"cluster_access\"],\n            }]\n        )\n```\n\n## Output\n- Secret scopes configured\n- Secrets stored securely\n- Token rotation procedures\n- Least privilege access\n\n## Error Handling\n| Security Issue | Detection | Mitigation |\n|----------------|-----------|------------|\n| Exposed token | Audit logs | Immediate rotation |\n| Excessive scopes | Permission audit | Reduce to minimum |\n| No token expiry | Token audit | Set 90-day max lifetime |\n| Shared credentials | Usage patterns | Individual service principals |\n\n## Examples\n\n### Security Audit Script\n```python\nfrom databricks.sdk import WorkspaceClient\n\ndef security_audit(w: WorkspaceClient) -> dict:\n    \"\"\"Run comprehensive security audit.\"\"\"\n    audit_results = {\n        \"tokens\": [],\n        \"secrets\": [],\n        \"permissions\": [],\n        \"findings\": [],\n    }\n\n    # Audit tokens\n    for token in w.tokens.list():\n        if not token.expiry_time:\n            audit_results[\"findings\"].append({\n                \"severity\": \"HIGH\",\n                \"type\": \"token_no_expiry\",\n                \"detail\": f\"Token {token.comment} has no expiration\",\n            })\n\n    # Audit secret scopes\n    for scope in w.secrets.list_scopes():\n        acls = list(w.secrets.list_acls(scope=scope.name))\n        if not acls:\n            audit_results[\"findings\"].append({\n                \"severity\": \"MEDIUM\",\n                \"type\": \"scope_no_acl\",\n                \"detail\": f\"Scope {scope.name} has no ACLs\",\n            })\n\n    return audit_results\n```\n\n### Service Principal Setup (Azure)\n```bash\n# Create service principal in Azure AD\naz ad sp create-for-rbac --name databricks-cicd\n\n# Add to Databricks workspace (Admin Console or SCIM API)\ndatabricks service-principals create \\\n  --json '{\n    \"display_name\": \"CI\u002FCD Pipeline\",\n    \"application_id\": \"your-azure-app-id\"\n  }'\n\n# Grant permissions\ndatabricks permissions update jobs --job-id 123 --json '{\n  \"access_control_list\": [{\n    \"service_principal_name\": \"your-azure-app-id\",\n    \"permission_level\": \"CAN_MANAGE\"\n  }]\n}'\n```\n\n### Unity Catalog Security\n```sql\n-- Create secure group\nCREATE GROUP IF NOT EXISTS `data-scientists`;\n\n-- Grant schema access (not table-level for simplicity)\nGRANT USAGE ON CATALOG main TO `data-scientists`;\nGRANT USAGE ON SCHEMA main.analytics TO `data-scientists`;\nGRANT SELECT ON SCHEMA main.analytics TO `data-scientists`;\n\n-- Audit grants\nSHOW GRANTS ON SCHEMA main.analytics;\n\n-- Row-level security\nALTER TABLE main.analytics.customers\nSET ROW FILTER customer_region_filter ON (region);\n```\n\n### Security Checklist\n- [ ] Personal access tokens have expiration dates\n- [ ] Secrets stored in Databricks Secret Scopes\n- [ ] No hardcoded credentials in notebooks\n- [ ] Service principals for automation\n- [ ] Unity Catalog for data governance\n- [ ] Audit logging enabled\n- [ ] Network security (IP access lists)\n- [ ] Cluster policies enforced\n\n## Resources\n- [Databricks Security Guide](https:\u002F\u002Fdocs.databricks.com\u002Fsecurity\u002Findex.html)\n- [Secret Management](https:\u002F\u002Fdocs.databricks.com\u002Fsecurity\u002Fsecrets\u002Findex.html)\n- [Unity Catalog Security](https:\u002F\u002Fdocs.databricks.com\u002Fdata-governance\u002Funity-catalog\u002Findex.html)\n- [Token Management](https:\u002F\u002Fdocs.databricks.com\u002Fdev-tools\u002Fauth.html)\n\n## Next Steps\nFor production deployment, see `databricks-prod-checklist`.",{"name":5,"author":48,"license":14,"version":49,"description":50,"allowed-tools":51,"compatible-with":52},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Apply Databricks security best practices for secrets and access control.\nUse when securing API tokens, implementing least privilege access,\nor auditing Databricks security configuration.\nTrigger with phrases like \"databricks security\", \"databricks secrets\",\n\"secure databricks\", \"databricks token security\", \"databricks scopes\".\n","Read, Write, Grep, Bash(databricks:*)","claude-code, codex, openclaw","master","3f5d983eb4ef375b749adcd6b07ec03bd82ae8a8","claude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fdatabricks-pack\u002Fskills\u002Fdatabricks-security-basics",0,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills","https:\u002F\u002Fgithub.com\u002Fmicsapp","2026-03-20 11:24:18",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add micsapp\u002Fmicstec-skills --skill databricks-security-basics",{"tool":66,"command":67},"bunx","bunx skills add micsapp\u002Fmicstec-skills --skill databricks-security-basics",{"tool":69,"command":70},"pnpm","pnpm dlx skills add micsapp\u002Fmicstec-skills --skill databricks-security-basics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fdatabricks-pack\u002Fskills\u002Fdatabricks-security-basics\u002FSKILL.md",true,[],[75,106,134,152,172,196],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":87,"publishedAt":43},"01M6HBTJ02FXBFG9NYEHHYAP52","azure-apim-architecture","Analyzes and explains Azure API Management architecture decisions for enterprise API marketplace implementations using VNet Internal mode, Front Door, hybrid authentication, and multi-environment strategies. Use when discussing APIM component selection, network topology, cost optimization, or comparing alternatives like workspaces vs instances, VNet Internal vs External mode, or Front Door vs Application Gateway.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fazure-apim-architecture\u002FSKILL.md",[81,86],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[88,89,90,91,92,93,94,95,96,39,97,98,99,100,101,102,103,104,105,27],"architecture","azure","azure apim architecture","component","authentication","gateway","topology","Optimization","network","team","environment","multi-environment","workspaces","instances","selection","strategies","azure api management","mode",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":120,"publishedAt":43},"01M6HBT7J4H082JEEA670B3EQ9","apiops-deployment","Guides deployment of Azure API Management infrastructure using Infrastructure as Code (Bicep\u002FTerraform), CI\u002FCD pipelines (GitHub Actions\u002FAzure DevOps), and APIOps workflows. Use when deploying APIM, creating pipelines, or implementing dev→test→prod promotion strategies.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapiops-deployment\u002FSKILL.md",[112,113,116,119],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},{"categoryNo":114,"categoryName":115,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":117,"categoryName":118,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[121,122,123,124,89,125,41,126,127,128,129,130,39,97,103,131,132,104,133,29],"deployment","apiops deployment","workflows","azure devops","infrastructure","infrastructure as code","actions","ci","github actions","github-actions","as","guides","CI\u002FCD",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":141,"publishedAt":43},"01M6HBT2HEA23THNE9E00GYQBE","apim-policy-authoring","Creates production-ready Azure API Management policy XML for authentication (OAuth 2.0, JWT validation, subscription keys), rate limiting, CORS configuration, error handling, and API transformations. Use when implementing API security, access control, or request\u002Fresponse processing logic.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapim-policy-authoring\u002FSKILL.md",[140],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},[142,143,144,23,89,92,39,97,36,145,146,147,32,148,149,104,150,151,29,27],"policy","authoring","apim policy authoring","use","ready","api security","error","processing","cors configuration","production-ready",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":160,"publishedAt":43},"01M6HBSY65SB29J9WE9KYD0K6T","api-security-review","Reviews Azure API Management configurations for security vulnerabilities, OWASP API Security Top 10 compliance, VNet Internal mode validation, Private Link verification, and Azure Security Benchmark alignment. Use when performing security audits, pre-deployment validation, or compliance reviews.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapi-security-review\u002FSKILL.md",[158,159],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[161,23,162,39,147,163,89,121,164,165,166,167,97,168,104,169,170,171,105,27],"review","security review","api security review","benchmark","verification","owasp","owasp-api","alignment","azure security","reviews","top",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":43},"01M6HBSRW4PDFE6K4F8JYPZQ05","jira-cli","Interact with Jira from the command line to create, list, view, edit, and transition issues, manage sprints and epics, and perform common Jira workflows. Use when the user asks about Jira tasks, tickets, issues, sprints, or needs to manage project work items.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fjira-cli\u002FSKILL.md",[],[179,180,181,123,182,183,184,185,39,186,187,188,189,190,191,192,193,33,194,195],"cli","jira","jira cli","init","tasks","create","issues","common","work","command","edit","list","view","project","project work","line","sprints",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":202,"publishedAt":43},"01M6HBSNS3JHMW603G47TWE31H","calculator","Performs arbitrary-precision arithmetic calculations including addition, subtraction, multiplication, division, and exponents. Use when the user asks to calculate, compute, or evaluate math expressions, or when precise decimal arithmetic is needed to avoid floating-point errors.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fcalculator\u002FSKILL.md",[],[198,203,204,205,206,207,208,145,209,210],"npm","js","calculate","node","math","user","compute","errors"]