[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DYNJYQXTTPTHCV74QMVFG5":3,"skill-same:01M6DYNJYQXTTPTHCV74QMVFG5":88},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":14,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M6DYNJYQXTTPTHCV74QMVFG5","gcp-cloud-run",null,"Specialized skill for building production-ready serverless applications on GCP. Covers Cloud Run services (containerized), Cloud Run Functions (event-driven), cold start optimization, and event-driven architecture with Pub\u002FSub.","Aceryoung\u002Ffamilyproject","Aceryoung","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F75876477?v=4","01M6DY8Q14MHFC0JX3G14KK9CW","kkong","01M6DY8Q58SY27PE2AH6GFZP9Y",0,"MIT","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fgcp-cloud-run\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"run","cloud","gcp","gcp cloud run","architecture","apache","start","services","Optimization","Production","applications","serverless","specialized","ready","functions","driven","2026-11-10 10:12:30",false,"---\nname: gcp-cloud-run\ndescription: \"Specialized skill for building production-ready serverless applications on GCP. Covers Cloud Run services (containerized), Cloud Run Functions (event-driven), cold start optimization, and event-driven architecture with Pub\u002FSub.\"\nsource: vibeship-spawner-skills (Apache 2.0)\n---\n\n# GCP Cloud Run\n\n## Patterns\n\n### Cloud Run Service Pattern\n\nContainerized web service on Cloud Run\n\n**When to use**: ['Web applications and APIs', 'Need any runtime or library', 'Complex services with multiple endpoints', 'Stateless containerized workloads']\n\n```javascript\n```dockerfile\n# Dockerfile - Multi-stage build for smaller image\nFROM node:20-slim AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci --only=production\n\nFROM node:20-slim\nWORKDIR \u002Fapp\n\n# Copy only production dependencies\nCOPY --from=builder \u002Fapp\u002Fnode_modules .\u002Fnode_modules\nCOPY src .\u002Fsrc\nCOPY package.json .\u002F\n\n# Cloud Run uses PORT env variable\nENV PORT=8080\nEXPOSE 8080\n\n# Run as non-root user\nUSER node\n\nCMD [\"node\", \"src\u002Findex.js\"]\n```\n\n```javascript\n\u002F\u002F src\u002Findex.js\nconst express = require('express');\nconst app = express();\n\napp.use(express.json());\n\n\u002F\u002F Health check endpoint\napp.get('\u002Fhealth', (req, res) => {\n  res.status(200).send('OK');\n});\n\n\u002F\u002F API routes\napp.get('\u002Fapi\u002Fitems\u002F:id', async (req, res) => {\n  try {\n    const item = await getItem(req.params.id);\n    res.json(item);\n  } catch (error) {\n    console.error('Error:', error);\n    res.status(500).json({ error: 'Internal server error' });\n  }\n});\n\n\u002F\u002F Graceful shutdown\nprocess.on('SIGTERM', () => {\n  console.log('SIGTERM received, shutting down gracefully');\n  server.close(() => {\n    console.log('Server closed');\n    process.exit(0);\n  });\n});\n\nconst PORT = process.env.PORT || 8080;\nconst server = app.listen(PORT, () => {\n  console.log(`Server listening on port ${PORT}`);\n});\n```\n\n```yaml\n# cloudbuild.yaml\nsteps:\n  # Build the container image\n  - name: 'gcr.io\u002Fcloud-builders\u002Fdocker'\n    args: ['build', '-t', 'gcr.io\u002F$PROJECT_ID\u002Fmy-service:$COMMIT_SHA', '.']\n\n  # Push the container image\n  - name: 'gcr.io\u002Fcloud-builders\u002Fdocker'\n    args: ['push', 'gcr.io\u002F$PROJECT_ID\u002Fmy-service:$COMMIT_SHA']\n\n  # Deploy to Cloud Run\n  - name: 'gcr.io\u002Fgoogle.com\u002Fcloudsdktool\u002Fcloud-sdk'\n    entrypoint: gcloud\n    args:\n      - 'run'\n      - 'deploy'\n      - 'my-service'\n      - '--image=gcr.io\u002F$PROJECT_ID\u002Fmy-service:$COMMIT_SHA'\n      - '--region=us-central1'\n      - '--platform=managed'\n      - '--allow-unauthenticated'\n      - '--memory=512Mi'\n      - '--cpu=1'\n      - '--min-instances=1'\n      - '--max-instances=100'\n     \n```\n\n### Cloud Run Functions Pattern\n\nEvent-driven functions (formerly Cloud Functions)\n\n**When to use**: ['Simple event handlers', 'Pub\u002FSub message processing', 'Cloud Storage triggers', 'HTTP webhooks']\n\n```javascript\n```javascript\n\u002F\u002F HTTP Function\n\u002F\u002F index.js\nconst functions = require('@google-cloud\u002Ffunctions-framework');\n\nfunctions.http('helloHttp', (req, res) => {\n  const name = req.query.name || req.body.name || 'World';\n  res.send(`Hello, ${name}!`);\n});\n```\n\n```javascript\n\u002F\u002F Pub\u002FSub Function\nconst functions = require('@google-cloud\u002Ffunctions-framework');\n\nfunctions.cloudEvent('processPubSub', (cloudEvent) => {\n  \u002F\u002F Decode Pub\u002FSub message\n  const message = cloudEvent.data.message;\n  const data = message.data\n    ? JSON.parse(Buffer.from(message.data, 'base64').toString())\n    : {};\n\n  console.log('Received message:', data);\n\n  \u002F\u002F Process message\n  processMessage(data);\n});\n```\n\n```javascript\n\u002F\u002F Cloud Storage Function\nconst functions = require('@google-cloud\u002Ffunctions-framework');\n\nfunctions.cloudEvent('processStorageEvent', async (cloudEvent) => {\n  const file = cloudEvent.data;\n\n  console.log(`Event: ${cloudEvent.type}`);\n  console.log(`Bucket: ${file.bucket}`);\n  console.log(`File: ${file.name}`);\n\n  if (cloudEvent.type === 'google.cloud.storage.object.v1.finalized') {\n    await processUploadedFile(file.bucket, file.name);\n  }\n});\n```\n\n```bash\n# Deploy HTTP function\ngcloud functions deploy hello-http \\\n  --gen2 \\\n  --runtime nodejs20 \\\n  --trigger-http \\\n  --allow-unauthenticated \\\n  --region us-central1\n\n# Deploy Pub\u002FSub function\ngcloud functions deploy process-messages \\\n  --gen2 \\\n  --runtime nodejs20 \\\n  --trigger-topic my-topic \\\n  --region us-central1\n\n# Deploy Cloud Storage function\ngcloud functions deploy process-uploads \\\n  --gen2 \\\n  --runtime nodejs20 \\\n  --trigger-event-filters=\"type=google.cloud.storage.object.v1.finalized\" \\\n  --trigger-event-filters=\"bucket=my-bucket\" \\\n  --region us-central1\n```\n```\n\n### Cold Start Optimization Pattern\n\nMinimize cold start latency for Cloud Run\n\n**When to use**: ['Latency-sensitive applications', 'User-facing APIs', 'High-traffic services']\n\n```javascript\n## 1. Enable Startup CPU Boost\n\n```bash\ngcloud run deploy my-service \\\n  --cpu-boost \\\n  --region us-central1\n```\n\n## 2. Set Minimum Instances\n\n```bash\ngcloud run deploy my-service \\\n  --min-instances 1 \\\n  --region us-central1\n```\n\n## 3. Optimize Container Image\n\n```dockerfile\n# Use distroless for minimal image\nFROM node:20-slim AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci --only=production\n\nFROM gcr.io\u002Fdistroless\u002Fnodejs20-debian12\nWORKDIR \u002Fapp\nCOPY --from=builder \u002Fapp\u002Fnode_modules .\u002Fnode_modules\nCOPY src .\u002Fsrc\nCMD [\"src\u002Findex.js\"]\n```\n\n## 4. Lazy Initialize Heavy Dependencies\n\n```javascript\n\u002F\u002F Lazy load heavy libraries\nlet bigQueryClient = null;\n\nfunction getBigQueryClient() {\n  if (!bigQueryClient) {\n    const { BigQuery } = require('@google-cloud\u002Fbigquery');\n    bigQueryClient = new BigQuery();\n  }\n  return bigQueryClient;\n}\n\n\u002F\u002F Only initialize when needed\napp.get('\u002Fapi\u002Fanalytics', async (req, res) => {\n  const client = getBigQueryClient();\n  const results = await client.query({...});\n  res.json(results);\n});\n```\n\n## 5. Increase Memory (More CPU)\n\n```bash\n# Higher memory = more CPU during startup\ngcloud run deploy my-service \\\n  --memory 1Gi \\\n  --cpu 2 \\\n  --region us-central1\n```\n```\n\n## Anti-Patterns\n\n### ❌ CPU-Intensive Work Without Concurrency=1\n\n**Why bad**: CPU is shared across concurrent requests. CPU-bound work\nwill starve other requests, causing timeouts.\n\n### ❌ Writing Large Files to \u002Ftmp\n\n**Why bad**: \u002Ftmp is an in-memory filesystem. Large files consume\nyour memory allocation and can cause OOM errors.\n\n### ❌ Long-Running Background Tasks\n\n**Why bad**: Cloud Run throttles CPU to near-zero when not handling\nrequests. Background tasks will be extremely slow or stall.\n\n## ⚠️ Sharp Edges\n\n| Issue | Severity | Solution |\n|-------|----------|----------|\n| Issue | high | ## Calculate memory including \u002Ftmp usage |\n| Issue | high | ## Set appropriate concurrency |\n| Issue | high | ## Enable CPU always allocated |\n| Issue | medium | ## Configure connection pool with keep-alive |\n| Issue | high | ## Enable startup CPU boost |\n| Issue | medium | ## Explicitly set execution environment |\n| Issue | medium | ## Set consistent timeouts |\n","# GCP Cloud Run\n\n## Patterns\n\n### Cloud Run Service Pattern\n\nContainerized web service on Cloud Run\n\n**When to use**: ['Web applications and APIs', 'Need any runtime or library', 'Complex services with multiple endpoints', 'Stateless containerized workloads']\n\n```javascript\n```dockerfile\n# Dockerfile - Multi-stage build for smaller image\nFROM node:20-slim AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci --only=production\n\nFROM node:20-slim\nWORKDIR \u002Fapp\n\n# Copy only production dependencies\nCOPY --from=builder \u002Fapp\u002Fnode_modules .\u002Fnode_modules\nCOPY src .\u002Fsrc\nCOPY package.json .\u002F\n\n# Cloud Run uses PORT env variable\nENV PORT=8080\nEXPOSE 8080\n\n# Run as non-root user\nUSER node\n\nCMD [\"node\", \"src\u002Findex.js\"]\n```\n\n```javascript\n\u002F\u002F src\u002Findex.js\nconst express = require('express');\nconst app = express();\n\napp.use(express.json());\n\n\u002F\u002F Health check endpoint\napp.get('\u002Fhealth', (req, res) => {\n  res.status(200).send('OK');\n});\n\n\u002F\u002F API routes\napp.get('\u002Fapi\u002Fitems\u002F:id', async (req, res) => {\n  try {\n    const item = await getItem(req.params.id);\n    res.json(item);\n  } catch (error) {\n    console.error('Error:', error);\n    res.status(500).json({ error: 'Internal server error' });\n  }\n});\n\n\u002F\u002F Graceful shutdown\nprocess.on('SIGTERM', () => {\n  console.log('SIGTERM received, shutting down gracefully');\n  server.close(() => {\n    console.log('Server closed');\n    process.exit(0);\n  });\n});\n\nconst PORT = process.env.PORT || 8080;\nconst server = app.listen(PORT, () => {\n  console.log(`Server listening on port ${PORT}`);\n});\n```\n\n```yaml\n# cloudbuild.yaml\nsteps:\n  # Build the container image\n  - name: 'gcr.io\u002Fcloud-builders\u002Fdocker'\n    args: ['build', '-t', 'gcr.io\u002F$PROJECT_ID\u002Fmy-service:$COMMIT_SHA', '.']\n\n  # Push the container image\n  - name: 'gcr.io\u002Fcloud-builders\u002Fdocker'\n    args: ['push', 'gcr.io\u002F$PROJECT_ID\u002Fmy-service:$COMMIT_SHA']\n\n  # Deploy to Cloud Run\n  - name: 'gcr.io\u002Fgoogle.com\u002Fcloudsdktool\u002Fcloud-sdk'\n    entrypoint: gcloud\n    args:\n      - 'run'\n      - 'deploy'\n      - 'my-service'\n      - '--image=gcr.io\u002F$PROJECT_ID\u002Fmy-service:$COMMIT_SHA'\n      - '--region=us-central1'\n      - '--platform=managed'\n      - '--allow-unauthenticated'\n      - '--memory=512Mi'\n      - '--cpu=1'\n      - '--min-instances=1'\n      - '--max-instances=100'\n     \n```\n\n### Cloud Run Functions Pattern\n\nEvent-driven functions (formerly Cloud Functions)\n\n**When to use**: ['Simple event handlers', 'Pub\u002FSub message processing', 'Cloud Storage triggers', 'HTTP webhooks']\n\n```javascript\n```javascript\n\u002F\u002F HTTP Function\n\u002F\u002F index.js\nconst functions = require('@google-cloud\u002Ffunctions-framework');\n\nfunctions.http('helloHttp', (req, res) => {\n  const name = req.query.name || req.body.name || 'World';\n  res.send(`Hello, ${name}!`);\n});\n```\n\n```javascript\n\u002F\u002F Pub\u002FSub Function\nconst functions = require('@google-cloud\u002Ffunctions-framework');\n\nfunctions.cloudEvent('processPubSub', (cloudEvent) => {\n  \u002F\u002F Decode Pub\u002FSub message\n  const message = cloudEvent.data.message;\n  const data = message.data\n    ? JSON.parse(Buffer.from(message.data, 'base64').toString())\n    : {};\n\n  console.log('Received message:', data);\n\n  \u002F\u002F Process message\n  processMessage(data);\n});\n```\n\n```javascript\n\u002F\u002F Cloud Storage Function\nconst functions = require('@google-cloud\u002Ffunctions-framework');\n\nfunctions.cloudEvent('processStorageEvent', async (cloudEvent) => {\n  const file = cloudEvent.data;\n\n  console.log(`Event: ${cloudEvent.type}`);\n  console.log(`Bucket: ${file.bucket}`);\n  console.log(`File: ${file.name}`);\n\n  if (cloudEvent.type === 'google.cloud.storage.object.v1.finalized') {\n    await processUploadedFile(file.bucket, file.name);\n  }\n});\n```\n\n```bash\n# Deploy HTTP function\ngcloud functions deploy hello-http \\\n  --gen2 \\\n  --runtime nodejs20 \\\n  --trigger-http \\\n  --allow-unauthenticated \\\n  --region us-central1\n\n# Deploy Pub\u002FSub function\ngcloud functions deploy process-messages \\\n  --gen2 \\\n  --runtime nodejs20 \\\n  --trigger-topic my-topic \\\n  --region us-central1\n\n# Deploy Cloud Storage function\ngcloud functions deploy process-uploads \\\n  --gen2 \\\n  --runtime nodejs20 \\\n  --trigger-event-filters=\"type=google.cloud.storage.object.v1.finalized\" \\\n  --trigger-event-filters=\"bucket=my-bucket\" \\\n  --region us-central1\n```\n```\n\n### Cold Start Optimization Pattern\n\nMinimize cold start latency for Cloud Run\n\n**When to use**: ['Latency-sensitive applications', 'User-facing APIs', 'High-traffic services']\n\n```javascript\n## 1. Enable Startup CPU Boost\n\n```bash\ngcloud run deploy my-service \\\n  --cpu-boost \\\n  --region us-central1\n```\n\n## 2. Set Minimum Instances\n\n```bash\ngcloud run deploy my-service \\\n  --min-instances 1 \\\n  --region us-central1\n```\n\n## 3. Optimize Container Image\n\n```dockerfile\n# Use distroless for minimal image\nFROM node:20-slim AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci --only=production\n\nFROM gcr.io\u002Fdistroless\u002Fnodejs20-debian12\nWORKDIR \u002Fapp\nCOPY --from=builder \u002Fapp\u002Fnode_modules .\u002Fnode_modules\nCOPY src .\u002Fsrc\nCMD [\"src\u002Findex.js\"]\n```\n\n## 4. Lazy Initialize Heavy Dependencies\n\n```javascript\n\u002F\u002F Lazy load heavy libraries\nlet bigQueryClient = null;\n\nfunction getBigQueryClient() {\n  if (!bigQueryClient) {\n    const { BigQuery } = require('@google-cloud\u002Fbigquery');\n    bigQueryClient = new BigQuery();\n  }\n  return bigQueryClient;\n}\n\n\u002F\u002F Only initialize when needed\napp.get('\u002Fapi\u002Fanalytics', async (req, res) => {\n  const client = getBigQueryClient();\n  const results = await client.query({...});\n  res.json(results);\n});\n```\n\n## 5. Increase Memory (More CPU)\n\n```bash\n# Higher memory = more CPU during startup\ngcloud run deploy my-service \\\n  --memory 1Gi \\\n  --cpu 2 \\\n  --region us-central1\n```\n```\n\n## Anti-Patterns\n\n### ❌ CPU-Intensive Work Without Concurrency=1\n\n**Why bad**: CPU is shared across concurrent requests. CPU-bound work\nwill starve other requests, causing timeouts.\n\n### ❌ Writing Large Files to \u002Ftmp\n\n**Why bad**: \u002Ftmp is an in-memory filesystem. Large files consume\nyour memory allocation and can cause OOM errors.\n\n### ❌ Long-Running Background Tasks\n\n**Why bad**: Cloud Run throttles CPU to near-zero when not handling\nrequests. Background tasks will be extremely slow or stall.\n\n## ⚠️ Sharp Edges\n\n| Issue | Severity | Solution |\n|-------|----------|----------|\n| Issue | high | ## Calculate memory including \u002Ftmp usage |\n| Issue | high | ## Set appropriate concurrency |\n| Issue | high | ## Enable CPU always allocated |\n| Issue | medium | ## Configure connection pool with keep-alive |\n| Issue | high | ## Enable startup CPU boost |\n| Issue | medium | ## Explicitly set execution environment |\n| Issue | medium | ## Set consistent timeouts |\n",{"name":5,"source":40,"description":7},"vibeship-spawner-skills (Apache 2.0)","main","483e87f6ad1460beac541f70200e988102e5c385","antigravity-awesome-skills-main\u002Fskills\u002Fgcp-cloud-run","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject","https:\u002F\u002Ffamilyproject-iota.vercel.app","https:\u002F\u002Fgithub.com\u002FAceryoung","2026-09-04 09:36:44",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add Aceryoung\u002Ffamilyproject --skill gcp-cloud-run",{"tool":54,"command":55},"bunx","bunx skills add Aceryoung\u002Ffamilyproject --skill gcp-cloud-run",{"tool":57,"command":58},"pnpm","pnpm dlx skills add Aceryoung\u002Ffamilyproject --skill gcp-cloud-run","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fgcp-cloud-run\u002FSKILL.md",true,[62,68,72,76,80,84],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"levels\u002Fl1-local-deterministic.md","REFERENCE","参考文档",3752,"https:\u002F\u002Fgithub.com\u002Foutcomeeng\u002Fplugins\u002Fblob\u002Fmain\u002Fsrc\u002Fplugins\u002Ftypescript\u002Fskills\u002Ftypescript-test-standards\u002Flevels\u002Fl1-local-deterministic.md",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"levels\u002Fl2-local-infrastructure.md",3140,"https:\u002F\u002Fgithub.com\u002Foutcomeeng\u002Fplugins\u002Fblob\u002Fmain\u002Fsrc\u002Fplugins\u002Ftypescript\u002Fskills\u002Ftypescript-test-standards\u002Flevels\u002Fl2-local-infrastructure.md",{"path":73,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":74,"sourceHtmlUrl":75},"levels\u002Fl3-remote-credentialed.md",2537,"https:\u002F\u002Fgithub.com\u002Foutcomeeng\u002Fplugins\u002Fblob\u002Fmain\u002Fsrc\u002Fplugins\u002Ftypescript\u002Fskills\u002Ftypescript-test-standards\u002Flevels\u002Fl3-remote-credentialed.md",{"path":77,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fexception-implementations.md",2852,"https:\u002F\u002Fgithub.com\u002Foutcomeeng\u002Fplugins\u002Fblob\u002Fmain\u002Fsrc\u002Fplugins\u002Ftypescript\u002Fskills\u002Ftypescript-test-standards\u002Freferences\u002Fexception-implementations.md",{"path":81,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fl1-patterns.md",1590,"https:\u002F\u002Fgithub.com\u002Foutcomeeng\u002Fplugins\u002Fblob\u002Fmain\u002Fsrc\u002Fplugins\u002Ftypescript\u002Fskills\u002Ftypescript-test-standards\u002Freferences\u002Fl1-patterns.md",{"path":85,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fl2-patterns.md",684,"https:\u002F\u002Fgithub.com\u002Foutcomeeng\u002Fplugins\u002Fblob\u002Fmain\u002Fsrc\u002Fplugins\u002Ftypescript\u002Fskills\u002Ftypescript-test-standards\u002Freferences\u002Fl2-patterns.md",[89,120,152,172,186,210],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":100,"publishedAt":35},"01M6DZ9PNJVNQ1M7196KMPEHZC","zapier-make-patterns","No-code automation democratizes workflow building. Zapier and Make (formerly Integromat) let non-developers automate business processes without writing code. But no-code doesn't mean no-complexity - these platforms have their own patterns, pitfalls, and breaking points.  This skill covers when to use which platform, how to build reliable automations, and when to graduate to code-based solutions. Key insight: Zapier optimizes for simplicity and integrations (7000+ apps), Make optimizes for power","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fzapier-make-patterns\u002FSKILL.md",[95],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,24,117,118,119],"zapier make patterns","patterns","workflow","integrations","how to","apps","platform","but","build","complexity","power","simplicity","use","business","automate","how","code","automation","writing",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":132,"publishedAt":35},"01M6DZ9K3385QP8QC2F3ZHZH1W","Cross-Site Scripting and HTML Injection Testing","This skill should be used when the user asks to \"test for XSS vulnerabilities\", \"perform cross-site scripting attacks\", \"identify HTML injection flaws\", \"exploit client-side injection vulnerabilities\", \"steal cookies via XSS\", or \"bypass content security policies\". It provides comprehensive techniques for detecting, exploiting, and understanding XSS and HTML injection attack vectors in web applications.","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fxss-html-injection\u002FSKILL.md",[126,129],{"categoryNo":127,"categoryName":128,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":130,"categoryName":131,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000009","前端开发",[133,134,135,136,137,138,139,140,141,29,142,143,144,145,146,147,148,149,150,151],"html injection testing","Cross Site Scripting and HTML Injection Testing","injection","scripting","site","html","testing","vectors","exploit","xss","cookies","content","web","test","steal","client","via","security","vulnerabilities",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":167,"publishedAt":35},"01M6DZ9B72D51Q21DTFD63TVEN","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[158,159,162],{"categoryNo":127,"categoryName":128,"taxonomyType":98,"taxonomyTypeDesc":99},{"categoryNo":160,"categoryName":161,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":163,"categoryName":164,"taxonomyType":165,"taxonomyTypeDesc":166},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[119,168,169,113,170,171],"writing skills","deployment","editing","work",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":180,"publishedAt":35},"01M6DZ98HBB74FXZS78BATF6P5","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[178,179],{"categoryNo":160,"categoryName":161,"taxonomyType":98,"taxonomyTypeDesc":99},{"categoryNo":163,"categoryName":164,"taxonomyType":165,"taxonomyTypeDesc":166},[181,119,182,183,184,113,117,185],"writing plans","plans","requirements","task","spec",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":193,"publishedAt":35},"01M6DZ94C3FCDXCTV795CTRP1V","workflow-automation","Workflow automation is the infrastructure that makes AI agents reliable. Without durable execution, a network hiccup during a 10-step payment flow means lost money and angry customers. With it, workflows resume exactly where they left off.  This skill covers the platforms (n8n, Temporal, Inngest) and patterns (sequential, parallel, orchestrator-worker) that turn brittle scripts into production-grade automation.  Key insight: The platforms make different tradeoffs. n8n optimizes for accessibility","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fworkflow-automation\u002FSKILL.md",[192],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[194,118,103,28,195,196,24,197,198,199,200,201,202,203,204,205,206,207,208,209],"Workflow Automation","flow","network","workflows","accessibility","ai agents","execution","scripts","worker","payment","n8n","money","resume","orchestrator","parallel","inngest",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":217,"publishedAt":35},"01M6DZ90RQ8GCWE9CGPCMHMNDD","WordPress Penetration Testing","This skill should be used when the user asks to \"pentest WordPress sites\", \"scan WordPress for vulnerabilities\", \"enumerate WordPress users, themes, or plugins\", \"exploit WordPress vulnerabilities\", or \"use WPScan\". It provides comprehensive WordPress security assessment methodologies.","https:\u002F\u002Fgithub.com\u002FAceryoung\u002Ffamilyproject\u002Fblob\u002Fmain\u002Fantigravity-awesome-skills-main\u002Fskills\u002Fwordpress-penetration-testing\u002FSKILL.md",[216],{"categoryNo":127,"categoryName":128,"taxonomyType":98,"taxonomyTypeDesc":99},[139,212,218,219,220,221,222,223,141,113,224,225,226,151,150],"penetration testing","wordpress","security assessment","sites","scan","pentest","user","plugins","assessment"]