[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RN8FJ4P9T4MGFMJAPDK0G":3,"skill-same:01M71RN8FJ4P9T4MGFMJAPDK0G":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M71RN8FJ4P9T4MGFMJAPDK0G","discuss-automation",null,"Author a Garrison automation by conversation. Use when the user wants to \"automate\" something, \"build an automation\", or asks \"can you make this run automatically\". Opens a Discuss conversation, settles the design, writes a brief, and drives the planner.","gongiskhan\u002Fagent-garrison","gongiskhan","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1997392?v=4","01M71RKMFR53TKXE308C22QTNZ","01M71RKMJA57KZHNDCBNKTWZRR",1,"MIT","https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ffittings\u002Fseed\u002Fdiscuss-automation\u002F.apm\u002Fskills\u002Fdiscuss-automation\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"discuss automation","automation","planner","conversation","brief","build","run","design","use","when","you","author","user","automate","can","make","2026-11-10 13:02:02",false,"---\nname: discuss-automation\ndescription: Author a Garrison automation by conversation. Use when the user wants to \"automate\" something, \"build an automation\", or asks \"can you make this run automatically\". Opens a Discuss conversation, settles the design, writes a brief, and drives the planner.\n---\n\n# Discuss an automation\n\nAuthor automations the way Kanban cards are discussed — a real conversation, not\na plain-English goal box.\n\n## Flow\n\n1. **Open the Discuss conversation.** The Automations view's \"Discuss an\n   automation\" button opens the web-channel in James mode with the kickoff\n   \"What would you like to automate?\" (built by `lib\u002Fdiscuss.mjs`\n   `buildAutomationDiscussUrl`). The gateway reads the mode from the leading\n   \"James,\" in the kickoff and ignores `body.context`, so the kickoff carries\n   everything.\n\n2. **Converse — ask, don't assume.** Surface the load-bearing decisions and ask\n   the user:\n   - **Trigger** — manual, cron (`\"every weekday 8am\"`), webhook (a connector\n     event), or listener (poll a connector).\n   - **Connectors** — which connected services it uses (Google \u002F Slack \u002F Trello\n     \u002F …). If one isn't connected, note it (the run will pause `awaiting_connector`).\n   - **Steps** — the rough sequence, using ONLY the 8 step types: `browser`,\n     `verify`, `navigate`, `wait`, `local_command`, `api_call`, `connector`,\n     `sub_automation`.\n   - **Inputs** — what the automation takes (e.g. `recipient_email`).\n   - **Failure handling** — what should happen if a step fails (the engine\n     self-heals recoverable browser steps; a CAPTCHA\u002FMFA\u002Fpayment pauses for you).\n\n3. **Write the brief.** When the design has settled, write\n   `~\u002F.garrison\u002Fautomations\u002Fbriefs\u002F\u003Cslug>.md` with: what this automates · trigger ·\n   connectors · steps outline · inputs · failure handling · acceptance.\n\n4. **Plan + rehearse.** Hand the brief to the planner (Router-routed, no\n   hardcoded model):\n\n   ```\n   POST \u003Cautomations-url>\u002Fapi\u002Fautomations\u002Fplan-from-brief\n        { \"briefSlug\": \"\u003Cslug>\", \"name\": \"\u003Cname>\" }\n   ```\n\n   It turns the brief into steps, saves the automation, and returns it. The user\n   reviews + hand-edits the steps, then runs it — watching each step stream in\n   the run viewer (cached\u002Fvision tier, live browser stream, self-healing notices,\n   per-step feedback).\n\nThe plain-English goal textarea is gone; this conversation is how automations are\nauthored. Steps stay hand-editable afterward.\n","# Discuss an automation\n\nAuthor automations the way Kanban cards are discussed — a real conversation, not\na plain-English goal box.\n\n## Flow\n\n1. **Open the Discuss conversation.** The Automations view's \"Discuss an\n   automation\" button opens the web-channel in James mode with the kickoff\n   \"What would you like to automate?\" (built by `lib\u002Fdiscuss.mjs`\n   `buildAutomationDiscussUrl`). The gateway reads the mode from the leading\n   \"James,\" in the kickoff and ignores `body.context`, so the kickoff carries\n   everything.\n\n2. **Converse — ask, don't assume.** Surface the load-bearing decisions and ask\n   the user:\n   - **Trigger** — manual, cron (`\"every weekday 8am\"`), webhook (a connector\n     event), or listener (poll a connector).\n   - **Connectors** — which connected services it uses (Google \u002F Slack \u002F Trello\n     \u002F …). If one isn't connected, note it (the run will pause `awaiting_connector`).\n   - **Steps** — the rough sequence, using ONLY the 8 step types: `browser`,\n     `verify`, `navigate`, `wait`, `local_command`, `api_call`, `connector`,\n     `sub_automation`.\n   - **Inputs** — what the automation takes (e.g. `recipient_email`).\n   - **Failure handling** — what should happen if a step fails (the engine\n     self-heals recoverable browser steps; a CAPTCHA\u002FMFA\u002Fpayment pauses for you).\n\n3. **Write the brief.** When the design has settled, write\n   `~\u002F.garrison\u002Fautomations\u002Fbriefs\u002F\u003Cslug>.md` with: what this automates · trigger ·\n   connectors · steps outline · inputs · failure handling · acceptance.\n\n4. **Plan + rehearse.** Hand the brief to the planner (Router-routed, no\n   hardcoded model):\n\n   ```\n   POST \u003Cautomations-url>\u002Fapi\u002Fautomations\u002Fplan-from-brief\n        { \"briefSlug\": \"\u003Cslug>\", \"name\": \"\u003Cname>\" }\n   ```\n\n   It turns the brief into steps, saves the automation, and returns it. The user\n   reviews + hand-edits the steps, then runs it — watching each step stream in\n   the run viewer (cached\u002Fvision tier, live browser stream, self-healing notices,\n   per-step feedback).\n\nThe plain-English goal textarea is gone; this conversation is how automations are\nauthored. Steps stay hand-editable afterward.\n",{"name":5,"description":7},"main","31458d7e0e08a7b3494c27bf2b912ed41c87a138","fittings\u002Fseed\u002Fdiscuss-automation\u002F.apm\u002Fskills\u002Fdiscuss-automation",0,"https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison","https:\u002F\u002Fgongiskhan.github.io\u002Fagent-garrison\u002F","https:\u002F\u002Fgithub.com\u002Fgongiskhan","2026-11-07 05:27:23",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add gongiskhan\u002Fagent-garrison --skill discuss-automation",{"tool":58,"command":59},"bunx","bunx skills add gongiskhan\u002Fagent-garrison --skill discuss-automation",{"tool":61,"command":62},"pnpm","pnpm dlx skills add gongiskhan\u002Fagent-garrison --skill discuss-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ffittings\u002Fseed\u002Fdiscuss-automation\u002F.apm\u002Fskills\u002Fdiscuss-automation\u002FSKILL.md",true,[],[67,79,89,100,112,140],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":39},"01M71RTFA0HD83YBE1TE7DCE6B","pinned-helper","An owned skill the human has pinned so the Improver must not touch it.","https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fimprover\u002Fskills\u002Fpinned-helper\u002FSKILL.md",[],[74,75,76,77,78],"pinned helper","helper","human","touch","it",{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":39},"01M71RTDKBG0WQHPHKFZKFWDHF","legacy-helper","A rarely used helper kept around from an earlier workflow.","https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fimprover\u002Fskills\u002Flegacy-helper\u002FSKILL.md",[],[86,75,87,88],"Legacy","legacy helper","workflow",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":39},"01M71RTCC6ZVVJ9MHHESXPHWA6","human-notes","A human-authored skill not deployed by APM (loose, not in the lock).","https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fimprover\u002Fskills\u002Fhuman-notes\u002FSKILL.md",[],[96,76,97,98,99],"notes","human notes","lock","apm",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":39},"01M71RTB83ZP6VK6XH19Z93FAC","garrison-helper","Helps compose and station Garrison Fittings into Faculty role slots.","https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fimprover\u002Fskills\u002Fgarrison-helper\u002FSKILL.md",[],[75,107,108,109,110,111],"garrison","garrison helper","slots","role","compose",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":121,"publishedAt":39},"01M71RT6MBGJC4QQZBGHF4H1M8","walkthrough","Record a short, narrated, captioned video walkthrough that proves a finished coding task and shows how it behaves, then self-verify the video via vision on extracted frames and publish it as one scrubbable Tailscale link. Use after completing a change\u002Ffix\u002Ffeature on a web project (Next.js\u002FReact etc.) when the user wants visual proof of work, a demo of a user flow, or to avoid manually retesting and watching a long raw screen recording. Triggers on requests like \"record a walkthrough\", \"show me it working\", \"make a demo video of this\", \"prove the feature\", or finishing a UI\u002Froute\u002Fform\u002FAPI change worth demonstrating. Not for walking through a full from-scratch project build.","https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ffittings\u002Fseed\u002Fwalkthrough\u002F.apm\u002Fskills\u002Fwalkthrough\u002FSKILL.md",[118],{"categoryNo":119,"categoryName":120,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",[114,32,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],"project","project build","api","react","change","demo video","publish","recording","Video","show me","work","short","fix","show","route","me","next","self",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":39},"01M71RT54T0SQS42XEP5FVQ28K","Trello","Manage tasks via Trello REST API.","https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ffittings\u002Fseed\u002Ftrello\u002F.apm\u002Fskills\u002Ftrello\u002FSKILL.md",[],[147,148,149,124,150,151,152],"trello","tasks","REST","manage","rest api","via"]