[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DA74ZDFXWN62XKMDQ94689":3,"skill-same:01M6DA74ZDFXWN62XKMDQ94689":68},{"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":30,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":67},"01M6DA74ZDFXWN62XKMDQ94689","review-diff",null,"Pre-push diff review by the local GitHub Copilot CLI (gpt-5.6-sol, a separate-vendor LLM). Usage: \u002Freview-diff [BASE_REF | --cached] (default base=origin\u002Fmain)","future-architect\u002Fuzomuzo-oss","future-architect","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F14890632?v=4","01M6DA6C4A1ESW410NS3Y424QR","Future Corp","01M6DA6C8ET9B0110HVZD8DCZB",45,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-diff\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"review diff","diff","review","default","sol","usage","github copilot cli","diff review","origin","local","base","main","vendor","gpt","push","copilot cli","copilot","github copilot","github","cli","2026-11-10 10:12:30",false,"---\nname: outer-loop\ndescription: Tim's outer loop. Retro across boards, sessions and PRs since the last run, then agreed setup changes through a PR and lead restarts.\ndisable-model-invocation: true\n---\n\nTim started you as the outer loop: the only session that changes shared setup (`~\u002Fdotfiles\u002Fagents`, skills, omp config, the global AGENTS.md, `~\u002Fagent-system`). Each run is one retro and its follow-through; nothing schedules you.\n\n## 1. Retro since the last run\n\n`~\u002F.local\u002Fstate\u002Fouter-loop\u002Flast-retro` holds the UTC start time of the last run; without it, cover the last 7 days. Note this run's start time now.\n\nGather the evidence since then. Fan bulk reading out to read-only `scout` subagents, one per board or source, each returning findings with paths:\n\n- **Boards.** `easl board.list` and `easl agent.list`; per board, the goal note (`easl object.find --key goal --board \u003Cid>`), notes (`easl object.find --type note --board \u003Cid>`) and asks (`easl ask list --board \u003Cid>`). Setup proposals and repeated repair asks matter most.\n- **Sessions.** omp sessions under `~\u002F.omp\u002Fagent\u002Fsessions\u002F` modified since the cursor.\n- **PRs.** Merged and failed PRs on Tim's repositories (`gh search prs --owner twaldin --updated \">=\u003Ccursor date>\" --json url,state,title,repository`) and their failed checks.\n- **Incidents.** Machine and tooling failures named in notes, asks and sessions, plus the job logs under `~\u002F.local\u002Fstate\u002F`.\n\nRank candidates with the categories in `skill:\u002F\u002Fretro`, repeated failures first. Each candidate names its evidence, the proposed change, and what it replaces or deletes.\n\n## 2. Decide with Tim\n\nPresent the ranked list, then ask one decision at a time in this conversation, with options and your recommendation. Tim's agreement here is the only approval: apply exactly what he agreed. Write instruction and skill text per `writing-for-agents`.\n\n## 3. Apply through a PR\n\nPer repository:\n\n1. Fetch, then work in a new worktree from `origin\u002Fmain` (`git -C ~\u002Fdotfiles worktree add ~\u002Fworktrees\u002F\u003Cbranch> -b \u003Cbranch> origin\u002Fmain`); the main checkout's uncommitted work is Tim's.\n2. Make the agreed change and run the repository's tests (`agents\u002FREADME.md` lists dotfiles' install and verify commands) through `machine-ok-queue run -- …`.\n3. Open one PR. Review it with `interrogate`, using a reviewer from a family other than yours; fix findings and re-review until clean. The PR's watch loop merges it after its checks pass.\n4. Fast-forward the main checkout and install dotfiles changes: `python3 agents\u002Finstall.py` to preview, then `--apply`, then `python3 agents\u002Fverify.py`. Remove your worktree.\n\n## 4. Restart affected leads\n\nFor each lead whose behavior the change affects (`easl agent.list`): `easl agent.restart --target \u003Ctile> --mode resume`. A refusal means the lead is busy or Tim is typing; retry later, never with `--force`. Then send that lead one message saying what changed: `easl tell \u003Caddress> \"\u003Cwhat changed and why>\"`, with the lead's `address` from `easl agent.list`. Beyond restart announcements, message leads only on Tim's instruction.\n\n## 5. Close\n\nWrite this run's start time as the cursor: `mkdir -p ~\u002F.local\u002Fstate\u002Fouter-loop && printf '%s\\n' '\u003Cstart time>' > ~\u002F.local\u002Fstate\u002Fouter-loop\u002Flast-retro`. Report the changes, PR links and restarted leads.\n","Tim started you as the outer loop: the only session that changes shared setup (`~\u002Fdotfiles\u002Fagents`, skills, omp config, the global AGENTS.md, `~\u002Fagent-system`). Each run is one retro and its follow-through; nothing schedules you.\n\n## 1. Retro since the last run\n\n`~\u002F.local\u002Fstate\u002Fouter-loop\u002Flast-retro` holds the UTC start time of the last run; without it, cover the last 7 days. Note this run's start time now.\n\nGather the evidence since then. Fan bulk reading out to read-only `scout` subagents, one per board or source, each returning findings with paths:\n\n- **Boards.** `easl board.list` and `easl agent.list`; per board, the goal note (`easl object.find --key goal --board \u003Cid>`), notes (`easl object.find --type note --board \u003Cid>`) and asks (`easl ask list --board \u003Cid>`). Setup proposals and repeated repair asks matter most.\n- **Sessions.** omp sessions under `~\u002F.omp\u002Fagent\u002Fsessions\u002F` modified since the cursor.\n- **PRs.** Merged and failed PRs on Tim's repositories (`gh search prs --owner twaldin --updated \">=\u003Ccursor date>\" --json url,state,title,repository`) and their failed checks.\n- **Incidents.** Machine and tooling failures named in notes, asks and sessions, plus the job logs under `~\u002F.local\u002Fstate\u002F`.\n\nRank candidates with the categories in `skill:\u002F\u002Fretro`, repeated failures first. Each candidate names its evidence, the proposed change, and what it replaces or deletes.\n\n## 2. Decide with Tim\n\nPresent the ranked list, then ask one decision at a time in this conversation, with options and your recommendation. Tim's agreement here is the only approval: apply exactly what he agreed. Write instruction and skill text per `writing-for-agents`.\n\n## 3. Apply through a PR\n\nPer repository:\n\n1. Fetch, then work in a new worktree from `origin\u002Fmain` (`git -C ~\u002Fdotfiles worktree add ~\u002Fworktrees\u002F\u003Cbranch> -b \u003Cbranch> origin\u002Fmain`); the main checkout's uncommitted work is Tim's.\n2. Make the agreed change and run the repository's tests (`agents\u002FREADME.md` lists dotfiles' install and verify commands) through `machine-ok-queue run -- …`.\n3. Open one PR. Review it with `interrogate`, using a reviewer from a family other than yours; fix findings and re-review until clean. The PR's watch loop merges it after its checks pass.\n4. Fast-forward the main checkout and install dotfiles changes: `python3 agents\u002Finstall.py` to preview, then `--apply`, then `python3 agents\u002Fverify.py`. Remove your worktree.\n\n## 4. Restart affected leads\n\nFor each lead whose behavior the change affects (`easl agent.list`): `easl agent.restart --target \u003Ctile> --mode resume`. A refusal means the lead is busy or Tim is typing; retry later, never with `--force`. Then send that lead one message saying what changed: `easl tell \u003Caddress> \"\u003Cwhat changed and why>\"`, with the lead's `address` from `easl agent.list`. Beyond restart announcements, message leads only on Tim's instruction.\n\n## 5. Close\n\nWrite this run's start time as the cursor: `mkdir -p ~\u002F.local\u002Fstate\u002Fouter-loop && printf '%s\\n' '\u003Cstart time>' > ~\u002F.local\u002Fstate\u002Fouter-loop\u002Flast-retro`. Report the changes, PR links and restarted leads.\n",{"name":44,"description":45,"disable-model-invocation":46},"outer-loop","Tim's outer loop. Retro across boards, sessions and PRs since the last run, then agreed setup changes through a PR and lead restarts.",true,"af59d606615f11e03cfba46479161ce4e7cb374a",".claude\u002Fskills\u002Freview-diff",6,"https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss","https:\u002F\u002Fgithub.com\u002Ffuture-architect","https:\u002F\u002Fwww.future.co.jp\u002F","Future's official open source repositories","2026-11-11 23:06:32",{"source":8,"skillName":44,"commands":56,"prompt":66,"zipAvailable":46},[57,60,63],{"tool":58,"command":59},"npx","npx skills add future-architect\u002Fuzomuzo-oss --skill outer-loop",{"tool":61,"command":62},"bunx","bunx skills add future-architect\u002Fuzomuzo-oss --skill outer-loop",{"tool":64,"command":65},"pnpm","pnpm dlx skills add future-architect\u002Fuzomuzo-oss --skill outer-loop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-diff\u002FSKILL.md",[],[69,103,121,137,151,175],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":39},"01M6DA7MGD29HB8B7PD74AP302","scan-before-add","Use when selecting, comparing, or recommending third-party libraries, and before adding a new dependency (go.mod, package.json, pyproject.toml, requirements.txt, Cargo.toml, pom.xml, *.csproj, Gemfile, composer.json). Applies both when you choose the candidates and when the user names a package. Runs uzomuzo scan on the candidates and leaves a record of what was checked and who decided.","https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fscan-before-add\u002FSKILL.md",[],[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"scan","scan before add","add","go","libraries","package","xml","json","choose","user","use","dependency","record","requirements","toml","third-party","cargo","composer","with","you","pom","gemfile","pyproject.toml","csproj","candidate","when","new",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":39},"01M6DA7H2JJBKD8535AN2XRDWQ","diet-remove","Remove a dependency identified by uzomuzo diet — analysis + issue (default) or direct PR","https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fdiet-remove\u002FSKILL.md",[],[110,111,112,113,114,115,116,87,117,22,118,119,120],"remove","diet remove","diet","pr","analysis","direct","repo","issue","module","purl","path",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":39},"01M6DA7DV99JKQ623GX67913X7","diet-evaluate-removal","Data-driven deep evaluation of whether a dependency is worth removing","https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fdiet-evaluate-removal\u002FSKILL.md",[],[128,112,129,37,130,131,87,132,133,134,135,136],"diet evaluate removal","evaluate","Evaluation","data","deep","driven","name","errors","data-driven",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":39},"01M6DA7AMHSDTKWJVX07967KGE","diet-assess-risk","Deep-dive security risk analysis for a dependency flagged by uzomuzo diet","https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002Fclaude-skills\u002Fdiet-assess-risk\u002FSKILL.md",[],[144,145,146,112,147,148,114,87,132,118,119,149,120,150],"risk","diet assess risk","assess","security","risk analysis","top","for",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":39},"01M6DA77R43KS673EP8B9RMNY5","review-until-clean","1-shot to merge-ready (local-only) — Phase A (5-agent local review iteration) → Phase B (push + self-driven Copilot re-review iteration) → Phase C (reply+resolve all threads). One invocation drives a PR from local agent review through Copilot review convergence to merge-ready state. Runs from your own machine; there is no CI auto-fix.","https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview-until-clean\u002FSKILL.md",[],[21,158,159,160,35,113,161,33,162,163,164,165,166,167,168,169,28,170,133,171,172,173,174],"clean","review until clean","merge","state","ci","copilot review","fix","auto","only","ready","reply","self","iteration","machine","re","auto-fix","phase",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":181,"publishedAt":39},"01M6DA72JCYB5EE77NWGWJ4JRY","plan-review","Have the local GitHub Copilot CLI (gpt-5.6-sol, a separate-vendor LLM) critique the latest plan-mode plan file before ExitPlanMode — a sanity check. Usage: \u002Fplan-review [\u003Cplan-path>]","https:\u002F\u002Fgithub.com\u002Ffuture-architect\u002Fuzomuzo-oss\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplan-review\u002FSKILL.md",[],[21,182,183,38,37,36,35,34,32,184,185,186,31,28,187,25,24,188,189,23,190],"plan","plan review","file","critique","check","sanity","latest","mode","plan-mode"]