[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DSXFTBFKZAJ2P2WE37NZR6":3,"skill-same:01M6DSXFTBFKZAJ2P2WE37NZR6":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":52,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6DSXFTBFKZAJ2P2WE37NZR6","mc-clayrune-apis",null,"Use whenever you need to interact with Clayrune local APIs — backlog management, scheduler routines, hivemind orchestration, process registration, terminal pop-out, or any localhost:5199 endpoint. TRIGGER when the user mentions \"backlog\", \"schedule\", \"hivemind\", \"register this process\", \"open a terminal\", or refers to Clayrune by name.","clayrune-io\u002Fclayrune","clayrune-io","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F324312123?v=4","01M6DSX1QQQMJ0FPCSHSX95Q9G","01M6DSX1ZXTZQSGRA5ZXH1ZZWM",17,"MIT","https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Fdata\u002Fskills\u002Fbuiltin\u002Fmc-clayrune-apis\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"mc","mc clayrune apis","use","by name","when","you","register","name","trigger","local","backlog","registration","terminal","process","hivemind","user","management","schedule","open","endpoint","scheduler","backlog management","orchestration","routines","2026-11-10 10:12:30",false,"---\nname: mc-clayrune-apis\ndescription: Use whenever you need to interact with Clayrune local APIs — backlog management, scheduler routines, hivemind orchestration, process registration, terminal pop-out, or any localhost:5199 endpoint. TRIGGER when the user mentions \"backlog\", \"schedule\", \"hivemind\", \"register this process\", \"open a terminal\", or refers to Clayrune by name.\n---\n\n# Clayrune API surface\n\nClayrune runs locally at **http:\u002F\u002Flocalhost:5199**. Every Clayrune-aware operation is a curl call to this base URL.\n\n## Process Registration — MANDATORY for any spawned process\n\nIf you spawn a background process, server, bot, or any long-running command, you MUST register it. Unregistered processes cannot be monitored or stopped by the user.\n\n```bash\n# 1) Spawn and capture PID\nmycommand &\nPID=$!\n\n# 2) Register\ncurl -s -X POST http:\u002F\u002Flocalhost:5199\u002Fapi\u002Fprocesses\u002Fregister \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"pid\\\":$PID,\\\"name\\\":\\\"Short description\\\",\\\"project_id\\\":\\\"\u003Cpid>\\\",\\\"command\\\":\\\"the command run\\\"}\"\n```\n\nPID must be an integer. Do not skip registration.\n\n## Backlog (per-project task list)\n\nWhen the user says \"backlog\", \"backlog items\", \"the list\" — they mean THIS, not files on disk.\n\n- Read: `GET \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog`\n- Update: `PATCH \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog\u002F\u003Citem_id>` with `{\"status\":\"done\"}` — status values: `open`, `in_progress`, `blocked`, `done`, `wontdo`. The first three are LIVE (visible in the tab, counted on the tile); the last two are closed.\n- Add note: `POST \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog\u002F\u003Citem_id>\u002Fnote` with `{\"text\":\"...\"}`\n- Add item: `POST \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog` with `{\"text\":\"...\",\"priority\":\"high|normal|low\"}` — the field is `text`, not `title`, and a missing\u002Fblank one is a 400.\n\n**Refer to items by their `key`, never by `id`.** Each item carries a\nJIRA-style key: the project prefix, a dash, a zero-padded number — `MC-01`,\n`MC-142`. The `id` is an 8-char uuid slice no human can read back, and a bare\n`#12` is ambiguous as soon as two projects are on screen. Keys are never\nrecycled, so one always means the same item.\n\n**Relations** (JIRA-style): `POST \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog\u002F\u003Citem_id>\u002Flinks`\nwith `{\"type\":\"blocked_by\",\"target\":\"MC-12\"}`. Types: `blocked_by`,\n`duplicate_of`, `continues`, `relates_to`. `target` takes `MC-12` (any case or\npadding), `#12`, `12`, or a raw id — same project only; another project's\nprefix 404s rather than matching the number. Post ONE direction; the inverse\n(`blocks`, `duplicated by`, `continued by`) shows on the other item\nautomatically. Remove with `DELETE …\u002Flinks?type=…&target=…`.\n\n## Scheduler (Clayrune LOCAL — for jobs that outlive a session)\n\nFor long-term, repeatable jobs that should re-run an agent inside Clayrune after the current conversation ends.\n\n- List: `GET \u002Fapi\u002Fschedules`\n- Create: `POST \u002Fapi\u002Fschedules` with:\n  ```json\n  {\"project_id\":\"...\",\"task\":\"...\",\"schedule_type\":\"daily|weekly|interval|once|cron\",\n   \"time\":\"09:00\",\"days\":[],\"interval_minutes\":60,\"run_at\":\"ISO8601\",\"cron_expr\":\"...\"}\n  ```\n- Update: `PUT \u002Fapi\u002Fschedules\u002F\u003Cid>`\n- Delete: `DELETE \u002Fapi\u002Fschedules\u002F\u003Cid>`\n\n**Picker rule:** if the job must still fire after this conversation ends → Clayrune scheduler. If it's a tight in-session poll loop (e.g. \"check the build every 5 min\") → Anthropic `\u002Fschedule` skill instead.\n\n## Hivemind (multi-agent orchestration)\n\nTo create a hivemind (orchestrator decomposes a goal and spawns workers):\n\n```bash\ncurl -s -X POST http:\u002F\u002Flocalhost:5199\u002Fapi\u002Fhivemind\u002Fcreate \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"project_id\":\"\u003Cpid>\",\"goal\":\"GOAL TEXT\",\"max_concurrent_workers\":3,\n       \"orchestrator_model\":\"sonnet\",\"worker_model\":\"sonnet\"}'\n```\n\nBefore creating, ask the user clarifying questions about scope, priorities, and constraints.\n\n## Terminal pop-out\n\nFor visual commands, dashboards, or long-running processes the user should see:\n\n```bash\ncurl -s -X POST http:\u002F\u002Flocalhost:5199\u002Fapi\u002Fterminal\u002Flaunch \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"project_id\":\"\u003Cpid>\",\"command\":\"\u003CCMD>\"}'\n```\n\nOutput appears in Clayrune's terminal pop-out with full ANSI color.\n\n## API discovery\n\nWhen you need a Clayrune feature you haven't used before, do NOT guess endpoint names. Either:\n- Grep `server.py` for `@app.route` to enumerate real endpoints, or\n- `curl http:\u002F\u002Flocalhost:5199\u002F` and inspect the served HTML.\n","# Clayrune API surface\n\nClayrune runs locally at **http:\u002F\u002Flocalhost:5199**. Every Clayrune-aware operation is a curl call to this base URL.\n\n## Process Registration — MANDATORY for any spawned process\n\nIf you spawn a background process, server, bot, or any long-running command, you MUST register it. Unregistered processes cannot be monitored or stopped by the user.\n\n```bash\n# 1) Spawn and capture PID\nmycommand &\nPID=$!\n\n# 2) Register\ncurl -s -X POST http:\u002F\u002Flocalhost:5199\u002Fapi\u002Fprocesses\u002Fregister \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"pid\\\":$PID,\\\"name\\\":\\\"Short description\\\",\\\"project_id\\\":\\\"\u003Cpid>\\\",\\\"command\\\":\\\"the command run\\\"}\"\n```\n\nPID must be an integer. Do not skip registration.\n\n## Backlog (per-project task list)\n\nWhen the user says \"backlog\", \"backlog items\", \"the list\" — they mean THIS, not files on disk.\n\n- Read: `GET \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog`\n- Update: `PATCH \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog\u002F\u003Citem_id>` with `{\"status\":\"done\"}` — status values: `open`, `in_progress`, `blocked`, `done`, `wontdo`. The first three are LIVE (visible in the tab, counted on the tile); the last two are closed.\n- Add note: `POST \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog\u002F\u003Citem_id>\u002Fnote` with `{\"text\":\"...\"}`\n- Add item: `POST \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog` with `{\"text\":\"...\",\"priority\":\"high|normal|low\"}` — the field is `text`, not `title`, and a missing\u002Fblank one is a 400.\n\n**Refer to items by their `key`, never by `id`.** Each item carries a\nJIRA-style key: the project prefix, a dash, a zero-padded number — `MC-01`,\n`MC-142`. The `id` is an 8-char uuid slice no human can read back, and a bare\n`#12` is ambiguous as soon as two projects are on screen. Keys are never\nrecycled, so one always means the same item.\n\n**Relations** (JIRA-style): `POST \u002Fapi\u002Fproject\u002F\u003Cpid>\u002Fbacklog\u002F\u003Citem_id>\u002Flinks`\nwith `{\"type\":\"blocked_by\",\"target\":\"MC-12\"}`. Types: `blocked_by`,\n`duplicate_of`, `continues`, `relates_to`. `target` takes `MC-12` (any case or\npadding), `#12`, `12`, or a raw id — same project only; another project's\nprefix 404s rather than matching the number. Post ONE direction; the inverse\n(`blocks`, `duplicated by`, `continued by`) shows on the other item\nautomatically. Remove with `DELETE …\u002Flinks?type=…&target=…`.\n\n## Scheduler (Clayrune LOCAL — for jobs that outlive a session)\n\nFor long-term, repeatable jobs that should re-run an agent inside Clayrune after the current conversation ends.\n\n- List: `GET \u002Fapi\u002Fschedules`\n- Create: `POST \u002Fapi\u002Fschedules` with:\n  ```json\n  {\"project_id\":\"...\",\"task\":\"...\",\"schedule_type\":\"daily|weekly|interval|once|cron\",\n   \"time\":\"09:00\",\"days\":[],\"interval_minutes\":60,\"run_at\":\"ISO8601\",\"cron_expr\":\"...\"}\n  ```\n- Update: `PUT \u002Fapi\u002Fschedules\u002F\u003Cid>`\n- Delete: `DELETE \u002Fapi\u002Fschedules\u002F\u003Cid>`\n\n**Picker rule:** if the job must still fire after this conversation ends → Clayrune scheduler. If it's a tight in-session poll loop (e.g. \"check the build every 5 min\") → Anthropic `\u002Fschedule` skill instead.\n\n## Hivemind (multi-agent orchestration)\n\nTo create a hivemind (orchestrator decomposes a goal and spawns workers):\n\n```bash\ncurl -s -X POST http:\u002F\u002Flocalhost:5199\u002Fapi\u002Fhivemind\u002Fcreate \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"project_id\":\"\u003Cpid>\",\"goal\":\"GOAL TEXT\",\"max_concurrent_workers\":3,\n       \"orchestrator_model\":\"sonnet\",\"worker_model\":\"sonnet\"}'\n```\n\nBefore creating, ask the user clarifying questions about scope, priorities, and constraints.\n\n## Terminal pop-out\n\nFor visual commands, dashboards, or long-running processes the user should see:\n\n```bash\ncurl -s -X POST http:\u002F\u002Flocalhost:5199\u002Fapi\u002Fterminal\u002Flaunch \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"project_id\":\"\u003Cpid>\",\"command\":\"\u003CCMD>\"}'\n```\n\nOutput appears in Clayrune's terminal pop-out with full ANSI color.\n\n## API discovery\n\nWhen you need a Clayrune feature you haven't used before, do NOT guess endpoint names. Either:\n- Grep `server.py` for `@app.route` to enumerate real endpoints, or\n- `curl http:\u002F\u002Flocalhost:5199\u002F` and inspect the served HTML.\n",{"name":5,"description":7},"master","ef008ef5ed969452bf69f2e0baeb9c441f3ac83d","data\u002Fskills\u002Fbuiltin\u002Fmc-clayrune-apis",2,"https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune","https:\u002F\u002Fclayrune.io","https:\u002F\u002Fgithub.com\u002Fclayrune-io","2026-11-15 03:19:31",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add clayrune-io\u002Fclayrune --skill mc-clayrune-apis",{"tool":61,"command":62},"bunx","bunx skills add clayrune-io\u002Fclayrune --skill mc-clayrune-apis",{"tool":64,"command":65},"pnpm","pnpm dlx skills add clayrune-io\u002Fclayrune --skill mc-clayrune-apis","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Fdata\u002Fskills\u002Fbuiltin\u002Fmc-clayrune-apis\u002FSKILL.md",true,[],[70,92,102,112,122,145],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":81,"publishedAt":42},"01M6DSYZRPBR2KVMJ9F05W02WR","prompt-injection-skill","TEST FIXTURE (MC-912) — do not install. Exercises the prompt-injection detector.","https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fmalicious_skills\u002Fprompt-injection-skill\u002FSKILL.md",[76],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[82,83,84,85,86,18,87,88,89,90,91],"prompt injection","prompt","injection","prompt injection skill","detector","fixture","do","install","test","prompt-injection",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":99,"publishedAt":42},"01M6DSYWKY8FQKJ2202HZTRZXN","persistence-skill","TEST FIXTURE (MC-912) — do not install. Exercises the persistence detector.","https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fmalicious_skills\u002Fpersistence-skill\u002FSKILL.md",[98],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},[100,101,90,89,88,87,18,86],"persistence","persistence skill",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":109,"publishedAt":42},"01M6DSYSTMXZJXN4VH879PSH06","exfiltration-skill","TEST FIXTURE (MC-912) — do not install. Exercises the exfiltration detector.","https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fmalicious_skills\u002Fexfiltration-skill\u002FSKILL.md",[108],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},[110,111,90,89,88,87,18,86],"exfiltration","exfiltration skill",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":119,"publishedAt":42},"01M6DSYP2HPFZS2D71SQTAK9WC","destructive-skill","TEST FIXTURE (MC-912) — do not install. Exercises the destructive-command detector.","https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fmalicious_skills\u002Fdestructive-skill\u002FSKILL.md",[118],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},[120,86,90,121,89,88,87,18],"destructive skill","command",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":134,"publishedAt":42},"01M6DSYK30Q44MPGK6QW8T6TSM","config-mod-skill","TEST FIXTURE (MC-912) — do not install. Exercises the agent-config-mod detector's write-API coverage (the gap Hermes's own scanner documents missing).","https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fmalicious_skills\u002Fconfig-mod-skill\u002FSKILL.md",[128,129],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},{"categoryNo":130,"categoryName":131,"taxonomyType":132,"taxonomyTypeDesc":133},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[135,136,89,90,137,138,139,140,141,142,88,87,143,144,18,86],"config mod skill","config","documents","api","hermes","write","coverage","scanner","gap","missing",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":42},"01M6DSYFMVW71SEMTN11XFQMAG","benign-skill","TEST FIXTURE (MC-912) — negative control. Should produce zero scanner findings.","https:\u002F\u002Fgithub.com\u002Fclayrune-io\u002Fclayrune\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fmalicious_skills\u002Fbenign-skill\u002FSKILL.md",[151],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},[153,154,90,155,156,142,87,157,18],"benign","benign skill","produce","ZeRO","control"]