[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71P3MGPH2452W1J612YZKV0":3,"skill-same:01M71P3MGPH2452W1J612YZKV0":81},{"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":21,"linkOnly":22,"markdownContent":23,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M71P3MGPH2452W1J612YZKV0","subagents",null,"Read before using subagents.","drsh4dow\u002Fpi-setup","drsh4dow","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F45247070?v=4","01M71P068NASGHSWS11VWW416N","Daniel Moretti","01M71P0698BH81N65NP04X9NVN",10,"MIT","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002FSKILL.md",[],[5,19,20],"false","read","2026-11-10 10:56:23",false,"---\nname: subagents\ndescription: Read before using subagents.\ndisable-model-invocation: false\nuser-invokable: false\n---\n\n# Subagents\n\nA subagent is a separate Pi process, started with `pi-subagent`, with the\nnormal prompt, skills, and tools. It receives one assignment and returns one\nreport.\n\n## Kinds\n\nEvery subagent is a delegate, except one a playbook hands a whole unit, which\nis an owner. The launch names the kind, and the `delegate-guard` extension\nblocks any spawn the kind does not allow.\n\n- **Delegate.** Does one piece of its parent's step: code for a written scope,\n  an exploration, a review, a swarm lane, an arena or architect candidate, or\n  Comment Sicko. It is a leaf. Its parent owns the playbook, the todolist, the\n  review of its output, and every spawn.\n- **Owner.** Carries one unit a playbook hands it: a PR under Autopilot-full,\n  Autopilot-stack, or a multi-phase plan, code-coupled Feature work, a Visual\n  parity component, or an Orchestrate track. It runs its unit the way a\n  top-level session would, keeps the todolist, and launches each of its\n  workers and verifiers as a delegate. An owner is a background terminal of\n  its parent, so it ends with its parent, and its children are absent from the\n  parent's `bg_list`. Record each owner's children in the agent store so the\n  root can probe them.\n\n## Models\n\nEvery subagent runs at `--thinking high`, on the model of the role a skill or\nplaybook names.\n\n- `openai\u002Fgpt-6.1-sol` is exhaustive on details and edge cases: boundaries,\n  proofs, exploits, spec gaps. It runs `cross-family reviewer`,\n  `code-review detail personas`, `reflect divergent`, and `researcher`.\n- `anthropic\u002Fclaude-opus-5-5` has taste: it writes, plans, and implements\n  best, and judges whether code reads well and has the simplest shape. It runs\n  every other role.\n- A panel runs one subagent per model, for independent judgment:\n  `arena runners`, `architect runners`, and `architect reviewers`. The\n  `arena cross-judge pool` seats one judge, on the model the candidates did\n  not use when possible.\n\nA new role takes the model whose strength the job needs. A reviewer or verifier\nthat must differ in family from the work's author takes the\n`cross-family reviewer` role, on the model the author did not use.\n\n## Prepare\n\nRead and apply [writing-for-agents](..\u002Fwriting-for-agents\u002FSKILL.md).\n\nWrite one self-contained assignment per subagent; the child sees none of this\nconversation. An assignment is ready when it states:\n\n- The kind, owner or delegate.\n- The task, with the context and source leads it needs.\n- The skills the work requires, by name.\n- The write scope: the files the child owns, or that it changes nothing.\n- A done condition the child can check.\n- The report: changes made, findings with references, judgment calls, and open\n  questions, sized to the user's request.\n\nA child cannot reach the user: a prompt it waits on times out with nobody\nwatching. Before you spawn, clear every step that needs a human, such as a\nbrowser sign-in, an SSO login, or a 1Password approval written to a cached\nfile, and pass the child the result (the endpoint, the file path, the expiry).\nTell the child to stop and report when it hits one you missed, never to wait.\n\nSubagents share the worktree and the host, and a write scope is an instruction\nrather than a sandbox. Give concurrent children disjoint files, counting the\ngenerated files and caches their verification writes, or run them in sequence.\nThe same holds beyond files: give each its own scratch directories,\ncontainers, and toolchain installs, keep setup commands such as installs and\ncheckout syncs inside its own tree, and limit its cleanup to what it created.\nWorktrees of one repository share its stash, refs, and worktree metadata, so a\nchild saves work in progress as a commit on its own branch, never with\n`git stash`, and a child that must not write the main checkout works in a\nseparate clone instead of a worktree.\nBefore accepting a comparison, such as a before and after, check that no\nsibling wrote the state it measured.\n\n## Launch\n\nRead [background-terminals](..\u002Fbackground-terminals\u002FSKILL.md), then start each\nsubagent with `bg_start` in the project directory. Project MCP servers bind to\nthe launch directory, so a child launched elsewhere, such as `\u002Ftmp`, has no\ntracker or observability tools:\n\n```bash\npi-subagent \\\n  --model \u003Cmodel> \\\n  --thinking high \\\n  --append-system-prompt \"$HOME\u002F.pi\u002Fagent\u002Fskills\u002Fsubagents\u002Funattended.md\" \\\n  --append-system-prompt \"$HOME\u002F.pi\u002Fagent\u002Fskills\u002Fsubagents\u002Fdelegate.md\" \\\n  --name \"subagent: \u003Cshort assignment>\" \u003C\u003C'SUBAGENT_PROMPT'\n\u003Cassignment>\nSUBAGENT_PROMPT\n```\n\n`pi-subagent` takes the arguments of `pi --print`. Inside herdr, the child\nruns as a read-only Pi chat in a pane of the parent's workspace. Outside\nherdr, it runs `pi --print`. Either way, the launch prints the child's report\non stdout and exits 0 on success, as `pi --print` does.\n\nAn owner launch appends `owner.md` in place of `delegate.md`. A launch\nwithout `owner.md` is a delegate. Use the session name as the\nterminal title. Keep the `subagent:` prefix: the\nfast-mode extension reads it to apply each provider's `subagentsEnabled`\nsetting. Pick a heredoc delimiter that does not occur as a standalone line in\nthe assignment.\n\n## Launch from a brief\n\nA playbook that writes each assignment to a file, such as implement-chunk's\nbriefs or code-review's persona assignments, launches it with\n[`scripts\u002Flaunch.ts`](scripts\u002Flaunch.ts) instead of the raw block above, in a\n`bg_start` command in the project directory:\n\n```bash\n$HOME\u002F.pi\u002Fagent\u002Fskills\u002Fsubagents\u002Fscripts\u002Flaunch.ts \\\n  --kind \u003Cdelegate|owner> \\\n  --role \u003Crole> \\\n  --brief \"\u003Cstate folder>\u002F\u003Cbrief>.md\" \\\n  --orders \"\u003Cstate folder>\u002Forders.md\" \\\n  --model \u003Cmodel> \\\n  --thinking high \\\n  --name \"subagent: \u003Cshort assignment>\"\n```\n\nThe launcher appends `unattended.md`, the kind's file, a heading that names\nthe orders file, the orders file, and each `--append \u003Cfile>` to the system\nprompt, and pipes the brief to `pi-subagent` as the prompt. Pi reads the appends when\nthe child starts, so every spawn and resume carries the orders as they stand.\nPass `--orders none` only when no standing-orders file exists.\n\nBefore it starts Pi, it refuses with exit 2 and a `launch: refused:` line\nnaming the cause:\n\n- a brief, orders file, or append that is missing or empty;\n- a brief that lacks a field its `--role` requires. The implement-chunk roles\n  need every template field (a merger needs STEPS in place of VERIFY), and a\n  brief whose first line starts with `COLLAPSED` needs only GOAL, SCOPE,\n  VERIFY, and REPORT named in its paragraph. `persona` and `assignment` need\n  no fields;\n- a KIND field that disagrees with `--kind`;\n- a placeholder outside fenced code, such as `undefined`, `NaN`,\n  `[object Object]`, `origin\u002Forigin\u002F`, `${…}`, or `\u003Csha>`, printed with its\n  line;\n- an input branch that the launch directory's `origin` lacks: each\n  `origin\u002F\u003Cname>`, and the branch SCOPE names after \"based on\". Write a branch\n  the unit creates without `origin\u002F`.\n\nWhile the one-minute load exceeds `--max-load` (default `nproc`) or\n`MemAvailable` is below `--min-mem-gib` (default 4), it holds and prints both\nwith their limits every `--poll-seconds`.\n\nThe child's report is the launcher's stdout. Exit 0 means the child reported,\nand 1 means it failed. Stderr names the session id. To resume the child, run\nthe same command with `--resume \u003Csession id>` and a brief file holding the new\ndirective, which needs no template fields. Pi sends a resumed child's current\norders as a system update after the earlier text, so the launcher opens the\ndirective with a note that the update is current. `--dry-run` runs every check, then\nprints the command, the content of every append with the orders' line count,\nand the prompt, and starts no Pi.\n\n## Retry\n\nRetry a failed child by how it failed:\n\n- Cap hit, or out of memory on an idle host: respawn with a smaller scope.\n- Out of memory on a loaded host: respawn as-is once the host has headroom,\n  which the brief launcher waits for.\n- Network drop: retry as-is.\n- Launch failure or tool error: retry once, then rerun on the other model, and\n  report each cross-family or panel seat that lost its independence.\n- Unknown: retry once.\n\n## Use the report\n\nRead an owner's todolist before its diff, and send back a skipped step its\nplaybook marks mandatory. For changes, read the diff and run the repository's verification yourself: the\nreport states what the child intended, and the diff shows what it did. For\nfindings, check consequential claims against their cited sources.\n","# Subagents\n\nA subagent is a separate Pi process, started with `pi-subagent`, with the\nnormal prompt, skills, and tools. It receives one assignment and returns one\nreport.\n\n## Kinds\n\nEvery subagent is a delegate, except one a playbook hands a whole unit, which\nis an owner. The launch names the kind, and the `delegate-guard` extension\nblocks any spawn the kind does not allow.\n\n- **Delegate.** Does one piece of its parent's step: code for a written scope,\n  an exploration, a review, a swarm lane, an arena or architect candidate, or\n  Comment Sicko. It is a leaf. Its parent owns the playbook, the todolist, the\n  review of its output, and every spawn.\n- **Owner.** Carries one unit a playbook hands it: a PR under Autopilot-full,\n  Autopilot-stack, or a multi-phase plan, code-coupled Feature work, a Visual\n  parity component, or an Orchestrate track. It runs its unit the way a\n  top-level session would, keeps the todolist, and launches each of its\n  workers and verifiers as a delegate. An owner is a background terminal of\n  its parent, so it ends with its parent, and its children are absent from the\n  parent's `bg_list`. Record each owner's children in the agent store so the\n  root can probe them.\n\n## Models\n\nEvery subagent runs at `--thinking high`, on the model of the role a skill or\nplaybook names.\n\n- `openai\u002Fgpt-6.1-sol` is exhaustive on details and edge cases: boundaries,\n  proofs, exploits, spec gaps. It runs `cross-family reviewer`,\n  `code-review detail personas`, `reflect divergent`, and `researcher`.\n- `anthropic\u002Fclaude-opus-5-5` has taste: it writes, plans, and implements\n  best, and judges whether code reads well and has the simplest shape. It runs\n  every other role.\n- A panel runs one subagent per model, for independent judgment:\n  `arena runners`, `architect runners`, and `architect reviewers`. The\n  `arena cross-judge pool` seats one judge, on the model the candidates did\n  not use when possible.\n\nA new role takes the model whose strength the job needs. A reviewer or verifier\nthat must differ in family from the work's author takes the\n`cross-family reviewer` role, on the model the author did not use.\n\n## Prepare\n\nRead and apply [writing-for-agents](..\u002Fwriting-for-agents\u002FSKILL.md).\n\nWrite one self-contained assignment per subagent; the child sees none of this\nconversation. An assignment is ready when it states:\n\n- The kind, owner or delegate.\n- The task, with the context and source leads it needs.\n- The skills the work requires, by name.\n- The write scope: the files the child owns, or that it changes nothing.\n- A done condition the child can check.\n- The report: changes made, findings with references, judgment calls, and open\n  questions, sized to the user's request.\n\nA child cannot reach the user: a prompt it waits on times out with nobody\nwatching. Before you spawn, clear every step that needs a human, such as a\nbrowser sign-in, an SSO login, or a 1Password approval written to a cached\nfile, and pass the child the result (the endpoint, the file path, the expiry).\nTell the child to stop and report when it hits one you missed, never to wait.\n\nSubagents share the worktree and the host, and a write scope is an instruction\nrather than a sandbox. Give concurrent children disjoint files, counting the\ngenerated files and caches their verification writes, or run them in sequence.\nThe same holds beyond files: give each its own scratch directories,\ncontainers, and toolchain installs, keep setup commands such as installs and\ncheckout syncs inside its own tree, and limit its cleanup to what it created.\nWorktrees of one repository share its stash, refs, and worktree metadata, so a\nchild saves work in progress as a commit on its own branch, never with\n`git stash`, and a child that must not write the main checkout works in a\nseparate clone instead of a worktree.\nBefore accepting a comparison, such as a before and after, check that no\nsibling wrote the state it measured.\n\n## Launch\n\nRead [background-terminals](..\u002Fbackground-terminals\u002FSKILL.md), then start each\nsubagent with `bg_start` in the project directory. Project MCP servers bind to\nthe launch directory, so a child launched elsewhere, such as `\u002Ftmp`, has no\ntracker or observability tools:\n\n```bash\npi-subagent \\\n  --model \u003Cmodel> \\\n  --thinking high \\\n  --append-system-prompt \"$HOME\u002F.pi\u002Fagent\u002Fskills\u002Fsubagents\u002Funattended.md\" \\\n  --append-system-prompt \"$HOME\u002F.pi\u002Fagent\u002Fskills\u002Fsubagents\u002Fdelegate.md\" \\\n  --name \"subagent: \u003Cshort assignment>\" \u003C\u003C'SUBAGENT_PROMPT'\n\u003Cassignment>\nSUBAGENT_PROMPT\n```\n\n`pi-subagent` takes the arguments of `pi --print`. Inside herdr, the child\nruns as a read-only Pi chat in a pane of the parent's workspace. Outside\nherdr, it runs `pi --print`. Either way, the launch prints the child's report\non stdout and exits 0 on success, as `pi --print` does.\n\nAn owner launch appends `owner.md` in place of `delegate.md`. A launch\nwithout `owner.md` is a delegate. Use the session name as the\nterminal title. Keep the `subagent:` prefix: the\nfast-mode extension reads it to apply each provider's `subagentsEnabled`\nsetting. Pick a heredoc delimiter that does not occur as a standalone line in\nthe assignment.\n\n## Launch from a brief\n\nA playbook that writes each assignment to a file, such as implement-chunk's\nbriefs or code-review's persona assignments, launches it with\n[`scripts\u002Flaunch.ts`](scripts\u002Flaunch.ts) instead of the raw block above, in a\n`bg_start` command in the project directory:\n\n```bash\n$HOME\u002F.pi\u002Fagent\u002Fskills\u002Fsubagents\u002Fscripts\u002Flaunch.ts \\\n  --kind \u003Cdelegate|owner> \\\n  --role \u003Crole> \\\n  --brief \"\u003Cstate folder>\u002F\u003Cbrief>.md\" \\\n  --orders \"\u003Cstate folder>\u002Forders.md\" \\\n  --model \u003Cmodel> \\\n  --thinking high \\\n  --name \"subagent: \u003Cshort assignment>\"\n```\n\nThe launcher appends `unattended.md`, the kind's file, a heading that names\nthe orders file, the orders file, and each `--append \u003Cfile>` to the system\nprompt, and pipes the brief to `pi-subagent` as the prompt. Pi reads the appends when\nthe child starts, so every spawn and resume carries the orders as they stand.\nPass `--orders none` only when no standing-orders file exists.\n\nBefore it starts Pi, it refuses with exit 2 and a `launch: refused:` line\nnaming the cause:\n\n- a brief, orders file, or append that is missing or empty;\n- a brief that lacks a field its `--role` requires. The implement-chunk roles\n  need every template field (a merger needs STEPS in place of VERIFY), and a\n  brief whose first line starts with `COLLAPSED` needs only GOAL, SCOPE,\n  VERIFY, and REPORT named in its paragraph. `persona` and `assignment` need\n  no fields;\n- a KIND field that disagrees with `--kind`;\n- a placeholder outside fenced code, such as `undefined`, `NaN`,\n  `[object Object]`, `origin\u002Forigin\u002F`, `${…}`, or `\u003Csha>`, printed with its\n  line;\n- an input branch that the launch directory's `origin` lacks: each\n  `origin\u002F\u003Cname>`, and the branch SCOPE names after \"based on\". Write a branch\n  the unit creates without `origin\u002F`.\n\nWhile the one-minute load exceeds `--max-load` (default `nproc`) or\n`MemAvailable` is below `--min-mem-gib` (default 4), it holds and prints both\nwith their limits every `--poll-seconds`.\n\nThe child's report is the launcher's stdout. Exit 0 means the child reported,\nand 1 means it failed. Stderr names the session id. To resume the child, run\nthe same command with `--resume \u003Csession id>` and a brief file holding the new\ndirective, which needs no template fields. Pi sends a resumed child's current\norders as a system update after the earlier text, so the launcher opens the\ndirective with a note that the update is current. `--dry-run` runs every check, then\nprints the command, the content of every append with the orders' line count,\nand the prompt, and starts no Pi.\n\n## Retry\n\nRetry a failed child by how it failed:\n\n- Cap hit, or out of memory on an idle host: respawn with a smaller scope.\n- Out of memory on a loaded host: respawn as-is once the host has headroom,\n  which the brief launcher waits for.\n- Network drop: retry as-is.\n- Launch failure or tool error: retry once, then rerun on the other model, and\n  report each cross-family or panel seat that lost its independence.\n- Unknown: retry once.\n\n## Use the report\n\nRead an owner's todolist before its diff, and send back a skipped step its\nplaybook marks mandatory. For changes, read the diff and run the repository's verification yourself: the\nreport states what the child intended, and the diff shows what it did. For\nfindings, check consequential claims against their cited sources.\n",{"name":5,"description":7,"user-invokable":22,"disable-model-invocation":22},"main","f7936596c1ba2e1472dadccc3f111b9d517fa96c","agent\u002Fskills\u002Fsubagents",2,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup","https:\u002F\u002Fgithub.com\u002Fdrsh4dow","https:\u002F\u002Fdanielmoretti.com\u002F","Toss A Coin To Your Witcher :pirate_flag: ","2026-11-03 22:13:53",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add drsh4dow\u002Fpi-setup --skill subagents",{"tool":41,"command":42},"bunx","bunx skills add drsh4dow\u002Fpi-setup --skill subagents",{"tool":44,"command":45},"pnpm","pnpm dlx skills add drsh4dow\u002Fpi-setup --skill subagents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002FSKILL.md",true,[49,55,59,65,69,73,77],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"delegate.md","REFERENCE","参考文档",489,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002Fdelegate.md",{"path":56,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":57,"sourceHtmlUrl":58},"owner.md",576,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002Fowner.md",{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"scripts\u002Fbrief.ts","SCRIPT","脚本",7261,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002Fscripts\u002Fbrief.ts",{"path":66,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":67,"sourceHtmlUrl":68},"scripts\u002Flaunch.ts",14979,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002Fscripts\u002Flaunch.ts",{"path":70,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":71,"sourceHtmlUrl":72},"scripts\u002Ftest\u002Flaunch.test.ts",18337,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002Fscripts\u002Ftest\u002Flaunch.test.ts",{"path":74,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":75,"sourceHtmlUrl":76},"scripts\u002Ftsconfig.json",485,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002Fscripts\u002Ftsconfig.json",{"path":78,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":79,"sourceHtmlUrl":80},"unattended.md",1207,"https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fsubagents\u002Funattended.md",[82,105,136,153,174,185],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":21},"01M71P4GPJMBK21BTZBKY9T8EE","changelog","Write the changelog entry for a pull request. Use when a PR changes behavior that users, operators, or integrators can notice.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fevals\u002Fharness-lessons\u002Ffixtures\u002Fchangelog-skill\u002FSKILL.md",[],[84,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],"users","pull","notice","changes","operators","pr","pull request","for","request","behavior","entry","write","use","when","can","changelog entry",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":121,"publishedAt":21},"01M71P4E9AZM56JBY227P2G1SC","writing-good-tickets","Write, file, or update an issue or ticket that an agent or a developer can take to one PR. Use when filing a bug or feature, updating an issue, or breaking a plan into tickets.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-good-tickets\u002FSKILL.md",[111,116],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[122,123,124,125,94,126,127,128,101,19,102,129,130,103,131,132,100,133,134,135],"good","writing","tickets","writing good tickets","feature","filing","ticket","file","one","plan","update","bug","take","issue",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":144,"publishedAt":21},"01M71P4C0B0DXTRRSG9RA6Y687","writing-good-prs","Write or update a pull request title and body that a reviewer can trust and own. Use when opening a PR or editing its description.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-good-prs\u002FSKILL.md",[142,143],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},[122,145,123,146,90,147,94,148,101,19,102,103,149,150,95,97,132,100,151,152],"prs","writing good prs","trust","editing","reviewer","title","opening a pr","body",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":161,"publishedAt":21},"01M71P49D1AG2MR6AYNPMMT34Z","writing-good-commits","Write or reword a git commit message and size the commit it describes. Use when committing, or when reshaping commits during a rebase.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-good-commits\u002FSKILL.md",[159,160],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},[162,122,123,163,164,165,100,166,167,168,101,19,169,170,102,171,172,173],"commits","writing good commits","message","size","git commit message","git","git commit","rebase","commit message","committing","commit","it",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":182,"publishedAt":21},"01M71P480BDE55JMPVVEBCFS7P","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[180,181],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},[183,96,123,148,101,19,184,102],"writing for agents","documents",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":191,"publishedAt":21},"01M71P45SNCD7DDSA6FRVCPA17","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fdrsh4dow\u002Fpi-setup\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fwizard\u002FSKILL.md",[],[187,192,193,96,194,195,196,197,101,198,19,102,199,130,200,103,201,202,203,204],"running","setting","up","ci","provisioning infrastructure","only","invoke","Bash","interactive","credentials","dashboard","generate","human"]