[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GSANEXFZP9BTCMCV73CS4":3,"skill-same:01M71GSANEXFZP9BTCMCV73CS4":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":14,"repositoryHtmlUrl":66,"repositoryHomepageUrl":6,"ownerHtmlUrl":67,"ownerBlogUrl":6,"ownerDescription":68,"updatedAt":69,"install":70,"resources":82},"01M71GSANEXFZP9BTCMCV73CS4","idea-ingest",null,"Ingest links, articles, tweets, and ideas into the brain. Fetch content, save\nto brain with analysis, create author people page, and cross-link. Use when the\nuser shares a link or says \"read this\", \"save this\", \"think about this\".","weareturnone\u002Fgbrain","weareturnone","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F106660686?v=4","01M71GRFW4YZ9DFYK6J17YXQNB","Roelof Stoelwinder ","01M71GRFWVQF5ASVB08TP5VKWG",0,"MIT","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fidea-ingest\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"idea ingest","ingest","idea","ideas","when","author","true","links","URL","people","sources","get","search","upload","query","use","fetch","page","analysis","file","2026-11-10 10:12:30",false,"---\nname: idea-ingest\nversion: 1.0.0\ndescription: |\n  Ingest links, articles, tweets, and ideas into the brain. Fetch content, save\n  to brain with analysis, create author people page, and cross-link. Use when the\n  user shares a link or says \"read this\", \"save this\", \"think about this\".\ntriggers:\n  - shares a link or URL\n  - \"read this\"\n  - \"save this\"\n  - \"think about this\"\n  - \"put this in brain\"\ntools:\n  - search\n  - query\n  - get_page\n  - put_page\n  - add_link\n  - add_timeline_entry\n  - file_upload\nmutating: true\nwrites_pages: true\nwrites_to:\n  - people\u002F\n  - concepts\u002F\n  - sources\u002F\n---\n\n# Idea Ingest Skill\n\n> **Filing rule:** Read `skills\u002F_brain-filing-rules.md` before creating any new page.\n\n## Contract\n\nThis skill guarantees:\n- Every ingested item has a brain page with genuine analysis (not just a summary)\n- The author gets a people page (MANDATORY for anyone whose thinking is worth ingesting)\n- Cross-links created bidirectionally (source ↔ author, source ↔ mentioned entities)\n- Raw source preserved for provenance via `gbrain files upload-raw`\n- Every fact has an inline `[Source: ...]` citation\n- Filing follows primary subject rules (not format-based)\n\n> **Convention:** See `skills\u002Fconventions\u002Fquality.md` for Iron Law back-linking.\n\nEvery mention of a person or company with a brain page MUST create a back-link.\nFormat: `- **YYYY-MM-DD** | Referenced in [page title](path) — brief context`\n\n## Phases\n\n1. **Fetch the content.** Use appropriate tools for the content type (web fetch for articles, API for tweets, PDF reader for documents).\n\n2. **Upload raw source.** Save the fetched content for provenance: `gbrain files upload-raw \u003Cfile> --page \u003Cslug>`\n\n3. **Identify the author — MANDATORY people page.** Anyone whose thinking is worth ingesting is worth tracking.\n   - Search brain for existing author page\n   - If no page → CREATE ONE with compiled truth + timeline format\n   - If page exists → update timeline with this new publication\n   - Cross-link both directions\n\n4. **Save to brain.** File by PRIMARY SUBJECT (read `skills\u002F_brain-filing-rules.md`):\n   - About a person → `people\u002F`\n   - About a company → `companies\u002F`\n   - A reusable framework → `concepts\u002F`\n   - Raw data dump → `sources\u002F`\n\n5. **Analyze for the user.** Reply with analysis that connects the content to what the brain knows. Think about:\n   - Active projects — is this relevant?\n   - Contradictions — does this challenge existing brain knowledge?\n   - Connections — does this involve known people\u002Fcompanies?\n   - Don't just summarize. Tell the user things they wouldn't have noticed.\n\n6. **Sync.** `gbrain sync` to update the index.\n\n## Output Format\n\n```markdown\n# {Title} — {Author}\n\n**Source:** {URL}\n**Author:** {Author}, {role}\n**Published:** {date}\n**Ingested:** {date}\n\n## Context\n{Why this matters now, connected to brain knowledge}\n\n## Summary\n{3-5 bullet core arguments}\n\n## Key Data \u002F Claims\n{Specific facts, numbers, quotes}\n\n## Analysis\n{How this connects to existing brain knowledge. What's new. What contradicts.}\n```\n\n## Anti-Patterns\n\n- Just summarizing without connecting to brain knowledge\n- Filing everything in `sources\u002F` (sources is for raw data dumps only)\n- Skipping the author people page\n- Not cross-linking to mentioned entities\n- Ingesting without checking brain first for existing coverage\n","# Idea Ingest Skill\n\n> **Filing rule:** Read `skills\u002F_brain-filing-rules.md` before creating any new page.\n\n## Contract\n\nThis skill guarantees:\n- Every ingested item has a brain page with genuine analysis (not just a summary)\n- The author gets a people page (MANDATORY for anyone whose thinking is worth ingesting)\n- Cross-links created bidirectionally (source ↔ author, source ↔ mentioned entities)\n- Raw source preserved for provenance via `gbrain files upload-raw`\n- Every fact has an inline `[Source: ...]` citation\n- Filing follows primary subject rules (not format-based)\n\n> **Convention:** See `skills\u002Fconventions\u002Fquality.md` for Iron Law back-linking.\n\nEvery mention of a person or company with a brain page MUST create a back-link.\nFormat: `- **YYYY-MM-DD** | Referenced in [page title](path) — brief context`\n\n## Phases\n\n1. **Fetch the content.** Use appropriate tools for the content type (web fetch for articles, API for tweets, PDF reader for documents).\n\n2. **Upload raw source.** Save the fetched content for provenance: `gbrain files upload-raw \u003Cfile> --page \u003Cslug>`\n\n3. **Identify the author — MANDATORY people page.** Anyone whose thinking is worth ingesting is worth tracking.\n   - Search brain for existing author page\n   - If no page → CREATE ONE with compiled truth + timeline format\n   - If page exists → update timeline with this new publication\n   - Cross-link both directions\n\n4. **Save to brain.** File by PRIMARY SUBJECT (read `skills\u002F_brain-filing-rules.md`):\n   - About a person → `people\u002F`\n   - About a company → `companies\u002F`\n   - A reusable framework → `concepts\u002F`\n   - Raw data dump → `sources\u002F`\n\n5. **Analyze for the user.** Reply with analysis that connects the content to what the brain knows. Think about:\n   - Active projects — is this relevant?\n   - Contradictions — does this challenge existing brain knowledge?\n   - Connections — does this involve known people\u002Fcompanies?\n   - Don't just summarize. Tell the user things they wouldn't have noticed.\n\n6. **Sync.** `gbrain sync` to update the index.\n\n## Output Format\n\n```markdown\n# {Title} — {Author}\n\n**Source:** {URL}\n**Author:** {Author}, {role}\n**Published:** {date}\n**Ingested:** {date}\n\n## Context\n{Why this matters now, connected to brain knowledge}\n\n## Summary\n{3-5 bullet core arguments}\n\n## Key Data \u002F Claims\n{Specific facts, numbers, quotes}\n\n## Analysis\n{How this connects to existing brain knowledge. What's new. What contradicts.}\n```\n\n## Anti-Patterns\n\n- Just summarizing without connecting to brain knowledge\n- Filing everything in `sources\u002F` (sources is for raw data dumps only)\n- Skipping the author people page\n- Not cross-linking to mentioned entities\n- Ingesting without checking brain first for existing coverage\n",{"name":5,"tools":44,"version":50,"mutating":51,"triggers":52,"writes_to":58,"description":62,"writes_pages":51},[31,33,45,46,47,48,49],"get_page","put_page","add_link","add_timeline_entry","file_upload","1.0.0",true,[53,54,55,56,57],"shares a link or URL","read this","save this","think about this","put this in brain",[59,60,61],"people\u002F","concepts\u002F","sources\u002F","Ingest links, articles, tweets, and ideas into the brain. Fetch content, save\nto brain with analysis, create author people page, and cross-link. Use when the\nuser shares a link or says \"read this\", \"save this\", \"think about this\".\n","master","1fd9e273fe234ffb8d2a7705955f087f861a5c3d","skills\u002Fidea-ingest","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain","https:\u002F\u002Fgithub.com\u002Fweareturnone","I have a passion for operations, systems and doing good for the world.","2026-07-08 23:38:19",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":51},[72,75,78],{"tool":73,"command":74},"npx","npx skills add weareturnone\u002Fgbrain --skill idea-ingest",{"tool":76,"command":77},"bunx","bunx skills add weareturnone\u002Fgbrain --skill idea-ingest",{"tool":79,"command":80},"pnpm","pnpm dlx skills add weareturnone\u002Fgbrain --skill idea-ingest","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fidea-ingest\u002FSKILL.md",[],[84,101,114,129,143,163],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":39},"01M71GTZ2PH49PD2R6RR7MHJZP","signal-detector","Always-on ambient signal capture for the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fsignal-detector\u002FSKILL.md",[],[91,92,93,94,95,96,97,98,99,100],"signal","signal detector","detector","for","openclaw","capture","reference","message","fixture","ambient",{"skillNo":102,"name":33,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":39},"01M71GTY1250DC73PGRWDE82KW","Look up brain pages in the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fquery\u002FSKILL.md",[],[33,107,97,108,95,109,110,111,112,31,113,94,99],"do","lookup","look","pages","up","brain","about",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":39},"01M71GTX0T1T9224P29SD7CSG7","context-now","ALWAYS-ON time-sensitivity discipline for the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fcontext-now\u002FSKILL.md",[],[121,122,123,124,125,95,94,126,97,99,127,128],"context","context now","now","time","how","discipline","sensitivity","long",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":39},"01M71GTVZJTSWXBM4ZRF4A7QVA","brain-ops","Core read\u002Fwrite cycle for the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fbrain-ops\u002FSKILL.md",[],[136,112,137,138,108,95,28,97,25,94,139,140,141,99,142],"brain ops","ops","Citation","read","cycle","core","write",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":39},"01M71GTT4F64V9RMNZ0WRTKWNG","webhook-transforms","Generic framework for converting external events (SMS, meetings, social mentions)\ninto brain-ingestible signals. Define a transform function, register a webhook URL,\nand incoming events get processed through the brain pipeline.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fwebhook-transforms\u002FSKILL.md",[],[150,151,152,153,154,111,155,156,27,157,25,158,31,159,160,36,94,161,162,30],"webhook","transforms","webhook transforms","SET","register","meetings","signals","define","social","event","pipeline","sms","generic",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":182,"publishedAt":39},"01M71GTRDKSM500PRZEXFNQHF9","testing","Skill validation framework. Validates every skill has SKILL.md with frontmatter,\nevery reference exists, every env var is declared. The testing contract for the\nskill system itself.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Ftesting\u002FSKILL.md",[169,174,177],{"categoryNo":170,"categoryName":171,"taxonomyType":172,"taxonomyTypeDesc":173},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":175,"categoryName":176,"taxonomyType":172,"taxonomyTypeDesc":173},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":178,"categoryName":179,"taxonomyType":180,"taxonomyTypeDesc":181},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[165,183,184,185,186,187,188,189,190,191,192,193,194,195,110,196,31,197,198,94],"test skills","validation","run","health check","test","with","health","check","env","skill validation","false","contract","tests","skill health","system","validate skills"]