[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CPFA4SS458K8ZWFGPHT3FE":3,"skill-same:01M6CPFA4SS458K8ZWFGPHT3FE":107},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":66,"ownerHtmlUrl":67,"ownerBlogUrl":68,"ownerDescription":69,"updatedAt":70,"install":71,"resources":83},"01M6CPFA4SS458K8ZWFGPHT3FE","notes_checklist",null,"Convert a note's body into a Notes-native checklist (HTML\n`\u003Cul class=\"gtl-todo-list\">` markup), with optional auto-checking\nof specific item indices.\n\nAgents routinely fail at this by typing markdown `- [ ]` text —\nNotes does NOT recognize markdown checklist syntax; it stores\nliteral \"- [ ]\" text. The native checklist requires Cmd+Shift+L\non selected text or Format menu → Checklist.\n\nThis skill: activates Notes, focuses the note body, selects all,\nCmd+Shift+L to convert. If `check_indices` is given, navigates to\neach line and presses Cmd+Shift+U to toggle the checkbox.","LocalKinAI\u002Fkinclaw","LocalKinAI","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F228881863?v=4","01M6CPDM368JVRW78EPV2NDABD","01M6CPDM7CKTKCXE8JD7K3658Q",9,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_checklist\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"notes checklist","checklist","notes","auto","todo","activate","show","Literal","exit","Echo","ok","command","check","cmd","text","convert","system","first","SET","code","2026-11-10 10:12:30",false,"---\nname: notes_checklist\ndescription: |\n  Convert a note's body into a Notes-native checklist (HTML\n  `\u003Cul class=\"gtl-todo-list\">` markup), with optional auto-checking\n  of specific item indices.\n\n  Agents routinely fail at this by typing markdown `- [ ]` text —\n  Notes does NOT recognize markdown checklist syntax; it stores\n  literal \"- [ ]\" text. The native checklist requires Cmd+Shift+L\n  on selected text or Format menu → Checklist.\n\n  This skill: activates Notes, focuses the note body, selects all,\n  Cmd+Shift+L to convert. If `check_indices` is given, navigates to\n  each line and presses Cmd+Shift+U to toggle the checkbox.\ncommand:\n  - sh\n  - -c\n  - |\n    NOTE=\"$1\"; CHECK_IDX=\"${2:-}\"\n    [ -z \"$NOTE\" ] && { echo \"note title required\" >&2; exit 1; }\n\n    osascript 2>&1 \u003C\u003CAPPLE\n    tell application \"Notes\"\n        activate\n        try\n            show (first note whose name = \"$NOTE\")\n        on error\n            return \"ERR: note not found\"\n        end try\n    end tell\n    delay 0.8\n\n    tell application \"System Events\"\n        tell process \"Notes\"\n            try\n                set mainWin to window 1\n                try\n                    set bodyArea to text area 1 of scroll area 1 of group 1 of splitter group 1 of mainWin\n                    perform action \"AXFocus\" of bodyArea\n                end try\n            end try\n        end tell\n        delay 0.3\n        keystroke \"a\" using {command down}\n        delay 0.2\n        keystroke \"l\" using {command down, shift down}\n        delay 0.5\n    end tell\n\n    set checkList to \"$CHECK_IDX\"\n    if checkList is not \"\" then\n        set AppleScript's text item delimiters to \",\"\n        set idxs to text items of checkList\n        set AppleScript's text item delimiters to \"\"\n        repeat with idxStr in idxs\n            try\n                set idxN to (idxStr as integer)\n                tell application \"System Events\"\n                    key code 126 using {command down}\n                    delay 0.15\n                    repeat (idxN - 1) times\n                        key code 125\n                        delay 0.05\n                    end repeat\n                    delay 0.1\n                    keystroke \"u\" using {command down, shift down}\n                    delay 0.2\n                end tell\n            end try\n        end repeat\n    end if\n    return \"ok: converted to checklist\"\n    APPLE\n  - \"_\"\nargs:\n  - \"{{note}}\"\n  - \"{{check_indices}}\"\nschema:\n  note:\n    type: string\n    description: Exact note title\n    required: true\n  check_indices:\n    type: string\n    description: \"Comma-separated 1-based line indices to mark as checked. e.g. '2' marks the second item. Empty = no items checked.\"\n    required: false\n    default: \"\"\ntimeout: 30\n---\n\n# notes_checklist — convert body to a real Notes checklist\n\nThe native Notes checklist is HTML markup `\u003Cul class=\"gtl-todo-list\">\n\u003Cli class=\"gtl-todo\">...`. It can ONLY be created via UI: select\ntext → Cmd+Shift+L (or Format → Checklist). Markdown `- [ ]` does\nnot transform.\n\n## Examples\n\n```\nnotes_checklist note=\"KinBench Checklist 169\"\n  → ok: converted to checklist\n\nnotes_checklist note=\"KinBench Mark 170\" check_indices=2\n  → ok: converted to checklist\n```\n\nThe setup script must already have populated the note's body with the\nitems as plain lines (one per line). This skill handles the conversion\nand optional checking. If items aren't there yet, type them via `input`\nclaw before calling this skill.\n","# notes_checklist — convert body to a real Notes checklist\n\nThe native Notes checklist is HTML markup `\u003Cul class=\"gtl-todo-list\">\n\u003Cli class=\"gtl-todo\">...`. It can ONLY be created via UI: select\ntext → Cmd+Shift+L (or Format → Checklist). Markdown `- [ ]` does\nnot transform.\n\n## Examples\n\n```\nnotes_checklist note=\"KinBench Checklist 169\"\n  → ok: converted to checklist\n\nnotes_checklist note=\"KinBench Mark 170\" check_indices=2\n  → ok: converted to checklist\n```\n\nThe setup script must already have populated the note's body with the\nitems as plain lines (one per line). This skill handles the conversion\nand optional checking. If items aren't there yet, type them via `input`\nclaw before calling this skill.\n",{"args":43,"name":5,"schema":46,"command":54,"timeout":59,"description":60},[44,45],"{{note}}","{{check_indices}}",{"note":47,"check_indices":51},{"type":48,"required":49,"description":50},"string",true,"Exact note title",{"type":48,"default":52,"required":39,"description":53},"","Comma-separated 1-based line indices to mark as checked. e.g. '2' marks the second item. Empty = no items checked.",[55,56,57,58],"sh","-c","NOTE=\"$1\"; CHECK_IDX=\"${2:-}\"\n[ -z \"$NOTE\" ] && { echo \"note title required\" >&2; exit 1; }\n\nosascript 2>&1 \u003C\u003CAPPLE\ntell application \"Notes\"\n    activate\n    try\n        show (first note whose name = \"$NOTE\")\n    on error\n        return \"ERR: note not found\"\n    end try\nend tell\ndelay 0.8\n\ntell application \"System Events\"\n    tell process \"Notes\"\n        try\n            set mainWin to window 1\n            try\n                set bodyArea to text area 1 of scroll area 1 of group 1 of splitter group 1 of mainWin\n                perform action \"AXFocus\" of bodyArea\n            end try\n        end try\n    end tell\n    delay 0.3\n    keystroke \"a\" using {command down}\n    delay 0.2\n    keystroke \"l\" using {command down, shift down}\n    delay 0.5\nend tell\n\nset checkList to \"$CHECK_IDX\"\nif checkList is not \"\" then\n    set AppleScript's text item delimiters to \",\"\n    set idxs to text items of checkList\n    set AppleScript's text item delimiters to \"\"\n    repeat with idxStr in idxs\n        try\n            set idxN to (idxStr as integer)\n            tell application \"System Events\"\n                key code 126 using {command down}\n                delay 0.15\n                repeat (idxN - 1) times\n                    key code 125\n                    delay 0.05\n                end repeat\n                delay 0.1\n                keystroke \"u\" using {command down, shift down}\n                delay 0.2\n            end tell\n        end try\n    end repeat\nend if\nreturn \"ok: converted to checklist\"\nAPPLE\n","_",30,"Convert a note's body into a Notes-native checklist (HTML\n`\u003Cul class=\"gtl-todo-list\">` markup), with optional auto-checking\nof specific item indices.\n\nAgents routinely fail at this by typing markdown `- [ ]` text —\nNotes does NOT recognize markdown checklist syntax; it stores\nliteral \"- [ ]\" text. The native checklist requires Cmd+Shift+L\non selected text or Format menu → Checklist.\n\nThis skill: activates Notes, focuses the note body, selects all,\nCmd+Shift+L to convert. If `check_indices` is given, navigates to\neach line and presses Cmd+Shift+U to toggle the checkbox.\n","main","d1b92d10cddb779854af342bea74d0b6c46788e2","skills\u002Fnotes_checklist",3,"https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw","https:\u002F\u002Fwww.localkin.app\u002Fkinclaw","https:\u002F\u002Fgithub.com\u002FLocalKinAI","localkin.ai","Faith and Chinese medicine at localkin.ai · the LocalKin agent platform at localkin.dev · open-source tools (kinfer, KinClaw, …) at localkin.app","2026-11-01 12:25:06",{"source":8,"skillName":5,"commands":72,"prompt":82,"zipAvailable":49},[73,76,79],{"tool":74,"command":75},"npx","npx skills add LocalKinAI\u002Fkinclaw --skill notes_checklist",{"tool":77,"command":78},"bunx","bunx skills add LocalKinAI\u002Fkinclaw --skill notes_checklist",{"tool":80,"command":81},"pnpm","pnpm dlx skills add LocalKinAI\u002Fkinclaw --skill notes_checklist","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_checklist\u002FSKILL.md",[84,90,96,100,103],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},".claude-plugin\u002Fplugin.json","REFERENCE","参考文档",162,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FDocument-Generation\u002Fopen-design-import-smoke-test\u002F.claude-plugin\u002Fplugin.json",{"path":91,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":94,"sourceHtmlUrl":95},"assets\u002Fimport-checklist.md","ASSET","资产文件",318,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FDocument-Generation\u002Fopen-design-import-smoke-test\u002Fassets\u002Fimport-checklist.md",{"path":97,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":98,"sourceHtmlUrl":99},"open-design.json",2863,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FDocument-Generation\u002Fopen-design-import-smoke-test\u002Fopen-design.json",{"path":101,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":98,"sourceHtmlUrl":102},"preview\u002Findex.html","https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FDocument-Generation\u002Fopen-design-import-smoke-test\u002Fpreview\u002Findex.html",{"path":104,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":105,"sourceHtmlUrl":106},"README.md",857,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FDocument-Generation\u002Fopen-design-import-smoke-test\u002FREADME.md",[108,144,159,186,195,206],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":125,"publishedAt":38},"01M6CPGNC9S31FTGMV90NZ0EN9","web","Universal web tool — fetches and interacts with web pages through\nreal Chromium (Playwright). Renders JavaScript, follows redirects,\nhandles cookies, bypasses many anti-scrape stubs that block plain\n`web_fetch`. Each call launches a fresh browser, executes the\nrequested flow, closes. ~2-3s cold start; no persistent state.\n\nUse INSTEAD of `web_fetch` when:\n  - Target is a JS-heavy SPA (prices via XHR, lazy content)\n  - `web_fetch` returned an anti-scrape placeholder (Zhihu's\n    \"click here\" stub, JD's chrome-only HTML)\n  - You need to interact (click, fill input) before extracting\n\nCommon patterns:\n  fetch rendered text:           url=X\n  wait for content then read:    url=X wait_for=\".price\"\n  extract specific element:      url=X selector=\".product-list\"\n  click and read result:         url=X click=\".search-button\"\n  fill form, then read:          url=X click=\"input[name=q]\" type_text=\"kinclaw\"\n  fill + Enter (React forms):    url=X click=\"input\" type_text=\"hi\" press_enter=true wait_for=\".reply\"\n  screenshot the page:           url=X screenshot=true (returns image:\u002F\u002F marker)\n  run JS and get result:         url=X js=\"document.title\"\n\nFirst-time setup (one-time per machine, ~500MB Chromium download):\n  pip install playwright\n  playwright install chromium","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fweb\u002FSKILL.md",[114,119,122],{"categoryNo":115,"categoryName":116,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":120,"categoryName":121,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":123,"categoryName":124,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000009","前端开发",[110,126,127,128,129,130,131,32,132,133,134,135,136,137,138,139,140,141,142,143],"image","search","forms","files","log","read","wait for","how","scrape","start","PDF","run","generate","placeholder","change","react","css","directory",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":38},"01M6CPGJTGF7P8QS3HXPCZE3KV","weather","Current conditions plus a three-day forecast (today \u002F tomorrow \u002F day\nafter) for a place, in metric, from wttr.in. No API key. Use this for\nany weather question — including \"明天\" and \"后天\" — before reaching\nfor web search.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fweather\u002FSKILL.md",[],[146,127,151,152,153,154,155,156,157,158,110],"three","location","use","question","python3","web search","api","forecast",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":171,"publishedAt":38},"01M6CPGDR0W8FR0WMBBJ2282GM","tts","Synthesize speech from text and play it through the macOS speakers.\nTalks to a local LocalKin Service Audio Server (default :8001 \u002F Kokoro).\nWhen `record` is running with audio=true, the spoken audio is\ncaptured into the recording — use this in place of `shell say` for\nhigh-quality multilingual narration in demo videos. Set the\nTTS_ENDPOINT env var to point at a different server.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftts\u002FSKILL.md",[165,168],{"categoryNo":166,"categoryName":167,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":169,"categoryName":170,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000023","Skill与智能体开发",[161,172,173,174,175,176,27,177,178,37,21,179,32,180,181,36,182,183,184,185],"next","back","chinese","multilingual","default","payload","pick","model","Audio","Video","data","server","only","macos",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":192,"publishedAt":38},"01M6CPGAM9K2VN0MVYD4CMC92E","translate","Translate text between languages using the system's translate command","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftranslate\u002FSKILL.md",[],[188,174,193,194,27,29,32,34],"spanish","language",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":204,"publishedAt":38},"01M6CPG8DWEY0GWCFDGTTBWA2Q","summarize","Summarize a file's contents into key bullet points","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fsummarize\u002FSKILL.md",[201],{"categoryNo":202,"categoryName":203,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000021","资料检索与研究",[197,205],"file",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":210,"categories":211,"keywords":213,"publishedAt":38},"01M6CPG48P3AYKRREAGYSGT944","stt","Transcribe an audio file (wav\u002Fmp3\u002Fmp4\u002Fm4a) into text via a local\nLocalKin Service Audio Server (default :8000 \u002F SenseVoice). Pair\nwith `record action=start mic=true` to turn a recorded mic track\ninto text. Set STT_ENDPOINT env var to point at a different server.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fstt\u002FSKILL.md",[212],{"categoryNo":166,"categoryName":167,"taxonomyType":117,"taxonomyTypeDesc":118},[208,32,173,214,176,27,215,21,216,217,218,219,180,220,36,135,183,221,37,222],"do","en","pair","just","returns","mp4","endpoint","transcribe","go"]