[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6N0WFSRESDQC00E2925480E":3,"skill-same:01M6N0WFSRESDQC00E2925480E":93},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":65,"commitSha":66,"skillDirectory":67,"forksCount":68,"repositoryHtmlUrl":69,"repositoryHomepageUrl":6,"ownerHtmlUrl":70,"ownerBlogUrl":71,"ownerDescription":72,"updatedAt":73,"install":74,"resources":86},"01M6N0WFSRESDQC00E2925480E","voice-note-ingest",null,"Ingest a voice note with exact-phrasing preservation (never paraphrased). Routes content to originals\u002F, concepts\u002F, people\u002F, companies\u002F, ideas\u002F, personal\u002F, or voice-notes\u002F based on a decision tree. The user's exact words are the signal.","garrytan\u002Fgbrain","garrytan","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F19957?v=4","01M6DJCCDDG53MTYYRTXAXFG17","Garry Tan","01M6MZQZCEN3RRMD33E1X9ZZR9",32683,"MIT","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fvoice-note-ingest\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"voice note ingest","voice","ingest","note","memo","signal","true","tree","concepts","with","people","preservation","notes","ideas","message","never","decision","Audio","file","transcribe","2026-11-10 10:12:30",false,"---\nname: voice-note-ingest\nversion: 0.1.0\ndescription: Ingest a voice note with exact-phrasing preservation (never paraphrased). Routes content to originals\u002F, concepts\u002F, people\u002F, companies\u002F, ideas\u002F, personal\u002F, or voice-notes\u002F based on a decision tree. The user's exact words are the signal.\ntriggers:\n  - \"voice note\"\n  - \"ingest this voice memo\"\n  - \"transcribe and file\"\n  - \"voice note ingest\"\n  - \"save this audio note\"\n  - \"audio message\"\nmutating: true\nwrites_pages: true\nwrites_to:\n  - voice-notes\u002F\n  - originals\u002F\n  - concepts\u002F\n  - people\u002F\n  - companies\u002F\n  - ideas\u002F\n  - personal\u002F\n---\n\n# voice-note-ingest — Exact-Phrasing Voice Capture\n\n> **Convention:** see [conventions\u002Fquality.md](..\u002Fconventions\u002Fquality.md) for\n> citation rules, back-link enforcement, and exact-phrasing requirements.\n>\n> **Convention:** see [_brain-filing-rules.md](..\u002F_brain-filing-rules.md) for\n> the filing decision protocol.\n\n## Iron Law\n\nThe user's **exact words** are the insight. Never paraphrase. Never clean\nup. The vivid, unpolished, stream-of-consciousness phrasing captures\nsomething that cleaned-up prose does not. Preserve it in block quotes.\nThe Analysis section can interpret; the transcript section is sacred.\n\n- ✅ `\"The ambition-to-lifespan ratio has never been more fucked\"`\n- ❌ `User noted the tension between ambition and mortality`\n\n## When to invoke\n\nThe user sends an audio or voice message via any channel (Telegram, voice\nmemo upload, openclaw audio attachment). The host agent typically provides\nthe transcript text. If not, transcribe it with your host's transcription\ntool (Groq Whisper is fast and cheap; OpenAI Whisper works too — segment\naudio > 25MB via ffmpeg first).\n\n## The pipeline\n\n```\n1. STORE       → Upload original audio to gbrain storage backend\n                 (S3 \u002F Supabase Storage \u002F local — pluggable per\n                 src\u002Fcore\u002Fstorage.ts).\n2. TRANSCRIBE  → Use the agent-provided transcript verbatim, OR\n                 transcribe the audio yourself (see \"When to invoke\")\n                 if no transcript was supplied.\n3. ROUTE       → Apply the decision tree (below) to find the right\n                 destination directory.\n4. WRITE       → Create \u002F update the destination brain page; preserve the\n                 verbatim transcript in a block-quoted \"User's Words\"\n                 section.\n5. CROSS-LINK  → For every entity mentioned (person, company), add a\n                 timeline back-link from THEIR brain page to THIS one\n                 (Iron Law per conventions\u002Fquality.md).\n```\n\n## Decision tree (where the content goes)\n\nApply in order. First match wins. If multiple categories apply, file to\nthe primary directory and cross-link to the others.\n\n1. **Original idea, observation, or thesis** — the user is expressing a\n   novel thought, framework, or connection THEY generated.\n   → `originals\u002F\u003Cslug>.md`. Use the user's vivid language for the slug.\n\n2. **About a world concept they encountered** — a framework or model\n   someone else created that the user is referencing.\n   → `concepts\u002F\u003Cslug>.md`.\n\n3. **About a specific person** — new information, opinion, or observation\n   about someone.\n   → Update `people\u002F\u003Cperson>.md` timeline.\n\n4. **About a specific company** — new info about a company.\n   → Update `companies\u002F\u003Ccompany>.md` timeline.\n\n5. **A product or business idea** — something that could be built.\n   → `ideas\u002F\u003Cslug>.md`.\n\n6. **A personal reflection** — therapy-adjacent, emotional, identity.\n   → Append to appropriate `personal\u002F\u003Cslug>.md`.\n\n7. **None of the above \u002F random thought \u002F doesn't fit cleanly** —\n   → `voice-notes\u002FYYYY-MM-DD-\u003Cslug>.md` (catch-all).\n\n**Multiple categories?** Create the primary page, then cross-link to all\nothers. If the voice note covers a person AND a novel idea, create the\noriginals\u002F page AND update the person's timeline.\n\n## Brain page format\n\nFor ALL voice-note-derived pages, include this skeleton:\n\n```markdown\n---\ntitle: \"[Title derived from content]\"\ntype: [original | concept | voice-note | ...]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\ntags: [voice-note, relevant-tags]\nsources:\n  voice-note:\n    type: voice_note\n    storage_path: \"[gbrain storage URL or relative path]\"\n    acquired: YYYY-MM-DD\n    acquired_via: \"voice note from \u003Cchannel>\"\n---\n\n# Title\n\n> Executive summary of what was said and why it matters.\n\n## User's Words\n\n> \"Exact transcript, verbatim, preserving every word, hesitation, and verbal\n> tic. This is the primary source material. Do not edit.\"\n\n? [Audio]([gbrain storage URL or relative path])\n\n## Analysis\n\n[What this means, why it matters, connections to other thinking. The\nanalysis is the agent's interpretation; the transcript above is sacred.]\n\n## See Also\n\n- [Related brain pages with relative links]\n\n---\n\n## Timeline\n\n- **YYYY-MM-DD** | voice note from \u003Cchannel> — [Brief description]\n```\n\n## Citation format\n\n```\n[Source: voice note, \u003Cchannel>, YYYY-MM-DD]\n```\n\nInclude timestamps when available:\n\n```\n[Source: voice note, \u003Cchannel>, YYYY-MM-DD HH:MM PT]\n```\n\n## Naming convention\n\n- Audio files: `YYYY-MM-DD-\u003Cbrief-slug>.\u003Cext>` (e.g.,\n  `2026-04-13-rick-rubin-creative-philosophy.ogg`)\n- Brain pages: match the slug of the destination directory.\n\n## Bulk vs. single\n\nThis skill handles ONE voice note at a time. Each is its own ingest cycle.\nNo batching.\n\n## When it fails\n\nFollow the [agent operator protocol](..\u002Fconventions\u002Fagent-operator-protocol.md) for any gbrain error `code`, exit code, `[AGENT]` block or notice block. Specific to this skill:\n\n- Transcription is unavailable or the storage backend refuses the audio (`gbrain storage` shows no backend): file the note text you have and tell the user the audio was not stored.\n- The routed page write returns `revision_conflict` or `write_pending`: re-read and merge, or poll `gbrain write-request \u003Crequest_id>`; never paraphrase to resolve a conflict.\n\n## Anti-Patterns\n\n- ❌ **Paraphrasing the transcript.** The exact words are the signal.\n- ❌ **Cleaning up hesitations or filler words** (\"um\", \"like\", \"you\n  know\"). The texture matters.\n- ❌ **Creating a page with no entity cross-links** when people\u002Fcompanies\n  were mentioned. Iron Law fail.\n- ❌ **Skipping the audio storage step.** Always upload the original; the\n  brain page has a `? [Audio]` link back to it.\n\n## Related skills\n\n- `skills\u002Fsignal-detector\u002FSKILL.md` — same exact-phrasing pattern for\n  text-channel idea capture\n- `skills\u002Fidea-ingest\u002FSKILL.md` — for typed-text idea ingestion\n- `skills\u002Fconventions\u002Fquality.md` — citation + back-link rules\n\n\n## Contract\n\nThis skill guarantees:\n\n- Routing matches the canonical triggers in the frontmatter.\n- Output written under the directories listed in `writes_to:` (when applicable).\n- Conventions referenced (`quality.md`, `brain-first.md`, `_brain-filing-rules.md`) are followed.\n- Privacy contract preserved: no real names, no fork-specific filesystem path literals, no upstream-fork references.\n\nThe full behavior contract is documented in the body sections above; this section exists for the conformance test.\n\n## Output Format\n\nThe skill's output shape is documented inline in the body sections above (see \"Output\", \"Brain page format\", or equivalent). The literal section header here exists for the conformance test (`test\u002Fskills-conformance.test.ts`).\n","# voice-note-ingest — Exact-Phrasing Voice Capture\n\n> **Convention:** see [conventions\u002Fquality.md](..\u002Fconventions\u002Fquality.md) for\n> citation rules, back-link enforcement, and exact-phrasing requirements.\n>\n> **Convention:** see [_brain-filing-rules.md](..\u002F_brain-filing-rules.md) for\n> the filing decision protocol.\n\n## Iron Law\n\nThe user's **exact words** are the insight. Never paraphrase. Never clean\nup. The vivid, unpolished, stream-of-consciousness phrasing captures\nsomething that cleaned-up prose does not. Preserve it in block quotes.\nThe Analysis section can interpret; the transcript section is sacred.\n\n- ✅ `\"The ambition-to-lifespan ratio has never been more fucked\"`\n- ❌ `User noted the tension between ambition and mortality`\n\n## When to invoke\n\nThe user sends an audio or voice message via any channel (Telegram, voice\nmemo upload, openclaw audio attachment). The host agent typically provides\nthe transcript text. If not, transcribe it with your host's transcription\ntool (Groq Whisper is fast and cheap; OpenAI Whisper works too — segment\naudio > 25MB via ffmpeg first).\n\n## The pipeline\n\n```\n1. STORE       → Upload original audio to gbrain storage backend\n                 (S3 \u002F Supabase Storage \u002F local — pluggable per\n                 src\u002Fcore\u002Fstorage.ts).\n2. TRANSCRIBE  → Use the agent-provided transcript verbatim, OR\n                 transcribe the audio yourself (see \"When to invoke\")\n                 if no transcript was supplied.\n3. ROUTE       → Apply the decision tree (below) to find the right\n                 destination directory.\n4. WRITE       → Create \u002F update the destination brain page; preserve the\n                 verbatim transcript in a block-quoted \"User's Words\"\n                 section.\n5. CROSS-LINK  → For every entity mentioned (person, company), add a\n                 timeline back-link from THEIR brain page to THIS one\n                 (Iron Law per conventions\u002Fquality.md).\n```\n\n## Decision tree (where the content goes)\n\nApply in order. First match wins. If multiple categories apply, file to\nthe primary directory and cross-link to the others.\n\n1. **Original idea, observation, or thesis** — the user is expressing a\n   novel thought, framework, or connection THEY generated.\n   → `originals\u002F\u003Cslug>.md`. Use the user's vivid language for the slug.\n\n2. **About a world concept they encountered** — a framework or model\n   someone else created that the user is referencing.\n   → `concepts\u002F\u003Cslug>.md`.\n\n3. **About a specific person** — new information, opinion, or observation\n   about someone.\n   → Update `people\u002F\u003Cperson>.md` timeline.\n\n4. **About a specific company** — new info about a company.\n   → Update `companies\u002F\u003Ccompany>.md` timeline.\n\n5. **A product or business idea** — something that could be built.\n   → `ideas\u002F\u003Cslug>.md`.\n\n6. **A personal reflection** — therapy-adjacent, emotional, identity.\n   → Append to appropriate `personal\u002F\u003Cslug>.md`.\n\n7. **None of the above \u002F random thought \u002F doesn't fit cleanly** —\n   → `voice-notes\u002FYYYY-MM-DD-\u003Cslug>.md` (catch-all).\n\n**Multiple categories?** Create the primary page, then cross-link to all\nothers. If the voice note covers a person AND a novel idea, create the\noriginals\u002F page AND update the person's timeline.\n\n## Brain page format\n\nFor ALL voice-note-derived pages, include this skeleton:\n\n```markdown\n---\ntitle: \"[Title derived from content]\"\ntype: [original | concept | voice-note | ...]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\ntags: [voice-note, relevant-tags]\nsources:\n  voice-note:\n    type: voice_note\n    storage_path: \"[gbrain storage URL or relative path]\"\n    acquired: YYYY-MM-DD\n    acquired_via: \"voice note from \u003Cchannel>\"\n---\n\n# Title\n\n> Executive summary of what was said and why it matters.\n\n## User's Words\n\n> \"Exact transcript, verbatim, preserving every word, hesitation, and verbal\n> tic. This is the primary source material. Do not edit.\"\n\n? [Audio]([gbrain storage URL or relative path])\n\n## Analysis\n\n[What this means, why it matters, connections to other thinking. The\nanalysis is the agent's interpretation; the transcript above is sacred.]\n\n## See Also\n\n- [Related brain pages with relative links]\n\n---\n\n## Timeline\n\n- **YYYY-MM-DD** | voice note from \u003Cchannel> — [Brief description]\n```\n\n## Citation format\n\n```\n[Source: voice note, \u003Cchannel>, YYYY-MM-DD]\n```\n\nInclude timestamps when available:\n\n```\n[Source: voice note, \u003Cchannel>, YYYY-MM-DD HH:MM PT]\n```\n\n## Naming convention\n\n- Audio files: `YYYY-MM-DD-\u003Cbrief-slug>.\u003Cext>` (e.g.,\n  `2026-04-13-rick-rubin-creative-philosophy.ogg`)\n- Brain pages: match the slug of the destination directory.\n\n## Bulk vs. single\n\nThis skill handles ONE voice note at a time. Each is its own ingest cycle.\nNo batching.\n\n## When it fails\n\nFollow the [agent operator protocol](..\u002Fconventions\u002Fagent-operator-protocol.md) for any gbrain error `code`, exit code, `[AGENT]` block or notice block. Specific to this skill:\n\n- Transcription is unavailable or the storage backend refuses the audio (`gbrain storage` shows no backend): file the note text you have and tell the user the audio was not stored.\n- The routed page write returns `revision_conflict` or `write_pending`: re-read and merge, or poll `gbrain write-request \u003Crequest_id>`; never paraphrase to resolve a conflict.\n\n## Anti-Patterns\n\n- ❌ **Paraphrasing the transcript.** The exact words are the signal.\n- ❌ **Cleaning up hesitations or filler words** (\"um\", \"like\", \"you\n  know\"). The texture matters.\n- ❌ **Creating a page with no entity cross-links** when people\u002Fcompanies\n  were mentioned. Iron Law fail.\n- ❌ **Skipping the audio storage step.** Always upload the original; the\n  brain page has a `? [Audio]` link back to it.\n\n## Related skills\n\n- `skills\u002Fsignal-detector\u002FSKILL.md` — same exact-phrasing pattern for\n  text-channel idea capture\n- `skills\u002Fidea-ingest\u002FSKILL.md` — for typed-text idea ingestion\n- `skills\u002Fconventions\u002Fquality.md` — citation + back-link rules\n\n\n## Contract\n\nThis skill guarantees:\n\n- Routing matches the canonical triggers in the frontmatter.\n- Output written under the directories listed in `writes_to:` (when applicable).\n- Conventions referenced (`quality.md`, `brain-first.md`, `_brain-filing-rules.md`) are followed.\n- Privacy contract preserved: no real names, no fork-specific filesystem path literals, no upstream-fork references.\n\nThe full behavior contract is documented in the body sections above; this section exists for the conformance test.\n\n## Output Format\n\nThe skill's output shape is documented inline in the body sections above (see \"Output\", \"Brain page format\", or equivalent). The literal section header here exists for the conformance test (`test\u002Fskills-conformance.test.ts`).\n",{"name":5,"version":49,"mutating":50,"triggers":51,"writes_to":57,"description":7,"writes_pages":50},"0.1.0",true,[52,53,54,24,55,56],"voice note","ingest this voice memo","transcribe and file","save this audio note","audio message",[58,59,60,61,62,63,64],"voice-notes\u002F","originals\u002F","concepts\u002F","people\u002F","companies\u002F","ideas\u002F","personal\u002F","master","074ec301549ded4930f04d2c3b22d709a6c095cc","skills\u002Fvoice-note-ingest",4871,"https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain","https:\u002F\u002Fgithub.com\u002Fgarrytan","https:\u002F\u002Fblog.garrytan.com","Writes software, dreams. ","2026-11-12 04:41:06",{"source":8,"skillName":5,"commands":75,"prompt":85,"zipAvailable":50},[76,79,82],{"tool":77,"command":78},"npx","npx skills add garrytan\u002Fgbrain --skill voice-note-ingest",{"tool":80,"command":81},"bunx","bunx skills add garrytan\u002Fgbrain --skill voice-note-ingest",{"tool":83,"command":84},"pnpm","pnpm dlx skills add garrytan\u002Fgbrain --skill voice-note-ingest","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fvoice-note-ingest\u002FSKILL.md",[87],{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"routing-eval.jsonl","OTHER","其他",820,"https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fvoice-note-ingest\u002Frouting-eval.jsonl",[94,107,113,133,158,172],{"skillNo":95,"name":96,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":44},"01M6N109FNGH1PK49T734PZXGB","query-helper","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fquery-helper\u002FSKILL.md",[],[100,101,102,103,104,105,106],"query helper","helper","query","search","page","find","false",{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":44},"01M6N108A23GW6NGQEQ0E7GV0A","broken","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fbroken\u002FSKILL.md",[],[109],{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":44},"01M6N105E88C5K2H03H0CC79G1","brain-ops","Read, enrich, and write brain pages with source attribution.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fbrain-ops\u002FSKILL.md",[],[120,121,122,30,123,104,124,125,126,127,102,128,34,33,129,130,131,132,103],"brain ops","brain","ops","attribution","read","write","up","look","pages","enrich","web","path","source",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":142,"publishedAt":44},"01M6N102GRMF22TVCNT6RK5MRD","meeting-prep","Build a briefing before you meet someone, from their recent threads, open loops and what they care about.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog-query\u002Fskills\u002Fmeeting-prep\u002FSKILL.md",[139],{"categoryNo":140,"categoryName":141,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000034","行政与办公人员",[143,144,145,146,147,103,148,149,150,102,106,151,152,153,154,155,156,157],"meeting","prep","meeting prep","me","prepare","brief","open","build","loops","about","you","briefing","threads","for","Meet",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":44},"01M6N1005QK7REHX5KGMNR5PF0","inbox-zero","Triage the inbox into replies, delegations and archives.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog-query\u002Fskills\u002Finbox-zero\u002FSKILL.md",[],[165,166,167,103,168,106,169,170,171],"inbox zero","ZeRO","inbox","clear","replies","my","triage",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":44},"01M6N0ZXQ8RRRW71PNV61T57GP","deal-memo","Draft an investment memo from the deal pages and the founder history already in the brain.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog-query\u002Fskills\u002Fdeal-memo\u002FSKILL.md",[],[179,180,28,128,121,181,182,125,183,30,103,184],"deal memo","deal","draft","investment","history","founder"]