[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"creator:01M6CPDM368JVRW78EPV2NDABD":3,"creator-list:01M6CPDM368JVRW78EPV2NDABD:stars:1:":20},{"accountNo":4,"login":5,"displayName":5,"avatarUrl":6,"accountType":7,"accountTypeDesc":8,"profileDescription":9,"skillCount":10,"repoCount":11,"professionCount":11,"scenarioCount":12,"totalStars":13,"updatedAt":14,"htmlUrl":15,"blogUrl":16,"company":17,"location":17,"followersCount":18,"publicReposCount":19},"01M6CPDM368JVRW78EPV2NDABD","LocalKinAI","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F228881863?v=4","ORGANIZATION","组织","Faith and Chinese medicine at localkin.ai · the LocalKin agent platform at localkin.dev · open-source tools (kinfer, KinClaw, …) at localkin.app",23,1,5,9,"2026-11-01 12:25:06","https:\u002F\u002Fgithub.com\u002FLocalKinAI","localkin.ai",null,11,16,{"records":21,"total":10,"current":11,"size":330},[22,63,78,109,120,131,148,167,182,199,212,229,242,256,267,275,292,309],{"skillNo":23,"name":24,"nameZh":17,"description":25,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":29,"categories":30,"keywords":42,"publishedAt":62},"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","LocalKinAI\u002Fkinclaw","01M6CPDM7CKTKCXE8JD7K3658Q","Apache-2.0","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fweb\u002FSKILL.md",[31,36,39],{"categoryNo":32,"categoryName":33,"taxonomyType":34,"taxonomyTypeDesc":35},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":37,"categoryName":38,"taxonomyType":34,"taxonomyTypeDesc":35},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":40,"categoryName":41,"taxonomyType":34,"taxonomyTypeDesc":35},"01JBSEEDCAT000000000000009","前端开发",[24,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],"PDF","image","directory","css","react","change","placeholder","generate","run","search","start","scrape","how","wait for","text","read","log","files","forms","2026-11-10 10:12:30",{"skillNo":64,"name":65,"nameZh":17,"description":66,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":62},"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",[],[65,24,70,52,71,72,73,74,75,76,77],"forecast","api","web search","python3","question","use","location","three",{"skillNo":79,"name":80,"nameZh":17,"description":81,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":82,"categories":83,"keywords":90,"publishedAt":62},"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",[84,87],{"categoryNo":85,"categoryName":86,"taxonomyType":34,"taxonomyTypeDesc":35},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":88,"categoryName":89,"taxonomyType":34,"taxonomyTypeDesc":35},"01JBSEEDCAT000000000000023","Skill与智能体开发",[80,91,92,93,94,95,96,97,57,98,99,100,101,102,103,104,105,106,107,108],"macos","code","server","data","SET","Video","Audio","model","pick","auto","only","payload","Echo","default","multilingual","chinese","back","next",{"skillNo":110,"name":111,"nameZh":17,"description":112,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":62},"01M6CPGAM9K2VN0MVYD4CMC92E","translate","Translate text between languages using the system's translate command","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftranslate\u002FSKILL.md",[],[111,116,57,117,103,118,119,106],"system","command","language","spanish",{"skillNo":121,"name":122,"nameZh":17,"description":123,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":124,"categories":125,"keywords":129,"publishedAt":62},"01M6CPG8DWEY0GWCFDGTTBWA2Q","summarize","Summarize a file's contents into key bullet points","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fsummarize\u002FSKILL.md",[126],{"categoryNo":127,"categoryName":128,"taxonomyType":34,"taxonomyTypeDesc":35},"01JBSEEDCAT000000000000021","资料检索与研究",[122,130],"file",{"skillNo":132,"name":133,"nameZh":17,"description":134,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":135,"categories":136,"keywords":138,"publishedAt":62},"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",[137],{"categoryNo":85,"categoryName":86,"taxonomyType":34,"taxonomyTypeDesc":35},[133,139,92,140,93,53,95,141,97,142,57,143,144,145,100,146,103,104,147,107],"go","transcribe","endpoint","mp4","returns","just","pair","en","do",{"skillNo":149,"name":150,"nameZh":17,"description":151,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":62},"01M6CPG01319QD2Y0PRX2DGEMW","notes_table","Insert a table into a Notes note. Notes' table feature is\ntriggered by Cmd+Opt+T while the body has focus; this skill\nselects the note, focuses the body, and fires the keystroke.\n\nDefault: a 2x2 table (Notes' default). To get larger, use the\n`rows` and `cols` args — the skill will Tab + Return as needed\nafter insertion to grow the table to the requested dimensions.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_table\u002FSKILL.md",[],[155,156,157,92,95,158,116,57,159,160,117,75,161,103,162,104,163,164,165,166],"notes","table","notes table","first","option","cmd","ok","menu bar","exit","show","activate","dimensions",{"skillNo":168,"name":169,"nameZh":17,"description":170,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":62},"01M6CPFVTS3M8DHPJPNSBYPX2W","notes_pin","Pin or unpin a Notes note (by exact title match). Uses UI menu\nnavigation because macOS 14+ removed the AppleScript `pinned`\nproperty — direct `set pinned of note to true` errors with\n\"Can't make pinned of note ... into type specifier\".\n\nThis skill activates Notes, selects the target note, then clicks\nthe appropriate File-menu item (\"Pin Note\" or \"Unpin Note\"). The\nmenu item label automatically toggles based on current state, so\nthe skill checks which one exists and clicks the right one for\nthe requested target state.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_pin\u002FSKILL.md",[],[155,174,175,91,176,177,130,178,95,158,116,179,180,161,181,103,162,163,164,165],"pin","notes pin","current state","state","ui","direct","process","navigation",{"skillNo":183,"name":184,"nameZh":17,"description":185,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":62},"01M6CPFQZG0B4GHCWD0GB6H9FF","notes_move_to_folder","Move a note (by exact title match) into a Notes folder (by exact\nfolder name). Pure AppleScript — no UI scripting, no flakiness.\nThe folder must already exist; create it with osascript or via the\nNotes UI before calling this skill.\n\nWhy a skill (not raw shell osascript): models routinely emit the\nwrong AppleScript syntax for `move`, hit \"Can't make ... into type\nspecifier\" errors, or move into the wrong account's folder. This\nskill encapsulates the canonical pattern + cross-account search.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_move_to_folder\u002FSKILL.md",[],[155,189,190,52,178,191,95,192,193,194,195,196,103,197,163,198],"notes move to folder","create","fs","scripting","shell","why","syntax","ms","models","calling",{"skillNo":200,"name":201,"nameZh":17,"description":202,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":62},"01M6CPFJYDW4DB5NDJ6M68TP12","notes_format","Apply a Notes-app text format (bold \u002F italic \u002F underline \u002F title \u002F\nheading \u002F subheading \u002F body) to text in a note. Handles selection\n+ format keystroke + verification.\n\nThe #1 mistake agents make: pressing Cmd+B without selecting text\nfirst. Notes' format shortcuts only act on the current selection;\nno selection = no-op. This skill always selects first.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_format\u002FSKILL.md",[],[155,206,207,92,95,116,57,208,159,75,161,101,209,104,163,164,210,165,211,107],"format","notes format","select","up","selection","main",{"skillNo":213,"name":214,"nameZh":17,"description":215,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":216,"categories":217,"keywords":219,"publishedAt":62},"01M6CPFE7397DTE7QYW5X73X8S","notes_export_pdf","Export a Notes note to a PDF file at an absolute path. Notes\ndoesn't expose Export-as-PDF via AppleScript dictionary; this\nskill drives the File menu + Save sheet via UI scripting.\n\nThe Save sheet is the standard NSSavePanel — we type the filename\ninto the focused field, use Cmd+Shift+G to set the destination\ndirectory, then press Return to commit. The skill does NOT use\nthe Print → Save as PDF route (3+ extra dialog clicks); it uses\nNotes' direct File → Export as PDF... menu.\n\nAfter the save, the skill polls for the file's existence to\nconfirm completion before returning.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_export_pdf\u002FSKILL.md",[218],{"categoryNo":32,"categoryName":33,"taxonomyType":34,"taxonomyTypeDesc":35},[43,155,220,221,222,95,223,57,224,225,100,161,209,162,104,164,165,226,227,228],"export","notes export pdf","commit","open","dialog","remove","route","done","me",{"skillNo":230,"name":231,"nameZh":17,"description":232,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":233,"categories":234,"keywords":235,"publishedAt":62},"01M6CPFA4SS458K8ZWFGPHT3FE","notes_checklist","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.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_checklist\u002FSKILL.md",[],[155,236,237,92,95,158,116,238,57,160,239,117,100,161,103,163,240,164,165,241],"checklist","notes checklist","convert","check","Literal","todo",{"skillNo":243,"name":244,"nameZh":17,"description":245,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":246,"categories":247,"keywords":249,"publishedAt":62},"01M6CPF5V6NWZVZSX233XWG5HG","notes_attach_image","Attach an image file to a Notes note. Notes' AppleScript\ndictionary does NOT support `make new attachment` for image files,\nso this skill uses the clipboard-paste path:\n\n1. Read the image into the system pasteboard via `osascript`'s\n   `(read POSIX file \"X\" as JPEG picture)` coercion (works for\n   JPEG \u002F PNG \u002F TIFF — checks file extension).\n2. Activate Notes, select the target note, focus the body.\n3. Move cursor to end of body, then Cmd+V — Notes pastes a\n   pasteboard image as an attachment in the note.\n\nThis is more robust than the Edit-menu \"Attach File\" UI flow,\nwhich opens a file picker that's brittle to AX-walk.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotes_attach_image\u002FSKILL.md",[248],{"categoryNo":85,"categoryName":86,"taxonomyType":34,"taxonomyTypeDesc":35},[44,155,250,251,252,92,95,57,253,208,117,58,254,161,255,103,60,164,165,107],"attach","notes attach image","support","jj","edit","clipboard",{"skillNo":257,"name":258,"nameZh":17,"description":259,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":260,"categories":261,"keywords":262,"publishedAt":62},"01M6CPF3EG0ZYT9Y6N4E8ZCYCE","music_play","播放 Apple Music 中的音乐","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fmusic_play\u002FSKILL.md",[],[263,264,265,266],"play","music","music play","apple music",{"skillNo":268,"name":269,"nameZh":17,"description":270,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":271,"categories":272,"keywords":273,"publishedAt":62},"01M6CPF14B3JKXGQJ5597Z95PH","music_pause","Pause music playback in Apple Music app","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fmusic_pause\u002FSKILL.md",[],[264,274,266],"music pause",{"skillNo":276,"name":277,"nameZh":17,"description":278,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":279,"categories":280,"keywords":281,"publishedAt":62},"01M6CPEWYWF6P2T1WETNKA34WR","mail_draft","Create a Mail draft (saved, not sent) with subject + body and an\noptional attachment. Uses Mail's AppleScript dictionary directly:\n`make new outgoing message` then `save` (NOT `send`). The draft\nappears in the Drafts mailbox of the default account.\n\nThis is the CORRECT path for any task that says \"save as Mail\ndraft\" \u002F \"share via Mail as draft\". Common wrong path: agents\nopen a compose window with Cmd+N, type subject + body, then close\nwith Cmd+W — that prompts a Save sheet they often skip, losing\nthe draft. This skill bypasses the compose window entirely.","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Fmail_draft\u002FSKILL.md",[],[282,190,283,130,284,95,223,285,57,286,160,287,103,288,104,163,250,289,290,291],"mail draft","share","email","correct","common","compose","properties","task","sheet","message",{"skillNo":293,"name":76,"nameZh":17,"description":294,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":295,"categories":296,"keywords":301,"publishedAt":62},"01M6CPEJNZEX0Y2WQF77YXKTJD","Get the user's current GPS location. Auto-detects the best backend\nfor the host OS:\n\n  macOS  →  corelocationcli  (CoreLocation — cell \u002F WiFi \u002F GPS)\n  Linux  →  gdbus + geoclue2  (kernel-driver \u002F WiFi \u002F Mozilla MLS)\n  fallback → IP geolocation   (ipapi.co — city-level only)\n\nReturns coordinates \u002F address \u002F city \u002F full details — request what\nyou need with the `format` arg.\n\nWhen to use this vs the {{location}} system prompt context:\n  - {{location}} is set from $KINCLAW_LOCATION env var — \"where the\n    user generally is\" (home \u002F office). Static, free, always available.\n  - This skill reads the OS location service in real time — \"where the\n    user is right NOW\". Use when user might be traveling \u002F driving \u002F\n    out, or when meter-level precision matters.\n\nFirst invocation prompts for permission (macOS Location Services \u002F\nLinux Geoclue per-app authorization through xdg-desktop-portal).\nGrant it for whichever process kinclaw runs in.\n\nFirst-time setup:\n  macOS:  brew install corelocationcli\n  Linux:  apt install geoclue-2.0 jq curl    # or pacman -S \u002F dnf install\n          (gdbus ships with glib2 — already present on every desktop Linux)","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Flocation\u002FSKILL.md",[297,300],{"categoryNo":298,"categoryName":299,"taxonomyType":34,"taxonomyTypeDesc":35},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":88,"categoryName":89,"taxonomyType":34,"taxonomyTypeDesc":35},[76,302,303,190,304,95,305,159,306,224,117,307,100,101,209,103,104,107,308,227],"valid","cleanup","ci","wifi","branch","fix","query",{"skillNo":310,"name":311,"nameZh":17,"description":312,"descriptionZh":17,"repositoryFullName":26,"ownerLogin":5,"ownerAvatarUrl":6,"ownerAccountNo":4,"ownerDisplayName":5,"repositoryNo":27,"starsCount":13,"licenseSpdxId":28,"licenseFileUrl":17,"sourceHtmlUrl":313,"categories":314,"keywords":321,"publishedAt":62},"01M6CPED5M2ZXAVJDVT1K94GJS","learn","The agent's cross-session notebook at ~\u002F.kinclaw\u002Flearned.md, organized\nby bundle_id \u002F topic. The kernel reads it at every boot and injects\nit into the system prompt (when it outgrows the prompt budget you see\na topic index plus the newest notes — use action=recall for the rest).\n\naction=add (default) — append one lesson after a task:\n  - AX schema quirks (depth needed, weird matchers)\n  - Working keyboard \u002F shell shortcuts that beat ui clicks\n  - Failed approaches + their error codes (so you don't retry next time)\n  - First-launch modal patterns\n  - bundle_id spelling (some apps use lowercase like com.apple.mail)\naction=recall topic=X — print one section (case-insensitive match)\naction=list — print the topic index\n\nAppends go to a section keyed on `topic` (usually a bundle_id).\nCreates the section if it doesn't exist; appends bullet lines if it\ndoes. No-op if the exact same line already exists (idempotent).","https:\u002F\u002Fgithub.com\u002FLocalKinAI\u002Fkinclaw\u002Fblob\u002Fmain\u002Fskills\u002Flearn\u002FSKILL.md",[315,316],{"categoryNo":88,"categoryName":89,"taxonomyType":34,"taxonomyTypeDesc":35},{"categoryNo":317,"categoryName":318,"taxonomyType":319,"taxonomyTypeDesc":320},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[311,139,322,155,190,178,323,116,286,324,325,326,101,209,103,104,327,328,329,108],"kernel","Budget","list","append","session","notebook","patterns","lesson",18]