[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F1ZM8WTSFHA6HC3NJ3P6AB":3,"skill-same:01M6F1ZM8WTSFHA6HC3NJ3P6AB":54},{"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":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":37,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6F1ZM8WTSFHA6HC3NJ3P6AB","text.merge_files",null,"Move content from a file into another one without redundancy","causify-ai\u002Fhelpers","causify-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F121828442?v=4","01M6BZFTHW2MQR7FWK8CDW0DRA","Causify.AI","01M6F1K6CCKKF8YKTBN4ZV509G",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftext.merge_files\u002FSKILL.md",[],[19,20,21,22,23,24,25,26],"merge","text","text merge files","files","content","file","haiku","move","2026-11-10 10:12:30",false,"---\ndescription: Move content from a file into another one without redundancy\nmodel: haiku\n---\n\n# Goal\n\n- You are an expert technical writer\n- Given a source file `\u003CSRC_FILE>` and a destination file `\u003CDST_FILE>`, move\n  and merge the content of `\u003CSRC_FILE>` into `\u003CDST_FILE>` following\n  conventions in\n  - `.claude\u002Fskills\u002Fmarkdown.rules.md`\n  - `.claude\u002Fskills\u002Ftext.rules.md`\n\n# Workflow\n\n- Move the chunks of text from `\u003CSRC_FILE>` that can be added into `\u003CDST_FILE>`\n  without introducing redundancy\n  - Add them to the right place in terms of headers in `\u003CDST_FILE>` and following\n    the style and the rules of the `\u003CDST_FILE>`\n  - When you move chunks you must delete them from `\u003CSRC_FILE>`\n- Remove the chunks from `\u003CSRC_FILE>` that are redundant with the content of\n  `\u003CDST_FILE>`\n- Leave in `\u003CSRC_FILE>` only text that can't be moved since it doesn't apply to\n  `\u003CDST_FILE>`\n\n# Verification\n- [ ] Confirm no redundant content remains in `\u003CDST_FILE>`\n- [ ] Confirm `\u003CSRC_FILE>` contains only content that could not be moved\n","# Goal\n\n- You are an expert technical writer\n- Given a source file `\u003CSRC_FILE>` and a destination file `\u003CDST_FILE>`, move\n  and merge the content of `\u003CSRC_FILE>` into `\u003CDST_FILE>` following\n  conventions in\n  - `.claude\u002Fskills\u002Fmarkdown.rules.md`\n  - `.claude\u002Fskills\u002Ftext.rules.md`\n\n# Workflow\n\n- Move the chunks of text from `\u003CSRC_FILE>` that can be added into `\u003CDST_FILE>`\n  without introducing redundancy\n  - Add them to the right place in terms of headers in `\u003CDST_FILE>` and following\n    the style and the rules of the `\u003CDST_FILE>`\n  - When you move chunks you must delete them from `\u003CSRC_FILE>`\n- Remove the chunks from `\u003CSRC_FILE>` that are redundant with the content of\n  `\u003CDST_FILE>`\n- Leave in `\u003CSRC_FILE>` only text that can't be moved since it doesn't apply to\n  `\u003CDST_FILE>`\n\n# Verification\n- [ ] Confirm no redundant content remains in `\u003CDST_FILE>`\n- [ ] Confirm `\u003CSRC_FILE>` contains only content that could not be moved\n",{"model":25,"description":7},"master","804ae3e928c04740cec553be0eb28c8d06ff420e",".claude\u002Fskills\u002Ftext.merge_files",1,"https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers","https:\u002F\u002Fcausify-ai.github.io\u002Fhelpers\u002F","https:\u002F\u002Fgithub.com\u002Fcausify-ai","2026-11-02 21:54:29",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add causify-ai\u002Fhelpers --skill text.merge_files",{"tool":46,"command":47},"bunx","bunx skills add causify-ai\u002Fhelpers --skill text.merge_files",{"tool":49,"command":50},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill text.merge_files","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftext.merge_files\u002FSKILL.md",true,[],[55,75,90,102,111,125],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":66,"publishedAt":27},"01M6F209RASRBEK7GBNG5M00K0","tutorial_in_60_mins.propagate_docker_changes","Sync tutorial and class-project Docker files to match project_template","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.propagate_docker_changes\u002FSKILL.md",[61],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[67,68,69,70,71,72,25,22,73,74],"docker","tutorial","tutorial in 60 mins propagate docker changes","propagate","template","sync","project","match",{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":84,"publishedAt":27},"01M6F207XZ5YDAJ0KNDRE6EN0R","tutorial_in_60_mins.merge_markdown","Merge the content of a markdown file into a Jupyter notebook","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.merge_markdown\u002FSKILL.md",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000002","文档处理",[85,19,68,86,87,88,25,24,89,23],"markdown","tutorial in 60 mins merge markdown","notebook","jupyter","jupyter notebook",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":27},"01M6F2059X95Q1A13HD67E9JRF","tutorial_in_60_mins.format","Format a directory to follow the \"Learn X in 60 Minutes\" tutorial conventions","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.format\u002FSKILL.md",[],[97,68,98,99,100,25,101],"tutorial in 60 mins format","format","directory","learn","conventions",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":27},"01M6F202MDHMNYD5S1YHG2PKZD","tutorial_in_60_mins.create","Create a tutorial directory for the Learn X in 60 Minutes conventions","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.create\u002FSKILL.md",[],[109,68,110,100,99,101],"tutorial in 60 mins create","create",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":27},"01M6F2004BW13GQ59N3RGSAYVN","todo.reorg_in_progress","Reorganize ai_task_queue.md so in-progress tasks, not-started tasks, and mislabeled topic headers sit under the right H1 stage","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftodo.reorg_in_progress\u002FSKILL.md",[],[118,119,120,121,122,123,124],"progress","todo","todo reorg in progress","tasks","queue","task","stage",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":27},"01M6F1ZXN0G6HBD08GT8HE5FYA","todo.reorg_headers","Reorganize ai_task_queue.md .md so every H2 topic matches ALL TOPICS and every H3 task sits under the right topic, keeping its H1 stage","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftodo.reorg_headers\u002FSKILL.md",[],[132,119,122,123,124],"todo reorg headers"]