notes_checklist
Convert a note's body into a Notes-native checklist (HTML `<ul class="gtl-todo-list">` markup), with optional auto-checking of specific item indices. Agents routinely fail at this by typing markdown `- [ ]` text — Notes does NOT recognize markdown checklist syntax; it stores literal "- [ ]" text. The native checklist requires Cmd+Shift+L on selected text or Format menu → Checklist. This skill: activates Notes, focuses the note body, selects all, Cmd+Shift+L to convert. If `check_indices` is given, navigates to each line and presses Cmd+Shift+U to toggle the checkbox.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-01
- Stars
- ★ 9
- Forks
- 3
01 前言 Front Matter
- args
- [ "{{note}}", "{{check_indices}}" ]
- name
- notes_checklist
- schema
- { "note": { "type": "string", "required": true, "description": "Exact note title" }, "check_indices": { "type": "string", "default": "", "required": false, "description": "Comma-separated 1-based line indices to mark as checked. e.g. '2' marks the second item. Empty = no items checked." } }
- command
- [ "sh", "-c", "NOTE=\"$1\"; CHECK_IDX=\"${2:-}\"\n[ -z \"$NOTE\" ] && { echo \"note title required\" >&2; exit 1; }\n\nosascript 2>&1 <<APPLE\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", "_" ]
- timeout
- 30
- description
- Convert a note's body into a Notes-native checklist (HTML `<ul class="gtl-todo-list">` markup), with optional auto-checking of specific item indices. Agents routinely fail at this by typing markdown `- [ ]` text — Notes does NOT recognize markdown checklist syntax; it stores literal "- [ ]" text. The native checklist requires Cmd+Shift+L on selected text or Format menu → Checklist. This skill: activates Notes, focuses the note body, selects all, Cmd+Shift+L to convert. If `check_indices` is given, navigates to each line and presses Cmd+Shift+U to toggle the checkbox.
02 资源文件 5
- 参考文档.claude-plugin/plugin.json162 B
- 资产文件assets/import-checklist.md318 B
- 参考文档open-design.json2.8 KB
- 参考文档preview/index.html2.8 KB
- 参考文档README.md857 B
03 SKILL.md 正文
notes_checklist — convert body to a real Notes checklist
The native Notes checklist is HTML markup <ul class="gtl-todo-list"> <li class="gtl-todo">.... It can ONLY be created via UI: select
text → Cmd+Shift+L (or Format → Checklist). Markdown - [ ] does
not transform.
Examples
notes_checklist note="KinBench Checklist 169"
→ ok: converted to checklist
notes_checklist note="KinBench Mark 170" check_indices=2
→ ok: converted to checklist
The setup script must already have populated the note's body with the
items as plain lines (one per line). This skill handles the conversion
and optional checking. If items aren't there yet, type them via input
claw before calling this skill.
04 同仓库更多 Skills
web
Universal web tool — fetches and interacts with web pages through real Chromium (Playwright). Renders JavaScript, follows redirects, handles cookies, bypasses many anti-scrape stubs that block plain `web_fetch`. Each call launches a fresh browser, executes the requested flow, closes. ~2-3s cold start; no persistent state. Use INSTEAD of `web_fetch` when: - Target is a JS-heavy SPA (prices via XHR, lazy content) - `web_fetch` returned an anti-scrape placeholder (Zhihu's "click here" stub, JD's chrome-only HTML) - You need to interact (click, fill input) before extracting Common patterns: fetch rendered text: url=X wait for content then read: url=X wait_for=".price" extract specific element: url=X selector=".product-list" click and read result: url=X click=".search-button" fill form, then read: url=X click="input[name=q]" type_text="kinclaw" fill + Enter (React forms): url=X click="input" type_text="hi" press_enter=true wait_for=".reply" screenshot the page: url=X screenshot=true (returns image:// marker) run JS and get result: url=X js="document.title" First-time setup (one-time per machine, ~500MB Chromium download): pip install playwright playwright install chromium
weather
Current conditions plus a three-day forecast (today / tomorrow / day after) for a place, in metric, from wttr.in. No API key. Use this for any weather question — including "明天" and "后天" — before reaching for web search.
tts
Synthesize speech from text and play it through the macOS speakers. Talks to a local LocalKin Service Audio Server (default :8001 / Kokoro). When `record` is running with audio=true, the spoken audio is captured into the recording — use this in place of `shell say` for high-quality multilingual narration in demo videos. Set the TTS_ENDPOINT env var to point at a different server.
translate
Translate text between languages using the system's translate command
summarize
Summarize a file's contents into key bullet points
stt
Transcribe an audio file (wav/mp3/mp4/m4a) into text via a local LocalKin Service Audio Server (default :8000 / SenseVoice). Pair with `record action=start mic=true` to turn a recorded mic track into text. Set STT_ENDPOINT env var to point at a different server.