[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS1PD1DSPC77NJZK5WJC30":3,"skill-same:01M6CS1PD1DSPC77NJZK5WJC30":68},{"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":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":6,"updatedAt":54,"install":55,"resources":67},"01M6CS1PD1DSPC77NJZK5WJC30","ship-wt",null,"Spawn a fresh fir agent in a new worktree that ships itself — does the work, then runs ship-it (review-and-fix loop, ff-merge, release, worktree cleanup) when done. Use when you want a worktree task to finish and merge on its own.","kfet\u002Ffir","kfet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F14585?v=4","01M6CRZCB8P1V37WM3X0GB2DA6","Kalin Fetvadjiev","01M6CRZCFG1EW1WEN4RK84W1N5",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fship-wt\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"ship","wt","ship wt","use","new","when","true","you","fresh","done","task","worktree cleanup","finish","review","spawn","fix","work","loop","worktree","release","cleanup","merge","2026-11-10 10:12:30",false,"---\nname: ship-wt\ndescription: Spawn a fresh fir agent in a new worktree that ships itself — does the work, then runs ship-it (review-and-fix loop, ff-merge, release, worktree cleanup) when done. Use when you want a worktree task to finish and merge on its own.\nbuiltin: true\noverride: true\n---\n\n# ship-wt — spawn a self-shipping worktree agent\n\n`wt` plus `ship-it`. The spawned agent owns the task end-to-end: implement, then\ninvoke `ship-it` once implementation is complete and `make all` passes. Plain\n`wt` is untouched — this is the explicit, opt-in shipping variant.\n\nThe work happens over there. Don't draft designs or touch code here.\n\n## Recipe\n\n1. Pick a short kebab-case feature name from the whole task.\n\n2. Build the task text. Start from the user's full task, ensure it carries a\n   `Mode: do.` tag, prepend \"Before exploring, run the `recall` skill for this\n   repo.\", and **append the ship-it instruction** verbatim:\n   > \"When implementation is complete and `make all` passes, invoke the `ship-it`\n   > skill to finish: it loops review-and-fix until clean, ff-merges to main,\n   > cuts and publishes a release, and removes the worktree. Do not ask\n   > permission. Never skip the review-and-fix loop, even if the task is urgent.\"\n\n3. Spawn via `wt`'s script (reused — `ship-wt` adds no spawn logic of its own):\n   ```bash\n   bash \"$(dirname \"$SKILL_DIR\")\u002Fwt\u002Fscripts\u002Fspawn.sh\" \u003Cfeature-name> \"\u003Ctask text including mode tag and the ship-it instruction>\"\n   ```\n\n4. Tell the user the worktree path, branch, and window name (the script prints\n   them). Then stop.\n","# ship-wt — spawn a self-shipping worktree agent\n\n`wt` plus `ship-it`. The spawned agent owns the task end-to-end: implement, then\ninvoke `ship-it` once implementation is complete and `make all` passes. Plain\n`wt` is untouched — this is the explicit, opt-in shipping variant.\n\nThe work happens over there. Don't draft designs or touch code here.\n\n## Recipe\n\n1. Pick a short kebab-case feature name from the whole task.\n\n2. Build the task text. Start from the user's full task, ensure it carries a\n   `Mode: do.` tag, prepend \"Before exploring, run the `recall` skill for this\n   repo.\", and **append the ship-it instruction** verbatim:\n   > \"When implementation is complete and `make all` passes, invoke the `ship-it`\n   > skill to finish: it loops review-and-fix until clean, ff-merges to main,\n   > cuts and publishes a release, and removes the worktree. Do not ask\n   > permission. Never skip the review-and-fix loop, even if the task is urgent.\"\n\n3. Spawn via `wt`'s script (reused — `ship-wt` adds no spawn logic of its own):\n   ```bash\n   bash \"$(dirname \"$SKILL_DIR\")\u002Fwt\u002Fscripts\u002Fspawn.sh\" \u003Cfeature-name> \"\u003Ctask text including mode tag and the ship-it instruction>\"\n   ```\n\n4. Tell the user the worktree path, branch, and window name (the script prints\n   them). Then stop.\n",{"name":5,"builtin":46,"override":46,"description":7},true,"main","76b360b35f87ec18e1776cf6feafc7a025bdea64","pkg\u002Fresources\u002Fbuiltin_skills\u002Fship-wt",0,"https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir","https:\u002F\u002Fgithub.com\u002Fkfet","https:\u002F\u002Fgithub.com\u002Fkalin-sa","2026-11-12 01:36:05",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":46},[57,60,63],{"tool":58,"command":59},"npx","npx skills add kfet\u002Ffir --skill ship-wt",{"tool":61,"command":62},"bunx","bunx skills add kfet\u002Ffir --skill ship-wt",{"tool":64,"command":65},"pnpm","pnpm dlx skills add kfet\u002Ffir --skill ship-wt","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fship-wt\u002FSKILL.md",[],[69,87,103,124,142,172],{"skillNo":70,"name":20,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":41},"01M6CS290490SZNX8V35TF3N6X","Spawn a fresh fir agent in its own tmux session on its own git worktree. Use whenever the user wants the work — or the conversation about the work — to happen over there, not here. If the user points at this skill, or has directly loaded it in the context, that alone is the cue — spawn, don't inline.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fwt\u002FSKILL.md",[],[20,75,76,37,77,35,78,79,33,80,22,81,82,27,83,84,25,85,86],"tmux","git","git worktree","context","user","session","conversation","cue","it","about","at","inline",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":41},"01M6CS26KAKJ7VYRQ3RJ31SJ6S","wrap-up","Wrap up work on a project branch — review, fix, and simplify in a loop until clean, then ff-merge to main.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fwrap-up\u002FSKILL.md",[],[94,95,96,32,40,97,36,98,35,99,34,100,47,101,102,25],"wrap up","up","wrap","simplify","work on","branch","clean","merge to main","project",{"skillNo":104,"name":105,"nameZh":6,"description":106,"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":41},"01M6CS23P85MSVBX11XMFB29PF","tmux-observer","Attach a tmux window to an already-running fir session — observe its transcript and drive its input via tmux send-keys. Use when you need to watch or steer another fir agent.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Ftmux-observer\u002FSKILL.md",[],[75,110,111,112,80,22,113,114,115,116,117,118,26,25,119,120,121,122,24,123],"tmux observer","observer","transcript","drive","observe","attach","watch","input","via","keys","steer","window","send","running",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":41},"01M6CS21ENQ3D7Z08TDKXHJRR6","tmux-driver","Drive interactive CLIs (python, gdb, etc.) via named tmux sessions with multi-window support. Falls back to fir's built-in PTY driver when tmux is unavailable.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Ftmux-driver\u002FSKILL.md",[],[75,131,132,133,134,135,136,137,113,138,139,118,140,141,25,121,24],"tmux driver","driver","python","support","sessions","interactive","PTY","back","gdb","multi","with",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":153,"publishedAt":41},"01M6CS1YWSAH2TQ7S4VK7VKJT6","telegram-bot-setup","Set up a new Telegram bot channel for a fir project — install the telegram MCP, create a per-project state dir, drop in the bot token, wire .fir\u002Fmcp.json with TELEGRAM_STATE_DIR, pair the user, and verify. Use when the user asks to add, configure, or onboard a Telegram bot for a fir worktree\u002Fproject.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Ftelegram-bot-setup\u002FSKILL.md",[148],{"categoryNo":149,"categoryName":150,"taxonomyType":151,"taxonomyTypeDesc":152},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[154,155,156,157,158,159,160,161,37,162,163,164,165,166,167,168,169,22,95,170,102,141,25,171,24,23],"bot","setup","telegram bot","telegram","telegram bot setup","MCP","create","state","SET","verify","onboard","configure","json","pair","install","channel","drop","for",{"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":178,"publishedAt":41},"01M6CS1VSW4C1W1QED8NDHBHZ9","sync","Sync with an upstream source repo — detect changed files, apply equivalent downstream edits, update the baseline, and report any new features or non-trivial changes picked up.","https:\u002F\u002Fgithub.com\u002Fkfet\u002Ffir\u002Fblob\u002Fmain\u002Fpkg\u002Fresources\u002Fbuiltin_skills\u002Fsync\u002FSKILL.md",[],[174,179,180,181,182,95,183,184,185,141,25,186,187,188,189,23],"update","report","baseline","repo","files","upstream","detect","source","changes","features","apply"]