[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HT8B9QFSRTDP9MRVVE0Y4":3,"skill-same:01M71HT8B9QFSRTDP9MRVVE0Y4":80},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":24,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M71HT8B9QFSRTDP9MRVVE0Y4","ck:ship",null,"Ship pipeline: merge main, test, review, commit, push, PR. Single command from feature branch to PR URL. Use for shipping official releases to main\u002Fmaster or beta releases to dev\u002Fbeta branches.","datnguyense1104\u002Fhom-nay-an-gi","datnguyense1104","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F124538996?v=4","01M71HMY98E9Y6DA31107PHNRE","Dat","01M71HMYADS82R3VSPJSDW68TX",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fship\u002FSKILL.md",[],[19,20,5,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"ck","ship","commit","URL","use","main","journal","single","dev","tests","branches","beta","pipeline","for","feature","pr","official","push","branch","2026-11-10 10:12:30",false,"---\nname: ck:ship\ndescription: \"Ship pipeline: merge main, test, review, commit, push, PR. Single command from feature branch to PR URL. Use for shipping official releases to main\u002Fmaster or beta releases to dev\u002Fbeta branches.\"\nargument-hint: \"[official|beta] [--skip-tests] [--skip-review] [--skip-journal] [--skip-docs] [--dry-run]\"\nlicense: MIT\nmetadata:\n  author: claudekit\n  version: \"2.0.0\"\n---\n\n# Ship: Unified Ship Pipeline\n\nSingle command to ship a feature branch. Fully automated — only stops for test failures, critical review issues, or major version bumps.\n\n**Inspired by:** gstack `\u002Fship` by Garry Tan. Adapted for framework-agnostic, multi-language support.\n\n## Arguments\n\n| Flag | Effect |\n|------|--------|\n| `official` | Ship to default branch (main\u002Fmaster). Full pipeline with docs + journal |\n| `beta` | Ship to dev\u002Fbeta branch. Lighter pipeline, skip docs update |\n| (none) | Auto-detect: if base branch is main\u002Fmaster → official, else → beta |\n| `--skip-tests` | Skip test step (use when tests already passed) |\n| `--skip-review` | Skip pre-landing review step |\n| `--skip-journal` | Skip journal writing step |\n| `--skip-docs` | Skip docs update step |\n| `--dry-run` | Show what would happen without executing |\n\n## Ship Mode Detection\n\n```\nIf argument = \"official\" → target = main\u002Fmaster (auto-detect default branch)\nIf argument = \"beta\"     → target = dev\u002Fbeta (auto-detect dev branch)\nIf no argument           → infer from current branch naming:\n  - feature\u002F* hotfix\u002F* bugfix\u002F* → official (target main)\n  - dev\u002F* beta\u002F* experiment\u002F*  → beta (target dev\u002Fbeta)\n  - unclear                    → AskUserQuestion\n```\n\n## When to Stop (blocking)\n\n- On target branch already → abort\n- Merge conflicts that can't be auto-resolved → stop, show conflicts\n- Test failures → stop, show failures\n- Critical review issues → AskUserQuestion per issue\n- Major\u002Fminor version bump needed → AskUserQuestion\n\n## When NOT to Stop\n\n- Uncommitted changes → always include them\n- Patch version bump → auto-decide\n- Changelog content → auto-generate\n- Commit message → auto-compose\n- No version file → skip version step silently\n- No changelog → skip changelog step silently\n\n## Pipeline\n\n```\nStep 1:  Pre-flight      → Branch check, mode detection, status, diff analysis\nStep 2:  Link Issues      → Find\u002Fcreate related GitHub issues\nStep 3:  Merge target     → Fetch + merge origin\u002F\u003Ctarget-branch>\nStep 4:  Run tests        → Auto-detect test runner, run, check results\nStep 5:  Review           → Two-pass checklist review (critical + informational)\nStep 6:  Version bump     → Auto-detect version file, bump patch\u002Fminor\nStep 7:  Changelog        → Auto-generate from commits + diff\nStep 8:  Journal          → Write technical journal via \u002Fck:journal\nStep 9:  Docs update      → Update project docs via \u002Fck:docs update (official only)\nStep 10: Commit           → Conventional commit with version\u002Fchangelog\nStep 11: Push             → git push -u origin \u003Cbranch>\nStep 12: Create PR        → gh pr create with structured body + linked issues\n```\n\n**Detailed steps:** Load `references\u002Fship-workflow.md`\n**Auto-detection:** Load `references\u002Fauto-detect.md`\n**PR template:** Load `references\u002Fpr-template.md`\n\n## Token Efficiency Rules\n\n- Steps 4 (tests) and 5 (review): delegate to `tester` and `code-reviewer` subagents — don't inline\n- Steps 8 (journal) and 9 (docs): run in **background** — don't block pipeline\n- Step 2 (issues): use single `gh` command batch — avoid multiple API calls\n- Skip steps early via flags to save tokens on unnecessary work\n- Beta mode auto-skips: docs update (Step 9)\n- Capture step outputs inline — don't re-read files already in context\n\n## Quick Start\n\nUser says `\u002Fck:ship` → run full pipeline → output PR URL.\nUser says `\u002Fck:ship beta` → ship to dev branch with lighter pipeline.\nUser says `\u002Fck:ship official` → ship to main with full docs + journal.\n\n## Output Format\n\n```\n✓ Pre-flight: branch feature\u002Ffoo, 5 commits, +200\u002F-50 lines (mode: official)\n✓ Issues: linked #42, created #43\n✓ Merged: origin\u002Fmain (up to date)\n✓ Tests: 42 passed, 0 failed\n✓ Review: 0 critical, 2 informational\n✓ Version: 1.2.3 → 1.2.4\n✓ Changelog: updated\n✓ Journal: written (background)\n✓ Docs: updated (background)\n✓ Committed: feat(auth): add OAuth2 login flow\n✓ Pushed: origin\u002Ffeature\u002Ffoo\n✓ PR: https:\u002F\u002Fgithub.com\u002Forg\u002Frepo\u002Fpull\u002F123 (linked: #42, #43)\n```\n\n## Important Rules\n\n- **Never skip tests** (unless `--skip-tests`). If tests fail, stop.\n- **Never force push.** Regular `git push` only.\n- **Never ask for confirmation** except for critical review issues and major\u002Fminor version bumps.\n- **Auto-detect everything.** Test runner, version file, changelog format, target branch — detect from project files.\n- **Framework-agnostic.** Works for Node, Python, Rust, Go, Ruby, Java, or any project with a test command.\n- **Subagent delegation.** Use `tester` for tests, `code-reviewer` for review, `journal-writer` for journal, `docs-manager` for docs. Don't inline.\n- **Background tasks.** Journal and docs run in background to not block the pipeline.\n","# Ship: Unified Ship Pipeline\n\nSingle command to ship a feature branch. Fully automated — only stops for test failures, critical review issues, or major version bumps.\n\n**Inspired by:** gstack `\u002Fship` by Garry Tan. Adapted for framework-agnostic, multi-language support.\n\n## Arguments\n\n| Flag | Effect |\n|------|--------|\n| `official` | Ship to default branch (main\u002Fmaster). Full pipeline with docs + journal |\n| `beta` | Ship to dev\u002Fbeta branch. Lighter pipeline, skip docs update |\n| (none) | Auto-detect: if base branch is main\u002Fmaster → official, else → beta |\n| `--skip-tests` | Skip test step (use when tests already passed) |\n| `--skip-review` | Skip pre-landing review step |\n| `--skip-journal` | Skip journal writing step |\n| `--skip-docs` | Skip docs update step |\n| `--dry-run` | Show what would happen without executing |\n\n## Ship Mode Detection\n\n```\nIf argument = \"official\" → target = main\u002Fmaster (auto-detect default branch)\nIf argument = \"beta\"     → target = dev\u002Fbeta (auto-detect dev branch)\nIf no argument           → infer from current branch naming:\n  - feature\u002F* hotfix\u002F* bugfix\u002F* → official (target main)\n  - dev\u002F* beta\u002F* experiment\u002F*  → beta (target dev\u002Fbeta)\n  - unclear                    → AskUserQuestion\n```\n\n## When to Stop (blocking)\n\n- On target branch already → abort\n- Merge conflicts that can't be auto-resolved → stop, show conflicts\n- Test failures → stop, show failures\n- Critical review issues → AskUserQuestion per issue\n- Major\u002Fminor version bump needed → AskUserQuestion\n\n## When NOT to Stop\n\n- Uncommitted changes → always include them\n- Patch version bump → auto-decide\n- Changelog content → auto-generate\n- Commit message → auto-compose\n- No version file → skip version step silently\n- No changelog → skip changelog step silently\n\n## Pipeline\n\n```\nStep 1:  Pre-flight      → Branch check, mode detection, status, diff analysis\nStep 2:  Link Issues      → Find\u002Fcreate related GitHub issues\nStep 3:  Merge target     → Fetch + merge origin\u002F\u003Ctarget-branch>\nStep 4:  Run tests        → Auto-detect test runner, run, check results\nStep 5:  Review           → Two-pass checklist review (critical + informational)\nStep 6:  Version bump     → Auto-detect version file, bump patch\u002Fminor\nStep 7:  Changelog        → Auto-generate from commits + diff\nStep 8:  Journal          → Write technical journal via \u002Fck:journal\nStep 9:  Docs update      → Update project docs via \u002Fck:docs update (official only)\nStep 10: Commit           → Conventional commit with version\u002Fchangelog\nStep 11: Push             → git push -u origin \u003Cbranch>\nStep 12: Create PR        → gh pr create with structured body + linked issues\n```\n\n**Detailed steps:** Load `references\u002Fship-workflow.md`\n**Auto-detection:** Load `references\u002Fauto-detect.md`\n**PR template:** Load `references\u002Fpr-template.md`\n\n## Token Efficiency Rules\n\n- Steps 4 (tests) and 5 (review): delegate to `tester` and `code-reviewer` subagents — don't inline\n- Steps 8 (journal) and 9 (docs): run in **background** — don't block pipeline\n- Step 2 (issues): use single `gh` command batch — avoid multiple API calls\n- Skip steps early via flags to save tokens on unnecessary work\n- Beta mode auto-skips: docs update (Step 9)\n- Capture step outputs inline — don't re-read files already in context\n\n## Quick Start\n\nUser says `\u002Fck:ship` → run full pipeline → output PR URL.\nUser says `\u002Fck:ship beta` → ship to dev branch with lighter pipeline.\nUser says `\u002Fck:ship official` → ship to main with full docs + journal.\n\n## Output Format\n\n```\n✓ Pre-flight: branch feature\u002Ffoo, 5 commits, +200\u002F-50 lines (mode: official)\n✓ Issues: linked #42, created #43\n✓ Merged: origin\u002Fmain (up to date)\n✓ Tests: 42 passed, 0 failed\n✓ Review: 0 critical, 2 informational\n✓ Version: 1.2.3 → 1.2.4\n✓ Changelog: updated\n✓ Journal: written (background)\n✓ Docs: updated (background)\n✓ Committed: feat(auth): add OAuth2 login flow\n✓ Pushed: origin\u002Ffeature\u002Ffoo\n✓ PR: https:\u002F\u002Fgithub.com\u002Forg\u002Frepo\u002Fpull\u002F123 (linked: #42, #43)\n```\n\n## Important Rules\n\n- **Never skip tests** (unless `--skip-tests`). If tests fail, stop.\n- **Never force push.** Regular `git push` only.\n- **Never ask for confirmation** except for critical review issues and major\u002Fminor version bumps.\n- **Auto-detect everything.** Test runner, version file, changelog format, target branch — detect from project files.\n- **Framework-agnostic.** Works for Node, Python, Rust, Go, Ruby, Java, or any project with a test command.\n- **Subagent delegation.** Use `tester` for tests, `code-reviewer` for review, `journal-writer` for journal, `docs-manager` for docs. Don't inline.\n- **Background tasks.** Journal and docs run in background to not block the pipeline.\n",{"name":5,"license":15,"metadata":43,"description":7,"argument-hint":46},{"author":44,"version":45},"claudekit","2.0.0","[official|beta] [--skip-tests] [--skip-review] [--skip-journal] [--skip-docs] [--dry-run]","b6e032cdf3f5b40e5203dd2ac38ecf4e6c265961",".claude\u002Fskills\u002Fship","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104","2026-05-13 15:56:14",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:ship\"",{"tool":58,"command":59},"bunx","bunx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:ship\"",{"tool":61,"command":62},"pnpm","pnpm dlx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:ship\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fship\u002FSKILL.md",true,[66,72,76],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fauto-detect.md","REFERENCE","参考文档",2923,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fship\u002Freferences\u002Fauto-detect.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fpr-template.md",2231,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fship\u002Freferences\u002Fpr-template.md",{"path":77,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fship-workflow.md",7902,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fship\u002Freferences\u002Fship-workflow.md",[81,111,135,169,196,226],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":85,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":93,"publishedAt":38},"01M71J2265Q3MAW1K2VJ7ZPQ4R","ck:web-testing","Web testing with Playwright, Vitest, k6. E2E\u002Funit\u002Fintegration\u002Fload\u002Fsecurity\u002Fvisual\u002Fa11y testing. Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fweb-testing\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[94,95,96,97,19,98,99,100,101,102,103,104,105,106,107,108,32,109,110,23],"testing","ck:web testing","web","web testing","unit","vitals","browser","a11y","mobile","security","k6","target","gestures","vitest","core","e2e","cross-browser",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":38},"01M71J1YDT008XR78BXVP0P8AJ","ck:web-frameworks","Build with Next.js (App Router, RSC, SSR, ISR), Turborepo monorepos. Use for React apps, server rendering, build optimization, caching strategies, shared dependencies.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fweb-frameworks\u002FSKILL.md",[],[118,119,120,96,19,121,122,123,124,125,126,127,128,129,130,131,132,133,134,33],"ck:web frameworks","frameworks","web frameworks","shared","app","apps","caching","react","router","strategies","server","rsc","next","ssr","rendering","turborepo","framework",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":139,"sourceHtmlUrl":140,"categories":141,"keywords":150,"publishedAt":38},"01M71J1DWTE1QMZHACDGDGE0GC","ck:ui-styling","Style UIs with shadcn\u002Fui components (Radix UI + Tailwind CSS). Use for accessible components, themes, dark mode, responsive layouts, design systems, color customization.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fui-styling\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fui-styling\u002FSKILL.md",[142,145],{"categoryNo":143,"categoryName":144,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":146,"categoryName":147,"taxonomyType":148,"taxonomyTypeDesc":149},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[151,152,153,154,19,155,156,157,158,159,160,161,162,163,164,165,166,167,32,168],"ui styling","ck:ui styling","styling","ui","css","Tailwind","mode","design","themes","design systems","components","component","layout","responsive","shadcn","color","dark","ui components",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":178,"publishedAt":38},"01M71J1AAZNC9P7PJX93D5K1CR","ck:threejs","Build 3D web apps with Three.js (WebGL\u002FWebGPU). 556 searchable examples, 60 API classes, 20 use cases. Actions: create 3D scene, load model, add animation, implement physics, build VR\u002FXR. Topics: GLTF loader, PBR materials, particle effects, shadows, post-processing, compute shaders, TSL. Integrations: WebGPU, physics engines, spatial audio.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fthreejs\u002FSKILL.md",[175],{"categoryNo":176,"categoryName":177,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000010","后端与接口",[171,19,179,180,181,182,183,184,185,186,187,188,123,189,190,191,192,193,194,195],"threejs","Animation","3D","processing","Audio","physics","model","actions","webgpu","effects","api","create","shaders","post-processing","vr","add","integrations",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":210,"publishedAt":38},"01M71J0X8QYTTPZE6G1VNHXS28","ck:stitch","AI design generation with Google Stitch. Generate UI designs from text prompts, export Tailwind\u002FHTML\u002FDESIGN.md, orchestrate design-to-code pipeline. Use for rapid prototyping, UI generation, design exploration.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fstitch\u002FSKILL.md",[202,203,206,209],{"categoryNo":143,"categoryName":144,"taxonomyType":91,"taxonomyTypeDesc":92},{"categoryNo":204,"categoryName":205,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":207,"categoryName":208,"taxonomyType":148,"taxonomyTypeDesc":149},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":146,"categoryName":147,"taxonomyType":148,"taxonomyTypeDesc":149},[211,198,19,212,213,156,31,214,158,215,216,217,218,219,220,221,222,223,224,225],"stitch","orchestrate","exploration","prototyping","Bash","code","text","generate","read","write","edit","google","action","export","google stitch",{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":85,"licenseFileUrl":230,"sourceHtmlUrl":231,"categories":232,"keywords":235,"publishedAt":38},"01M71J0SEMVWWJ8QKSSW8435F9","ck:skill-creator","Create or update Claude skills with eval-driven iteration. Use for new skills, skill scripts, references, benchmark optimization, description optimization, eval testing, extending Claude's capabilities.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002FSKILL.md",[233,234],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},{"categoryNo":204,"categoryName":205,"taxonomyType":91,"taxonomyTypeDesc":92},[236,237,19,238,32,239,240,94,241,242,23,243,244,245,190,246,247,248,249,250],"skill creator","ck:skill creator","creator","iteration","Optimization","eval","new","extending","capabilities","with","references","name","update","scripts","benchmark"]