[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M79EEE964TQWT3TSZYVR7PHC":3,"skill-same:01M79EEE964TQWT3TSZYVR7PHC":46},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":14,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":30,"updatedAt":31,"install":32,"resources":45},"01M79EEE964TQWT3TSZYVR7PHC","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.","sharepointoscar\u002Fagent-workflow-skills","sharepointoscar","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1544014?v=4","01M79DYNNSWKW6C81A3C9QF0FQ","Oscar Medina","01M79DYNPDXTKQ5RFX4071RBM8",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-cloud-infra\u002Fskills\u002Fgcp-cloud-run\u002FSKILL.md",[],[],"2026-11-15 14:19:17",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":24,"description":7},"vibeship-spawner-skills (Apache 2.0)","main","f27dd0e6c87efa56cfdea304aa3e89e63c02711b","plugins\u002Fskills-cloud-infra\u002Fskills\u002Fgcp-cloud-run","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills","https:\u002F\u002Fgithub.com\u002Fsharepointoscar","Author | DevOps Practitioner | Docker | Terraform | Kubernetes | Jenkins X  | AWS | GCP | Azure and SP Veteran (since code-name Tahoe)","2026-11-11 12:44:52",{"source":8,"skillName":5,"commands":33,"prompt":43,"zipAvailable":44},[34,37,40],{"tool":35,"command":36},"npx","npx skills add sharepointoscar\u002Fagent-workflow-skills --skill gcp-cloud-run",{"tool":38,"command":39},"bunx","bunx skills add sharepointoscar\u002Fagent-workflow-skills --skill gcp-cloud-run",{"tool":41,"command":42},"pnpm","pnpm dlx skills add sharepointoscar\u002Fagent-workflow-skills --skill gcp-cloud-run","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-cloud-infra\u002Fskills\u002Fgcp-cloud-run\u002FSKILL.md",true,[],[47,54,61,68,75,82],{"skillNo":48,"name":49,"nameZh":6,"description":50,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":51,"categories":52,"keywords":53,"publishedAt":19},"01M79FQNYDNR7TYQAM5061GVKR","web-performance-optimization","Optimize website and web application performance including loading speed, Core Web Vitals, bundle size, caching strategies, and runtime performance","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-web-frontend\u002Fskills\u002Fweb-performance-optimization\u002FSKILL.md",[],[],{"skillNo":55,"name":56,"nameZh":6,"description":57,"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":60,"publishedAt":19},"01M79FQK396EEGX40QA7B9S404","web-design-guidelines","Review UI code for Web Interface Guidelines compliance. Use when asked to \"review my UI\", \"check accessibility\", \"audit design\", \"review UX\", or \"check my site against best practices\".","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-web-frontend\u002Fskills\u002Fweb-design-guidelines\u002FSKILL.md",[],[],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":19},"01M79FQFK4GJCG8HVRG8JQF4QH","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing accessible design patterns.","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-web-frontend\u002Fskills\u002Fwcag-audit-patterns\u002FSKILL.md",[],[],{"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":19},"01M79FQ7WRQXC4D20Q2HTBMDG7","ui-ux-pro-max","UI\u002FUX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn\u002Fui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI\u002FUX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn\u002Fui MCP for component search and examples.","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-web-frontend\u002Fskills\u002Fui-ux-pro-max\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":19},"01M79FPZC11BPBWDCVK2TER0RC","stitch-ui-design","Expert guide for creating effective prompts for Google Stitch AI UI design tool. Use when user wants to design UI\u002FUX in Stitch, create app interfaces, generate mobile\u002Fweb designs, or needs help crafting Stitch prompts. Covers prompt structure, specificity techniques, iteration strategies, and design-to-code workflows for Stitch by Google.","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-web-frontend\u002Fskills\u002Fstitch-ui-design\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":19},"01M79FPTMMM3C57JN25RTRX2HR","scroll-experience","Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences. Like NY Times interactives, Apple product pages, and award-winning web experiences. Makes websites feel like experiences, not just pages. Use when: scroll animation, parallax, scroll storytelling, interactive story, cinematic website.","https:\u002F\u002Fgithub.com\u002Fsharepointoscar\u002Fagent-workflow-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fskills-web-frontend\u002Fskills\u002Fscroll-experience\u002FSKILL.md",[],[]]