[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CXEZSCFVZE4SC97F3Z17AN":3,"skill-same:01M6CXEZSCFVZE4SC97F3Z17AN":62},{"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":17,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":32,"commitSha":33,"skillDirectory":5,"forksCount":34,"repositoryHtmlUrl":35,"repositoryHomepageUrl":6,"ownerHtmlUrl":36,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":37,"install":38,"resources":51},"01M6CXEZSCFVZE4SC97F3Z17AN","platform-engineering",null,"Internal platform development and management","ffsshhttiikk\u002Fopencode-agents-skills","ffsshhttiikk","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F226346827?v=4","01M6CWD9RR3Y7VRQX3MXYC8FYH","01M6CWD9WVPYAZW0J82G1VKGHY",3,"MIT","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fplatform-engineering\u002FSKILL.md",[],[18,19,20,21,22,23,24],"engineering","platform engineering","development","management","devops","opencode","engineer","2026-11-10 10:12:30",false,"---\nname: platform-engineering\ndescription: Internal platform development and management\nlicense: MIT\ncompatibility: opencode\nmetadata:\n  audience: platform-engineer, devops-engineer\n  category: devops\n---\n\n## What I do\n\n- Build internal developer platforms\n- Create self-service infrastructure\n- Implement golden paths for developers\n- Design platform APIs and interfaces\n- Build internal tooling and automation\n- Measure platform effectiveness\n\n## When to use me\n\n- When improving developer experience\n- When standardizing deployments\n- When building self-service capabilities\n- When reducing cognitive load on developers\n- When implementing platform engineering\n- When creating internal developer portals\n\n## Key Concepts\n\n### Internal Developer Platform\n\n```\n┌─────────────────────────────────────────────────────────┐\n│              Internal Developer Portal                  │\n│  (Backstage, Port, Cortex)                              │\n└──────────────────────┬──────────────────────────────────┘\n                       │\n    ┌──────────────────┼──────────────────┐\n    │                  │                  │\n┌───▼────┐        ┌────▼────┐       ┌────▼────┐\n│ CI\u002FCD  │        │Runtime  │       │ Data    │\n│ Platform│        │ Platform│       │ Platform│\n└────┬───┘        └────┬────┘       └────┬────┘\n     │                  │                  │\n     │      ┌───────────┼───────────┐      │\n     └──────►    Infrastructure     ◄──────┘\n```\n\n### Backstage Catalog\n\n```yaml\n# catalog-info.yaml\napiVersion: backstage.io\u002Fv1alpha1\nkind: Component\nmetadata:\n  name: my-service\n  description: User management service\n  tags:\n    - java\n    - spring-boot\n    - postgres\n  links:\n    - url: https:\u002F\u002Fgithub.com\u002Fcompany\u002Fmy-service\n      title: GitHub\n    - url: https:\u002F\u002Fmy-service.dev.company.com\n      title: Dashboard\nspec:\n  type: service\n  lifecycle: production\n  owner: team-backend\n  providesApis:\n    - user-api\n\n---\napiVersion: backstage.io\u002Fv1alpha1\nkind: API\nmetadata:\n  name: user-api\n  description: User management API\nspec:\n  type: openapi\n  lifecycle: production\n  owner: team-backend\n  definition:\n    $ref: https:\u002F\u002Fraw.githubusercontent.com\u002Fcompany\u002Fapis\u002Fmain\u002Fuser-api.yaml\n\n---\napiVersion: backstage.io\u002Fv1alpha1\nkind: Resource\nmetadata:\n  name: user-db\n  description: Production database\nspec:\n  type: database\n  owner: team-backend\n  system: user-management\n```\n\n### Golden Path Template\n\n```yaml\n# Template for new services\napiVersion: scaffolder.backstage.io\u002Fv1beta3\nkind: Template\nmetadata:\n  name: service-template\n  title: New Microservice\n  description: Create a new microservice\nspec:\n  owner: platform-team\n  type: service\n  \n  parameters:\n    - title: Service Details\n      required:\n        - service_name\n        - description\n      properties:\n        service_name:\n          title: Service Name\n          type: string\n        description:\n          title: Description\n          type: string\n        owner:\n          title: Owner Team\n          type: string\n          default: team-backend\n          \n  steps:\n    - id: fetch-template\n      name: Fetch Template\n      action: fetch:template\n      input:\n        url: .\u002Ftemplates\u002Fjava-service\n        values:\n          service_name: ${{ parameters.service_name }}\n          description: ${{ parameters.description }}\n          owner: ${{ parameters.owner }}\n          \n    - id: publish\n      name: Publish to Git\n      action: publish:github\n      input:\n        repoUrl: github.com?owner=${{ parameters.owner }}&repo=${{ parameters.service_name }}\n        \n    - id: register\n      name: Register in Catalog\n      action: catalog:register\n      input:\n        repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}\n        catalogInfoPath: catalog-info.yaml\n```\n\n### Platform API Design\n\n```typescript\n\u002F\u002F Platform SDK\nexport interface PlatformService {\n  \u002F\u002F Deployment\n  deploy(service: ServiceConfig): Promise\u003CDeployment>;\n  rollback(serviceName: string, version: string): Promise\u003Cvoid>;\n  getStatus(serviceName: string): Promise\u003CServiceStatus>;\n  \n  \u002F\u002F Infrastructure\n  provisionDatabase(config: DatabaseConfig): Promise\u003CDatabase>;\n  provisionCache(config: CacheConfig): Promise\u003CCache>;\n  \n  \u002F\u002F Monitoring\n  getMetrics(serviceName: string, timeRange: TimeRange): Promise\u003CMetrics>;\n  getLogs(serviceName: string, query: LogQuery): Promise\u003CLogs>;\n}\n\n\u002F\u002F Usage\nconst platform = new PlatformClient({\n  token: process.env.PLATFORM_TOKEN\n});\n\nawait platform.deploy({\n  name: 'user-service',\n  image: 'user-service:latest',\n  replicas: 3,\n  env: { DATABASE_URL: 'postgres:\u002F\u002F...' }\n});\n```\n\n### Self-Service Workflows\n\n1. **Service Creation**: Developer creates service from template\n2. **Infrastructure Provisioning**: Platform provisions DB, cache, etc.\n3. **CI\u002FCD Setup**: Pipeline automatically configured\n4. **Monitoring**: Dashboards and alerts auto-created\n5. **Documentation**: Catalog entry created\n6. **Access Control**: Team permissions configured\n\n### Platform Metrics\n\n| Metric | Description | Target |\n|--------|-------------|--------|\n| Deployment Frequency | How often code is deployed | Daily+ |\n| Lead Time | Time from commit to production | \u003C 1 day |\n| MTTR | Mean time to recovery | \u003C 1 hour |\n| Self-Service Rate | % of actions done by developers | > 80% |\n| Platform Uptime | Platform availability | 99.9% |\n| Developer Satisfaction | NPS score | > 50 |\n\n### Golden Paths\n\n- **Build**: Standardized project templates\n- **Deploy**: Single command deployment\n- **Configure**: Declarative configuration\n- **Monitor**: Built-in observability\n- **Secure**: Integrated security scanning\n- **Test**: Standardized test patterns\n","## What I do\n\n- Build internal developer platforms\n- Create self-service infrastructure\n- Implement golden paths for developers\n- Design platform APIs and interfaces\n- Build internal tooling and automation\n- Measure platform effectiveness\n\n## When to use me\n\n- When improving developer experience\n- When standardizing deployments\n- When building self-service capabilities\n- When reducing cognitive load on developers\n- When implementing platform engineering\n- When creating internal developer portals\n\n## Key Concepts\n\n### Internal Developer Platform\n\n```\n┌─────────────────────────────────────────────────────────┐\n│              Internal Developer Portal                  │\n│  (Backstage, Port, Cortex)                              │\n└──────────────────────┬──────────────────────────────────┘\n                       │\n    ┌──────────────────┼──────────────────┐\n    │                  │                  │\n┌───▼────┐        ┌────▼────┐       ┌────▼────┐\n│ CI\u002FCD  │        │Runtime  │       │ Data    │\n│ Platform│        │ Platform│       │ Platform│\n└────┬───┘        └────┬────┘       └────┬────┘\n     │                  │                  │\n     │      ┌───────────┼───────────┐      │\n     └──────►    Infrastructure     ◄──────┘\n```\n\n### Backstage Catalog\n\n```yaml\n# catalog-info.yaml\napiVersion: backstage.io\u002Fv1alpha1\nkind: Component\nmetadata:\n  name: my-service\n  description: User management service\n  tags:\n    - java\n    - spring-boot\n    - postgres\n  links:\n    - url: https:\u002F\u002Fgithub.com\u002Fcompany\u002Fmy-service\n      title: GitHub\n    - url: https:\u002F\u002Fmy-service.dev.company.com\n      title: Dashboard\nspec:\n  type: service\n  lifecycle: production\n  owner: team-backend\n  providesApis:\n    - user-api\n\n---\napiVersion: backstage.io\u002Fv1alpha1\nkind: API\nmetadata:\n  name: user-api\n  description: User management API\nspec:\n  type: openapi\n  lifecycle: production\n  owner: team-backend\n  definition:\n    $ref: https:\u002F\u002Fraw.githubusercontent.com\u002Fcompany\u002Fapis\u002Fmain\u002Fuser-api.yaml\n\n---\napiVersion: backstage.io\u002Fv1alpha1\nkind: Resource\nmetadata:\n  name: user-db\n  description: Production database\nspec:\n  type: database\n  owner: team-backend\n  system: user-management\n```\n\n### Golden Path Template\n\n```yaml\n# Template for new services\napiVersion: scaffolder.backstage.io\u002Fv1beta3\nkind: Template\nmetadata:\n  name: service-template\n  title: New Microservice\n  description: Create a new microservice\nspec:\n  owner: platform-team\n  type: service\n  \n  parameters:\n    - title: Service Details\n      required:\n        - service_name\n        - description\n      properties:\n        service_name:\n          title: Service Name\n          type: string\n        description:\n          title: Description\n          type: string\n        owner:\n          title: Owner Team\n          type: string\n          default: team-backend\n          \n  steps:\n    - id: fetch-template\n      name: Fetch Template\n      action: fetch:template\n      input:\n        url: .\u002Ftemplates\u002Fjava-service\n        values:\n          service_name: ${{ parameters.service_name }}\n          description: ${{ parameters.description }}\n          owner: ${{ parameters.owner }}\n          \n    - id: publish\n      name: Publish to Git\n      action: publish:github\n      input:\n        repoUrl: github.com?owner=${{ parameters.owner }}&repo=${{ parameters.service_name }}\n        \n    - id: register\n      name: Register in Catalog\n      action: catalog:register\n      input:\n        repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}\n        catalogInfoPath: catalog-info.yaml\n```\n\n### Platform API Design\n\n```typescript\n\u002F\u002F Platform SDK\nexport interface PlatformService {\n  \u002F\u002F Deployment\n  deploy(service: ServiceConfig): Promise\u003CDeployment>;\n  rollback(serviceName: string, version: string): Promise\u003Cvoid>;\n  getStatus(serviceName: string): Promise\u003CServiceStatus>;\n  \n  \u002F\u002F Infrastructure\n  provisionDatabase(config: DatabaseConfig): Promise\u003CDatabase>;\n  provisionCache(config: CacheConfig): Promise\u003CCache>;\n  \n  \u002F\u002F Monitoring\n  getMetrics(serviceName: string, timeRange: TimeRange): Promise\u003CMetrics>;\n  getLogs(serviceName: string, query: LogQuery): Promise\u003CLogs>;\n}\n\n\u002F\u002F Usage\nconst platform = new PlatformClient({\n  token: process.env.PLATFORM_TOKEN\n});\n\nawait platform.deploy({\n  name: 'user-service',\n  image: 'user-service:latest',\n  replicas: 3,\n  env: { DATABASE_URL: 'postgres:\u002F\u002F...' }\n});\n```\n\n### Self-Service Workflows\n\n1. **Service Creation**: Developer creates service from template\n2. **Infrastructure Provisioning**: Platform provisions DB, cache, etc.\n3. **CI\u002FCD Setup**: Pipeline automatically configured\n4. **Monitoring**: Dashboards and alerts auto-created\n5. **Documentation**: Catalog entry created\n6. **Access Control**: Team permissions configured\n\n### Platform Metrics\n\n| Metric | Description | Target |\n|--------|-------------|--------|\n| Deployment Frequency | How often code is deployed | Daily+ |\n| Lead Time | Time from commit to production | \u003C 1 day |\n| MTTR | Mean time to recovery | \u003C 1 hour |\n| Self-Service Rate | % of actions done by developers | > 80% |\n| Platform Uptime | Platform availability | 99.9% |\n| Developer Satisfaction | NPS score | > 50 |\n\n### Golden Paths\n\n- **Build**: Standardized project templates\n- **Deploy**: Single command deployment\n- **Configure**: Declarative configuration\n- **Monitor**: Built-in observability\n- **Secure**: Integrated security scanning\n- **Test**: Standardized test patterns\n",{"name":5,"license":14,"metadata":30,"description":7,"compatibility":23},{"audience":31,"category":22},"platform-engineer, devops-engineer","main","5f7a3e453c98261f93d19a6a7de44ad8f7b72d41",2,"https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk","2026-03-01 06:55:40",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill platform-engineering",{"tool":44,"command":45},"bunx","bunx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill platform-engineering",{"tool":47,"command":48},"pnpm","pnpm dlx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill platform-engineering","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fplatform-engineering\u002FSKILL.md",true,[52,58],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"scripts\u002Fscan-rules.sh","SCRIPT","脚本",1604,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FSkill-Util\u002Frules-distill\u002Fscripts\u002Fscan-rules.sh",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"scripts\u002Fscan-skills.sh",3893,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FSkill-Util\u002Frules-distill\u002Fscripts\u002Fscan-skills.sh",[63,73,83,92,102,111],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":25},"01M6CXT9TXDF79BWJTMQAPB49G","xamarin","Xamarin cross-platform development","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fxamarin\u002FSKILL.md",[],[65,70,71,72,23,20],"platform","cross-platform","mobile",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":25},"01M6CXT8AD04MFYDA32VW3FKAG","wrangling","Data wrangling fundamentals","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwrangling\u002FSKILL.md",[],[75,80,23,81,82],"data wrangling","science","data",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":25},"01M6CXT717GCN7SRRNPBDP4508","windows","Windows operating system administration and scripting","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwindows\u002FSKILL.md",[],[85,90,23,91],"system","scripting",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":25},"01M6CXT54K794NMEM3XAPZZDKT","wide-column","Wide-column data model","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column\u002FSKILL.md",[],[99,100,23,101,82],"wide column","databases","model",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":25},"01M6CXT28FMT2P4V9GZE67WA8E","wide-column-stores","Wide-column database stores","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column-stores\u002FSKILL.md",[],[109,100,23,110],"wide column stores","database",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":25},"01M6CXT0D0M0Q4T2N7C2RX7DSN","websockets","WebSocket implementation and best practices","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwebsockets\u002FSKILL.md",[],[113,118,119,120,23,121,122],"websocket","real-time","time","best practices","implementation"]