[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EHGHJV4X5PC7TCGMZ9EM2M":3,"skill-same:01M6EHGHJV4X5PC7TCGMZ9EM2M":82},{"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":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":14,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":62,"install":63,"resources":76},"01M6EHGHJV4X5PC7TCGMZ9EM2M","agterm-fork",null,"Fork the agent running in an agterm pane (Claude Code or Codex) into a sibling session: same workspace, same launch flags, full conversation history under a fresh session id, waiting at its prompt. The source session is untouched. Also wires a \"Fork session\" entry into agterm's custom-command palette.","isachivka\u002Fbeware-of-skills","isachivka","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1263650?v=4","01M6EHFZP3P6R9WDKZ0B6ZEQ79","Igor Sachivka","01M6EHFZTC56CFH0DA5AENAM8Y",0,"MIT","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Fagterm-fork\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"agterm fork","agterm","prompt","palette","trigger","id","fresh","conversation","session","command","codex","branch","workspace","history","parallel","continue","Bash","code","command palette","launch","2026-11-10 10:12:30",false,"---\nname: agterm-fork\ndescription: >\n  Fork the agent running in an agterm pane (Claude Code or Codex) into a sibling session:\n  same workspace, same launch flags, full conversation history under a fresh session id,\n  waiting at its prompt.\n  The source session is untouched. Also wires a \"Fork session\" entry into agterm's\n  custom-command palette.\nwhen_to_use: >\n  Trigger on: agterm-fork, \u002Fagterm-fork, \"fork this session\", \"spin off this session\",\n  \"continue this in a sibling tab\", branch the current conversation into a parallel\n  session, add the fork command to the agterm palette.\nallowed-tools: [Bash]\n---\n\n# agterm-fork\n\nOnly inside agterm, and only with the `agterm-backup` capture hook — that hook's live\nrecord is where a session's own claude id comes from.\n\n```bash\nagterm-fork                      # fork the current pane\nagterm-fork \u003Cpane-id> [left|right]   # fork any pane (what the palette entry calls)\nagterm-fork --dry-run            # print the plan, create nothing\nagterm-fork install              # wire the \"Fork session\" custom command\nagterm-fork uninstall            # remove it\n```\n\nThe plugin's `bin\u002F` is on `PATH` inside a Claude Code session, so run it by name. What `fork` does:\n\n1. Reads the pane out of `agtermctl tree`, refuses if no claude or codex runs there.\n2. Session id: the `agterm-backup` live record, falling back to a `--resume` already in the\n   pane's argv. Never guessed — no id, no fork.\n3. Launch flags (`--dangerously-skip-permissions`, `--model`, …) are inherited from the\n   parent's argv, minus `--resume`\u002F`--continue`\u002F`--fork-session`.\n4. `agtermctl session new --after \u003Cpane>` — the anchor carries the workspace, so the fork\n   lands next to its parent — then types `claude --resume \u003Cid> --fork-session \u003Cflags>` or,\n   for codex, `codex fork \u003Cid> \u003Cflags>` (codex forks natively).\n5. Waits for claude's \"resume full session as-is \u002F from summary\" question and answers\n   **2**, so the fork really carries the whole history (`--no-answer` to skip).\n6. Stops there. **The fork gets no task**; the user opens it and drives it.\n\n`install` writes `~\u002F.local\u002Fbin\u002Fagterm-fork` and a managed block in\n`~\u002F.config\u002Fagterm\u002Fkeymap.conf`:\n\n```\ncommand \"Fork session\" cmd+ctrl+a>f $HOME\u002F.local\u002Fbin\u002Fagterm-fork \"$AGT_SESSION_ID\" \"$AGT_PANE\"\n```\n\nso `cmd+ctrl+a>f`, or `Ctrl-Shift-O` → \"Fork session\", forks whatever session the cursor is\non, no Claude\ninvolved. The wrapper resolves the newest installed copy of the skill at call time, because\nthe plugin cache path carries a commit sha and would otherwise break on every update.\n\nFocus stays where it was (`--no-select`). The fork gets its own live record, so\n`agterm-backup` covers it like any other session.\n\nA palette launch is detached with no terminal, so the wrapper writes that run to\n`~\u002F.local\u002Fstate\u002Fagterm-fork\u002Fpalette.log` (argv, PATH, socket, the script's output, exit code) and\nposts a \"Fork session failed\" notification when it exits non-zero. Read the log first when the\npalette entry seems to do nothing.\n","# agterm-fork\n\nOnly inside agterm, and only with the `agterm-backup` capture hook — that hook's live\nrecord is where a session's own claude id comes from.\n\n```bash\nagterm-fork                      # fork the current pane\nagterm-fork \u003Cpane-id> [left|right]   # fork any pane (what the palette entry calls)\nagterm-fork --dry-run            # print the plan, create nothing\nagterm-fork install              # wire the \"Fork session\" custom command\nagterm-fork uninstall            # remove it\n```\n\nThe plugin's `bin\u002F` is on `PATH` inside a Claude Code session, so run it by name. What `fork` does:\n\n1. Reads the pane out of `agtermctl tree`, refuses if no claude or codex runs there.\n2. Session id: the `agterm-backup` live record, falling back to a `--resume` already in the\n   pane's argv. Never guessed — no id, no fork.\n3. Launch flags (`--dangerously-skip-permissions`, `--model`, …) are inherited from the\n   parent's argv, minus `--resume`\u002F`--continue`\u002F`--fork-session`.\n4. `agtermctl session new --after \u003Cpane>` — the anchor carries the workspace, so the fork\n   lands next to its parent — then types `claude --resume \u003Cid> --fork-session \u003Cflags>` or,\n   for codex, `codex fork \u003Cid> \u003Cflags>` (codex forks natively).\n5. Waits for claude's \"resume full session as-is \u002F from summary\" question and answers\n   **2**, so the fork really carries the whole history (`--no-answer` to skip).\n6. Stops there. **The fork gets no task**; the user opens it and drives it.\n\n`install` writes `~\u002F.local\u002Fbin\u002Fagterm-fork` and a managed block in\n`~\u002F.config\u002Fagterm\u002Fkeymap.conf`:\n\n```\ncommand \"Fork session\" cmd+ctrl+a>f $HOME\u002F.local\u002Fbin\u002Fagterm-fork \"$AGT_SESSION_ID\" \"$AGT_PANE\"\n```\n\nso `cmd+ctrl+a>f`, or `Ctrl-Shift-O` → \"Fork session\", forks whatever session the cursor is\non, no Claude\ninvolved. The wrapper resolves the newest installed copy of the skill at call time, because\nthe plugin cache path carries a commit sha and would otherwise break on every update.\n\nFocus stays where it was (`--no-select`). The fork gets its own live record, so\n`agterm-backup` covers it like any other session.\n\nA palette launch is detached with no terminal, so the wrapper writes that run to\n`~\u002F.local\u002Fstate\u002Fagterm-fork\u002Fpalette.log` (argv, PATH, socket, the script's output, exit code) and\nposts a \"Fork session failed\" notification when it exits non-zero. Read the log first when the\npalette entry seems to do nothing.\n",{"name":5,"description":54,"when_to_use":55,"allowed-tools":56},"Fork the agent running in an agterm pane (Claude Code or Codex) into a sibling session: same workspace, same launch flags, full conversation history under a fresh session id, waiting at its prompt. The source session is untouched. Also wires a \"Fork session\" entry into agterm's custom-command palette.\n","Trigger on: agterm-fork, \u002Fagterm-fork, \"fork this session\", \"spin off this session\", \"continue this in a sibling tab\", branch the current conversation into a parallel session, add the fork command to the agterm palette.\n",[45],"main","3f76050fe565c91c27d85e648128fdbe5005106e","plugins\u002Fbos\u002Fskills\u002Fagterm-fork","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills","https:\u002F\u002Fgithub.com\u002Fisachivka","2026-11-11 04:25:51",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add isachivka\u002Fbeware-of-skills --skill agterm-fork",{"tool":69,"command":70},"bunx","bunx skills add isachivka\u002Fbeware-of-skills --skill agterm-fork",{"tool":72,"command":73},"pnpm","pnpm dlx skills add isachivka\u002Fbeware-of-skills --skill agterm-fork","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Fagterm-fork\u002FSKILL.md",true,[77],{"path":5,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"OTHER","其他",14815,"https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Fagterm-fork\u002Fagterm-fork",[83,107,133,152,172,194],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":92,"publishedAt":49},"01M6EHHMD6V299GTDRCB7XVPKH","yt-dub","Give a YouTube video Yandex's Russian voice-over (the Yandex Browser \u002F voice-over-translation one) at any length — including past Yandex's 4-hour limit — and mux it into the best video YouTube serves, with the original sound kept as a second track; optionally drop the result into Plex on SugarDaddy. Also when only the translated audio is wanted.","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbosp\u002Fskills\u002Fyt-dub\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[93,94,95,96,45,97,98,99,100,101,102,103,104,33,105,106],"yt dub","browser","Video","Audio","voice","only","youtube","translation","russian","plex","drop","as","link","it",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":117,"publishedAt":49},"01M6EHHFFGVRCR4MCZTE96HYN7","codex-proxy","Run an OpenAI-compatible Chat Completions endpoint on localhost that spends the user's ChatGPT\u002FCodex subscription instead of an API key — for apps that take a Base URL, API key and model id (dictation post-processing, editors, scripts). Install it as an always-on LaunchAgent, check its status, print the key, try a request, or debug a failing app.","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbosp\u002Fskills\u002Fcodex-proxy\u002FSKILL.md",[113,116],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[39,118,119,120,121,122,123,45,124,125,126,127,128,104,129,34,33,130,131,132],"proxy","codex proxy","uninstall","debug","run","api","model","check","use","provider","chat","app","apps","post","processing",{"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":140,"publishedAt":49},"01M6EHHBJ8GXVFT5DN6526H54J","revdiff-ru","Review a diff in revdiff with everything except the code translated into Russian, line numbering preserved 1:1 so annotations map back to the real files. One command does the translation; then \u002Frevdiff:revdiff opens the result.","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Frevdiff-ru\u002FSKILL.md",[139],{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[141,142,143,46,144,145,45,146,38,147,148,100,101,149,150,33,151],"revdiff ru","review","translate","file","open","annotations","diff","files","back","map","line",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":49},"01M6EHH7CR99Y6TPN9DW24DGXE","peer-chat","A prompt starting with \"Chat from Codex:\" is a peer message: answer it only through peer-chat.py, never in your own output. Also use when the user says \"chat with codex\", \"talk to codex\", \"work with codex\", \"do this with codex\", \"build this with codex\", \"discuss this with codex\" (the agent in the other pane of this agterm split). Not for a one-shot task handed off, and not for a read-only second opinion.","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Fpeer-chat\u002FSKILL.md",[158],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[160,128,161,39,162,45,163,164,31,165,166,126,167,98,168,169,170,171,106,30],"peer","peer chat","second opinion","grep","work","read","user","never","build","do","task","message",{"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":179,"publishedAt":49},"01M6EHH3WCWPHZX79RD91X23C7","memory-review","Use when an agent memory directory has grown large enough that nobody remembers what is in it, when memories look stale or contradictory, when the same fact seems to live in both memory and a CLAUDE.md, or when the user asks to review, prune, audit or clean up their memories. Also use before retiring a project whose memories should move somewhere else.","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Fmemory-review\u002FSKILL.md",[178],{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[142,180,181,182,183,46,184,185,45,186,165,187,188,126,189,190,191,192,193,33],"memory","memory review","directory","go","agent memory","audit","prune","write","edit","up","stale","clean","memories","project",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":202,"publishedAt":49},"01M6EHGZJTNE9TR6099FRECB42","decomment","Strip the noise comments an AI agent left behind on a branch — the ones that restate the code line by line or narrate the change as a story (\"was X, now Y\", \"added a guard here\"). Git holds the history and the code holds the present; only genuinely non-obvious comments survive.","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Fdecomment\u002FSKILL.md",[200,201],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[196,203,46,204,45,205,42,40,206,147,98,189,191,103,104,33,207,208,209,210],"ai agent","guard","sweep","remove","scope","now","narrative","restate"]