[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EHGS3AF9QPCVNJT32A7NBH":3,"skill-same:01M6EHGS3AF9QPCVNJT32A7NBH":268},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6EHGS3AF9QPCVNJT32A7NBH","agterm-split-prs",null,"Hand the pull requests this session has been juggling off to agterm sessions of their own: one sibling session per PR, each in a worktree on the PR's branch, each running a fresh agent with a brief written from this conversation. Optionally starts a flows process (ext-pr, jsf-pr, …) in each. This session lets go of those PRs afterwards.","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-split-prs\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"agterm split prs","agterm","read","trigger","fresh","bind","conversation","process","session","write","pull requests","branch","Bash","brief","worktree","pull","run","create","pr","sessions","2026-11-10 10:12:30",false,"---\nname: agterm-split-prs\ndescription: >\n  Hand the pull requests this session has been juggling off to agterm sessions of their own:\n  one sibling session per PR, each in a worktree on the PR's branch, each running a fresh\n  agent with a brief written from this conversation. Optionally starts a flows process\n  (ext-pr, jsf-pr, …) in each. This session lets go of those PRs afterwards.\nwhen_to_use: >\n  Trigger on: agterm-split-prs, \u002Fagterm-split-prs, \"split the PRs into sessions\", \"a session per\n  PR\", \"create separate sessions for both PRs\", \"раздай PR по сессиям\", \"отбери PR в отдельные\n  сессии\", \"по сессии на каждый PR\", or when one conversation holds several PRs and the user wants\n  to run a per-session flow (`flow start … --bind`) on each.\nallowed-tools: [Bash, Read, Write]\nargument-hint: 'optional: which PRs; optional: --flow \u003Cprocess>'\n---\n\n# agterm-split-prs\n\nWorks only inside agterm (`AGTERM_ENABLED=1`). Every `agtermctl` call below takes\n`--socket \"$AGTERM_SOCKET\"` after the subcommand, as its own argument.\n\n## 1. The PRs\n\nList every PR this conversation worked on: repo, number, URL, head branch, state\n(`gh pr view \u003Curl> --json number,url,headRefName,state,isDraft`). Merged or closed ones stay out.\nThe user named some: only those. Unclear which: ask, listing them. Show the list in one line each\nbefore going on.\n\n## 2. A checkout per PR\n\nNever switch the main checkout: it may be dirty or on someone else's branch.\n\n- A worktree already on that branch (`git worktree list`): reuse it.\n- Otherwise add one where the repo keeps them: `.worktrees\u002F\u003Cslug>` if `git check-ignore -q\n  .worktrees\u002Fx` says it is ignored, else a sibling `..\u002F\u003Crepo>-wt-\u003Cslug>`. Then check the PR out\n  there, which also sets the upstream and handles PRs from forks:\n\n  ```bash\n  git -C \u003Cmain> worktree add --detach \u003Cpath> && cd \u003Cpath> && gh pr checkout \u003Cn>\n  ```\n\n## 3. A brief per PR\n\nWrite `\u003Cscratchpad>\u002Fbriefs\u002F\u003Crepo>-\u003Cn>.md`, in English, self-contained: the new agent has none of\nthis conversation. It holds:\n\n- the PR (URL, branch → base) and that the directory is a worktree of it;\n- what the PR does, in a few lines, and its state (draft, CI, reviews);\n- what this conversation decided about it, and what is still open for the user;\n- shared background the PRs have in common (one paragraph, the same in every brief);\n- the rules that applied here: what needs the user's explicit go (marking ready, reviewers,\n  Slack, merge, anything irreversible), commit conventions, the language to talk to the user in;\n- the first move: read the PR (`gh pr view \u003Cn> --comments`, `gh pr diff \u003Cn>`), give the user a\n  short status, wait for instructions.\n\nNo single quotes in the brief's path: it is read inside a `zsh -lc '…'`.\n\n## 4. The sessions\n\nLaunch the agent the way this one was launched: read this pane's `foreground` from\n`agtermctl tree --json` for the session `$AGTERM_SESSION_ID` and keep its flags\n(`--dangerously-skip-permissions`, `--model …`), dropping any prompt or `--resume`.\n\n```bash\nprev=\"$AGTERM_SESSION_ID\"\nid=$(agtermctl session new --socket \"$AGTERM_SOCKET\" --after \"$prev\" --no-select \\\n  --cwd \u003Cworktree> --name \"\u003Crepo>#\u003Cn>\" \\\n  --command \"zsh -lc 'claude \u003Cflags> \\\"\\$(cat \u003Cbrief>)\\\"'\")\nagtermctl session context \"\u003Crepo>#\u003Cn> \u003Cwhat it is>\" --target \"$id\" --socket \"$AGTERM_SOCKET\"\nprev=\"$id\"   # the next one goes after this one, keeping the PRs in order\n```\n\n- `--after` already names the workspace: never pass `--workspace` with it.\n- `session context` takes the text first, then the options.\n\n## 5. Check they came up\n\nAbout 20 seconds later, for each id: `tree --json` shows `claude` in its `foreground`, and\n`agtermctl session text --target \u003Cid> --lines 15` shows it working. A new folder makes Claude ask\n\"Do you trust this folder?\": do not answer it for the user, tell them which session waits on it.\n\n## 6. A flow in each (only if asked)\n\n`--flow \u003Cprocess>` given, or the user asked to run a flow per PR: once a session's agent is at\nits prompt, `flow start \u003Cprocess> --bind dev=\u003Cid>` for it. flowd types the step into that\nsession; its agent reports there, not here.\n\n## 7. Let go\n\nReport a table: session name, worktree, state (working \u002F waits on trust \u002F flow run id). From now\non these PRs belong to their sessions: do not commit, push or comment on them from here. A\nquestion about one: point the user to its session.\n","# agterm-split-prs\n\nWorks only inside agterm (`AGTERM_ENABLED=1`). Every `agtermctl` call below takes\n`--socket \"$AGTERM_SOCKET\"` after the subcommand, as its own argument.\n\n## 1. The PRs\n\nList every PR this conversation worked on: repo, number, URL, head branch, state\n(`gh pr view \u003Curl> --json number,url,headRefName,state,isDraft`). Merged or closed ones stay out.\nThe user named some: only those. Unclear which: ask, listing them. Show the list in one line each\nbefore going on.\n\n## 2. A checkout per PR\n\nNever switch the main checkout: it may be dirty or on someone else's branch.\n\n- A worktree already on that branch (`git worktree list`): reuse it.\n- Otherwise add one where the repo keeps them: `.worktrees\u002F\u003Cslug>` if `git check-ignore -q\n  .worktrees\u002Fx` says it is ignored, else a sibling `..\u002F\u003Crepo>-wt-\u003Cslug>`. Then check the PR out\n  there, which also sets the upstream and handles PRs from forks:\n\n  ```bash\n  git -C \u003Cmain> worktree add --detach \u003Cpath> && cd \u003Cpath> && gh pr checkout \u003Cn>\n  ```\n\n## 3. A brief per PR\n\nWrite `\u003Cscratchpad>\u002Fbriefs\u002F\u003Crepo>-\u003Cn>.md`, in English, self-contained: the new agent has none of\nthis conversation. It holds:\n\n- the PR (URL, branch → base) and that the directory is a worktree of it;\n- what the PR does, in a few lines, and its state (draft, CI, reviews);\n- what this conversation decided about it, and what is still open for the user;\n- shared background the PRs have in common (one paragraph, the same in every brief);\n- the rules that applied here: what needs the user's explicit go (marking ready, reviewers,\n  Slack, merge, anything irreversible), commit conventions, the language to talk to the user in;\n- the first move: read the PR (`gh pr view \u003Cn> --comments`, `gh pr diff \u003Cn>`), give the user a\n  short status, wait for instructions.\n\nNo single quotes in the brief's path: it is read inside a `zsh -lc '…'`.\n\n## 4. The sessions\n\nLaunch the agent the way this one was launched: read this pane's `foreground` from\n`agtermctl tree --json` for the session `$AGTERM_SESSION_ID` and keep its flags\n(`--dangerously-skip-permissions`, `--model …`), dropping any prompt or `--resume`.\n\n```bash\nprev=\"$AGTERM_SESSION_ID\"\nid=$(agtermctl session new --socket \"$AGTERM_SOCKET\" --after \"$prev\" --no-select \\\n  --cwd \u003Cworktree> --name \"\u003Crepo>#\u003Cn>\" \\\n  --command \"zsh -lc 'claude \u003Cflags> \\\"\\$(cat \u003Cbrief>)\\\"'\")\nagtermctl session context \"\u003Crepo>#\u003Cn> \u003Cwhat it is>\" --target \"$id\" --socket \"$AGTERM_SOCKET\"\nprev=\"$id\"   # the next one goes after this one, keeping the PRs in order\n```\n\n- `--after` already names the workspace: never pass `--workspace` with it.\n- `session context` takes the text first, then the options.\n\n## 5. Check they came up\n\nAbout 20 seconds later, for each id: `tree --json` shows `claude` in its `foreground`, and\n`agtermctl session text --target \u003Cid> --lines 15` shows it working. A new folder makes Claude ask\n\"Do you trust this folder?\": do not answer it for the user, tell them which session waits on it.\n\n## 6. A flow in each (only if asked)\n\n`--flow \u003Cprocess>` given, or the user asked to run a flow per PR: once a session's agent is at\nits prompt, `flow start \u003Cprocess> --bind dev=\u003Cid>` for it. flowd types the step into that\nsession; its agent reports there, not here.\n\n## 7. Let go\n\nReport a table: session name, worktree, state (working \u002F waits on trust \u002F flow run id). From now\non these PRs belong to their sessions: do not commit, push or comment on them from here. A\nquestion about one: point the user to its session.\n",{"name":5,"description":44,"when_to_use":45,"allowed-tools":46,"argument-hint":49},"Hand the pull requests this session has been juggling off to agterm sessions of their own: one sibling session per PR, each in a worktree on the PR's branch, each running a fresh agent with a brief written from this conversation. Optionally starts a flows process (ext-pr, jsf-pr, …) in each. This session lets go of those PRs afterwards.\n","Trigger on: agterm-split-prs, \u002Fagterm-split-prs, \"split the PRs into sessions\", \"a session per PR\", \"create separate sessions for both PRs\", \"раздай PR по сессиям\", \"отбери PR в отдельные сессии\", \"по сессии на каждый PR\", or when one conversation holds several PRs and the user wants to run a per-session flow (`flow start … --bind`) on each.\n",[31,47,48],"Read","Write","optional: which PRs; optional: --flow \u003Cprocess>","main","3f76050fe565c91c27d85e648128fdbe5005106e","plugins\u002Fbos\u002Fskills\u002Fagterm-split-prs","https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills","https:\u002F\u002Fgithub.com\u002Fisachivka","2026-11-11 04:25:51",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add isachivka\u002Fbeware-of-skills --skill agterm-split-prs",{"tool":62,"command":63},"bunx","bunx skills add isachivka\u002Fbeware-of-skills --skill agterm-split-prs",{"tool":65,"command":66},"pnpm","pnpm dlx skills add isachivka\u002Fbeware-of-skills --skill agterm-split-prs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fisachivka\u002Fbeware-of-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fbos\u002Fskills\u002Fagterm-split-prs\u002FSKILL.md",true,[70,76,80,84,88,92,96,100,106,110,114,118,122,126,130,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"assets\u002FBOND-template.md","ASSET","资产文件",344,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FBOND-template.md",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"assets\u002FCAPABILITIES-template.md",907,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FCAPABILITIES-template.md",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"assets\u002Fcapability-authoring-template.md",3798,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002Fcapability-authoring-template.md",{"path":85,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":86,"sourceHtmlUrl":87},"assets\u002FCREED-template.md",1367,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FCREED-template.md",{"path":89,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":90,"sourceHtmlUrl":91},"assets\u002Ffirst-breath-config-template.md",3316,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002Ffirst-breath-config-template.md",{"path":93,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":94,"sourceHtmlUrl":95},"assets\u002Ffirst-breath-template.md",8364,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002Ffirst-breath-template.md",{"path":97,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":98,"sourceHtmlUrl":99},"assets\u002FINDEX-template.md",634,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FINDEX-template.md",{"path":101,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":104,"sourceHtmlUrl":105},"assets\u002Finit-sanctum-template.py","SCRIPT","脚本",9509,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002Finit-sanctum-template.py",{"path":107,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":108,"sourceHtmlUrl":109},"assets\u002Fmemory-guidance-template.md",4167,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002Fmemory-guidance-template.md",{"path":111,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":112,"sourceHtmlUrl":113},"assets\u002FMEMORY-template.md",523,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FMEMORY-template.md",{"path":115,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":116,"sourceHtmlUrl":117},"assets\u002FPERSONA-template.md",714,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FPERSONA-template.md",{"path":119,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":120,"sourceHtmlUrl":121},"assets\u002FPULSE-template.md",1983,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FPULSE-template.md",{"path":123,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":124,"sourceHtmlUrl":125},"assets\u002FSKILL-template-bootloader.md",2001,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FSKILL-template-bootloader.md",{"path":127,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":128,"sourceHtmlUrl":129},"assets\u002FSKILL-template.md",2269,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fassets\u002FSKILL-template.md",{"path":131,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":134,"sourceHtmlUrl":135},"references\u002Fagent-type-guidance.md","REFERENCE","参考文档",4361,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fagent-type-guidance.md",{"path":137,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":138,"sourceHtmlUrl":139},"references\u002Fbuild-process.md",18571,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fbuild-process.md",{"path":141,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":142,"sourceHtmlUrl":143},"references\u002Fedit-guidance.md",5955,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fedit-guidance.md",{"path":145,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":146,"sourceHtmlUrl":147},"references\u002Ffirst-breath-adaptation-guidance.md",6669,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Ffirst-breath-adaptation-guidance.md",{"path":149,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":150,"sourceHtmlUrl":151},"references\u002Fmission-writing-guidance.md",3890,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fmission-writing-guidance.md",{"path":153,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":154,"sourceHtmlUrl":155},"references\u002Fquality-analysis.md",7210,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-analysis.md",{"path":157,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":158,"sourceHtmlUrl":159},"references\u002Fquality-dimensions.md",4484,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-dimensions.md",{"path":161,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":162,"sourceHtmlUrl":163},"references\u002Fquality-scan-agent-cohesion.md",9062,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-scan-agent-cohesion.md",{"path":165,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":166,"sourceHtmlUrl":167},"references\u002Fquality-scan-enhancement-opportunities.md",15800,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-scan-enhancement-opportunities.md",{"path":169,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":170,"sourceHtmlUrl":171},"references\u002Fquality-scan-execution-efficiency.md",9069,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-scan-execution-efficiency.md",{"path":173,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":174,"sourceHtmlUrl":175},"references\u002Fquality-scan-prompt-craft.md",19840,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-scan-prompt-craft.md",{"path":177,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":178,"sourceHtmlUrl":179},"references\u002Fquality-scan-sanctum-architecture.md",9296,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-scan-sanctum-architecture.md",{"path":181,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":182,"sourceHtmlUrl":183},"references\u002Fquality-scan-script-opportunities.md",11704,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-scan-script-opportunities.md",{"path":185,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":186,"sourceHtmlUrl":187},"references\u002Fquality-scan-structure.md",13245,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fquality-scan-structure.md",{"path":189,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":190,"sourceHtmlUrl":191},"references\u002Freport-quality-scan-creator.md",12613,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Freport-quality-scan-creator.md",{"path":193,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":194,"sourceHtmlUrl":195},"references\u002Fsample-capability-authoring.md",3833,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fsample-capability-authoring.md",{"path":197,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":198,"sourceHtmlUrl":199},"references\u002Fsample-capability-prompt.md",4107,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fsample-capability-prompt.md",{"path":201,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":202,"sourceHtmlUrl":203},"references\u002Fsample-first-breath.md",9256,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fsample-first-breath.md",{"path":205,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":206,"sourceHtmlUrl":207},"references\u002Fsample-init-sanctum.py",9452,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fsample-init-sanctum.py",{"path":209,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":210,"sourceHtmlUrl":211},"references\u002Fsample-memory-guidance.md",4250,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fsample-memory-guidance.md",{"path":213,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":214,"sourceHtmlUrl":215},"references\u002Fscript-opportunities-reference.md",13331,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fscript-opportunities-reference.md",{"path":217,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":218,"sourceHtmlUrl":219},"references\u002Fscript-standards.md",4458,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fscript-standards.md",{"path":221,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":222,"sourceHtmlUrl":223},"references\u002Fskill-best-practices.md",10076,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fskill-best-practices.md",{"path":225,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":226,"sourceHtmlUrl":227},"references\u002Fstandard-fields.md",6587,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fstandard-fields.md",{"path":229,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":230,"sourceHtmlUrl":231},"references\u002Fstanding-order-guidance.md",5665,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Fstanding-order-guidance.md",{"path":233,"resourceType":132,"resourceTypeDesc":133,"sizeBytes":234,"sourceHtmlUrl":235},"references\u002Ftemplate-substitution-rules.md",3768,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Freferences\u002Ftemplate-substitution-rules.md",{"path":237,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":238,"sourceHtmlUrl":239},"scripts\u002Fgenerate-html-report.py",26127,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fgenerate-html-report.py",{"path":241,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":242,"sourceHtmlUrl":243},"scripts\u002Fprepass-execution-deps.py",11713,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fprepass-execution-deps.py",{"path":245,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":246,"sourceHtmlUrl":247},"scripts\u002Fprepass-prompt-metrics.py",15352,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fprepass-prompt-metrics.py",{"path":249,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":250,"sourceHtmlUrl":251},"scripts\u002Fprepass-sanctum-architecture.py",13029,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fprepass-sanctum-architecture.py",{"path":253,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":254,"sourceHtmlUrl":255},"scripts\u002Fprepass-structure-capabilities.py",17043,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fprepass-structure-capabilities.py",{"path":257,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":258,"sourceHtmlUrl":259},"scripts\u002Fprocess-template.py",5859,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fprocess-template.py",{"path":261,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":262,"sourceHtmlUrl":263},"scripts\u002Fscan-path-standards.py",11960,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fscan-path-standards.py",{"path":265,"resourceType":102,"resourceTypeDesc":103,"sizeBytes":266,"sourceHtmlUrl":267},"scripts\u002Fscan-scripts.py",26898,"https:\u002F\u002Fgithub.com\u002FJugodelulo03\u002FSlot-Car-Racing-AR\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbmad-agent-builder\u002Fscripts\u002Fscan-scripts.py",[269,295,326,347,369,390],{"skillNo":270,"name":271,"nameZh":6,"description":272,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":273,"categories":274,"keywords":280,"publishedAt":39},"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",[275],{"categoryNo":276,"categoryName":277,"taxonomyType":278,"taxonomyTypeDesc":279},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[281,282,283,284,31,285,286,287,288,289,290,291,292,22,293,294],"yt dub","browser","Video","Audio","voice","only","youtube","translation","russian","plex","drop","as","link","it",{"skillNo":296,"name":297,"nameZh":6,"description":298,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":299,"categories":300,"keywords":309,"publishedAt":39},"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",[301,304],{"categoryNo":302,"categoryName":303,"taxonomyType":278,"taxonomyTypeDesc":279},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":305,"categoryName":306,"taxonomyType":307,"taxonomyTypeDesc":308},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[310,311,312,313,314,35,315,31,316,317,318,319,320,292,321,322,22,323,324,325],"codex","proxy","codex proxy","uninstall","debug","api","model","check","use","provider","chat","app","id","apps","post","processing",{"skillNo":327,"name":328,"nameZh":6,"description":329,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":330,"categories":331,"keywords":333,"publishedAt":39},"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",[332],{"categoryNo":305,"categoryName":306,"taxonomyType":307,"taxonomyTypeDesc":308},[334,335,336,337,338,339,31,340,341,342,343,288,289,344,345,22,346],"revdiff ru","review","translate","code","file","open","annotations","command","diff","files","back","map","line",{"skillNo":348,"name":349,"nameZh":6,"description":350,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":351,"categories":352,"keywords":356,"publishedAt":39},"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",[353],{"categoryNo":354,"categoryName":355,"taxonomyType":278,"taxonomyTypeDesc":279},"01JBSEEDCAT000000000000023","Skill与智能体开发",[357,320,358,310,359,31,360,361,362,21,363,318,364,286,365,366,367,368,294,20],"peer","peer chat","second opinion","grep","work","prompt","user","never","build","do","task","message",{"skillNo":370,"name":371,"nameZh":6,"description":372,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":373,"categories":374,"keywords":376,"publishedAt":39},"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",[375],{"categoryNo":305,"categoryName":306,"taxonomyType":307,"taxonomyTypeDesc":308},[335,377,378,379,380,337,381,382,31,383,21,28,384,318,385,386,387,388,389,22],"memory","memory review","directory","go","agent memory","audit","prune","edit","up","stale","clean","memories","project",{"skillNo":391,"name":392,"nameZh":6,"description":393,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":394,"categories":395,"keywords":398,"publishedAt":39},"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",[396,397],{"categoryNo":354,"categoryName":355,"taxonomyType":278,"taxonomyTypeDesc":279},{"categoryNo":305,"categoryName":306,"taxonomyType":307,"taxonomyTypeDesc":308},[392,399,337,400,31,401,402,30,403,342,286,385,387,291,292,22,404,405,406,407],"ai agent","guard","sweep","history","remove","scope","now","narrative","restate"]