[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PBQDE2DNJ23YAER5SZEMDX":3,"skill-same:01M6PBQDE2DNJ23YAER5SZEMDX":87},{"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":27,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":31,"commitSha":62,"skillDirectory":63,"forksCount":13,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":66,"install":67,"resources":80},"01M6PBQDE2DNJ23YAER5SZEMDX","platform-engineering",null,"Build internal developer platforms (IDPs) with self-service infrastructure, golden paths, and developer portals using Backstage, Crossplane, and score.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fplatform-engineering\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"engineering","platform","platform engineering","main","relevant","crossplane","golden","paths","scripts","critical","self","security","community","only","access","devops-security","kubectl","developer","ci","git","2026-11-10 10:12:30",false,"---\nname: platform-engineering\ndescription: Build internal developer platforms (IDPs) with self-service infrastructure,\n  golden paths, and developer portals using Backstage, Crossplane, and score.\ncategory: devops\nrisk: critical\nsource: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\nsource_repo: BagelHole\u002FDevOps-Security-Agent-Skills\nsource_type: community\ndate_added: '2026-09-20'\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE\ncompatibility: Requires the relevant platform CLIs (kubectl, helm, terraform, git,\n  CI runners) and authorized access to the target environment. Docs-only; helper scripts\n  and templates not bundled.\nmetadata:\n  author: devops-skills\n  version: '1.0'\n---\n\n# Platform Engineering\n\nPlatform engineering is the discipline of building and maintaining internal developer platforms (IDPs) that enable self-service capabilities for software engineering teams. The goal is to reduce cognitive load, standardize infrastructure provisioning, and accelerate delivery while maintaining governance and security guardrails.\n\n---\n\n## 2. Backstage Setup\n\n[Backstage](https:\u002F\u002Fbackstage.io) is the leading open-source developer portal framework, originally created at Spotify.\n\n### Installation\n\n```bash\n# Prerequisites: Node.js 18+, yarn 1.x\nnpx @backstage\u002Fcreate-app@latest\n\n# Follow the prompts -- name your app, e.g., \"internal-platform\"\ncd internal-platform\n\n# Start the development server\nyarn dev\n```\n\n### Production Docker Build\n\n```dockerfile\n# Dockerfile for Backstage production image\nFROM node:18-bookworm-slim AS build\nWORKDIR \u002Fapp\n\nCOPY package.json yarn.lock .\u002F\nCOPY packages\u002F packages\u002F\nCOPY plugins\u002F plugins\u002F\n\nRUN yarn install --frozen-lockfile\nRUN yarn tsc\nRUN yarn build:backend\n\nFROM node:18-bookworm-slim\nWORKDIR \u002Fapp\n\nCOPY --from=build \u002Fapp\u002Fpackages\u002Fbackend\u002Fdist\u002F .\u002F\nCOPY --from=build \u002Fapp\u002Fnode_modules\u002F .\u002Fnode_modules\u002F\nCOPY app-config.yaml app-config.production.yaml .\u002F\n\nENV NODE_ENV=production\nCMD [\"node\", \"packages\u002Fbackend\", \"--config\", \"app-config.production.yaml\"]\n```\n\n### Core app-config.yaml\n\n```yaml\n# app-config.yaml\napp:\n  title: Internal Developer Platform\n  baseUrl: http:\u002F\u002Flocalhost:3000\n\norganization:\n  name: MyOrg\n\nbackend:\n  baseUrl: http:\u002F\u002Flocalhost:7007\n  listen:\n    port: 7007\n  database:\n    client: pg\n    connection:\n      host: ${POSTGRES_HOST}\n      port: ${POSTGRES_PORT}\n      user: ${POSTGRES_USER}\n      password: ${POSTGRES_PASSWORD}\n\nintegrations:\n  github:\n    - host: github.com\n      token: ${GITHUB_TOKEN}\n\ncatalog:\n  import:\n    entityFilename: catalog-info.yaml\n    pullRequestBranchName: backstage-integration\n  rules:\n    - allow: [Component, System, API, Resource, Location, Template]\n  locations:\n    - type: url\n      target: https:\u002F\u002Fgithub.com\u002Fmyorg\u002Fsoftware-catalog\u002Fblob\u002Fmain\u002Fcatalog-info.yaml\n    - type: url\n      target: https:\u002F\u002Fgithub.com\u002Fmyorg\u002Fbackstage-templates\u002Fblob\u002Fmain\u002Fall-templates.yaml\n```\n\n---\n\n## 3. Crossplane for Self-Service Infrastructure\n\nCrossplane extends Kubernetes to provision and manage cloud infrastructure through declarative YAML.\n\n### Install Crossplane\n\n```bash\n# Add the Crossplane Helm repo\nhelm repo add crossplane-stable https:\u002F\u002Fcharts.crossplane.io\u002Fstable\nhelm repo update\n\n# Install Crossplane into its own namespace\nhelm install crossplane crossplane-stable\u002Fcrossplane \\\n  --namespace crossplane-system \\\n  --create-namespace \\\n  --set args='{\"--enable-composition-revisions\"}'\n\n# Install the AWS provider\nkubectl apply -f - \u003C\u003CEOF\napiVersion: pkg.crossplane.io\u002Fv1\nkind: Provider\nmetadata:\n  name: provider-aws\nspec:\n  package: xpkg.upbound.io\u002Fupbound\u002Fprovider-family-aws:v1.1.0\nEOF\n\n# Configure AWS credentials\nkubectl create secret generic aws-creds \\\n  -n crossplane-system \\\n  --from-file=creds=.\u002Faws-credentials.txt\n\nkubectl apply -f - \u003C\u003CEOF\napiVersion: aws.upbound.io\u002Fv1beta1\nkind: ProviderConfig\nmetadata:\n  name: default\nspec:\n  credentials:\n    source: Secret\n    secretRef:\n      namespace: crossplane-system\n      name: aws-creds\n      key: creds\nEOF\n```\n\n### CompositeResourceDefinition (XRD)\n\nThis defines a new platform API that developers consume without knowing the underlying cloud resources.\n\n```yaml\n# xrd-application-database.yaml\napiVersion: apiextensions.crossplane.io\u002Fv1\nkind: CompositeResourceDefinition\nmetadata:\n  name: xapplicationdatabases.platform.myorg.io\nspec:\n  group: platform.myorg.io\n  names:\n    kind: XApplicationDatabase\n    plural: xapplicationdatabases\n  claimNames:\n    kind: ApplicationDatabase\n    plural: applicationdatabases\n  versions:\n    - name: v1alpha1\n      served: true\n      referenceable: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                parameters:\n                  type: object\n                  properties:\n                    engine:\n                      type: string\n                      enum: [\"postgres\", \"mysql\"]\n                      default: \"postgres\"\n                    engineVersion:\n                      type: string\n                      default: \"15\"\n                    storageGB:\n                      type: integer\n                      minimum: 20\n                      maximum: 500\n                      default: 20\n                    instanceSize:\n                      type: string\n                      enum: [\"small\", \"medium\", \"large\"]\n                      default: \"small\"\n                    environment:\n                      type: string\n                      enum: [\"dev\", \"staging\", \"prod\"]\n                  required:\n                    - environment\n```\n\n### Composition (AWS RDS)\n\n```yaml\n# composition-aws-database.yaml\napiVersion: apiextensions.crossplane.io\u002Fv1\nkind: Composition\nmetadata:\n  name: applicationdatabase-aws\n  labels:\n    provider: aws\nspec:\n  compositeTypeRef:\n    apiVersion: platform.myorg.io\u002Fv1alpha1\n    kind: XApplicationDatabase\n  resources:\n    - name: rds-instance\n      base:\n        apiVersion: rds.aws.upbound.io\u002Fv1beta1\n        kind: Instance\n        spec:\n          forProvider:\n            region: us-east-1\n            allocatedStorage: 20\n            autoMinorVersionUpgrade: true\n            backupRetentionPeriod: 7\n            dbName: appdb\n            deletionProtection: false\n            publiclyAccessible: false\n            skipFinalSnapshot: true\n            storageEncrypted: true\n            storageType: gp3\n            vpcSecurityGroupIdSelector:\n              matchLabels:\n                platform.myorg.io\u002Fnetwork: shared\n            dbSubnetGroupNameSelector:\n              matchLabels:\n                platform.myorg.io\u002Fnetwork: shared\n      patches:\n        - type: FromCompositeFieldPath\n          fromFieldPath: spec.parameters.engine\n          toFieldPath: spec.forProvider.engine\n        - type: FromCompositeFieldPath\n          fromFieldPath: spec.parameters.engineVersion\n          toFieldPath: spec.forProvider.engineVersion\n        - type: FromCompositeFieldPath\n          fromFieldPath: spec.parameters.storageGB\n          toFieldPath: spec.forProvider.allocatedStorage\n        - type: CombineFromComposite\n          combine:\n            variables:\n              - fromFieldPath: spec.parameters.instanceSize\n            strategy: map\n            map:\n              small: db.t3.micro\n              medium: db.t3.medium\n              large: db.r6g.large\n          toFieldPath: spec.forProvider.instanceClass\n    - name: db-secret\n      base:\n        apiVersion: secretstores.aws.upbound.io\u002Fv1beta1\n        kind: Secret\n        spec:\n          forProvider:\n            region: us-east-1\n      patches:\n        - type: FromCompositeFieldPath\n          fromFieldPath: metadata.name\n          toFieldPath: spec.forProvider.name\n          transforms:\n            - type: string\n              string:\n                fmt: \"platform\u002F%s\u002Fdb-credentials\"\n```\n\n### Developer Claim (what devs actually write)\n\n```yaml\n# my-app-database.yaml\napiVersion: platform.myorg.io\u002Fv1alpha1\nkind: ApplicationDatabase\nmetadata:\n  name: orders-db\n  namespace: team-commerce\nspec:\n  parameters:\n    engine: postgres\n    engineVersion: \"15\"\n    storageGB: 50\n    instanceSize: medium\n    environment: staging\n```\n\n---\n\n\n## Contents\n\n- [4. Golden Paths](references\u002Fdetails.md)\n- [5. Service Catalog](references\u002Fdetails.md)\n- [6. Developer Portal -- Backstage Plugins](references\u002Fdetails.md)\n- [7. Score Specification](references\u002Fdetails.md)\n- [8. Self-Service Workflows](references\u002Fdetails.md)\n- [9. Platform Metrics](references\u002Fdetails.md)\n- [10. Governance -- Policy Enforcement](references\u002Fdetails.md)\n- [Summary](references\u002Fdetails.md)\n\n## When to Use\n\nAdopt platform engineering practices when your organization experiences:\n\n- **Cognitive overload on dev teams** -- developers spend more time on infrastructure wiring than writing business logic.\n- **Inconsistent environments** -- every team provisions infrastructure differently, causing drift and outages.\n- **Slow onboarding** -- new engineers take weeks to get a working development environment.\n- **Repeated toil** -- the same Terraform\u002FHelm\u002FCI boilerplate is copy-pasted across dozens of repos.\n- **Compliance bottlenecks** -- security and ops reviews gate every deployment, slowing release cadence.\n- **Scale inflection points** -- you have 5+ teams and shared infrastructure concerns (networking, observability, secrets).\n\nPlatform engineering is NOT about replacing ops with a portal. It is about encoding organizational standards into reusable, self-service abstractions that dev teams consume through golden paths.\n\n---\n\n## Limitations\n\n- Guidance executes against real environments: confirm target, blast radius, and rollback plan before applying anything.\n- Never deploy to production without explicit approval. Docs-only import: upstream scripts and templates not bundled.\n\n### Example\n\n```bash\ngit status && git diff --stat\nkubectl diff -f manifest.yaml\n```\n\n> Adapted from [BagelHole\u002FDevOps-Security-Agent-Skills](https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use\u002FLimitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.\n","# Platform Engineering\n\nPlatform engineering is the discipline of building and maintaining internal developer platforms (IDPs) that enable self-service capabilities for software engineering teams. The goal is to reduce cognitive load, standardize infrastructure provisioning, and accelerate delivery while maintaining governance and security guardrails.\n\n---\n\n## 2. Backstage Setup\n\n[Backstage](https:\u002F\u002Fbackstage.io) is the leading open-source developer portal framework, originally created at Spotify.\n\n### Installation\n\n```bash\n# Prerequisites: Node.js 18+, yarn 1.x\nnpx @backstage\u002Fcreate-app@latest\n\n# Follow the prompts -- name your app, e.g., \"internal-platform\"\ncd internal-platform\n\n# Start the development server\nyarn dev\n```\n\n### Production Docker Build\n\n```dockerfile\n# Dockerfile for Backstage production image\nFROM node:18-bookworm-slim AS build\nWORKDIR \u002Fapp\n\nCOPY package.json yarn.lock .\u002F\nCOPY packages\u002F packages\u002F\nCOPY plugins\u002F plugins\u002F\n\nRUN yarn install --frozen-lockfile\nRUN yarn tsc\nRUN yarn build:backend\n\nFROM node:18-bookworm-slim\nWORKDIR \u002Fapp\n\nCOPY --from=build \u002Fapp\u002Fpackages\u002Fbackend\u002Fdist\u002F .\u002F\nCOPY --from=build \u002Fapp\u002Fnode_modules\u002F .\u002Fnode_modules\u002F\nCOPY app-config.yaml app-config.production.yaml .\u002F\n\nENV NODE_ENV=production\nCMD [\"node\", \"packages\u002Fbackend\", \"--config\", \"app-config.production.yaml\"]\n```\n\n### Core app-config.yaml\n\n```yaml\n# app-config.yaml\napp:\n  title: Internal Developer Platform\n  baseUrl: http:\u002F\u002Flocalhost:3000\n\norganization:\n  name: MyOrg\n\nbackend:\n  baseUrl: http:\u002F\u002Flocalhost:7007\n  listen:\n    port: 7007\n  database:\n    client: pg\n    connection:\n      host: ${POSTGRES_HOST}\n      port: ${POSTGRES_PORT}\n      user: ${POSTGRES_USER}\n      password: ${POSTGRES_PASSWORD}\n\nintegrations:\n  github:\n    - host: github.com\n      token: ${GITHUB_TOKEN}\n\ncatalog:\n  import:\n    entityFilename: catalog-info.yaml\n    pullRequestBranchName: backstage-integration\n  rules:\n    - allow: [Component, System, API, Resource, Location, Template]\n  locations:\n    - type: url\n      target: https:\u002F\u002Fgithub.com\u002Fmyorg\u002Fsoftware-catalog\u002Fblob\u002Fmain\u002Fcatalog-info.yaml\n    - type: url\n      target: https:\u002F\u002Fgithub.com\u002Fmyorg\u002Fbackstage-templates\u002Fblob\u002Fmain\u002Fall-templates.yaml\n```\n\n---\n\n## 3. Crossplane for Self-Service Infrastructure\n\nCrossplane extends Kubernetes to provision and manage cloud infrastructure through declarative YAML.\n\n### Install Crossplane\n\n```bash\n# Add the Crossplane Helm repo\nhelm repo add crossplane-stable https:\u002F\u002Fcharts.crossplane.io\u002Fstable\nhelm repo update\n\n# Install Crossplane into its own namespace\nhelm install crossplane crossplane-stable\u002Fcrossplane \\\n  --namespace crossplane-system \\\n  --create-namespace \\\n  --set args='{\"--enable-composition-revisions\"}'\n\n# Install the AWS provider\nkubectl apply -f - \u003C\u003CEOF\napiVersion: pkg.crossplane.io\u002Fv1\nkind: Provider\nmetadata:\n  name: provider-aws\nspec:\n  package: xpkg.upbound.io\u002Fupbound\u002Fprovider-family-aws:v1.1.0\nEOF\n\n# Configure AWS credentials\nkubectl create secret generic aws-creds \\\n  -n crossplane-system \\\n  --from-file=creds=.\u002Faws-credentials.txt\n\nkubectl apply -f - \u003C\u003CEOF\napiVersion: aws.upbound.io\u002Fv1beta1\nkind: ProviderConfig\nmetadata:\n  name: default\nspec:\n  credentials:\n    source: Secret\n    secretRef:\n      namespace: crossplane-system\n      name: aws-creds\n      key: creds\nEOF\n```\n\n### CompositeResourceDefinition (XRD)\n\nThis defines a new platform API that developers consume without knowing the underlying cloud resources.\n\n```yaml\n# xrd-application-database.yaml\napiVersion: apiextensions.crossplane.io\u002Fv1\nkind: CompositeResourceDefinition\nmetadata:\n  name: xapplicationdatabases.platform.myorg.io\nspec:\n  group: platform.myorg.io\n  names:\n    kind: XApplicationDatabase\n    plural: xapplicationdatabases\n  claimNames:\n    kind: ApplicationDatabase\n    plural: applicationdatabases\n  versions:\n    - name: v1alpha1\n      served: true\n      referenceable: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                parameters:\n                  type: object\n                  properties:\n                    engine:\n                      type: string\n                      enum: [\"postgres\", \"mysql\"]\n                      default: \"postgres\"\n                    engineVersion:\n                      type: string\n                      default: \"15\"\n                    storageGB:\n                      type: integer\n                      minimum: 20\n                      maximum: 500\n                      default: 20\n                    instanceSize:\n                      type: string\n                      enum: [\"small\", \"medium\", \"large\"]\n                      default: \"small\"\n                    environment:\n                      type: string\n                      enum: [\"dev\", \"staging\", \"prod\"]\n                  required:\n                    - environment\n```\n\n### Composition (AWS RDS)\n\n```yaml\n# composition-aws-database.yaml\napiVersion: apiextensions.crossplane.io\u002Fv1\nkind: Composition\nmetadata:\n  name: applicationdatabase-aws\n  labels:\n    provider: aws\nspec:\n  compositeTypeRef:\n    apiVersion: platform.myorg.io\u002Fv1alpha1\n    kind: XApplicationDatabase\n  resources:\n    - name: rds-instance\n      base:\n        apiVersion: rds.aws.upbound.io\u002Fv1beta1\n        kind: Instance\n        spec:\n          forProvider:\n            region: us-east-1\n            allocatedStorage: 20\n            autoMinorVersionUpgrade: true\n            backupRetentionPeriod: 7\n            dbName: appdb\n            deletionProtection: false\n            publiclyAccessible: false\n            skipFinalSnapshot: true\n            storageEncrypted: true\n            storageType: gp3\n            vpcSecurityGroupIdSelector:\n              matchLabels:\n                platform.myorg.io\u002Fnetwork: shared\n            dbSubnetGroupNameSelector:\n              matchLabels:\n                platform.myorg.io\u002Fnetwork: shared\n      patches:\n        - type: FromCompositeFieldPath\n          fromFieldPath: spec.parameters.engine\n          toFieldPath: spec.forProvider.engine\n        - type: FromCompositeFieldPath\n          fromFieldPath: spec.parameters.engineVersion\n          toFieldPath: spec.forProvider.engineVersion\n        - type: FromCompositeFieldPath\n          fromFieldPath: spec.parameters.storageGB\n          toFieldPath: spec.forProvider.allocatedStorage\n        - type: CombineFromComposite\n          combine:\n            variables:\n              - fromFieldPath: spec.parameters.instanceSize\n            strategy: map\n            map:\n              small: db.t3.micro\n              medium: db.t3.medium\n              large: db.r6g.large\n          toFieldPath: spec.forProvider.instanceClass\n    - name: db-secret\n      base:\n        apiVersion: secretstores.aws.upbound.io\u002Fv1beta1\n        kind: Secret\n        spec:\n          forProvider:\n            region: us-east-1\n      patches:\n        - type: FromCompositeFieldPath\n          fromFieldPath: metadata.name\n          toFieldPath: spec.forProvider.name\n          transforms:\n            - type: string\n              string:\n                fmt: \"platform\u002F%s\u002Fdb-credentials\"\n```\n\n### Developer Claim (what devs actually write)\n\n```yaml\n# my-app-database.yaml\napiVersion: platform.myorg.io\u002Fv1alpha1\nkind: ApplicationDatabase\nmetadata:\n  name: orders-db\n  namespace: team-commerce\nspec:\n  parameters:\n    engine: postgres\n    engineVersion: \"15\"\n    storageGB: 50\n    instanceSize: medium\n    environment: staging\n```\n\n---\n\n\n## Contents\n\n- [4. Golden Paths](references\u002Fdetails.md)\n- [5. Service Catalog](references\u002Fdetails.md)\n- [6. Developer Portal -- Backstage Plugins](references\u002Fdetails.md)\n- [7. Score Specification](references\u002Fdetails.md)\n- [8. Self-Service Workflows](references\u002Fdetails.md)\n- [9. Platform Metrics](references\u002Fdetails.md)\n- [10. Governance -- Policy Enforcement](references\u002Fdetails.md)\n- [Summary](references\u002Fdetails.md)\n\n## When to Use\n\nAdopt platform engineering practices when your organization experiences:\n\n- **Cognitive overload on dev teams** -- developers spend more time on infrastructure wiring than writing business logic.\n- **Inconsistent environments** -- every team provisions infrastructure differently, causing drift and outages.\n- **Slow onboarding** -- new engineers take weeks to get a working development environment.\n- **Repeated toil** -- the same Terraform\u002FHelm\u002FCI boilerplate is copy-pasted across dozens of repos.\n- **Compliance bottlenecks** -- security and ops reviews gate every deployment, slowing release cadence.\n- **Scale inflection points** -- you have 5+ teams and shared infrastructure concerns (networking, observability, secrets).\n\nPlatform engineering is NOT about replacing ops with a portal. It is about encoding organizational standards into reusable, self-service abstractions that dev teams consume through golden paths.\n\n---\n\n## Limitations\n\n- Guidance executes against real environments: confirm target, blast radius, and rollback plan before applying anything.\n- Never deploy to production without explicit approval. Docs-only import: upstream scripts and templates not bundled.\n\n### Example\n\n```bash\ngit status && git diff --stat\nkubectl diff -f manifest.yaml\n```\n\n> Adapted from [BagelHole\u002FDevOps-Security-Agent-Skills](https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use\u002FLimitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.\n",{"name":5,"risk":37,"source":53,"license":14,"category":54,"metadata":55,"date_added":58,"description":7,"source_repo":59,"source_type":40,"compatibility":60,"license_source":61},"https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills","devops",{"author":56,"version":57},"devops-skills","1.0","2026-09-20","BagelHole\u002FDevOps-Security-Agent-Skills","Requires the relevant platform CLIs (kubectl, helm, terraform, git, CI runners) and authorized access to the target environment. Docs-only; helper scripts and templates not bundled.","https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fplatform-engineering","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill platform-engineering",{"tool":73,"command":74},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill platform-engineering",{"tool":76,"command":77},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill platform-engineering","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fplatform-engineering\u002FSKILL.md",true,[81],{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fdetails.md","REFERENCE","参考文档",23181,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fplatform-engineering\u002Freferences\u002Fdetails.md",[88,107,131,156,180,204],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":95,"publishedAt":48},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[94],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[96,97,98,99,100,101,90,102,43,42,103,41,40,31,104,37,105,36,32,106],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","configure","active","scope","implementing",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":48},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[114,115,116,117,118,119,120,121,122,123,124,125,126,41,127,40,128,129,37,130],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":48},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[138,139,140,141,142,143,144,145,146,147,148,149,150,40,31,151,152,153,154,155],"transcript","youtube transcript","youtube","safe","github","codex","research","license","https","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":169,"publishedAt":48},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[162,165,168],{"categoryNo":163,"categoryName":164,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":166,"categoryName":167,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[138,139,140,170,141,171,142,143,145,172,173,174,175,148,176,40,31,177,178,179],"youtube transcript skills","gemini","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":190,"publishedAt":48},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[186,189],{"categoryNo":187,"categoryName":188,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":166,"categoryName":167,"taxonomyType":20,"taxonomyTypeDesc":21},[140,191,192,118,141,193,194,195,196,145,174,197,198,199,200,31,201,151,202,203],"youtube notetaker","notetaker","workflow","official","notes","code","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":211,"publishedAt":48},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[210],{"categoryNo":163,"categoryName":164,"taxonomyType":20,"taxonomyTypeDesc":21},[212,140,213,214,141,171,172,215,216,173,174,175,148,217,176,40,31,177,218,154],"youtube full","full","google","server","dlp","credits","automatic"]