[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M745F5J4Z2W32G4QXESCN5PM":3,"skill-same:01M745F5J4Z2W32G4QXESCN5PM":52},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":14,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":29,"ownerDescription":30,"updatedAt":31,"install":32,"resources":45},"01M745F5J4Z2W32G4QXESCN5PM","vault-recall",null,"Answer the user's conceptual or technical question using their Obsidian vault as well as general knowledge. Use when the user asks a question (not a task) whose topic appears in the vault MOC digest from session start. Not for task instructions, not mid-task, and not for writing to the vault (that is to-vault).","O-Marsters-1997\u002Fmy-claude-code","O-Marsters-1997","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72571979?v=4","01M6H800V7V9BSXYZKDM0JXTJ2","Olly Marsters","01M6H800ZYDJR42TNRH0E6ZVZ7",0,"MIT","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fvault-recall\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: vault-recall\ndescription: >-\n  Answer the user's conceptual or technical question using their Obsidian vault as well as general\n  knowledge. Use when the user asks a question (not a task) whose topic appears in the vault MOC\n  digest from session start. Not for task instructions, not mid-task, and not for writing to the\n  vault (that is to-vault).\n---\n\nAnswer the question from the vault plus general knowledge, in one reply. Read-only.\n\n## Inputs\n\n- **Vault**: `~\u002FDocuments\u002Fpersonal\u002Fobsidian\u002Fmy-obsidian-notes`. If it is missing, stop and say so.\n- **Question**: the user's question as asked. Do not read the vault's `CLAUDE.md`; this skill\n  holds the procedure.\n\n## Retrieval\n\nThe budget per firing is `index.md`, then at most 2 MOCs (`Home MOC` excluded), then at most 5\npages under `wiki\u002F` and `notes\u002F`. Reading a page's `summary:` counts as opening it.\n\n1. Read `index.md` and pick the MOCs that fit the question.\n2. Open at most 2 of them and pick pages from their links.\n3. For each page, read its `summary:` first; read the body only if the summary fits.\n4. If the links miss, grep `summary:`, `aliases:` and filenames, and nothing else, then open\n   hits within the same budget.\n\nStop when the budget is spent, even if more pages look relevant.\n\n## Answer\n\nGive one merged answer. A claim taken from a page opened in this firing carries `[[Page]]`\ninline; anything uncited is general knowledge. Cite only pages opened in this firing.\n\n## Not covered\n\nIf no opened page bears on the question, add exactly one line, `Your vault doesn't cover this.`,\nand answer from general knowledge with no cites.\n\n## Conflicts\n\nWhere an opened note disagrees with the current view (a Bootstrap 4 note, say), add one line per\nclash: `Your note [[X]] says Y; current view is Z because W.` Leave the note unchanged.\n\n## Keep\n\nWhen the user says \"keep this\" or \"save that\", invoke `to-vault` with the answer as the Capture.\n\n## Never\n\n- Write to the vault.\n- Exceed the budget.\n- Cite a page not opened in this firing.\n","Answer the question from the vault plus general knowledge, in one reply. Read-only.\n\n## Inputs\n\n- **Vault**: `~\u002FDocuments\u002Fpersonal\u002Fobsidian\u002Fmy-obsidian-notes`. If it is missing, stop and say so.\n- **Question**: the user's question as asked. Do not read the vault's `CLAUDE.md`; this skill\n  holds the procedure.\n\n## Retrieval\n\nThe budget per firing is `index.md`, then at most 2 MOCs (`Home MOC` excluded), then at most 5\npages under `wiki\u002F` and `notes\u002F`. Reading a page's `summary:` counts as opening it.\n\n1. Read `index.md` and pick the MOCs that fit the question.\n2. Open at most 2 of them and pick pages from their links.\n3. For each page, read its `summary:` first; read the body only if the summary fits.\n4. If the links miss, grep `summary:`, `aliases:` and filenames, and nothing else, then open\n   hits within the same budget.\n\nStop when the budget is spent, even if more pages look relevant.\n\n## Answer\n\nGive one merged answer. A claim taken from a page opened in this firing carries `[[Page]]`\ninline; anything uncited is general knowledge. Cite only pages opened in this firing.\n\n## Not covered\n\nIf no opened page bears on the question, add exactly one line, `Your vault doesn't cover this.`,\nand answer from general knowledge with no cites.\n\n## Conflicts\n\nWhere an opened note disagrees with the current view (a Bootstrap 4 note, say), add one line per\nclash: `Your note [[X]] says Y; current view is Z because W.` Leave the note unchanged.\n\n## Keep\n\nWhen the user says \"keep this\" or \"save that\", invoke `to-vault` with the answer as the Capture.\n\n## Never\n\n- Write to the vault.\n- Exceed the budget.\n- Cite a page not opened in this firing.\n",{"name":5,"description":7},"main","6fd42d1a9444808ba09b42e72521b74149b58a79","skills\u002Fproductivity\u002Fvault-recall","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997","https:\u002F\u002Fpersonal-portfolio-v2-phi.vercel.app","Go & TypeScript developer building tooling for AI-assisted development: git worktree workflows, Claude Code skills and agent orchestration.","2026-11-11 22:26:34",{"source":8,"skillName":5,"commands":33,"prompt":43,"zipAvailable":44},[34,37,40],{"tool":35,"command":36},"npx","npx skills add O-Marsters-1997\u002Fmy-claude-code --skill vault-recall",{"tool":38,"command":39},"bunx","bunx skills add O-Marsters-1997\u002Fmy-claude-code --skill vault-recall",{"tool":41,"command":42},"pnpm","pnpm dlx skills add O-Marsters-1997\u002Fmy-claude-code --skill vault-recall","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fvault-recall\u002FSKILL.md",true,[46],{"path":47,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":50,"sourceHtmlUrl":51},"evals\u002Fevals.json","REFERENCE","参考文档",559,"https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fvault-recall\u002Fevals\u002Fevals.json",[53,60,89,119,146,168],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":19},"01M745EW5W0A7K9016Z54A4KG2","ingest","Ingest one external source (an article, course lesson, doc, PDF or URL) into the user's Obsidian vault: save the original to raw\u002F, then build wiki\u002F pages per the vault's § Ingest. Use when the user types \u002Fingest, or says \"ingest this\", \"add this source to my wiki\", \"put this article\u002Flesson in the vault as a wiki page\". Works from any repo. Routing rule: someone else's words go to wiki\u002F (this skill); the user's own learnings and decisions go to notes\u002F (\u002Fto-vault).","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fingest\u002FSKILL.md",[],[],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":88},"01M6H88J6TYRV9T8RKWW569YM8","to-tickets","Breaks a source into independently-grabbable GitHub tickets. For a code feature the source is the plan (`docs\u002Fplans\u002F\u003Cfeature>.md`, from \u002Fto-plan) and every new or changed symbol lands in exactly one ticket, its signatures copied into the ticket body; a non-code feature is cut from the PRD's slices. Cuts tickets for one feature per run. If a code feature has no approved plan, offers \u002Fto-plan instead of cutting from prose. In a repo that runs command-centre, also emits `[[task]]` blocks into its config; in a plain treepad repo, emits a Batch Manifest instead so the tickets materialise as stacked worktrees.","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow\u002Fto-tickets\u002FSKILL.md",[],[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"tickets","to tickets","as","feature","for","repo","signatures","ticket","true","plans","manifest","code","task","batch","plan","github","command","run","worktrees","cut","new","2026-11-10 10:12:30",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":100,"publishedAt":88},"01M6H88E98X9KGGYBGSVDS1E8H","to-seams","Records an agreed-but-unlanded cross-repo interface as a seam: the file a consumer's agent gets pasted into its prompt as ground truth, plus the `[[seam]]` block command-centre reads for the retirement pointer. Use when two repos need to build against an interface neither has landed yet — \"record a seam for X\", \"we agreed on this schema, seam it\", \"add a seam so Y can build against Z's new field\". Halts for approval before writing either file.","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow\u002Fto-seams\u002FSKILL.md",[95],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[101,69,102,83,103,71,72,104,105,106,75,107,108,109,110,111,112,113,114,115,116,87,117,118],"to seams","record","build","records","block","repos","interface","schema","writing","use","either","prompt","file","but","it","neither","when","can",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":130,"publishedAt":88},"01M6H889PSQM2E1ATS2JC10QRV","to-roadmap","Prioritises settled features into a Now \u002F Next \u002F Later kanban board, rendered as a self-contained .\u002Fideas\u002Froadmap.html. Each card is a feature, not a ticket — one card later becomes several tickets via \u002Fto-prd -> \u002Fto-plan -> \u002Fto-tickets. Boards the features in .\u002Fdocs\u002Fapproach.md, or the \"## Accepted ideas\" in .\u002Fideas\u002FCONTEXT.md when there is no approach doc. The approach doc is settled truth: this assigns tiers and reasons about ordering, it never re-litigates what was decided.","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow\u002Fto-roadmap\u002FSKILL.md",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[131,132,69,133,70,134,135,136,74,75,137,138,81,139,140,141,67,142,143,144,117,145],"roadmap","to roadmap","never","ideas","re","card","now","self","later","via","next","about","board","doc","features",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":88},"01M6H885QAK839Q771ZBKBK1KA","to-prd","Turns one feature idea into a PRD built on journeys: a one-line problem, journeys (each ending in an observable state) and delivery slices that say what is usable after each. Interviews, explores the codebase, and saves to docs\u002Fprds\u002F\u003Cfeature>.md. Covers exactly one feature: given a multi-feature source, ask which one. Reads any approach doc or ideate report as priors so it doesn't re-ask what's settled, but needs none. Starts the per-feature spine (\u002Fto-prd -> \u002Fto-plan -> \u002Fto-tickets).","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow\u002Fto-prd\u002FSKILL.md",[152],{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},[154,155,69,156,157,70,135,75,158,159,160,161,81,162,67,163,164,165,166,167],"to prd","prd","which","problem","ask","multi","state","say","spine","delivery","line","report","codebase","interviews",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":88},"01M6H881QEEP49HPBMDYDFJQP9","to-plan","Turns one feature's PRD into a skimmable plan in docs\u002Fplans\u002F\u003Cfeature>.md: a short overview, then per phase a glossary, the journeys it satisfies, and its new and modified definitions (types, enums, ports, schema), with the project:\u003Cslug> label. No code, branch or PR; the user's review of the file is the gate. Use for \"plan this feature\", \"write the contract\", \"what are the types\". One feature per run. Slash-only.","https:\u002F\u002Fgithub.com\u002FO-Marsters-1997\u002Fmy-claude-code\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow\u002Fto-plan\u002FSKILL.md",[],[81,175,176,177,178,179,70,71,180,181,75,182,76,183,184,108,110,185,113,78,186,87],"to plan","ports","branch","pr","types","project","short","overview","contract","only","glossary","\u003Cslug>"]