[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F6AT12JRH2F0GK3CHVCWPS":3,"skill-same:01M6F6AT12JRH2F0GK3CHVCWPS":81},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":63,"ownerHtmlUrl":64,"ownerBlogUrl":6,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6F6AT12JRH2F0GK3CHVCWPS","abridge-deploy-integration",null,"Deploy Abridge clinical AI integration to HIPAA-compliant cloud infrastructure.\nUse when deploying to GCP Cloud Run, AWS ECS, or Azure Container Apps\nwith healthcare-grade secrets management and compliance controls.\nTrigger: \"deploy abridge\", \"abridge production deploy\", \"abridge Cloud Run\",\n\"abridge AWS deploy\", \"abridge HIPAA infrastructure\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fabridge-deploy-integration\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"abridge deploy integration","abridge","integration","deploy","write","ecs","apps","io","clinical","azure container apps","aws ecs","edit","read","Bash","healthcare","secrets","secrets management","gcp","code","run","2026-11-10 10:12:30",false,"---\nname: abridge-deploy-integration\ndescription: |\n  Deploy Abridge clinical AI integration to HIPAA-compliant cloud infrastructure.\n  Use when deploying to GCP Cloud Run, AWS ECS, or Azure Container Apps\n  with healthcare-grade secrets management and compliance controls.\n  Trigger: \"deploy abridge\", \"abridge production deploy\", \"abridge Cloud Run\",\n  \"abridge AWS deploy\", \"abridge HIPAA infrastructure\".\nallowed-tools: Read, Write, Edit, Bash(gcloud:*), Bash(docker:*), Bash(aws:*)\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, healthcare, ai, abridge, deployment]\ncompatible-with: claude-code\n---\n\n# Abridge Deploy Integration\n\n## Overview\n\nDeploy Abridge clinical AI integration to HIPAA-compliant cloud infrastructure. Healthcare deployments require BAA-covered cloud services, encrypted secrets, audit trails, and VPC-restricted networking.\n\n## Prerequisites\n\n- Completed `abridge-prod-checklist`\n- BAA-covered cloud account (GCP, AWS, or Azure)\n- Container registry access\n- Abridge production credentials from partner portal\n\n## Instructions\n\n### Step 1: HIPAA-Compliant Dockerfile\n\n```dockerfile\n# Dockerfile\nFROM node:20-slim AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci --only=production\nCOPY . .\nRUN npm run build\n\nFROM node:20-slim\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n  ca-certificates curl && rm -rf \u002Fvar\u002Flib\u002Fapt\u002Flists\u002F*\n\n# Run as non-root (HIPAA best practice)\nRUN groupadd -r abridge && useradd -r -g abridge abridge\nWORKDIR \u002Fapp\nCOPY --from=builder \u002Fapp\u002Fdist .\u002Fdist\nCOPY --from=builder \u002Fapp\u002Fnode_modules .\u002Fnode_modules\nCOPY --from=builder \u002Fapp\u002Fpackage.json .\u002F\n\nUSER abridge\nEXPOSE 3000\nHEALTHCHECK --interval=30s --timeout=5s --retries=3 \\\n  CMD curl -f http:\u002F\u002Flocalhost:3000\u002Fhealth || exit 1\nCMD [\"node\", \"dist\u002Fserver.js\"]\n```\n\n### Step 2: GCP Cloud Run Deployment (HIPAA BAA)\n\n```bash\n#!\u002Fbin\u002Fbash\n# deploy-cloud-run.sh\n\nPROJECT_ID=\"${GCP_PROJECT_ID}\"\nSERVICE_NAME=\"abridge-integration\"\nREGION=\"us-central1\"\n\n# Build container\ngcloud builds submit --tag \"gcr.io\u002F${PROJECT_ID}\u002F${SERVICE_NAME}\"\n\n# Deploy to Cloud Run with HIPAA controls\ngcloud run deploy \"${SERVICE_NAME}\" \\\n  --image \"gcr.io\u002F${PROJECT_ID}\u002F${SERVICE_NAME}\" \\\n  --region \"${REGION}\" \\\n  --platform managed \\\n  --no-allow-unauthenticated \\\n  --min-instances 1 \\\n  --max-instances 10 \\\n  --memory 1Gi \\\n  --cpu 2 \\\n  --timeout 120 \\\n  --set-secrets=\"ABRIDGE_CLIENT_SECRET=abridge-client-secret:latest,ABRIDGE_ORG_ID=abridge-org-id:latest,EPIC_CLIENT_SECRET=epic-client-secret:latest\" \\\n  --vpc-connector \"projects\u002F${PROJECT_ID}\u002Flocations\u002F${REGION}\u002Fconnectors\u002Fabridge-vpc\" \\\n  --vpc-egress all-traffic \\\n  --set-env-vars=\"NODE_ENV=production,NODE_TLS_MIN_VERSION=TLSv1.3,AUDIT_LOG_ENABLED=true\"\n\n# Verify health\nSERVICE_URL=$(gcloud run services describe \"${SERVICE_NAME}\" --region=\"${REGION}\" --format='value(status.url)')\ncurl -s \"${SERVICE_URL}\u002Fhealth\" -H \"Authorization: Bearer $(gcloud auth print-identity-token)\"\n```\n\n### Step 3: Health Check Endpoint\n\n```typescript\n\u002F\u002F src\u002Fserver\u002Fhealth.ts\nimport express from 'express';\n\nconst app = express();\n\napp.get('\u002Fhealth', async (req, res) => {\n  const checks = {\n    server: 'healthy',\n    abridge: await checkAbridgeApi(),\n    fhir: await checkFhirEndpoint(),\n    timestamp: new Date().toISOString(),\n  };\n\n  const allHealthy = Object.values(checks).every(v => v === 'healthy' || typeof v === 'string');\n  res.status(allHealthy ? 200 : 503).json(checks);\n});\n\nasync function checkAbridgeApi(): Promise\u003Cstring> {\n  try {\n    const res = await fetch(`${process.env.ABRIDGE_BASE_URL}\u002Fhealth`, {\n      headers: { 'Authorization': `Bearer ${process.env.ABRIDGE_CLIENT_SECRET}` },\n      signal: AbortSignal.timeout(3000),\n    });\n    return res.ok ? 'healthy' : 'degraded';\n  } catch { return 'unhealthy'; }\n}\n\nasync function checkFhirEndpoint(): Promise\u003Cstring> {\n  try {\n    const res = await fetch(`${process.env.EPIC_FHIR_BASE_URL}\u002Fmetadata`, {\n      signal: AbortSignal.timeout(3000),\n    });\n    return res.ok ? 'healthy' : 'degraded';\n  } catch { return 'unhealthy'; }\n}\n\napp.listen(3000, () => console.log('Abridge integration server on :3000'));\n```\n\n### Step 4: GCP Secret Manager Setup\n\n```bash\n# Create secrets (one-time setup)\necho -n \"partner_secret_here\" | gcloud secrets create abridge-client-secret --data-file=-\necho -n \"org_id_here\" | gcloud secrets create abridge-org-id --data-file=-\necho -n \"epic_secret_here\" | gcloud secrets create epic-client-secret --data-file=-\n\n# Grant Cloud Run service account access\nSA=\"abridge-integration@${GCP_PROJECT_ID}.iam.gserviceaccount.com\"\ngcloud secrets add-iam-policy-binding abridge-client-secret \\\n  --member=\"serviceAccount:${SA}\" --role=\"roles\u002Fsecretmanager.secretAccessor\"\n```\n\n## Output\n\n- HIPAA-compliant Docker image with non-root user\n- Cloud Run deployment with VPC connector and TLS 1.3\n- Health check endpoint monitoring Abridge + FHIR\n- Secrets managed via GCP Secret Manager\n\n## Error Handling\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| Deploy rejected | Missing BAA | Sign Google Cloud BAA first |\n| Secret access denied | IAM misconfigured | Grant secretAccessor role to service account |\n| Health check fails | Cold start latency | Set min-instances to 1 |\n| VPC connector error | Not created | Create VPC connector in same region |\n\n## Resources\n\n- [GCP HIPAA Compliance](https:\u002F\u002Fcloud.google.com\u002Fsecurity\u002Fcompliance\u002Fhipaa\u002F)\n- [Cloud Run Secrets](https:\u002F\u002Fcloud.google.com\u002Frun\u002Fdocs\u002Fconfiguring\u002Fsecrets)\n- [Abridge Platform](https:\u002F\u002Fwww.abridge.com\u002Fproduct)\n\n## Next Steps\n\nFor webhook event handling, see `abridge-webhooks-events`.\n\n","# Abridge Deploy Integration\n\n## Overview\n\nDeploy Abridge clinical AI integration to HIPAA-compliant cloud infrastructure. Healthcare deployments require BAA-covered cloud services, encrypted secrets, audit trails, and VPC-restricted networking.\n\n## Prerequisites\n\n- Completed `abridge-prod-checklist`\n- BAA-covered cloud account (GCP, AWS, or Azure)\n- Container registry access\n- Abridge production credentials from partner portal\n\n## Instructions\n\n### Step 1: HIPAA-Compliant Dockerfile\n\n```dockerfile\n# Dockerfile\nFROM node:20-slim AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci --only=production\nCOPY . .\nRUN npm run build\n\nFROM node:20-slim\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n  ca-certificates curl && rm -rf \u002Fvar\u002Flib\u002Fapt\u002Flists\u002F*\n\n# Run as non-root (HIPAA best practice)\nRUN groupadd -r abridge && useradd -r -g abridge abridge\nWORKDIR \u002Fapp\nCOPY --from=builder \u002Fapp\u002Fdist .\u002Fdist\nCOPY --from=builder \u002Fapp\u002Fnode_modules .\u002Fnode_modules\nCOPY --from=builder \u002Fapp\u002Fpackage.json .\u002F\n\nUSER abridge\nEXPOSE 3000\nHEALTHCHECK --interval=30s --timeout=5s --retries=3 \\\n  CMD curl -f http:\u002F\u002Flocalhost:3000\u002Fhealth || exit 1\nCMD [\"node\", \"dist\u002Fserver.js\"]\n```\n\n### Step 2: GCP Cloud Run Deployment (HIPAA BAA)\n\n```bash\n#!\u002Fbin\u002Fbash\n# deploy-cloud-run.sh\n\nPROJECT_ID=\"${GCP_PROJECT_ID}\"\nSERVICE_NAME=\"abridge-integration\"\nREGION=\"us-central1\"\n\n# Build container\ngcloud builds submit --tag \"gcr.io\u002F${PROJECT_ID}\u002F${SERVICE_NAME}\"\n\n# Deploy to Cloud Run with HIPAA controls\ngcloud run deploy \"${SERVICE_NAME}\" \\\n  --image \"gcr.io\u002F${PROJECT_ID}\u002F${SERVICE_NAME}\" \\\n  --region \"${REGION}\" \\\n  --platform managed \\\n  --no-allow-unauthenticated \\\n  --min-instances 1 \\\n  --max-instances 10 \\\n  --memory 1Gi \\\n  --cpu 2 \\\n  --timeout 120 \\\n  --set-secrets=\"ABRIDGE_CLIENT_SECRET=abridge-client-secret:latest,ABRIDGE_ORG_ID=abridge-org-id:latest,EPIC_CLIENT_SECRET=epic-client-secret:latest\" \\\n  --vpc-connector \"projects\u002F${PROJECT_ID}\u002Flocations\u002F${REGION}\u002Fconnectors\u002Fabridge-vpc\" \\\n  --vpc-egress all-traffic \\\n  --set-env-vars=\"NODE_ENV=production,NODE_TLS_MIN_VERSION=TLSv1.3,AUDIT_LOG_ENABLED=true\"\n\n# Verify health\nSERVICE_URL=$(gcloud run services describe \"${SERVICE_NAME}\" --region=\"${REGION}\" --format='value(status.url)')\ncurl -s \"${SERVICE_URL}\u002Fhealth\" -H \"Authorization: Bearer $(gcloud auth print-identity-token)\"\n```\n\n### Step 3: Health Check Endpoint\n\n```typescript\n\u002F\u002F src\u002Fserver\u002Fhealth.ts\nimport express from 'express';\n\nconst app = express();\n\napp.get('\u002Fhealth', async (req, res) => {\n  const checks = {\n    server: 'healthy',\n    abridge: await checkAbridgeApi(),\n    fhir: await checkFhirEndpoint(),\n    timestamp: new Date().toISOString(),\n  };\n\n  const allHealthy = Object.values(checks).every(v => v === 'healthy' || typeof v === 'string');\n  res.status(allHealthy ? 200 : 503).json(checks);\n});\n\nasync function checkAbridgeApi(): Promise\u003Cstring> {\n  try {\n    const res = await fetch(`${process.env.ABRIDGE_BASE_URL}\u002Fhealth`, {\n      headers: { 'Authorization': `Bearer ${process.env.ABRIDGE_CLIENT_SECRET}` },\n      signal: AbortSignal.timeout(3000),\n    });\n    return res.ok ? 'healthy' : 'degraded';\n  } catch { return 'unhealthy'; }\n}\n\nasync function checkFhirEndpoint(): Promise\u003Cstring> {\n  try {\n    const res = await fetch(`${process.env.EPIC_FHIR_BASE_URL}\u002Fmetadata`, {\n      signal: AbortSignal.timeout(3000),\n    });\n    return res.ok ? 'healthy' : 'degraded';\n  } catch { return 'unhealthy'; }\n}\n\napp.listen(3000, () => console.log('Abridge integration server on :3000'));\n```\n\n### Step 4: GCP Secret Manager Setup\n\n```bash\n# Create secrets (one-time setup)\necho -n \"partner_secret_here\" | gcloud secrets create abridge-client-secret --data-file=-\necho -n \"org_id_here\" | gcloud secrets create abridge-org-id --data-file=-\necho -n \"epic_secret_here\" | gcloud secrets create epic-client-secret --data-file=-\n\n# Grant Cloud Run service account access\nSA=\"abridge-integration@${GCP_PROJECT_ID}.iam.gserviceaccount.com\"\ngcloud secrets add-iam-policy-binding abridge-client-secret \\\n  --member=\"serviceAccount:${SA}\" --role=\"roles\u002Fsecretmanager.secretAccessor\"\n```\n\n## Output\n\n- HIPAA-compliant Docker image with non-root user\n- Cloud Run deployment with VPC connector and TLS 1.3\n- Health check endpoint monitoring Abridge + FHIR\n- Secrets managed via GCP Secret Manager\n\n## Error Handling\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| Deploy rejected | Missing BAA | Sign Google Cloud BAA first |\n| Secret access denied | IAM misconfigured | Grant secretAccessor role to service account |\n| Health check fails | Cold start latency | Set min-instances to 1 |\n| VPC connector error | Not created | Create VPC connector in same region |\n\n## Resources\n\n- [GCP HIPAA Compliance](https:\u002F\u002Fcloud.google.com\u002Fsecurity\u002Fcompliance\u002Fhipaa\u002F)\n- [Cloud Run Secrets](https:\u002F\u002Fcloud.google.com\u002Frun\u002Fdocs\u002Fconfiguring\u002Fsecrets)\n- [Abridge Platform](https:\u002F\u002Fwww.abridge.com\u002Fproduct)\n\n## Next Steps\n\nFor webhook event handling, see `abridge-webhooks-events`.\n\n",{"name":5,"tags":49,"author":53,"license":15,"version":54,"description":55,"allowed-tools":56,"compatible-with":57},[50,38,51,25,52],"saas","ai","deployment","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Deploy Abridge clinical AI integration to HIPAA-compliant cloud infrastructure.\nUse when deploying to GCP Cloud Run, AWS ECS, or Azure Container Apps\nwith healthcare-grade secrets management and compliance controls.\nTrigger: \"deploy abridge\", \"abridge production deploy\", \"abridge Cloud Run\",\n\"abridge AWS deploy\", \"abridge HIPAA infrastructure\".\n","Read, Write, Edit, Bash(gcloud:*), Bash(docker:*), Bash(aws:*)","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fabridge-deploy-integration",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill abridge-deploy-integration",{"tool":73,"command":74},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill abridge-deploy-integration",{"tool":76,"command":77},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill abridge-deploy-integration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fabridge-deploy-integration\u002FSKILL.md",true,[],[82,94,104,112,118,125],{"skillNo":83,"name":84,"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":85,"categories":86,"keywords":90,"publishedAt":44},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[91,92,93],"model","model hierarchy","model hierarchy skill",{"skillNo":95,"name":96,"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":97,"categories":98,"keywords":100,"publishedAt":44},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[99],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},[101,102,103],"MCP","zoom","zoom mcp",{"skillNo":105,"name":106,"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":107,"categories":108,"keywords":109,"publishedAt":44},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[110,111,30,102],"sdk","zoom apps sdk",{"skillNo":113,"name":114,"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":115,"categories":116,"keywords":117,"publishedAt":44},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[114],{"skillNo":119,"name":120,"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":121,"categories":122,"keywords":124,"publishedAt":44},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[123],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},[120],{"skillNo":126,"name":127,"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":128,"categories":129,"keywords":130,"publishedAt":44},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[127]]