[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D9Z4DXES2193FPXBDPCJDY":3,"skill-same:01M6D9Z4DXES2193FPXBDPCJDY":75},{"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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6D9Z4DXES2193FPXBDPCJDY","ops-docker",null,"Write or modify Dockerfiles for this backend so it is ready to deploy on Linux. Use for tasks involving containerization, image optimization, or build\u002Fruntime issues in containers. Docker Compose is managed by the server — do not touch it.","irosadie\u002Fvibecoding-starter","irosadie","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F25891018?v=4","01M6D9VT1T5RGGX753ARTN5J8N","Imron Rosadi","01M6D9VT6HENHT7C9ASN5QE5YT",1,"MIT","https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fops-docker\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"ops","ops docker","docker","use","containers","runtime","do","build","compose","containerization","ready","backend","image","write","Optimization","server","issues","tasks","docker compose","linux","2026-11-10 10:12:30",false,"---\nname: \"ops-docker\"\ndescription: \"Write or modify Dockerfiles for this backend so it is ready to deploy on Linux. Use for tasks involving containerization, image optimization, or build\u002Fruntime issues in containers. Docker Compose is managed by the server — do not touch it.\"\n---\n\nSource of truth lives at `.agents\u002Fskills\u002Fops-docker\u002FSKILL.md`.\n\nWhen this skill is used:\n1. Read `.agents\u002Fskills\u002Fops-docker\u002FSKILL.md`.\n2. Follow the workflow and rules defined in that file.\n3. Read the referenced sub-files (`references\u002Fcontext.md`, `templates\u002Fchecklist.md`) from the source-of-truth folder.\n","Source of truth lives at `.agents\u002Fskills\u002Fops-docker\u002FSKILL.md`.\n\nWhen this skill is used:\n1. Read `.agents\u002Fskills\u002Fops-docker\u002FSKILL.md`.\n2. Follow the workflow and rules defined in that file.\n3. Read the referenced sub-files (`references\u002Fcontext.md`, `templates\u002Fchecklist.md`) from the source-of-truth folder.\n",{"name":5,"description":7},"main","916c70a2d28dc0d7f254eb0f8c139b53689399f1",".claude\u002Fskills\u002Fops-docker",0,"https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter","https:\u002F\u002Fgithub.com\u002Firosadie","http:\u002F\u002Fimronrosadi.com","The Hatless Engineer 👨‍💻","2026-08-18 16:55:34",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add irosadie\u002Fvibecoding-starter --skill ops-docker",{"tool":67,"command":68},"bunx","bunx skills add irosadie\u002Fvibecoding-starter --skill ops-docker",{"tool":70,"command":71},"pnpm","pnpm dlx skills add irosadie\u002Fvibecoding-starter --skill ops-docker","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fops-docker\u002FSKILL.md",true,[],[76,105,133,156,172,193],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":90,"publishedAt":47},"01M6D9ZV5TNXMKVY9GVT9RGJTH","web-slicing","Convert screenshot\u002FFigma designs into pixel-perfect frontend UI with reusable components. Use when the task focuses on visual and layout implementation.","https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fweb-slicing\u002FSKILL.md",[82,85],{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[91,92,93,94,95,96,97,98,99,30,100,101,102,103,104],"web","web slicing","screenshot","layout","visual","pixel","task","reusable","implementation","convert","ui","figma","components","frontend",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":117,"publishedAt":47},"01M6D9ZQYHQ1PAYT33M4YXSCRN","web-seo-geo-friendly","Optimize public Next.js App Router pages for SEO and GEO (Generative Engine Optimization). Use when the user explicitly requests SEO\u002FGEO optimization on public pages.","https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fweb-seo-geo-friendly\u002FSKILL.md",[111,114],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":115,"categoryName":116,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000035","市场营销",[118,119,120,121,91,122,123,124,125,126,30,41,127,128,129,130,131,132],"seo geo","geo","web seo geo friendly","seo","js","Next.js","engine","public","user","router","app","pages","next","optimize","geo optimization",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":146,"publishedAt":47},"01M6D9ZNF4TQXY90M865XHN2PJ","web-code-review","Review frontend code with a firm senior-lead standard, focusing on bugs, regressions, architecture risks, and test gaps in apps\u002Fweb and the shared contracts the frontend depends on.","https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fweb-code-review\u002FSKILL.md",[139,142,143],{"categoryNo":140,"categoryName":141,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":144,"categoryName":145,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000030","开发工程师",[147,148,149,91,150,151,152,153,154,104,155],"web code review","code","code review","review","firm","test","contracts","architecture","shared",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":163,"publishedAt":47},"01M6D9ZJRFAKFT0VTK32W47PZ1","web-bugfix","Fix frontend bugs with minimum-touch changes, keep other surfaces stable, and sync schema, types, hooks, constants, tests, and related docs when impacted.","https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fweb-bugfix\u002FSKILL.md",[162],{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},[91,164,165,166,167,168,169,170,171,104],"web bugfix","sync","tests","surfaces","hooks","schema","fix","docs",{"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":181,"publishedAt":47},"01M6D9ZFYC0ZCPR7Y2X2KQHSWH","web-api-integrated","Integrate API endpoints into the frontend with Zod schemas, response types, constants, and react-query hooks. Use when implementing endpoints from an API contract, Postman, or Swagger.","https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fweb-api-integrated\u002FSKILL.md",[178,179,180],{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":144,"categoryName":145,"taxonomyType":88,"taxonomyTypeDesc":89},[91,182,183,184,30,185,186,187,104,168,188,189,190,191,192],"web api integrated","api","integrate","zod","postman","react","contract","swagger","query","api contract","endpoints",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":202,"publishedAt":47},"01M6D9ZCVH83YJSG1818BT7BYC","skill-creator","Create a new skill from scratch with full structure — SKILL.md, references, templates, openai.yaml, Claude wrapper, and registration in manifest + AGENTS.md + CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Firosadie\u002Fvibecoding-starter\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fskill-creator\u002FSKILL.md",[199],{"categoryNo":200,"categoryName":201,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[203,204,205,206,207,208,209,210,211,212,213,214],"skill creator","new skill","full","structure","registration","references","Wrapper","manifest","templates","yaml","openai","create"]