[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70M7Z61HX6XRTZ06B0SVRVA":3,"skill-same:01M70M7Z61HX6XRTZ06B0SVRVA":72},{"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":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":71},"01M70M7Z61HX6XRTZ06B0SVRVA","migrate",null,"Universal migration from Obsidian, Notion, Logseq, markdown, CSV, JSON, Roam","shengdabai\u002FTony-Claude-Code-Skills","shengdabai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F116417419?v=4","01M70F6D2WY5PQV5A92BKYJQEW","Tony Sheng","01M70F6D3GAAAYZ5H4CC1G8VXM",3,"MIT","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgbrain-migrate\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"import","page","notion","search","obsidian","true","csv","markdown","json","link","brain","logseq","sync","migration","add","2026-11-10 10:12:30",false,"---\nname: migrate\ndescription: Universal migration from Obsidian, Notion, Logseq, markdown, CSV, JSON, Roam\ntriggers:\n  - \"migrate from\"\n  - \"import from obsidian\"\n  - \"import from notion\"\ntools:\n  - put_page\n  - search\n  - add_link\n  - add_tag\n  - sync_brain\nmutating: true\n---\n\n# Migrate Skill\n\nUniversal migration from any wiki, note tool, or brain system into GBrain.\n\n## Contract\n\n- Source data is never modified or deleted; migration is additive only.\n- Every migrated page is verified round-trip: written to gbrain, read back, spot-checked.\n- Cross-references from the source system (wikilinks, block refs, tags) are converted to gbrain equivalents.\n- Migration is tested on a sample (5-10 files) before bulk execution.\n- Post-migration health check confirms page count, link integrity, and embedding coverage.\n\n## Supported Sources\n\n| Source | Format | Strategy |\n|--------|--------|----------|\n| Obsidian | Markdown + `[[wikilinks]]` | Direct import, convert wikilinks to gbrain links |\n| Notion | Exported markdown or CSV | Parse Notion's export structure |\n| Logseq | Markdown with `((block refs))` | Convert block refs to page links |\n| Plain markdown | Any .md directory | Import directory into gbrain directly |\n| CSV | Tabular data | Map columns to frontmatter fields |\n| JSON | Structured data | Map keys to page fields |\n| Roam | JSON export | Convert block structure to pages |\n\n## Phases\n\n1. **Assess the source.** What format? How many files? What structure?\n2. **Plan the mapping.** How do source fields map to gbrain fields (type, title, tags, compiled_truth, timeline)?\n3. **Test with a sample.** Import 5-10 files, verify by reading them back from gbrain and exporting.\n4. **Bulk import.** Import the full directory into gbrain.\n5. **Verify.** Check gbrain health and statistics, spot-check pages.\n6. **Build links.** Extract cross-references from content and create typed links in gbrain.\n\n## Obsidian Migration\n\n1. Import the vault directory into gbrain (Obsidian vaults are markdown directories)\n2. Wire the graph with native wikilink support (v0.12.1+):\n\n   ```bash\n   gbrain extract links --source db --dry-run | head -20    # preview\n   gbrain extract links --source db                         # commit\n   ```\n\n   `extract links` natively parses `[[relative\u002Fpath]]` and `[[relative\u002Fpath|Display Text]]`\n   alongside standard `[text](page.md)` markdown syntax. Ancestor-search resolution handles\n   wiki KBs where authors omit one or more leading `..\u002F` prefixes. The `.md` suffix is\n   inferred automatically for wikilinks.\n\nObsidian-specific:\n- Tags (`#tag`) become gbrain tags\n- Frontmatter properties map to gbrain frontmatter\n- Attachments (images, PDFs) are noted but handled separately via file storage\n\n## Notion Migration\n\n1. Export from Notion: Settings > Export > Markdown & CSV\n2. Notion exports nested directories with UUIDs in filenames\n3. Strip UUIDs from filenames for clean slugs\n4. Map Notion's database properties to frontmatter\n5. Import the cleaned directory into gbrain\n\n## CSV Migration\n\nFor tabular data (e.g., CRM exports, contact lists):\n1. For each row in the CSV, create a page with column values as frontmatter\n2. Use a designated column as the slug (e.g., name)\n3. Use another column as compiled_truth (e.g., notes)\n4. Store each page in gbrain\n\n## Verification\n\nAfter any migration:\n1. Check gbrain statistics to verify page count matches source\n2. Check gbrain health for orphans and missing embeddings\n3. Export pages from gbrain for round-trip verification\n4. Spot-check 5-10 pages by reading them from gbrain\n5. Test search: search gbrain for \"someone you know is in the data\"\n\n## Anti-Patterns\n\n- **Bulk import without sample test.** Never import the full dataset before verifying with 5-10 files. The cost of cleaning up hundreds of bad pages is enormous.\n- **Destroying source data.** Migration is additive. Never modify, move, or delete the source files.\n- **Ignoring cross-references.** Wikilinks, block refs, and tags from the source system must be converted to gbrain equivalents. Dropping them loses the knowledge graph.\n- **Skipping verification.** A migration without post-import health check, page count comparison, and spot-check reads is incomplete.\n\n## Output Format\n\n```\nMIGRATION REPORT -- [source] -> GBrain\n=======================================\n\nSource: [format] ([file count] files, [size])\nMapping: [field mapping summary]\n\nSample Test (N files):\n- Imported: N\u002FN\n- Round-trip verified: N\u002FN\n- Cross-refs converted: N\n\nBulk Import:\n- Total imported: N\n- Skipped (duplicates\u002Ferrors): N\n- Links created: N\n- Tags migrated: N\n\nVerification:\n- Page count match: [yes\u002Fno]\n- Health check: [pass\u002Ffail]\n- Search test: [query] -> [result count] hits\n```\n\n## Tools Used\n\n- Store\u002Fupdate pages in gbrain (put_page)\n- Read pages from gbrain (get_page)\n- Link entities in gbrain (add_link)\n- Tag pages in gbrain (add_tag)\n- Get gbrain statistics (get_stats)\n- Check gbrain health (get_health)\n- Search gbrain (query)\n","# Migrate Skill\n\nUniversal migration from any wiki, note tool, or brain system into GBrain.\n\n## Contract\n\n- Source data is never modified or deleted; migration is additive only.\n- Every migrated page is verified round-trip: written to gbrain, read back, spot-checked.\n- Cross-references from the source system (wikilinks, block refs, tags) are converted to gbrain equivalents.\n- Migration is tested on a sample (5-10 files) before bulk execution.\n- Post-migration health check confirms page count, link integrity, and embedding coverage.\n\n## Supported Sources\n\n| Source | Format | Strategy |\n|--------|--------|----------|\n| Obsidian | Markdown + `[[wikilinks]]` | Direct import, convert wikilinks to gbrain links |\n| Notion | Exported markdown or CSV | Parse Notion's export structure |\n| Logseq | Markdown with `((block refs))` | Convert block refs to page links |\n| Plain markdown | Any .md directory | Import directory into gbrain directly |\n| CSV | Tabular data | Map columns to frontmatter fields |\n| JSON | Structured data | Map keys to page fields |\n| Roam | JSON export | Convert block structure to pages |\n\n## Phases\n\n1. **Assess the source.** What format? How many files? What structure?\n2. **Plan the mapping.** How do source fields map to gbrain fields (type, title, tags, compiled_truth, timeline)?\n3. **Test with a sample.** Import 5-10 files, verify by reading them back from gbrain and exporting.\n4. **Bulk import.** Import the full directory into gbrain.\n5. **Verify.** Check gbrain health and statistics, spot-check pages.\n6. **Build links.** Extract cross-references from content and create typed links in gbrain.\n\n## Obsidian Migration\n\n1. Import the vault directory into gbrain (Obsidian vaults are markdown directories)\n2. Wire the graph with native wikilink support (v0.12.1+):\n\n   ```bash\n   gbrain extract links --source db --dry-run | head -20    # preview\n   gbrain extract links --source db                         # commit\n   ```\n\n   `extract links` natively parses `[[relative\u002Fpath]]` and `[[relative\u002Fpath|Display Text]]`\n   alongside standard `[text](page.md)` markdown syntax. Ancestor-search resolution handles\n   wiki KBs where authors omit one or more leading `..\u002F` prefixes. The `.md` suffix is\n   inferred automatically for wikilinks.\n\nObsidian-specific:\n- Tags (`#tag`) become gbrain tags\n- Frontmatter properties map to gbrain frontmatter\n- Attachments (images, PDFs) are noted but handled separately via file storage\n\n## Notion Migration\n\n1. Export from Notion: Settings > Export > Markdown & CSV\n2. Notion exports nested directories with UUIDs in filenames\n3. Strip UUIDs from filenames for clean slugs\n4. Map Notion's database properties to frontmatter\n5. Import the cleaned directory into gbrain\n\n## CSV Migration\n\nFor tabular data (e.g., CRM exports, contact lists):\n1. For each row in the CSV, create a page with column values as frontmatter\n2. Use a designated column as the slug (e.g., name)\n3. Use another column as compiled_truth (e.g., notes)\n4. Store each page in gbrain\n\n## Verification\n\nAfter any migration:\n1. Check gbrain statistics to verify page count matches source\n2. Check gbrain health for orphans and missing embeddings\n3. Export pages from gbrain for round-trip verification\n4. Spot-check 5-10 pages by reading them from gbrain\n5. Test search: search gbrain for \"someone you know is in the data\"\n\n## Anti-Patterns\n\n- **Bulk import without sample test.** Never import the full dataset before verifying with 5-10 files. The cost of cleaning up hundreds of bad pages is enormous.\n- **Destroying source data.** Migration is additive. Never modify, move, or delete the source files.\n- **Ignoring cross-references.** Wikilinks, block refs, and tags from the source system must be converted to gbrain equivalents. Dropping them loses the knowledge graph.\n- **Skipping verification.** A migration without post-import health check, page count comparison, and spot-check reads is incomplete.\n\n## Output Format\n\n```\nMIGRATION REPORT -- [source] -> GBrain\n=======================================\n\nSource: [format] ([file count] files, [size])\nMapping: [field mapping summary]\n\nSample Test (N files):\n- Imported: N\u002FN\n- Round-trip verified: N\u002FN\n- Cross-refs converted: N\n\nBulk Import:\n- Total imported: N\n- Skipped (duplicates\u002Ferrors): N\n- Links created: N\n- Tags migrated: N\n\nVerification:\n- Page count match: [yes\u002Fno]\n- Health check: [pass\u002Ffail]\n- Search test: [query] -> [result count] hits\n```\n\n## Tools Used\n\n- Store\u002Fupdate pages in gbrain (put_page)\n- Read pages from gbrain (get_page)\n- Link entities in gbrain (add_link)\n- Tag pages in gbrain (add_tag)\n- Get gbrain statistics (get_stats)\n- Check gbrain health (get_health)\n- Search gbrain (query)\n",{"name":5,"tools":39,"mutating":44,"triggers":45,"description":7},[40,22,41,42,43],"put_page","add_link","add_tag","sync_brain",true,[46,47,48],"migrate from","import from obsidian","import from notion","main","7850740bd837adb32f0a109ab2af82482196c6f2","skills\u002Fgbrain-migrate",1,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills","https:\u002F\u002Fzturnsgo.com","https:\u002F\u002Fgithub.com\u002Fshengdabai","https:\u002F\u002Fzturnsgo.com\u002F","AI × education creator — producer, not consumer. Taught 6,000+ learners; shipping learning tools & daily essays with Claude Code, practicing @xiaolai's way 🥋","2026-11-01 21:28:23",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":44},[61,64,67],{"tool":62,"command":63},"npx","npx skills add shengdabai\u002FTony-Claude-Code-Skills --skill migrate",{"tool":65,"command":66},"bunx","bunx skills add shengdabai\u002FTony-Claude-Code-Skills --skill migrate",{"tool":68,"command":69},"pnpm","pnpm dlx skills add shengdabai\u002FTony-Claude-Code-Skills --skill migrate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgbrain-migrate\u002FSKILL.md",[],[73,92,126,153,174,194],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":34},"01M70P17DAD4C1C47NPH6A96EM","xiaolai-methodology","以李笑来(Li Xiaolai)的思考方式、方法论与表达风格,为用户做全方位 1-on-1 教练指导,覆盖创业、赚钱、投资、学习、自学、读书写作、用 AI、以及人生心态与自我管理。当用户提到 \"李笑来\"、\"笑来\"、\"笑来老师\"、\"扮演李笑来\"、\"找笑来聊聊\"、\"笑来怎么看\"、\"xiaolai\"、\"把时间当作朋友\"、\"通往财富自由之路\"、\"定投改变命运\"、\"韭菜的自我修养\"、\"自学是门手艺\"、\"让时间陪你慢慢变富\"、\"七年就是一辈子\"、\"元认知\"、\"活在未来\"、\"复利\u002F长期主义\"、\"践行\"、\"痴迷改进\"、\"个人商业模式\u002F出售时间\"、\"睡后收入\"、\"定投\"、\"财富自由\"、\"操作系统升级\"、\"最少必要知识\"、\"北极星提示词\"、\"用 AI 该怎么学\u002F思考\" 等任一触发词,或当用户带着关于创业\u002F赚钱\u002F投资\u002F学习\u002F职业\u002F重大人生决策的困惑、希望被人用笑来式的「逻辑 + 大白话 + 类比 + 重新定义 + 践行导向」来点醒和指导时,自动进入李笑来教练模式。","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fxiaolai-methodology\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",[85,86,87,88,89,90,91],"methodology","xiaolai","xiaolai methodology","朋友","投资","writing","收入",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":106,"publishedAt":34},"01M70P13NB9YP7ACJR1S861CDS","zread","Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `.\u002F.zread\u002Fwiki\u002F`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module\u002Fpackage explanations, or \"what does this repo do\"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread \u002F zread.ai directly. Also use it proactively before diving into a large unknown repo — if `.\u002F.zread\u002Fwiki\u002Fcurrent` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word \"zread\".","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fzread\u002FSKILL.md",[98,101],{"categoryNo":99,"categoryName":100,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[94,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],"knowledge","wiki","explore","walkthrough","project","get","knowledge base","run","generate","intent","cli","map","documentation","project wiki","disk","architecture","code","unknown","generated",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":136,"publishedAt":34},"01M70P10S4SWMZQ8BJAFBFDRW3","youtube","Launch the YouTube Creator Agent to auto-generate videos.\nUse when: user types \u002Fyoutube, wants to create YouTube videos,\ngenerate video content, or upload to YouTube.\nKeywords: youtube, video, 视频, 创作视频, 发布视频","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube\u002FSKILL.md",[132,133],{"categoryNo":99,"categoryName":100,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":134,"categoryName":135,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000036","内容创作者",[128,137,138,139,140,141,142,143,115,144,145,146,147,148,149,150,151,152],"user","content","视频","creator","generate video","videos","launch","video content","create","upload","when","use","auto","types","Video","创作",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":34},"01M70P0YE95D8BACZCGV8BK90K","youtube-script-sync","Sync, update, or optimize Tony's GetNote knowledge base `Youtube视频逐字稿` by turning each parent recording or first-person idea note into an idempotent child note containing a directly recordable YouTube long-video or Shorts script. Use when the user says “更新\u002F同步\u002F优化 Youtube视频逐字稿知识库”, or says “更新\u002F同步\u002F优化该知识库” while this knowledge base is the active context.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-script-sync\u002FSKILL.md",[159],{"categoryNo":99,"categoryName":100,"taxonomyType":82,"taxonomyTypeDesc":83},[31,161,128,162,163,151,164,165,166,167,168,169,170,171,113,172,147,148,107,173],"script","youtube script sync","recording","shorts","first","base","person","update","active","child","optimize","idempotent","long",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":184,"publishedAt":34},"01M70P0WMV5XT0EEC0N445PW07","writing-skills","How to write SKILL.md files that trigger reliably and teach effectively. Use when creating, improving, or reviewing Claude Code skills.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-skills\u002FSKILL.md",[180,181,182,183],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":99,"categoryName":100,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":134,"categoryName":135,"taxonomyType":104,"taxonomyTypeDesc":105},[185,90,186,187,188,189,123,147,148,190,191,192,193],"writing skills","how","teach","write skill","write","claude code skills","files","how to","trigger",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":202,"publishedAt":34},"01M70P0SJFR4YVJQBGMHKGSKXT","writing-rules","How to write .claude\u002Frules\u002F files that Claude actually follows. Use when creating, improving, or reviewing project rules.","https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fxiaolai\u002Fnlpm\u002Fskills\u002Fnlpm\u002Fwriting-rules\u002FSKILL.md",[200,201],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":134,"categoryName":135,"taxonomyType":104,"taxonomyTypeDesc":105},[203,90,204,111,205,191,147,186,189,148,192],"Rules","writing rules","project rules"]