[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-minimax-mcode-island":3,"mdc-v8rato-key":34,"related-org-minimax-mcode-island":1114,"related-repo-minimax-mcode-island":1317},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"mcode-island","display work progress in desktop island","Push the user's terminal out of focus to a Windows desktop Dynamic Island pill so the user can watch your work without switching back to mcode. Use when starting long-running bash\u002Fedit\u002Fread operations, when a tool needs user approval (waiting), on success (done), or on failure (error). Pair every agent bash \u002F read \u002F write \u002F edit call with a corresponding `notify-island.ps1` state push.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"minimax","MiniMax","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fminimax.jpg","MiniMax-AI",[13,17,20],{"name":14,"slug":15,"type":16},"Productivity","productivity","tag",{"name":18,"slug":19,"type":16},"Windows","windows",{"name":21,"slug":22,"type":16},"Desktop","desktop",5,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FMiniMax-Code-Plugins","2026-08-27T13:32:21.257409","Apache-2.0",2,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Community registry and contribution toolkit for MiniMax Code plugins.","https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FMiniMax-Code-Plugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fantianqi\u002Fmcode-island\u002Fskills\u002Fmcode-island","---\nname: mcode-island\ndescription: Push the user's terminal out of focus to a Windows desktop Dynamic Island pill so the user can watch your work without switching back to mcode. Use when starting long-running bash\u002Fedit\u002Fread operations, when a tool needs user approval (waiting), on success (done), or on failure (error). Pair every agent bash \u002F read \u002F write \u002F edit call with a corresponding `notify-island.ps1` state push.\nlicense: Apache-2.0\ncompatibility: Requires Windows 10\u002F11 with PowerShell 5.1+ and the mcode-island widget running (started via `mcode-island start` or `autostart.ps1 -Enable`).\nmetadata:\n  author: antianqi\n  version: \"0.1.0\"\n---\n\n# mcode-island — 桌面灵动岛状态通知\n\n让用户在不切回 mcode 窗口的情况下，从桌面顶部悬浮 pill 上看到你（agent）的实时工作状态。\n\n## What it looks like\n\nA 320×60 pill anchored to the top center of the primary display, always-on-top, dark\ntheme. Six states with distinct color and motion:\n\n| state      | color          | icon | meaning                          |\n| ---------- | -------------- | ---- | -------------------------------- |\n| `idle`     | gray           | —    | waiting for user input           |\n| `thinking` | yellow pulse   | —    | reasoning, no tool call yet      |\n| `working`  | blue pulse     | ⚙    | actively running a tool          |\n| `waiting`  | orange         | ?    | tool needs user approval \u002F input |\n| `done`     | green          | ✓    | step finished, more to do        |\n| `error`    | red            | ✕    | tool or step failed              |\n\nClick the pill to switch focus back to the originating terminal tab. Run\n`mcode-island pin` from inside a terminal to fix the focus target explicitly\n(useful when the auto-detected HWND is wrong, e.g. Windows Terminal multi-tab).\n\n## When to push each state\n\n| moment                                                | state     | example message                |\n| ----------------------------------------------------- | --------- | ------------------------------ |\n| receive user task, start reasoning                    | `thinking`| (none)                        |\n| about to invoke any tool                              | `working` | `\"bash: npm test\"`            |\n| tool returned 0, before reporting back                | `done`    | `\"3 files modified\"`          |\n| tool needs approval (e.g. permission prompt)          | `waiting` | `\"bash: needs approval\"`       |\n| tool failed \u002F threw \u002F non-zero exit                   | `error`   | `\"compile failed: missing import\"` |\n| conversation idle, waiting for user                   | `idle`    | (none)                        |\n\n**Never push the same state twice in a row** — the widget de-duplicates by\nstate+message. Push only on transitions, or include a fresh message each time.\n\n## Copyable example (agent side)\n\nThe plugin ships a thin wrapper `wrap-tool.ps1` that **publishes state only**\n(it does NOT execute the command). Run the command via mcode's own bash tool,\nthen call `wrap-tool.ps1` to publish the outcome:\n\n```powershell\n# Step 1: announce \"working\" before invoking mcode's bash tool\n& \"\u003Cplugin install dir>\\wrap-tool.ps1\" -Tool bash -Command \"npm test\" -Description \"run tests\"\n\n# Step 2: after mcode's bash tool returns, publish the outcome\n& \"\u003Cplugin install dir>\\wrap-tool.ps1\" -Tool bash -Command \"npm test\" -ExitCode $LASTEXITCODE\n```\n\n`$LASTEXITCODE` is interpreted as: `0` → `done`, codes in `-WaitingExitCodes`\n(default `[1]`) → `waiting`, anything else → `error`. The wrapper returns the\nexit code unchanged so the calling shell still sees it.\n\nFor other tools (read\u002Fwrite\u002Fedit) — and for any state push that is not a single\ncommand — call `notify-island.ps1` directly:\n\n```powershell\n$plugin = \"\u003Cplugin install dir>\"   # directory that contains notify-island.ps1\n& \"$plugin\\notify-island.ps1\" -State thinking\n& \"$plugin\\notify-island.ps1\" -State working  -Message \"read source tree\"\n& \"$plugin\\notify-island.ps1\" -State done     -Message \"indexed 142 files\"\n& \"$plugin\\notify-island.ps1\" -State error    -Message \"compile failed: missing import\"\n& \"$plugin\\notify-island.ps1\" -State waiting  -Message \"permission prompt\"\n```\n\n`\u003Cplugin install dir>` is the directory that contains `notify-island.ps1`.\nSubstitute the absolute path your user installed the plugin at. The Skill body\ndeliberately avoids hard-coded paths so any user \u002F any install location works.\n\n## Expected result\n\nAfter each push, the widget on the user's primary display updates within\n~400 ms (one polling cycle). On click, the originating terminal tab regains\nfocus. The widget is intentionally hard to kill: Alt+F4 hides it, not closes\nit, and `mcode-island show` re-raises the hidden window in under 1 second.\n\n## User-side management\n\n```cmd\nmcode-island                  REM start the widget (idempotent)\nmcode-island stop             REM stop the widget\nmcode-island status           REM show PID + recent log\nmcode-island show             REM re-raise hidden window\nmcode-island pin              REM lock focus target to current foreground window\nmcode-island unpin            REM clear focus target\nmcode-island autostart-on     REM register for Windows logon\nmcode-island autostart-off    REM unregister\n```\n\nTo enable login auto-start, the user runs once:\n\n```powershell\n& \"\u003Cplugin install dir>\\autostart.ps1\" -Enable\n```\n\nThis writes to `HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run` — no admin\nrights required.\n\n## Runtime data\n\nAll widget state lives under `%APPDATA%\\mcode-island\\`:\n\n| file             | purpose                                               |\n| ---------------- | ----------------------------------------------------- |\n| `status.json`    | current state (widget polls this every 400 ms)        |\n| `caller.json`    | originating terminal HWND \u002F PID (for click-to-focus)  |\n| `config.json`    | pill position, size, opacity (saved on drag)          |\n| `widget.pid`     | widget process PID (used by start\u002Fstop\u002Fstatus)        |\n| `island.log`     | append-only state transition history                  |\n| `widget.log`     | widget internal debug log                             |\n| `show.signal`    | transient file written by `mcode-island show`         |\n\nNo data leaves the local machine. The plugin does not make any network request.\n\n## What is in this package\n\n```\nmcode-island\u002F\n├── plugin.json                    # plugin manifest\n├── README.md                      # full user-facing docs\n├── LICENSE                        # Apache-2.0\n├── mcode-island.ps1               # WPF widget main loop\n├── mcode-island.cmd               # CLI shim (start\u002Fstop\u002Fstatus\u002F...)\n├── start-island.ps1               # launch the widget in STA\n├── stop-island.ps1                # stop the widget\n├── status-island.ps1              # print widget state\n├── show-island.ps1                # re-raise hidden widget\n├── pin-island.ps1                 # lock focus target to foreground\n├── autostart.ps1                  # register\u002Funregister Windows logon\n├── notify-island.ps1              # state-push helper (agents call this)\n├── wrap-tool.ps1                  # all-in-one bash wrapper\n├── skills\u002Fmcode-island\u002FSKILL.md   # this file\n└── assets\u002F                        # screenshots used in the README\n```\n\n## Limitations and known constraints\n\n- Windows 10\u002F11 only (uses WPF and `presentationframework`).\n- Single widget per user session.\n- No hover-expand, no media-control integration yet — see the `v0.2` roadmap in\n  the upstream issue tracker.\n- `wrap-tool.ps1` only wraps `bash`. For `read` \u002F `write` \u002F `edit` the agent\n  must call `notify-island.ps1` itself before and after the tool call.\n",{"data":35,"body":40},{"name":4,"description":6,"license":26,"compatibility":36,"metadata":37},"Requires Windows 10\u002F11 with PowerShell 5.1+ and the mcode-island widget running (started via `mcode-island start` or `autostart.ps1 -Enable`).",{"author":38,"version":39},"antianqi","0.1.0",{"type":41,"children":42},"root",[43,52,58,65,70,270,283,289,456,467,473,500,557,613,626,682,700,706,719,725,800,805,819,832,838,851,997,1002,1008,1018,1024,1108],{"type":44,"tag":45,"props":46,"children":48},"element","h1",{"id":47},"mcode-island-桌面灵动岛状态通知",[49],{"type":50,"value":51},"text","mcode-island — 桌面灵动岛状态通知",{"type":44,"tag":53,"props":54,"children":55},"p",{},[56],{"type":50,"value":57},"让用户在不切回 mcode 窗口的情况下，从桌面顶部悬浮 pill 上看到你（agent）的实时工作状态。",{"type":44,"tag":59,"props":60,"children":62},"h2",{"id":61},"what-it-looks-like",[63],{"type":50,"value":64},"What it looks like",{"type":44,"tag":53,"props":66,"children":67},{},[68],{"type":50,"value":69},"A 320×60 pill anchored to the top center of the primary display, always-on-top, dark\ntheme. Six states with distinct color and motion:",{"type":44,"tag":71,"props":72,"children":73},"table",{},[74,103],{"type":44,"tag":75,"props":76,"children":77},"thead",{},[78],{"type":44,"tag":79,"props":80,"children":81},"tr",{},[82,88,93,98],{"type":44,"tag":83,"props":84,"children":85},"th",{},[86],{"type":50,"value":87},"state",{"type":44,"tag":83,"props":89,"children":90},{},[91],{"type":50,"value":92},"color",{"type":44,"tag":83,"props":94,"children":95},{},[96],{"type":50,"value":97},"icon",{"type":44,"tag":83,"props":99,"children":100},{},[101],{"type":50,"value":102},"meaning",{"type":44,"tag":104,"props":105,"children":106},"tbody",{},[107,136,162,189,216,243],{"type":44,"tag":79,"props":108,"children":109},{},[110,121,126,131],{"type":44,"tag":111,"props":112,"children":113},"td",{},[114],{"type":44,"tag":115,"props":116,"children":118},"code",{"className":117},[],[119],{"type":50,"value":120},"idle",{"type":44,"tag":111,"props":122,"children":123},{},[124],{"type":50,"value":125},"gray",{"type":44,"tag":111,"props":127,"children":128},{},[129],{"type":50,"value":130},"—",{"type":44,"tag":111,"props":132,"children":133},{},[134],{"type":50,"value":135},"waiting for user input",{"type":44,"tag":79,"props":137,"children":138},{},[139,148,153,157],{"type":44,"tag":111,"props":140,"children":141},{},[142],{"type":44,"tag":115,"props":143,"children":145},{"className":144},[],[146],{"type":50,"value":147},"thinking",{"type":44,"tag":111,"props":149,"children":150},{},[151],{"type":50,"value":152},"yellow pulse",{"type":44,"tag":111,"props":154,"children":155},{},[156],{"type":50,"value":130},{"type":44,"tag":111,"props":158,"children":159},{},[160],{"type":50,"value":161},"reasoning, no tool call yet",{"type":44,"tag":79,"props":163,"children":164},{},[165,174,179,184],{"type":44,"tag":111,"props":166,"children":167},{},[168],{"type":44,"tag":115,"props":169,"children":171},{"className":170},[],[172],{"type":50,"value":173},"working",{"type":44,"tag":111,"props":175,"children":176},{},[177],{"type":50,"value":178},"blue pulse",{"type":44,"tag":111,"props":180,"children":181},{},[182],{"type":50,"value":183},"⚙",{"type":44,"tag":111,"props":185,"children":186},{},[187],{"type":50,"value":188},"actively running a tool",{"type":44,"tag":79,"props":190,"children":191},{},[192,201,206,211],{"type":44,"tag":111,"props":193,"children":194},{},[195],{"type":44,"tag":115,"props":196,"children":198},{"className":197},[],[199],{"type":50,"value":200},"waiting",{"type":44,"tag":111,"props":202,"children":203},{},[204],{"type":50,"value":205},"orange",{"type":44,"tag":111,"props":207,"children":208},{},[209],{"type":50,"value":210},"?",{"type":44,"tag":111,"props":212,"children":213},{},[214],{"type":50,"value":215},"tool needs user approval \u002F input",{"type":44,"tag":79,"props":217,"children":218},{},[219,228,233,238],{"type":44,"tag":111,"props":220,"children":221},{},[222],{"type":44,"tag":115,"props":223,"children":225},{"className":224},[],[226],{"type":50,"value":227},"done",{"type":44,"tag":111,"props":229,"children":230},{},[231],{"type":50,"value":232},"green",{"type":44,"tag":111,"props":234,"children":235},{},[236],{"type":50,"value":237},"✓",{"type":44,"tag":111,"props":239,"children":240},{},[241],{"type":50,"value":242},"step finished, more to do",{"type":44,"tag":79,"props":244,"children":245},{},[246,255,260,265],{"type":44,"tag":111,"props":247,"children":248},{},[249],{"type":44,"tag":115,"props":250,"children":252},{"className":251},[],[253],{"type":50,"value":254},"error",{"type":44,"tag":111,"props":256,"children":257},{},[258],{"type":50,"value":259},"red",{"type":44,"tag":111,"props":261,"children":262},{},[263],{"type":50,"value":264},"✕",{"type":44,"tag":111,"props":266,"children":267},{},[268],{"type":50,"value":269},"tool or step failed",{"type":44,"tag":53,"props":271,"children":272},{},[273,275,281],{"type":50,"value":274},"Click the pill to switch focus back to the originating terminal tab. Run\n",{"type":44,"tag":115,"props":276,"children":278},{"className":277},[],[279],{"type":50,"value":280},"mcode-island pin",{"type":50,"value":282}," from inside a terminal to fix the focus target explicitly\n(useful when the auto-detected HWND is wrong, e.g. Windows Terminal multi-tab).",{"type":44,"tag":59,"props":284,"children":286},{"id":285},"when-to-push-each-state",[287],{"type":50,"value":288},"When to push each state",{"type":44,"tag":71,"props":290,"children":291},{},[292,312],{"type":44,"tag":75,"props":293,"children":294},{},[295],{"type":44,"tag":79,"props":296,"children":297},{},[298,303,307],{"type":44,"tag":83,"props":299,"children":300},{},[301],{"type":50,"value":302},"moment",{"type":44,"tag":83,"props":304,"children":305},{},[306],{"type":50,"value":87},{"type":44,"tag":83,"props":308,"children":309},{},[310],{"type":50,"value":311},"example message",{"type":44,"tag":104,"props":313,"children":314},{},[315,336,361,386,411,436],{"type":44,"tag":79,"props":316,"children":317},{},[318,323,331],{"type":44,"tag":111,"props":319,"children":320},{},[321],{"type":50,"value":322},"receive user task, start reasoning",{"type":44,"tag":111,"props":324,"children":325},{},[326],{"type":44,"tag":115,"props":327,"children":329},{"className":328},[],[330],{"type":50,"value":147},{"type":44,"tag":111,"props":332,"children":333},{},[334],{"type":50,"value":335},"(none)",{"type":44,"tag":79,"props":337,"children":338},{},[339,344,352],{"type":44,"tag":111,"props":340,"children":341},{},[342],{"type":50,"value":343},"about to invoke any tool",{"type":44,"tag":111,"props":345,"children":346},{},[347],{"type":44,"tag":115,"props":348,"children":350},{"className":349},[],[351],{"type":50,"value":173},{"type":44,"tag":111,"props":353,"children":354},{},[355],{"type":44,"tag":115,"props":356,"children":358},{"className":357},[],[359],{"type":50,"value":360},"\"bash: npm test\"",{"type":44,"tag":79,"props":362,"children":363},{},[364,369,377],{"type":44,"tag":111,"props":365,"children":366},{},[367],{"type":50,"value":368},"tool returned 0, before reporting back",{"type":44,"tag":111,"props":370,"children":371},{},[372],{"type":44,"tag":115,"props":373,"children":375},{"className":374},[],[376],{"type":50,"value":227},{"type":44,"tag":111,"props":378,"children":379},{},[380],{"type":44,"tag":115,"props":381,"children":383},{"className":382},[],[384],{"type":50,"value":385},"\"3 files modified\"",{"type":44,"tag":79,"props":387,"children":388},{},[389,394,402],{"type":44,"tag":111,"props":390,"children":391},{},[392],{"type":50,"value":393},"tool needs approval (e.g. permission prompt)",{"type":44,"tag":111,"props":395,"children":396},{},[397],{"type":44,"tag":115,"props":398,"children":400},{"className":399},[],[401],{"type":50,"value":200},{"type":44,"tag":111,"props":403,"children":404},{},[405],{"type":44,"tag":115,"props":406,"children":408},{"className":407},[],[409],{"type":50,"value":410},"\"bash: needs approval\"",{"type":44,"tag":79,"props":412,"children":413},{},[414,419,427],{"type":44,"tag":111,"props":415,"children":416},{},[417],{"type":50,"value":418},"tool failed \u002F threw \u002F non-zero exit",{"type":44,"tag":111,"props":420,"children":421},{},[422],{"type":44,"tag":115,"props":423,"children":425},{"className":424},[],[426],{"type":50,"value":254},{"type":44,"tag":111,"props":428,"children":429},{},[430],{"type":44,"tag":115,"props":431,"children":433},{"className":432},[],[434],{"type":50,"value":435},"\"compile failed: missing import\"",{"type":44,"tag":79,"props":437,"children":438},{},[439,444,452],{"type":44,"tag":111,"props":440,"children":441},{},[442],{"type":50,"value":443},"conversation idle, waiting for user",{"type":44,"tag":111,"props":445,"children":446},{},[447],{"type":44,"tag":115,"props":448,"children":450},{"className":449},[],[451],{"type":50,"value":120},{"type":44,"tag":111,"props":453,"children":454},{},[455],{"type":50,"value":335},{"type":44,"tag":53,"props":457,"children":458},{},[459,465],{"type":44,"tag":460,"props":461,"children":462},"strong",{},[463],{"type":50,"value":464},"Never push the same state twice in a row",{"type":50,"value":466}," — the widget de-duplicates by\nstate+message. Push only on transitions, or include a fresh message each time.",{"type":44,"tag":59,"props":468,"children":470},{"id":469},"copyable-example-agent-side",[471],{"type":50,"value":472},"Copyable example (agent side)",{"type":44,"tag":53,"props":474,"children":475},{},[476,478,484,486,491,493,498],{"type":50,"value":477},"The plugin ships a thin wrapper ",{"type":44,"tag":115,"props":479,"children":481},{"className":480},[],[482],{"type":50,"value":483},"wrap-tool.ps1",{"type":50,"value":485}," that ",{"type":44,"tag":460,"props":487,"children":488},{},[489],{"type":50,"value":490},"publishes state only",{"type":50,"value":492},"\n(it does NOT execute the command). Run the command via mcode's own bash tool,\nthen call ",{"type":44,"tag":115,"props":494,"children":496},{"className":495},[],[497],{"type":50,"value":483},{"type":50,"value":499}," to publish the outcome:",{"type":44,"tag":501,"props":502,"children":507},"pre",{"className":503,"code":504,"language":505,"meta":506,"style":506},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Step 1: announce \"working\" before invoking mcode's bash tool\n& \"\u003Cplugin install dir>\\wrap-tool.ps1\" -Tool bash -Command \"npm test\" -Description \"run tests\"\n\n# Step 2: after mcode's bash tool returns, publish the outcome\n& \"\u003Cplugin install dir>\\wrap-tool.ps1\" -Tool bash -Command \"npm test\" -ExitCode $LASTEXITCODE\n","powershell","",[508],{"type":44,"tag":115,"props":509,"children":510},{"__ignoreMap":506},[511,522,530,540,549],{"type":44,"tag":512,"props":513,"children":516},"span",{"class":514,"line":515},"line",1,[517],{"type":44,"tag":512,"props":518,"children":519},{},[520],{"type":50,"value":521},"# Step 1: announce \"working\" before invoking mcode's bash tool\n",{"type":44,"tag":512,"props":523,"children":524},{"class":514,"line":27},[525],{"type":44,"tag":512,"props":526,"children":527},{},[528],{"type":50,"value":529},"& \"\u003Cplugin install dir>\\wrap-tool.ps1\" -Tool bash -Command \"npm test\" -Description \"run tests\"\n",{"type":44,"tag":512,"props":531,"children":533},{"class":514,"line":532},3,[534],{"type":44,"tag":512,"props":535,"children":537},{"emptyLinePlaceholder":536},true,[538],{"type":50,"value":539},"\n",{"type":44,"tag":512,"props":541,"children":543},{"class":514,"line":542},4,[544],{"type":44,"tag":512,"props":545,"children":546},{},[547],{"type":50,"value":548},"# Step 2: after mcode's bash tool returns, publish the outcome\n",{"type":44,"tag":512,"props":550,"children":551},{"class":514,"line":23},[552],{"type":44,"tag":512,"props":553,"children":554},{},[555],{"type":50,"value":556},"& \"\u003Cplugin install dir>\\wrap-tool.ps1\" -Tool bash -Command \"npm test\" -ExitCode $LASTEXITCODE\n",{"type":44,"tag":53,"props":558,"children":559},{},[560,566,568,574,576,581,583,589,591,597,599,604,606,611],{"type":44,"tag":115,"props":561,"children":563},{"className":562},[],[564],{"type":50,"value":565},"$LASTEXITCODE",{"type":50,"value":567}," is interpreted as: ",{"type":44,"tag":115,"props":569,"children":571},{"className":570},[],[572],{"type":50,"value":573},"0",{"type":50,"value":575}," → ",{"type":44,"tag":115,"props":577,"children":579},{"className":578},[],[580],{"type":50,"value":227},{"type":50,"value":582},", codes in ",{"type":44,"tag":115,"props":584,"children":586},{"className":585},[],[587],{"type":50,"value":588},"-WaitingExitCodes",{"type":50,"value":590},"\n(default ",{"type":44,"tag":115,"props":592,"children":594},{"className":593},[],[595],{"type":50,"value":596},"[1]",{"type":50,"value":598},") → ",{"type":44,"tag":115,"props":600,"children":602},{"className":601},[],[603],{"type":50,"value":200},{"type":50,"value":605},", anything else → ",{"type":44,"tag":115,"props":607,"children":609},{"className":608},[],[610],{"type":50,"value":254},{"type":50,"value":612},". The wrapper returns the\nexit code unchanged so the calling shell still sees it.",{"type":44,"tag":53,"props":614,"children":615},{},[616,618,624],{"type":50,"value":617},"For other tools (read\u002Fwrite\u002Fedit) — and for any state push that is not a single\ncommand — call ",{"type":44,"tag":115,"props":619,"children":621},{"className":620},[],[622],{"type":50,"value":623},"notify-island.ps1",{"type":50,"value":625}," directly:",{"type":44,"tag":501,"props":627,"children":629},{"className":503,"code":628,"language":505,"meta":506,"style":506},"$plugin = \"\u003Cplugin install dir>\"   # directory that contains notify-island.ps1\n& \"$plugin\\notify-island.ps1\" -State thinking\n& \"$plugin\\notify-island.ps1\" -State working  -Message \"read source tree\"\n& \"$plugin\\notify-island.ps1\" -State done     -Message \"indexed 142 files\"\n& \"$plugin\\notify-island.ps1\" -State error    -Message \"compile failed: missing import\"\n& \"$plugin\\notify-island.ps1\" -State waiting  -Message \"permission prompt\"\n",[630],{"type":44,"tag":115,"props":631,"children":632},{"__ignoreMap":506},[633,641,649,657,665,673],{"type":44,"tag":512,"props":634,"children":635},{"class":514,"line":515},[636],{"type":44,"tag":512,"props":637,"children":638},{},[639],{"type":50,"value":640},"$plugin = \"\u003Cplugin install dir>\"   # directory that contains notify-island.ps1\n",{"type":44,"tag":512,"props":642,"children":643},{"class":514,"line":27},[644],{"type":44,"tag":512,"props":645,"children":646},{},[647],{"type":50,"value":648},"& \"$plugin\\notify-island.ps1\" -State thinking\n",{"type":44,"tag":512,"props":650,"children":651},{"class":514,"line":532},[652],{"type":44,"tag":512,"props":653,"children":654},{},[655],{"type":50,"value":656},"& \"$plugin\\notify-island.ps1\" -State working  -Message \"read source tree\"\n",{"type":44,"tag":512,"props":658,"children":659},{"class":514,"line":542},[660],{"type":44,"tag":512,"props":661,"children":662},{},[663],{"type":50,"value":664},"& \"$plugin\\notify-island.ps1\" -State done     -Message \"indexed 142 files\"\n",{"type":44,"tag":512,"props":666,"children":667},{"class":514,"line":23},[668],{"type":44,"tag":512,"props":669,"children":670},{},[671],{"type":50,"value":672},"& \"$plugin\\notify-island.ps1\" -State error    -Message \"compile failed: missing import\"\n",{"type":44,"tag":512,"props":674,"children":676},{"class":514,"line":675},6,[677],{"type":44,"tag":512,"props":678,"children":679},{},[680],{"type":50,"value":681},"& \"$plugin\\notify-island.ps1\" -State waiting  -Message \"permission prompt\"\n",{"type":44,"tag":53,"props":683,"children":684},{},[685,691,693,698],{"type":44,"tag":115,"props":686,"children":688},{"className":687},[],[689],{"type":50,"value":690},"\u003Cplugin install dir>",{"type":50,"value":692}," is the directory that contains ",{"type":44,"tag":115,"props":694,"children":696},{"className":695},[],[697],{"type":50,"value":623},{"type":50,"value":699},".\nSubstitute the absolute path your user installed the plugin at. The Skill body\ndeliberately avoids hard-coded paths so any user \u002F any install location works.",{"type":44,"tag":59,"props":701,"children":703},{"id":702},"expected-result",[704],{"type":50,"value":705},"Expected result",{"type":44,"tag":53,"props":707,"children":708},{},[709,711,717],{"type":50,"value":710},"After each push, the widget on the user's primary display updates within\n~400 ms (one polling cycle). On click, the originating terminal tab regains\nfocus. The widget is intentionally hard to kill: Alt+F4 hides it, not closes\nit, and ",{"type":44,"tag":115,"props":712,"children":714},{"className":713},[],[715],{"type":50,"value":716},"mcode-island show",{"type":50,"value":718}," re-raises the hidden window in under 1 second.",{"type":44,"tag":59,"props":720,"children":722},{"id":721},"user-side-management",[723],{"type":50,"value":724},"User-side management",{"type":44,"tag":501,"props":726,"children":730},{"className":727,"code":728,"language":729,"meta":506,"style":506},"language-cmd shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mcode-island                  REM start the widget (idempotent)\nmcode-island stop             REM stop the widget\nmcode-island status           REM show PID + recent log\nmcode-island show             REM re-raise hidden window\nmcode-island pin              REM lock focus target to current foreground window\nmcode-island unpin            REM clear focus target\nmcode-island autostart-on     REM register for Windows logon\nmcode-island autostart-off    REM unregister\n","cmd",[731],{"type":44,"tag":115,"props":732,"children":733},{"__ignoreMap":506},[734,742,750,758,766,774,782,791],{"type":44,"tag":512,"props":735,"children":736},{"class":514,"line":515},[737],{"type":44,"tag":512,"props":738,"children":739},{},[740],{"type":50,"value":741},"mcode-island                  REM start the widget (idempotent)\n",{"type":44,"tag":512,"props":743,"children":744},{"class":514,"line":27},[745],{"type":44,"tag":512,"props":746,"children":747},{},[748],{"type":50,"value":749},"mcode-island stop             REM stop the widget\n",{"type":44,"tag":512,"props":751,"children":752},{"class":514,"line":532},[753],{"type":44,"tag":512,"props":754,"children":755},{},[756],{"type":50,"value":757},"mcode-island status           REM show PID + recent log\n",{"type":44,"tag":512,"props":759,"children":760},{"class":514,"line":542},[761],{"type":44,"tag":512,"props":762,"children":763},{},[764],{"type":50,"value":765},"mcode-island show             REM re-raise hidden window\n",{"type":44,"tag":512,"props":767,"children":768},{"class":514,"line":23},[769],{"type":44,"tag":512,"props":770,"children":771},{},[772],{"type":50,"value":773},"mcode-island pin              REM lock focus target to current foreground window\n",{"type":44,"tag":512,"props":775,"children":776},{"class":514,"line":675},[777],{"type":44,"tag":512,"props":778,"children":779},{},[780],{"type":50,"value":781},"mcode-island unpin            REM clear focus target\n",{"type":44,"tag":512,"props":783,"children":785},{"class":514,"line":784},7,[786],{"type":44,"tag":512,"props":787,"children":788},{},[789],{"type":50,"value":790},"mcode-island autostart-on     REM register for Windows logon\n",{"type":44,"tag":512,"props":792,"children":794},{"class":514,"line":793},8,[795],{"type":44,"tag":512,"props":796,"children":797},{},[798],{"type":50,"value":799},"mcode-island autostart-off    REM unregister\n",{"type":44,"tag":53,"props":801,"children":802},{},[803],{"type":50,"value":804},"To enable login auto-start, the user runs once:",{"type":44,"tag":501,"props":806,"children":808},{"className":503,"code":807,"language":505,"meta":506,"style":506},"& \"\u003Cplugin install dir>\\autostart.ps1\" -Enable\n",[809],{"type":44,"tag":115,"props":810,"children":811},{"__ignoreMap":506},[812],{"type":44,"tag":512,"props":813,"children":814},{"class":514,"line":515},[815],{"type":44,"tag":512,"props":816,"children":817},{},[818],{"type":50,"value":807},{"type":44,"tag":53,"props":820,"children":821},{},[822,824,830],{"type":50,"value":823},"This writes to ",{"type":44,"tag":115,"props":825,"children":827},{"className":826},[],[828],{"type":50,"value":829},"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",{"type":50,"value":831}," — no admin\nrights required.",{"type":44,"tag":59,"props":833,"children":835},{"id":834},"runtime-data",[836],{"type":50,"value":837},"Runtime data",{"type":44,"tag":53,"props":839,"children":840},{},[841,843,849],{"type":50,"value":842},"All widget state lives under ",{"type":44,"tag":115,"props":844,"children":846},{"className":845},[],[847],{"type":50,"value":848},"%APPDATA%\\mcode-island\\",{"type":50,"value":850},":",{"type":44,"tag":71,"props":852,"children":853},{},[854,870],{"type":44,"tag":75,"props":855,"children":856},{},[857],{"type":44,"tag":79,"props":858,"children":859},{},[860,865],{"type":44,"tag":83,"props":861,"children":862},{},[863],{"type":50,"value":864},"file",{"type":44,"tag":83,"props":866,"children":867},{},[868],{"type":50,"value":869},"purpose",{"type":44,"tag":104,"props":871,"children":872},{},[873,890,907,924,941,958,975],{"type":44,"tag":79,"props":874,"children":875},{},[876,885],{"type":44,"tag":111,"props":877,"children":878},{},[879],{"type":44,"tag":115,"props":880,"children":882},{"className":881},[],[883],{"type":50,"value":884},"status.json",{"type":44,"tag":111,"props":886,"children":887},{},[888],{"type":50,"value":889},"current state (widget polls this every 400 ms)",{"type":44,"tag":79,"props":891,"children":892},{},[893,902],{"type":44,"tag":111,"props":894,"children":895},{},[896],{"type":44,"tag":115,"props":897,"children":899},{"className":898},[],[900],{"type":50,"value":901},"caller.json",{"type":44,"tag":111,"props":903,"children":904},{},[905],{"type":50,"value":906},"originating terminal HWND \u002F PID (for click-to-focus)",{"type":44,"tag":79,"props":908,"children":909},{},[910,919],{"type":44,"tag":111,"props":911,"children":912},{},[913],{"type":44,"tag":115,"props":914,"children":916},{"className":915},[],[917],{"type":50,"value":918},"config.json",{"type":44,"tag":111,"props":920,"children":921},{},[922],{"type":50,"value":923},"pill position, size, opacity (saved on drag)",{"type":44,"tag":79,"props":925,"children":926},{},[927,936],{"type":44,"tag":111,"props":928,"children":929},{},[930],{"type":44,"tag":115,"props":931,"children":933},{"className":932},[],[934],{"type":50,"value":935},"widget.pid",{"type":44,"tag":111,"props":937,"children":938},{},[939],{"type":50,"value":940},"widget process PID (used by start\u002Fstop\u002Fstatus)",{"type":44,"tag":79,"props":942,"children":943},{},[944,953],{"type":44,"tag":111,"props":945,"children":946},{},[947],{"type":44,"tag":115,"props":948,"children":950},{"className":949},[],[951],{"type":50,"value":952},"island.log",{"type":44,"tag":111,"props":954,"children":955},{},[956],{"type":50,"value":957},"append-only state transition history",{"type":44,"tag":79,"props":959,"children":960},{},[961,970],{"type":44,"tag":111,"props":962,"children":963},{},[964],{"type":44,"tag":115,"props":965,"children":967},{"className":966},[],[968],{"type":50,"value":969},"widget.log",{"type":44,"tag":111,"props":971,"children":972},{},[973],{"type":50,"value":974},"widget internal debug log",{"type":44,"tag":79,"props":976,"children":977},{},[978,987],{"type":44,"tag":111,"props":979,"children":980},{},[981],{"type":44,"tag":115,"props":982,"children":984},{"className":983},[],[985],{"type":50,"value":986},"show.signal",{"type":44,"tag":111,"props":988,"children":989},{},[990,992],{"type":50,"value":991},"transient file written by ",{"type":44,"tag":115,"props":993,"children":995},{"className":994},[],[996],{"type":50,"value":716},{"type":44,"tag":53,"props":998,"children":999},{},[1000],{"type":50,"value":1001},"No data leaves the local machine. The plugin does not make any network request.",{"type":44,"tag":59,"props":1003,"children":1005},{"id":1004},"what-is-in-this-package",[1006],{"type":50,"value":1007},"What is in this package",{"type":44,"tag":501,"props":1009,"children":1013},{"className":1010,"code":1012,"language":50},[1011],"language-text","mcode-island\u002F\n├── plugin.json                    # plugin manifest\n├── README.md                      # full user-facing docs\n├── LICENSE                        # Apache-2.0\n├── mcode-island.ps1               # WPF widget main loop\n├── mcode-island.cmd               # CLI shim (start\u002Fstop\u002Fstatus\u002F...)\n├── start-island.ps1               # launch the widget in STA\n├── stop-island.ps1                # stop the widget\n├── status-island.ps1              # print widget state\n├── show-island.ps1                # re-raise hidden widget\n├── pin-island.ps1                 # lock focus target to foreground\n├── autostart.ps1                  # register\u002Funregister Windows logon\n├── notify-island.ps1              # state-push helper (agents call this)\n├── wrap-tool.ps1                  # all-in-one bash wrapper\n├── skills\u002Fmcode-island\u002FSKILL.md   # this file\n└── assets\u002F                        # screenshots used in the README\n",[1014],{"type":44,"tag":115,"props":1015,"children":1016},{"__ignoreMap":506},[1017],{"type":50,"value":1012},{"type":44,"tag":59,"props":1019,"children":1021},{"id":1020},"limitations-and-known-constraints",[1022],{"type":50,"value":1023},"Limitations and known constraints",{"type":44,"tag":1025,"props":1026,"children":1027},"ul",{},[1028,1042,1047,1060],{"type":44,"tag":1029,"props":1030,"children":1031},"li",{},[1032,1034,1040],{"type":50,"value":1033},"Windows 10\u002F11 only (uses WPF and ",{"type":44,"tag":115,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":50,"value":1039},"presentationframework",{"type":50,"value":1041},").",{"type":44,"tag":1029,"props":1043,"children":1044},{},[1045],{"type":50,"value":1046},"Single widget per user session.",{"type":44,"tag":1029,"props":1048,"children":1049},{},[1050,1052,1058],{"type":50,"value":1051},"No hover-expand, no media-control integration yet — see the ",{"type":44,"tag":115,"props":1053,"children":1055},{"className":1054},[],[1056],{"type":50,"value":1057},"v0.2",{"type":50,"value":1059}," roadmap in\nthe upstream issue tracker.",{"type":44,"tag":1029,"props":1061,"children":1062},{},[1063,1068,1070,1076,1078,1084,1086,1092,1093,1099,1101,1106],{"type":44,"tag":115,"props":1064,"children":1066},{"className":1065},[],[1067],{"type":50,"value":483},{"type":50,"value":1069}," only wraps ",{"type":44,"tag":115,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":50,"value":1075},"bash",{"type":50,"value":1077},". For ",{"type":44,"tag":115,"props":1079,"children":1081},{"className":1080},[],[1082],{"type":50,"value":1083},"read",{"type":50,"value":1085}," \u002F ",{"type":44,"tag":115,"props":1087,"children":1089},{"className":1088},[],[1090],{"type":50,"value":1091},"write",{"type":50,"value":1085},{"type":44,"tag":115,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":50,"value":1098},"edit",{"type":50,"value":1100}," the agent\nmust call ",{"type":44,"tag":115,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":50,"value":623},{"type":50,"value":1107}," itself before and after the tool call.",{"type":44,"tag":1109,"props":1110,"children":1111},"style",{},[1112],{"type":50,"value":1113},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1115,"total":1316},[1116,1140,1156,1175,1190,1210,1228,1246,1261,1277,1296,1306],{"slug":1117,"name":1117,"fn":1118,"description":1119,"org":1120,"tags":1121,"stars":1137,"repoUrl":1138,"updatedAt":1139},"android-native-dev","develop Android native applications","Android native application development and UI design guide. Covers Material Design 3, Kotlin\u002FCompose development, project configuration, accessibility, and build troubleshooting. Read this before Android native application development.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1122,1125,1128,1131,1134],{"name":1123,"slug":1124,"type":16},"Accessibility","accessibility",{"name":1126,"slug":1127,"type":16},"Android","android",{"name":1129,"slug":1130,"type":16},"Kotlin","kotlin",{"name":1132,"slug":1133,"type":16},"Mobile","mobile",{"name":1135,"slug":1136,"type":16},"UI Components","ui-components",13030,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002Fskills","2026-07-13T06:16:54.247834",{"slug":1141,"name":1141,"fn":1142,"description":1143,"org":1144,"tags":1145,"stars":1137,"repoUrl":1138,"updatedAt":1155},"buddy-sings","generate singing performances for AI companions","Use when user wants their Claude Code pet (\u002Fbuddy) to sing a song. Triggers on any request that combines the concept of their Claude Code buddy, pet, or companion with singing or music. Supports multilingual triggers — match equivalent phrases in any language.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1146,1149,1152],{"name":1147,"slug":1148,"type":16},"Agents","agents",{"name":1150,"slug":1151,"type":16},"Audio","audio",{"name":1153,"slug":1154,"type":16},"Creative","creative","2026-07-13T06:16:35.130644",{"slug":1157,"name":1157,"fn":1158,"description":1159,"org":1160,"tags":1161,"stars":1137,"repoUrl":1138,"updatedAt":1174},"color-font-skill","select color palettes and font pairings","Choose presentation-ready color palettes and font pairings for PPT\u002Fdesign tasks. Use when users ask for visual theme choices, brand-safe palettes, or font recommendations. Triggers include: 配色, 色板, 字体, color palette, font, PPT配色, 字体搭配.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1162,1165,1168,1171],{"name":1163,"slug":1164,"type":16},"Design","design",{"name":1166,"slug":1167,"type":16},"Presentations","presentations",{"name":1169,"slug":1170,"type":16},"Themes","themes",{"name":1172,"slug":1173,"type":16},"Typography","typography","2026-07-13T06:17:02.785587",{"slug":1176,"name":1176,"fn":1177,"description":1178,"org":1179,"tags":1180,"stars":1137,"repoUrl":1138,"updatedAt":1189},"design-style-skill","select visual design systems for presentations","Select a consistent visual design system for PPT slides using radius\u002Fspacing style recipes. Use when users ask for overall style direction or component styling consistency. Includes Sharp\u002FSoft\u002FRounded\u002FPill recipes, component mappings, typography\u002Fspacing rules, and mixing guidance. Triggers: 风格, style, radius, spacing, 圆角, 间距, PPT风格, 视觉风格, design style, component style.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1181,1182,1185,1188],{"name":1163,"slug":1164,"type":16},{"name":1183,"slug":1184,"type":16},"Design System","design-system",{"name":1186,"slug":1187,"type":16},"PowerPoint","powerpoint",{"name":1166,"slug":1167,"type":16},"2026-07-13T06:17:10.398389",{"slug":1191,"name":1191,"fn":1192,"description":1193,"org":1194,"tags":1195,"stars":1137,"repoUrl":1138,"updatedAt":1209},"flutter-dev","build cross-platform apps with Flutter","Flutter cross-platform development guide covering widget patterns, Riverpod\u002FBloc state management, GoRouter navigation, performance optimization, and platform-specific implementations. Includes const optimization, responsive layouts, testing strategies, and DevTools profiling.\nUse when: building Flutter apps, implementing state management (Riverpod\u002FBloc), setting up GoRouter navigation, creating custom widgets, optimizing performance, writing widget tests, cross-platform development.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1196,1199,1202,1203,1206],{"name":1197,"slug":1198,"type":16},"Dart","dart",{"name":1200,"slug":1201,"type":16},"Flutter","flutter",{"name":1132,"slug":1133,"type":16},{"name":1204,"slug":1205,"type":16},"Performance","performance",{"name":1207,"slug":1208,"type":16},"State Management","state-management","2026-07-13T06:16:36.626679",{"slug":1211,"name":1211,"fn":1212,"description":1213,"org":1214,"tags":1215,"stars":1137,"repoUrl":1138,"updatedAt":1227},"frontend-dev","build visually striking frontend web pages","Full-stack frontend development combining premium UI design, cinematic animations,\nAI-generated media assets, persuasive copywriting, and visual art. Builds complete,\nvisually striking web pages with real media, advanced motion, and compelling copy.\nUse when: building landing pages, marketing sites, product pages, dashboards,\ngenerating media assets (image\u002Fvideo\u002Faudio\u002Fmusic), writing conversion copy,\ncreating generative art, or implementing cinematic scroll animations.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1216,1219,1220,1221,1224],{"name":1217,"slug":1218,"type":16},"Animation","animation",{"name":1153,"slug":1154,"type":16},{"name":1163,"slug":1164,"type":16},{"name":1222,"slug":1223,"type":16},"Frontend","frontend",{"name":1225,"slug":1226,"type":16},"Web Development","web-development","2026-07-13T06:16:39.108827",{"slug":1229,"name":1229,"fn":1230,"description":1231,"org":1232,"tags":1233,"stars":1137,"repoUrl":1138,"updatedAt":1245},"fullstack-dev","build full-stack web applications","Full-stack backend architecture and frontend-backend integration guide.\nTRIGGER when: building a full-stack app, creating REST API with frontend, scaffolding backend service,\nbuilding todo app, building CRUD app, building real-time app, building chat app,\nExpress + React, Next.js API, Node.js backend, Python backend, Go backend,\ndesigning service layers, implementing error handling, managing config\u002Fauth,\nsetting up API clients, implementing auth flows, handling file uploads,\nadding real-time features (SSE\u002FWebSocket), hardening for production.\nDO NOT TRIGGER when: pure frontend UI work, pure CSS\u002Fstyling, database schema only.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1234,1237,1238,1241,1244],{"name":1235,"slug":1236,"type":16},"Backend","backend",{"name":1222,"slug":1223,"type":16},{"name":1239,"slug":1240,"type":16},"Full-stack","full-stack",{"name":1242,"slug":1243,"type":16},"REST API","rest-api",{"name":1225,"slug":1226,"type":16},"2026-07-13T06:16:43.219005",{"slug":1247,"name":1247,"fn":1248,"description":1249,"org":1250,"tags":1251,"stars":1137,"repoUrl":1138,"updatedAt":1260},"gif-sticker-maker","create animated GIF stickers from photos","Convert photos (people, pets, objects, logos) into 4 animated GIF stickers with captions.\nUse when: user wants to create cartoon stickers, GIF expressions, emoji packs, animated avatars,\nor convert photos to Funko Pop \u002F Pop Mart blind box style animations.\nTriggers: sticker, GIF, cartoon, emoji, expression pack, avatar animation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1252,1253,1254,1257],{"name":1217,"slug":1218,"type":16},{"name":1153,"slug":1154,"type":16},{"name":1255,"slug":1256,"type":16},"Images","images",{"name":1258,"slug":1259,"type":16},"Media","media","2026-07-13T06:16:51.74461",{"slug":1262,"name":1262,"fn":1263,"description":1264,"org":1265,"tags":1266,"stars":1137,"repoUrl":1138,"updatedAt":1276},"ios-application-dev","develop iOS applications with SwiftUI and UIKit","iOS application development guide covering UIKit, SnapKit, and SwiftUI. Includes touch targets, safe areas, navigation patterns, Dynamic Type, Dark Mode, accessibility, collection views, common UI components, and SwiftUI design guidelines. For detailed references on specific topics, see the reference files.\nUse when: developing iOS apps, implementing UI, reviewing iOS code, working with UIKit\u002FSnapKit\u002FSwiftUI layouts, building iPhone interfaces, Swift mobile development, Apple HIG compliance, iOS accessibility implementation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1267,1268,1271,1272,1275],{"name":1123,"slug":1124,"type":16},{"name":1269,"slug":1270,"type":16},"iOS","ios",{"name":1132,"slug":1133,"type":16},{"name":1273,"slug":1274,"type":16},"SwiftUI","swiftui",{"name":1135,"slug":1136,"type":16},"2026-07-13T06:16:55.686092",{"slug":1278,"name":1278,"fn":1279,"description":1280,"org":1281,"tags":1282,"stars":1137,"repoUrl":1138,"updatedAt":1295},"minimax-docx","create and edit DOCX documents","Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET). Three pipelines: (A) create new documents from scratch, (B) fill\u002Fedit content in existing documents, (C) apply template formatting with XSD validation gate-check. MUST use this skill whenever the user wants to produce, modify, or format a Word document — including when they say \"write a report\", \"draft a proposal\", \"make a contract\", \"fill in this form\", \"reformat to match this template\", or any task whose final output is a .docx file. Even if the user doesn't mention \"docx\" explicitly, if the task implies a printable\u002Fformal document, use this skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1283,1286,1289,1292],{"name":1284,"slug":1285,"type":16},"Documents","documents",{"name":1287,"slug":1288,"type":16},"DOCX","docx",{"name":1290,"slug":1291,"type":16},"Office","office",{"name":1293,"slug":1294,"type":16},"Templates","templates","2026-07-13T06:16:40.461868",{"slug":1297,"name":1297,"fn":1298,"description":1299,"org":1300,"tags":1301,"stars":1137,"repoUrl":1138,"updatedAt":1305},"minimax-music-gen","generate music and audio tracks","Use when user wants to generate music, songs, or audio tracks. Triggers on any request involving music creation, song writing, lyrics generation, audio production, or covers. Also triggers when user provides lyrics and wants them turned into a song, or describes a mood\u002Fscene and wants background music. Supports multilingual triggers — match equivalent phrases in any language. Do NOT use for music playback of existing files, music theory questions, or music recommendation without generation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1302,1303,1304],{"name":1150,"slug":1151,"type":16},{"name":1153,"slug":1154,"type":16},{"name":1258,"slug":1259,"type":16},"2026-07-13T06:16:50.381758",{"slug":1307,"name":1307,"fn":1308,"description":1309,"org":1310,"tags":1311,"stars":1137,"repoUrl":1138,"updatedAt":1315},"minimax-music-playlist","generate personalized music playlists","Generate personalized music playlists by analyzing the user's music taste and generation feedback history. Triggers on any request involving playlist generation, music taste profiling, or personalized music recommendations. Supports multilingual triggers — match equivalent phrases in any language.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1312,1313,1314],{"name":1150,"slug":1151,"type":16},{"name":1153,"slug":1154,"type":16},{"name":1258,"slug":1259,"type":16},"2026-07-13T06:16:57.002997",141,{"items":1318,"total":1417},[1319,1335,1352,1365,1376,1389,1398],{"slug":1320,"name":1320,"fn":1321,"description":1322,"org":1323,"tags":1324,"stars":23,"repoUrl":24,"updatedAt":1334},"article2tasks","convert articles into Dida365 tasks","将技术周报（批量）或单篇文章整理为滴答清单待办事项，自动分类到已有清单并打标签，全程通过 MCP 写入，跨平台无需任何本地脚本。当用户提供周报内容、文章链接，或提及「周报」「文章汇总」「添加到滴答」时，使用此技能。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1325,1328,1331],{"name":1326,"slug":1327,"type":16},"Content Creation","content-creation",{"name":1329,"slug":1330,"type":16},"MCP","mcp",{"name":1332,"slug":1333,"type":16},"Task Management","task-management","2026-08-18T03:49:38.751656",{"slug":1336,"name":1336,"fn":1337,"description":1338,"org":1339,"tags":1340,"stars":23,"repoUrl":24,"updatedAt":1351},"binder-agent-eval","evaluate LLM agent decision quality","当需要在相同的阶段输入上评测 LLM agent 的结构化决策、或对比多个 provider 的决策质量时使用；对应 openbinder evaluate-agent（--provider\u002F--compare\u002F--case）与 openbinder provider doctor。典型触发语：\"用 mock provider 跑一遍 decision case 评测\"\"对比一下几个 provider 在同一批 case 上的表现\"\"先 doctor 一下 minimax 配置通不通\"。同义场景：agent 评测、decision evaluation、visible\u002Fhidden 分层、泄露检查、provider 对比、冻结决策。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1341,1342,1345,1348],{"name":1147,"slug":1148,"type":16},{"name":1343,"slug":1344,"type":16},"Benchmarking","benchmarking",{"name":1346,"slug":1347,"type":16},"Evals","evals",{"name":1349,"slug":1350,"type":16},"LLM","llm","2026-08-27T13:32:30.156635",{"slug":1353,"name":1353,"fn":1354,"description":1355,"org":1356,"tags":1357,"stars":23,"repoUrl":24,"updatedAt":1364},"binder-handoff","export and validate binder task packages","当需要把 binder 设计算力任务打包交给外部平台（Claude Science 或自有服务器）、或校验\u002F导入外部返回的结果包时使用；对应 openbinder handoff export\u002Fvalidate\u002Fimport。典型触发语：\"把这个 target 打包成 handoff 任务包\"\"校验一下对方返回的 result package\"\"把外部算回来的结果导入进来\"。同义场景：external handoff、任务包导出、结果包校验、回传包导入、RUNBOOK。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1358,1361],{"name":1359,"slug":1360,"type":16},"Automation","automation",{"name":1362,"slug":1363,"type":16},"Data Engineering","data-engineering","2026-08-27T13:32:32.957864",{"slug":1366,"name":1366,"fn":1367,"description":1368,"org":1369,"tags":1370,"stars":23,"repoUrl":24,"updatedAt":1375},"binder-protocol","compile and validate binder design protocols","当需要把 binder 设计协议草稿编译成结构化 protocol.yaml、校验协议、或按阶段切出 stage slice 时使用；对应 openbinder protocol validate\u002Fcompile\u002Fshow 三个子命令。典型触发语：\"把这份 protocol 草稿编译一下\"\"校验这个 protocol.yaml\"\"把 cofold_scoring 阶段的切片拿出来\"。同义场景：协议编译、protocol compiler、十阶段、stage slice、阶段上下文、protocol validate。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1371,1372],{"name":1359,"slug":1360,"type":16},{"name":1373,"slug":1374,"type":16},"YAML","yaml","2026-08-27T13:32:33.760978",{"slug":1377,"name":1377,"fn":1378,"description":1379,"org":1380,"tags":1381,"stars":23,"repoUrl":24,"updatedAt":1388},"binder-ranking-audit","audit binder campaign ranking results","当需要重算并审计 binder campaign 的候选排序、核对 recorded 与 recomputed 是否一致时使用；对应 openbinder audit-ranking（--fixture\u002F--source）。典型触发语：\"审计一下这个 campaign 的排序\"\"recorded 和 recomputed 对得上吗\"\"重算 top-N 命中率和 Spearman\"。同义场景：ranking audit、排序审计、ensemble 重算、hit rate、缺失数据处理、missing data 报告。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1382,1385],{"name":1383,"slug":1384,"type":16},"Data Analysis","data-analysis",{"name":1386,"slug":1387,"type":16},"QA","qa","2026-08-27T13:32:34.155444",{"slug":1390,"name":1390,"fn":1391,"description":1392,"org":1393,"tags":1394,"stars":23,"repoUrl":24,"updatedAt":1397},"binder-replay","replay binder design campaigns","当需要回放已记录的 binder 设计 campaign、重现每一步\"当时知道什么、决定了什么\"时使用；对应 openbinder replay（--fixture\u002F--events\u002F--source）。典型触发语：\"帮我回放一下 IL-7Ra 的 binder campaign\"\"回放那个失败的 campaign\"\"看看当时每一步都知道了什么\"。同义场景：campaign replay、事件流回放、replay report、gap 分析、时间线重建。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1395,1396],{"name":1359,"slug":1360,"type":16},{"name":1383,"slug":1384,"type":16},"2026-08-27T13:32:33.346398",{"slug":1399,"name":1399,"fn":1400,"description":1401,"org":1402,"tags":1403,"stars":23,"repoUrl":24,"updatedAt":1416},"binder-report","generate final reports from agent artifacts","当需要把 output\u002F 下已产生的 replay、agent 评测、ranking 审计产物汇总成最终报告束时使用；收集既有 artifact、按六类证据分级标注、生成 limitations 并提交 stage-gate 审批。典型触发语：\"把这些产物汇总成最终报告\"\"出一份 binder 最终报告和 limitations\"\"把 replay\u002F评测\u002F审计结果打包成报告束\"。同义场景：最终报告、报告束、evidence grading、limitations、claim check、收尾报告。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1404,1407,1410,1413],{"name":1405,"slug":1406,"type":16},"Documentation","documentation",{"name":1408,"slug":1409,"type":16},"Operations","operations",{"name":1411,"slug":1412,"type":16},"Reporting","reporting",{"name":1414,"slug":1415,"type":16},"Summarization","summarization","2026-08-27T13:32:26.101404",93]