[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RMYSSCJQ4DEDCSHSCZKGY":3,"skill-same:01M71RMYSSCJQ4DEDCSHSCZKGY":56},{"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":17,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":39,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M71RMYSSCJQ4DEDCSHSCZKGY","ekoa-auth-watchdog",null,"Poll prod cortex \u002Fhealth, alert via Slack + macOS notifier on auth state transitions.","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\u002Fclaude-config\u002Fpayload\u002Fscheduled-tasks\u002Fekoa-auth-watchdog\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28],"auth","watchdog","ekoa auth watchdog","macos","slack","state","cortex","health","alert","transitions","via","2026-11-10 13:02:02",false,"---\nname: ekoa-auth-watchdog\ndescription: Poll prod cortex \u002Fhealth, alert via Slack + macOS notifier on auth state transitions.\n---\n\nRun the Ekoa auth watchdog and report the result.\n\nExecute exactly this command and capture stdout + exit code:\n\n  node \u002FUsers\u002Fggomes\u002Fdev\u002Fekoa-dev\u002Fscripts\u002Fauth-watchdog.mjs\n\nThe script polls https:\u002F\u002Fapi.ekoa.io\u002Fhealth, diffs claudeAuth state against ~\u002F.ekoa\u002Fdata\u002Fauth-watchdog.json, and posts to Slack + macOS terminal-notifier on state transitions or every 24h while broken. It is silent when state is unchanged-ok.\n\nAfter running, output one short line summarizing what happened — for example \"state=ok prev=ok notify=false\" or \"state=broken prev=ok notify=true kind=transition\". Do not call any other tools, do not investigate further, do not attempt remediation. The script handles all alerting; your job is just to invoke it.\n\nIf the script exits non-zero or the command itself errors, report the exit code and the last 5 lines of output. Otherwise just echo back the script's state line.","Run the Ekoa auth watchdog and report the result.\n\nExecute exactly this command and capture stdout + exit code:\n\n  node \u002FUsers\u002Fggomes\u002Fdev\u002Fekoa-dev\u002Fscripts\u002Fauth-watchdog.mjs\n\nThe script polls https:\u002F\u002Fapi.ekoa.io\u002Fhealth, diffs claudeAuth state against ~\u002F.ekoa\u002Fdata\u002Fauth-watchdog.json, and posts to Slack + macOS terminal-notifier on state transitions or every 24h while broken. It is silent when state is unchanged-ok.\n\nAfter running, output one short line summarizing what happened — for example \"state=ok prev=ok notify=false\" or \"state=broken prev=ok notify=true kind=transition\". Do not call any other tools, do not investigate further, do not attempt remediation. The script handles all alerting; your job is just to invoke it.\n\nIf the script exits non-zero or the command itself errors, report the exit code and the last 5 lines of output. Otherwise just echo back the script's state line.",{"name":5,"description":7},"main","31458d7e0e08a7b3494c27bf2b912ed41c87a138","fittings\u002Fseed\u002Fclaude-config\u002Fpayload\u002Fscheduled-tasks\u002Fekoa-auth-watchdog",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":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add gongiskhan\u002Fagent-garrison --skill ekoa-auth-watchdog",{"tool":48,"command":49},"bunx","bunx skills add gongiskhan\u002Fagent-garrison --skill ekoa-auth-watchdog",{"tool":51,"command":52},"pnpm","pnpm dlx skills add gongiskhan\u002Fagent-garrison --skill ekoa-auth-watchdog","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ffittings\u002Fseed\u002Fclaude-config\u002Fpayload\u002Fscheduled-tasks\u002Fekoa-auth-watchdog\u002FSKILL.md",true,[],[57,69,79,90,102,133],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":29},"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",[],[64,65,66,67,68],"pinned helper","helper","human","touch","it",{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":29},"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",[],[76,65,77,78],"Legacy","legacy helper","workflow",{"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":29},"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",[],[86,66,87,88,89],"notes","human notes","lock","apm",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":29},"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",[],[65,97,98,99,100,101],"garrison","garrison helper","slots","role","compose",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":113,"publishedAt":29},"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",[108],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[104,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],"when","project","project build","api","react","change","demo video","publish","recording","Video","show me","work","short","fix","show","route","me","next","self",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":29},"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",[],[140,141,142,117,143,144,28],"trello","tasks","REST","manage","rest api"]