[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HS211JN4ARMSGK52T72F58":3,"skill-same:01M6HS211JN4ARMSGK52T72F58":54},{"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":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":34,"commitSha":35,"skillDirectory":5,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":39,"updatedAt":40,"install":41,"resources":53},"01M6HS211JN4ARMSGK52T72F58","implement-spec",null,"Implement a whole spec and its tickets on one integration branch with parallel implementers.","malinskibeniamin\u002Fskills","malinskibeniamin","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9860550?v=4","01M6HR395Z9MM67BCKMW1WKTJS","Beniamin Malinski","01M6HR39AP95WH9NHANQ91FAJ0",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimplement-spec\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"implement spec","implement","spec","with","parallel","true","branch","tickets","integration","2026-11-10 10:12:30",false,"---\nname: implement-spec\ndescription: \"Implement a whole spec and its tickets on one integration branch with parallel implementers.\"\ndisable-model-invocation: true\n---\n\nYou have been provided a spec. This spec should have tickets associated with it, describing how to implement the spec.\n\nChoose this for an approved spec with real blocker edges and independently verifiable tickets, not an ordinary single-ticket task. Invoking this skill is the user's explicit request for delegation and parallel agents; loading or mentioning it is not consent.\nLoad skills per [dependency loading](..\u002Fwriting-for-agents\u002FSKILL-MECHANICS.md#loading-dependencies).\n\nIf `CLAUDE.md` exists, read `CLAUDE.md` first; otherwise read `AGENTS.md`. Follow its Issue tracker pointer. If absent, tell the user to run `\u002Fwork-automation-kit`.\n\nThe goal is the entire spec implemented on a single **integration branch**, with every ticket resolved the way the issue tracker closes work.\n\nThe tickets are not a list of steps. They are a **task graph** with blocking relationships between them. This means there is always a **frontier** of tickets which are ready to be grabbed.\n\nCommunication to and from subagents should be sparse. Communicate primarily through **context pointers**: to the spec, tickets, research notes, and previous commits. Don't duplicate information already available via pointers.\n\nStart every authorized subagent with a fresh context window and a self-contained brief; do not fork the coordinator's conversation.\n\nUse only host-supported, authorized delegation. Bound concurrent implementers by independent\nownership and the coordinator's ability to integrate and verify their work, not frontier size.\nAn unavailable delegation capability is a reported limitation, not permission to change providers.\n\n## Steps\n\n1. Read the spec, full tickets and blocking relationships. Apply the\n   [build-ticket graph contract](..\u002Fshared\u002Fticket-graph.md) before dispatch: missing edges,\n   cycles and an empty frontier with unfinished work cannot be treated as completion.\n\n2. (optional) Use an **exploration subagent** to conduct any exploration required by the tickets - relevant codebase files or external documentation. Ensure the exploration subagent can save files - it should save its markdown notes in a directory outside the repo, accessible by all future subagents. This lets **implementer subagents** focus on implementation rather than exploration.\n\n3. Create the integration branch. If the issue tracker closes work through PRs, or the user asks for one, open a draft PR after the first merge in step 5 (a branch with no commits ahead of main can't open one), marked as closing the spec and tickets.\n\n4. Use a fresh **implementer subagent** for each ticket, each in its own worktree on its own branch. Each implementer subagent:\n   - confirms its clean, agent-owned worktree is based on the integration branch's pinned tip before starting; correct a wrong base without resetting foreign, dirty or concurrent work;\n   - Calls the Skill tool with \"tdd\" to build the ticket;\n   - merges the integration branch tip into its own branch before reporting done, so step 5 is a fast-forward.\n\n5. Once an **implementer subagent** completes, merge its work to the integration branch with a **merger subagent**.\n\n6. Verify the integrated slice against its acceptance criteria, then refresh ticket state\n   and recompute the **frontier**. Dispatch newly ready work within the authorized bounds;\n   an implementer's completion alone never unblocks dependent work.\n\n7. Once all tickets are complete, Call the Skill tool with \"review\" on the integration branch. Fix all issues raised by the code review in a single fresh **implementer subagent**.\n\n8. If a draft PR exists, keep it draft when that is the requested endpoint; otherwise mark it ready for review. Without a PR, resolve each ticket the way the issue tracker closes work, and report the integration branch.\n\n9. Clean up only owned implementer worktrees whose results are integrated and whose useful\n   artifacts are retained. Preserve dirty, unpushed or foreign work; report anything left.\n","You have been provided a spec. This spec should have tickets associated with it, describing how to implement the spec.\n\nChoose this for an approved spec with real blocker edges and independently verifiable tickets, not an ordinary single-ticket task. Invoking this skill is the user's explicit request for delegation and parallel agents; loading or mentioning it is not consent.\nLoad skills per [dependency loading](..\u002Fwriting-for-agents\u002FSKILL-MECHANICS.md#loading-dependencies).\n\nIf `CLAUDE.md` exists, read `CLAUDE.md` first; otherwise read `AGENTS.md`. Follow its Issue tracker pointer. If absent, tell the user to run `\u002Fwork-automation-kit`.\n\nThe goal is the entire spec implemented on a single **integration branch**, with every ticket resolved the way the issue tracker closes work.\n\nThe tickets are not a list of steps. They are a **task graph** with blocking relationships between them. This means there is always a **frontier** of tickets which are ready to be grabbed.\n\nCommunication to and from subagents should be sparse. Communicate primarily through **context pointers**: to the spec, tickets, research notes, and previous commits. Don't duplicate information already available via pointers.\n\nStart every authorized subagent with a fresh context window and a self-contained brief; do not fork the coordinator's conversation.\n\nUse only host-supported, authorized delegation. Bound concurrent implementers by independent\nownership and the coordinator's ability to integrate and verify their work, not frontier size.\nAn unavailable delegation capability is a reported limitation, not permission to change providers.\n\n## Steps\n\n1. Read the spec, full tickets and blocking relationships. Apply the\n   [build-ticket graph contract](..\u002Fshared\u002Fticket-graph.md) before dispatch: missing edges,\n   cycles and an empty frontier with unfinished work cannot be treated as completion.\n\n2. (optional) Use an **exploration subagent** to conduct any exploration required by the tickets - relevant codebase files or external documentation. Ensure the exploration subagent can save files - it should save its markdown notes in a directory outside the repo, accessible by all future subagents. This lets **implementer subagents** focus on implementation rather than exploration.\n\n3. Create the integration branch. If the issue tracker closes work through PRs, or the user asks for one, open a draft PR after the first merge in step 5 (a branch with no commits ahead of main can't open one), marked as closing the spec and tickets.\n\n4. Use a fresh **implementer subagent** for each ticket, each in its own worktree on its own branch. Each implementer subagent:\n   - confirms its clean, agent-owned worktree is based on the integration branch's pinned tip before starting; correct a wrong base without resetting foreign, dirty or concurrent work;\n   - Calls the Skill tool with \"tdd\" to build the ticket;\n   - merges the integration branch tip into its own branch before reporting done, so step 5 is a fast-forward.\n\n5. Once an **implementer subagent** completes, merge its work to the integration branch with a **merger subagent**.\n\n6. Verify the integrated slice against its acceptance criteria, then refresh ticket state\n   and recompute the **frontier**. Dispatch newly ready work within the authorized bounds;\n   an implementer's completion alone never unblocks dependent work.\n\n7. Once all tickets are complete, Call the Skill tool with \"review\" on the integration branch. Fix all issues raised by the code review in a single fresh **implementer subagent**.\n\n8. If a draft PR exists, keep it draft when that is the requested endpoint; otherwise mark it ready for review. Without a PR, resolve each ticket the way the issue tracker closes work, and report the integration branch.\n\n9. Clean up only owned implementer worktrees whose results are integrated and whose useful\n   artifacts are retained. Preserve dirty, unpushed or foreign work; report anything left.\n",{"name":5,"description":7,"disable-model-invocation":33},true,"main","33ce54f34e30fc6576782912ce0d571729558427",1,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin","Software Engineer ","2026-11-14 18:47:37",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":33},[43,46,49],{"tool":44,"command":45},"npx","npx skills add malinskibeniamin\u002Fskills --skill implement-spec",{"tool":47,"command":48},"bunx","bunx skills add malinskibeniamin\u002Fskills --skill implement-spec",{"tool":50,"command":51},"pnpm","pnpm dlx skills add malinskibeniamin\u002Fskills --skill implement-spec","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimplement-spec\u002FSKILL.md",[],[55,77,100,105,110,134],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":28},"01M70WY35N42VJT16W9MA8CCGX","hill-climb","Optimize a defined outcome through bounded evaluation loops. Use for hill-climb requests or repeated improvement against an executable eval, benchmark, or visual comparison; not a one-pass review.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fhill-climb\u002FSKILL.md",[],[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],"hill climb","bounded","improvement","review","visual","comparison","use","eval","benchmark","Evaluation","outcome","for","requests","optimize","loops",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":81,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":28},"01M70WXTA2JQ9SN3QZPHHCYB90","gestures","Build or fix web drag, swipe, sheet, reorder, and hold interactions: direct tracking, rubber banding, release velocity, momentum, snap points, and interruption. Not native React Native or Swift.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgestures\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgestures\u002FSKILL.md",[],[79,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],"build","native","velocity","web","drag","react native","snap","release","swift","react","swipe","direct","tracking","fix","sheet",{"skillNo":101,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":28},"01M70WKSB2PTJGVH7C9XC1FEED","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fhill-climb\u002FSKILL.md",[],[62,73,63,65,66,67,68,69,70,72,71,64,75,76,74],{"skillNo":106,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":28},"01M70WKGYKGN1J786GK8N3RGH1","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fgestures\u002FSKILL.md",[],[79,92,93,94,95,96,97,98,99,85,86,87,88,89,90,91],{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":114,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":28},"01M6HS2326AZFPF8G9C2KW4AT0","improve-animations","Audit existing web UI motion and prioritize concrete improvements or self-contained implementation plans. Use for a motion roadmap; animate owns implementation and diff review.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimprove-animations\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimprove-animations\u002FSKILL.md",[],[118,119,73,120,121,122,68,123,124,125,126,127,128,129,130,131,88,132,133,65],"improve animations","improve","ui","roadmap","Existing","animate","motion","implementation","plans","diff review","prioritize","web ui","audit","diff","self","ui motion",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":138,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":28},"01M6HS0AADDXBB0S8B42R0G82K","effect-ts","Use when setting up a repository that uses the Effect TypeScript library.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Feffect-ts\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Feffect-ts\u002FSKILL.md",[],[142,143,144,68,145,146,147],"effect ts","effect","library","typescript","up","repository"]