[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RNEYNK0EJXGFFHAFWXRPR":3,"skill-same:01M71RNEYNK0EJXGFFHAFWXRPR":70},{"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":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M71RNEYNK0EJXGFFHAFWXRPR","garrison-drill",null,"Plan-driven, page-level QA against a live screencast of the app under test — author or update the Drill Book (drills\u002Fdrillbook.yml + drills\u002Fpages\u002F*.yml in the target app repo), pause at a configurable gate for approval, then run the enabled steps per selected viewport (vision or graduated e2e through the automations engine) and triage the resulting findings into a batch fix. One duty, two internal stages (plan, then run) with a gate between. Use for \"run drill\", \"update the drill plan\", \"QA this page\", or as the drill phase of a garrison build slotted after review. NOT the fast per-change gate (use garrison-test) and NOT a fresh-context independent pass (the blind adversarial drill run is a second invocation of this same skill, vision-forced, cache-bypassed, blind to specs).","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\u002Fdrill\u002F.claude\u002Fskills\u002Fgarrison-drill\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"garrison drill","drill","context","vision","steps","live","at","update","run","same","change","plan","fresh","review","batch","phase","qa","fix","same skill","app","2026-11-10 13:02:02",false,"---\nname: garrison-drill\ndescription: Plan-driven, page-level QA against a live screencast of the app under test — author or update the Drill Book (drills\u002Fdrillbook.yml + drills\u002Fpages\u002F*.yml in the target app repo), pause at a configurable gate for approval, then run the enabled steps per selected viewport (vision or graduated e2e through the automations engine) and triage the resulting findings into a batch fix. One duty, two internal stages (plan, then run) with a gate between. Use for \"run drill\", \"update the drill plan\", \"QA this page\", or as the drill phase of a garrison build slotted after review. NOT the fast per-change gate (use garrison-test) and NOT a fresh-context independent pass (the blind adversarial drill run is a second invocation of this same skill, vision-forced, cache-bypassed, blind to specs).\n---\n\n# garrison-drill\n\n## Policy-read preamble (soft - D5\u002FD12)\n\nAt the start of every invocation, look for the compiled Orchestrator policy at\n`~\u002F.garrison\u002Forchestrator\u002Fpolicy.json` (or `$GARRISON_POLICY_PATH`).\n\n- **Policy present** (a Garrison run): it is the single authority. This skill\n  carries NO model\u002Feffort pins - its execution parameters come from the policy\n  matrix cell for its phase (`matrix[\u003Cphase>][\u003Ctier>]`), and its gate duties\n  from the bindable phase-skill contract (the Orchestrator fitting's\n  PHASE_SKILL_CONTRACT.md): do the phase's work in the run context handed to you\n  (runDir, card, phase), write the phase's gate-status entry under the runDir,\n  and print the phase's `GATE \u003Cphase>: \u003Cverdict>` line before choosing the next\n  list.\n- **Policy absent** (standalone, any repo): proceed with the caller-supplied\n  context and sensible defaults - NEVER stop. Report to the caller rather than\n  writing gate-status\u002Frun artifacts, and skip any board\u002Frun-engine steps.\n\n## What \"drill\" means here — two internal stages, one duty (F1, R7)\n\nDrill slots into the roster after `review`. It runs in two internal stages\ninside the SAME phase, with a configurable gate between them (the gate lives\nin the duty layer, not in a subagent — A5):\n\n1. **Plan.** Read `drills\u002Fdrillbook.yml` + `drills\u002Fpages\u002F*.yml` from the target\n   app repo (`GARRISON_DRILL_TARGET_REPO`, default the composition's project\n   root). Diff the change against the pages already in the book — a git diff\n   maps changed files to pages and pre-selects them for this run (S13). For\n   each touched (or newly relevant) page, add\u002Fupdate steps: choose vision when\n   judgment is needed (citation quality, generative output, canvas) and e2e\n   when deterministic locators and assertions are evident (B9) — the same\n   Router-routed pattern as the automations planner. Save via the Drill fitting's\n   store (atomic writes; never hand-edit the YAML files directly).\n   **A check that asserts a BEHAVIOUR gets `actions`.** If the description is\n   about what happens when the user clicks, presses, types, submits, hovers,\n   drags or scrolls, author an ordered `actions:` list on that step (same\n   vocabulary as the Book's `auth.steps` and a state's `reachPath`: one\n   plain-English instruction per entry) that drives the app to the asserted\n   state before the check is judged. Without it the runner only navigates and\n   looks, so the check is judged against an untouched page and its verdict is\n   wrong either way - a behavioural description with no actions is a\n   mis-authored check. `reachPath` moves the PAGE into a named state shared by\n   many steps; `actions` are the one-off interactions a SINGLE check needs.\n2. **Gate.** `autonomy: \"gated\"` (drillbook.yml) holds here with the plan diff\n   shown for approval — a human or agent \"go\" resumes into stage 2, same shape\n   as the `discuss` duty's `gate: \"explicit\"` hold (one Kanban list, no list\n   transition). `autonomy: \"auto\"` passes straight through, reporting after\n   the run instead of before.\n3. **Run.** Compile enabled steps per selected viewport to automations engine\n   steps and run them as inline ephemeral runs (`contextTag: \"drill\"`, engine\n   delta 1) — cache hit replays with no model call; miss falls to vision. Pool\n   the results (failures, flipped verdicts, accepted UX findings, run-level\n   observations) into the run report; confirmed findings dispatch as one batch\n   fix card via kanban-loop (R10).\n\n**The blind adversarial pass (R12, F8)** is a SECOND invocation of this same\nskill, not a different one: a different model (set in the composition),\n`contextTag: \"drill-adversarial\"`, `bypassCache: true` (engine delta 2, so it\nis blind to the shared cache AND to any planner-authored `cachedAssertion`),\nvision-forced (skip the e2e\u002Fgraduated path even for steps that have graduated),\nreceiving ONLY the plan's areas and acceptance-level step descriptions — never\nthe emitted specs, never the cached actions. It writes its own probes. Its\nfindings join the same report.\n\n## Direct runs - select a project, start its app, run (no card needed)\n\nThe Drill server also serves a card-free doorway, used by the UI's project\npicker and available to this skill when a run targets a repo other than the\nboot-time pin:\n\n- `GET \u002Fapi\u002Fprojects` - the dev-root git repos (same list as the dev-env and\n  Kanban pickers), each annotated with `runSkill` (its `run-\u003Cproject>` skill,\n  if any) and `hasDrillBook`.\n- `POST \u002Fapi\u002Fprojects\u002Fselect {path}` - retarget Drill live; the Book, pages,\n  and run records all follow. The selection persists across restarts and\n  wins over `GARRISON_DRILL_TARGET_REPO`.\n- `GET \u002Fapi\u002Fapp\u002Fstatus` \u002F `POST \u002Fapi\u002Fapp\u002Fstart` - if the Book's app URL is\n  not serving, start the app THROUGH THE PROJECT'S RUN SKILL: the server\n  spawns a headless Claude Code session in the project root told to invoke\n  `run-\u003Cproject>` and print `APP_URL=\u003Curl>` when serving. Poll status until\n  `reachable` (or the job fails with a reason). Never boot the app any other\n  way when a run skill exists - the run skill is the project's single\n  authority on how it starts (locality principle).\n- `POST \u002Fapi\u002Fplan\u002Fstart` \u002F `GET \u002Fapi\u002Fplan\u002Fstatus` - stage 1 (Plan) on the\n  direct path: a headless agent session in the project root authors\u002Fupdates\n  the Book on its own judgment (final-line sentinel `DRILL_PLAN_OK=\u003Cpages>` \u002F\n  `DRILL_PLAN_FAILED=\u003Creason>`, OK verified against the page files on disk).\n  An optional `{brief}` scopes the plan to a described change. An empty Book\n  never asks the user to author pages - the UI's Run kicks this\n  automatically; the Authoring surface is the manual override, not the\n  required entry path.\n\n## Skill conventions carried from garrison-test \u002F garrison-adversarial-test (F9)\n\n- **Deterministic wall first.** Order deterministic steps (e2e, cached\n  assertions) before any step needing a model judgment (vision) within a run —\n  cheapest checks before model spend.\n- **Loaded-machine waits.** Emitted specs (Phase 5, graduation) carry generous\n  waits for boot\u002Flogin-class steps (60-90s). A pure timeout re-runs once in\n  isolation; if it passes alone, fix the spec's wait, not the verdict.\n- **Login-gated apps (auth).** If the app needs a login to reach its pages, the\n  Drill Book's `auth` block carries the login — `loginPath`, the ordered login\n  `steps`, and a `success` signal — with REAL test credentials (committed,\n  test-only, never production). The runner logs in ONCE before the checks, in\n  the shared browser context, so the session persists across runs (a cheap\n  probe reuses it; the full flow re-runs only on a miss or a `cacheMinutes`\n  refresh). A login failure collapses into ONE incident with the checks\n  skipped — it NEVER reports N page failures for one auth problem. Author `auth`\n  during Plan whenever a page is unreachable without a session; never leave a\n  gated app to fail every check on its login screen.\n- **Flaky\u002Fenv re-run.** A flaky or environment failure re-runs once in\n  isolation before it counts against the run, and never consumes a fix budget.\n- **Findings must be reproducible, never an impression.** A fail carries the\n  probe (screenshot\u002Fevidence path, or the exact assertion + observed value) or\n  the exact commands + output — never \"it felt broken.\"\n- **Never clobber a live dev server.** Respect the dev-server hazard when\n  driving a run against the app under test.\n\n## GATE line\n\nPrint `GATE drill: \u003Cpass|fail|held> — \u003Csummary>` before choosing the next\nlist. `held` is the gated-autonomy pause (stage 1 complete, waiting on\napproval) — not a pass or a fail, and does not advance the card.\n\n---\n\nAuthoring\u002Frun\u002Fgraduation\u002Fstates surfaces referenced above are implemented in\nthe Drill fitting's own-port UI and the automations engine deltas; see\n`fittings\u002Fseed\u002Fdrill\u002F` and `fittings\u002Fseed\u002Fautomations\u002Flib\u002F` for the concrete\nmechanics this skill drives.\n","# garrison-drill\n\n## Policy-read preamble (soft - D5\u002FD12)\n\nAt the start of every invocation, look for the compiled Orchestrator policy at\n`~\u002F.garrison\u002Forchestrator\u002Fpolicy.json` (or `$GARRISON_POLICY_PATH`).\n\n- **Policy present** (a Garrison run): it is the single authority. This skill\n  carries NO model\u002Feffort pins - its execution parameters come from the policy\n  matrix cell for its phase (`matrix[\u003Cphase>][\u003Ctier>]`), and its gate duties\n  from the bindable phase-skill contract (the Orchestrator fitting's\n  PHASE_SKILL_CONTRACT.md): do the phase's work in the run context handed to you\n  (runDir, card, phase), write the phase's gate-status entry under the runDir,\n  and print the phase's `GATE \u003Cphase>: \u003Cverdict>` line before choosing the next\n  list.\n- **Policy absent** (standalone, any repo): proceed with the caller-supplied\n  context and sensible defaults - NEVER stop. Report to the caller rather than\n  writing gate-status\u002Frun artifacts, and skip any board\u002Frun-engine steps.\n\n## What \"drill\" means here — two internal stages, one duty (F1, R7)\n\nDrill slots into the roster after `review`. It runs in two internal stages\ninside the SAME phase, with a configurable gate between them (the gate lives\nin the duty layer, not in a subagent — A5):\n\n1. **Plan.** Read `drills\u002Fdrillbook.yml` + `drills\u002Fpages\u002F*.yml` from the target\n   app repo (`GARRISON_DRILL_TARGET_REPO`, default the composition's project\n   root). Diff the change against the pages already in the book — a git diff\n   maps changed files to pages and pre-selects them for this run (S13). For\n   each touched (or newly relevant) page, add\u002Fupdate steps: choose vision when\n   judgment is needed (citation quality, generative output, canvas) and e2e\n   when deterministic locators and assertions are evident (B9) — the same\n   Router-routed pattern as the automations planner. Save via the Drill fitting's\n   store (atomic writes; never hand-edit the YAML files directly).\n   **A check that asserts a BEHAVIOUR gets `actions`.** If the description is\n   about what happens when the user clicks, presses, types, submits, hovers,\n   drags or scrolls, author an ordered `actions:` list on that step (same\n   vocabulary as the Book's `auth.steps` and a state's `reachPath`: one\n   plain-English instruction per entry) that drives the app to the asserted\n   state before the check is judged. Without it the runner only navigates and\n   looks, so the check is judged against an untouched page and its verdict is\n   wrong either way - a behavioural description with no actions is a\n   mis-authored check. `reachPath` moves the PAGE into a named state shared by\n   many steps; `actions` are the one-off interactions a SINGLE check needs.\n2. **Gate.** `autonomy: \"gated\"` (drillbook.yml) holds here with the plan diff\n   shown for approval — a human or agent \"go\" resumes into stage 2, same shape\n   as the `discuss` duty's `gate: \"explicit\"` hold (one Kanban list, no list\n   transition). `autonomy: \"auto\"` passes straight through, reporting after\n   the run instead of before.\n3. **Run.** Compile enabled steps per selected viewport to automations engine\n   steps and run them as inline ephemeral runs (`contextTag: \"drill\"`, engine\n   delta 1) — cache hit replays with no model call; miss falls to vision. Pool\n   the results (failures, flipped verdicts, accepted UX findings, run-level\n   observations) into the run report; confirmed findings dispatch as one batch\n   fix card via kanban-loop (R10).\n\n**The blind adversarial pass (R12, F8)** is a SECOND invocation of this same\nskill, not a different one: a different model (set in the composition),\n`contextTag: \"drill-adversarial\"`, `bypassCache: true` (engine delta 2, so it\nis blind to the shared cache AND to any planner-authored `cachedAssertion`),\nvision-forced (skip the e2e\u002Fgraduated path even for steps that have graduated),\nreceiving ONLY the plan's areas and acceptance-level step descriptions — never\nthe emitted specs, never the cached actions. It writes its own probes. Its\nfindings join the same report.\n\n## Direct runs - select a project, start its app, run (no card needed)\n\nThe Drill server also serves a card-free doorway, used by the UI's project\npicker and available to this skill when a run targets a repo other than the\nboot-time pin:\n\n- `GET \u002Fapi\u002Fprojects` - the dev-root git repos (same list as the dev-env and\n  Kanban pickers), each annotated with `runSkill` (its `run-\u003Cproject>` skill,\n  if any) and `hasDrillBook`.\n- `POST \u002Fapi\u002Fprojects\u002Fselect {path}` - retarget Drill live; the Book, pages,\n  and run records all follow. The selection persists across restarts and\n  wins over `GARRISON_DRILL_TARGET_REPO`.\n- `GET \u002Fapi\u002Fapp\u002Fstatus` \u002F `POST \u002Fapi\u002Fapp\u002Fstart` - if the Book's app URL is\n  not serving, start the app THROUGH THE PROJECT'S RUN SKILL: the server\n  spawns a headless Claude Code session in the project root told to invoke\n  `run-\u003Cproject>` and print `APP_URL=\u003Curl>` when serving. Poll status until\n  `reachable` (or the job fails with a reason). Never boot the app any other\n  way when a run skill exists - the run skill is the project's single\n  authority on how it starts (locality principle).\n- `POST \u002Fapi\u002Fplan\u002Fstart` \u002F `GET \u002Fapi\u002Fplan\u002Fstatus` - stage 1 (Plan) on the\n  direct path: a headless agent session in the project root authors\u002Fupdates\n  the Book on its own judgment (final-line sentinel `DRILL_PLAN_OK=\u003Cpages>` \u002F\n  `DRILL_PLAN_FAILED=\u003Creason>`, OK verified against the page files on disk).\n  An optional `{brief}` scopes the plan to a described change. An empty Book\n  never asks the user to author pages - the UI's Run kicks this\n  automatically; the Authoring surface is the manual override, not the\n  required entry path.\n\n## Skill conventions carried from garrison-test \u002F garrison-adversarial-test (F9)\n\n- **Deterministic wall first.** Order deterministic steps (e2e, cached\n  assertions) before any step needing a model judgment (vision) within a run —\n  cheapest checks before model spend.\n- **Loaded-machine waits.** Emitted specs (Phase 5, graduation) carry generous\n  waits for boot\u002Flogin-class steps (60-90s). A pure timeout re-runs once in\n  isolation; if it passes alone, fix the spec's wait, not the verdict.\n- **Login-gated apps (auth).** If the app needs a login to reach its pages, the\n  Drill Book's `auth` block carries the login — `loginPath`, the ordered login\n  `steps`, and a `success` signal — with REAL test credentials (committed,\n  test-only, never production). The runner logs in ONCE before the checks, in\n  the shared browser context, so the session persists across runs (a cheap\n  probe reuses it; the full flow re-runs only on a miss or a `cacheMinutes`\n  refresh). A login failure collapses into ONE incident with the checks\n  skipped — it NEVER reports N page failures for one auth problem. Author `auth`\n  during Plan whenever a page is unreachable without a session; never leave a\n  gated app to fail every check on its login screen.\n- **Flaky\u002Fenv re-run.** A flaky or environment failure re-runs once in\n  isolation before it counts against the run, and never consumes a fix budget.\n- **Findings must be reproducible, never an impression.** A fail carries the\n  probe (screenshot\u002Fevidence path, or the exact assertion + observed value) or\n  the exact commands + output — never \"it felt broken.\"\n- **Never clobber a live dev server.** Respect the dev-server hazard when\n  driving a run against the app under test.\n\n## GATE line\n\nPrint `GATE drill: \u003Cpass|fail|held> — \u003Csummary>` before choosing the next\nlist. `held` is the gated-autonomy pause (stage 1 complete, waiting on\napproval) — not a pass or a fail, and does not advance the card.\n\n---\n\nAuthoring\u002Frun\u002Fgraduation\u002Fstates surfaces referenced above are implemented in\nthe Drill fitting's own-port UI and the automations engine deltas; see\n`fittings\u002Fseed\u002Fdrill\u002F` and `fittings\u002Fseed\u002Fautomations\u002Flib\u002F` for the concrete\nmechanics this skill drives.\n",{"name":5,"description":7},"main","31458d7e0e08a7b3494c27bf2b912ed41c87a138","fittings\u002Fseed\u002Fdrill\u002F.claude\u002Fskills\u002Fgarrison-drill",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":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add gongiskhan\u002Fagent-garrison --skill garrison-drill",{"tool":62,"command":63},"bunx","bunx skills add gongiskhan\u002Fagent-garrison --skill garrison-drill",{"tool":65,"command":66},"pnpm","pnpm dlx skills add gongiskhan\u002Fagent-garrison --skill garrison-drill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgongiskhan\u002Fagent-garrison\u002Fblob\u002Fmain\u002Ffittings\u002Fseed\u002Fdrill\u002F.claude\u002Fskills\u002Fgarrison-drill\u002FSKILL.md",true,[],[71,83,93,104,116,143],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":43},"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",[],[78,79,80,81,82],"pinned helper","helper","human","touch","it",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":43},"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",[],[90,79,91,92],"Legacy","legacy helper","workflow",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":43},"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",[],[100,80,101,102,103],"notes","human notes","lock","apm",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":43},"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",[],[79,111,112,113,114,115],"garrison","garrison helper","slots","role","compose",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":125,"publishedAt":43},"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",[122],{"categoryNo":123,"categoryName":124,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",[118,126,127,128,129,130,33,131,132,133,134,135,136,137,40,138,139,140,141,142],"when","project","project build","api","react","demo video","publish","recording","Video","show me","work","short","show","route","me","next","self",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":43},"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",[],[150,151,152,129,153,154,155],"trello","tasks","REST","manage","rest api","via"]