[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F1R7VGAPGRBQSRJRESK1PD":3,"skill-same:01M6F1R7VGAPGRBQSRJRESK1PD":53},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":34,"repositoryHtmlUrl":35,"repositoryHomepageUrl":36,"ownerHtmlUrl":37,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":38,"install":39,"resources":52},"01M6F1R7VGAPGRBQSRJRESK1PD","git.update_references",null,"Update references in other Git repos to files moved, renamed, or deleted here","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\u002Fgit.update_references\u002FSKILL.md",[],[19,20,21,22,23,24,25],"update","git","git update references","references","repos","haiku","files","2026-11-10 10:12:30",false,"---\ndescription: Update references in other Git repos to files moved, renamed, or deleted here\nmodel: haiku\n---\n\n# Goal\n- Find files that were moved, renamed, updated, or deleted in the current repo\n  and update all references to them in the other Git repos\n\n# Workflow\n\n## Find Changed Files\n- Find all the files moved, renamed, updated, or deleted in the current repo\n  using a command line:\n  ```bash\n  > invoke git_files --branch --only-print-files\n  ```\n\n- Print all the files that are moved, renamed, or deleted\n  - Print the main functions changed\n\n## Search for References\n- For each file `\u003CFILE>`, look for all the references to `\u003CFILE>` in the repos:\n  - `helper`: the current repo\n  - `umd_classes`: located at `~\u002Fsrc\u002Fumd_classes1`\n  - `csfy`: located at `~\u002Fsrc\u002Fcsfy1`\n  - `orange`: located at `~\u002Fsrc\u002Forange1`\n  - `lemonade`: located at `~\u002Fsrc\u002Flemonade1`\n\n- You must:\n  - Ignore searching in any Git sub repository of each repo (e.g.,\n    `helpers_root`)\n  - Only search in files that are under Git control\n  - Ignore searching in symlinks (e.g., `.claude`) using an approach like:\n  ```bash\n  search_repo() {\n    local repo_path=$1\n    local search_term=$2\n\n    (cd \"$repo_path\" && {\n      # Get submodule paths to exclude\n      submodules=$(git config --file .gitmodules --name-only --get-regexp path 2>\u002Fdev\u002Fnull | sed 's\u002F.*path=\u002F\u002F' | tr '\\n' '|' | sed 's\u002F|$\u002F\u002F')\n\n      if [ -n \"$submodules\" ]; then\n        git ls-files | grep -v \"^($submodules)\" | while read -r file; do\n          [ ! -L \"$file\" ] && echo \"$file\"\n        done | xargs grep \"$search_term\" 2>\u002Fdev\u002Fnull\n      else\n        git ls-files | while read -r file; do\n          [ ! -L \"$file\" ] && echo \"$file\"\n        done | xargs grep \"$search_term\" 2>\u002Fdev\u002Fnull\n      fi\n    })\n  }\n  ```\n\n- Print the references in a table organized by:\n  - Repos\n  - Files\n\n- Create a vim quickfile cfile for the locations using the conventions in\n  `.claude\u002Fskills\u002Fcfile.rules.md`\n\n- Pause and ask the user to continue\n\n## Update References\n- Update the references in all the repos\n\n# Verification\n- [ ] Confirm every reference to each moved, renamed, or deleted file was\n      updated in every repo\n- [ ] Re-run the search and confirm no stale reference remains\n","# Goal\n- Find files that were moved, renamed, updated, or deleted in the current repo\n  and update all references to them in the other Git repos\n\n# Workflow\n\n## Find Changed Files\n- Find all the files moved, renamed, updated, or deleted in the current repo\n  using a command line:\n  ```bash\n  > invoke git_files --branch --only-print-files\n  ```\n\n- Print all the files that are moved, renamed, or deleted\n  - Print the main functions changed\n\n## Search for References\n- For each file `\u003CFILE>`, look for all the references to `\u003CFILE>` in the repos:\n  - `helper`: the current repo\n  - `umd_classes`: located at `~\u002Fsrc\u002Fumd_classes1`\n  - `csfy`: located at `~\u002Fsrc\u002Fcsfy1`\n  - `orange`: located at `~\u002Fsrc\u002Forange1`\n  - `lemonade`: located at `~\u002Fsrc\u002Flemonade1`\n\n- You must:\n  - Ignore searching in any Git sub repository of each repo (e.g.,\n    `helpers_root`)\n  - Only search in files that are under Git control\n  - Ignore searching in symlinks (e.g., `.claude`) using an approach like:\n  ```bash\n  search_repo() {\n    local repo_path=$1\n    local search_term=$2\n\n    (cd \"$repo_path\" && {\n      # Get submodule paths to exclude\n      submodules=$(git config --file .gitmodules --name-only --get-regexp path 2>\u002Fdev\u002Fnull | sed 's\u002F.*path=\u002F\u002F' | tr '\\n' '|' | sed 's\u002F|$\u002F\u002F')\n\n      if [ -n \"$submodules\" ]; then\n        git ls-files | grep -v \"^($submodules)\" | while read -r file; do\n          [ ! -L \"$file\" ] && echo \"$file\"\n        done | xargs grep \"$search_term\" 2>\u002Fdev\u002Fnull\n      else\n        git ls-files | while read -r file; do\n          [ ! -L \"$file\" ] && echo \"$file\"\n        done | xargs grep \"$search_term\" 2>\u002Fdev\u002Fnull\n      fi\n    })\n  }\n  ```\n\n- Print the references in a table organized by:\n  - Repos\n  - Files\n\n- Create a vim quickfile cfile for the locations using the conventions in\n  `.claude\u002Fskills\u002Fcfile.rules.md`\n\n- Pause and ask the user to continue\n\n## Update References\n- Update the references in all the repos\n\n# Verification\n- [ ] Confirm every reference to each moved, renamed, or deleted file was\n      updated in every repo\n- [ ] Re-run the search and confirm no stale reference remains\n",{"model":24,"description":7},"master","804ae3e928c04740cec553be0eb28c8d06ff420e",".claude\u002Fskills\u002Fgit.update_references",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":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add causify-ai\u002Fhelpers --skill git.update_references",{"tool":45,"command":46},"bunx","bunx skills add causify-ai\u002Fhelpers --skill git.update_references",{"tool":48,"command":49},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill git.update_references","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fgit.update_references\u002FSKILL.md",true,[],[54,74,92,104,113,127],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":65,"publishedAt":26},"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",[60],{"categoryNo":61,"categoryName":62,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[66,67,68,69,70,71,24,25,72,73],"docker","tutorial","tutorial in 60 mins propagate docker changes","propagate","template","sync","project","match",{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":83,"publishedAt":26},"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",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000002","文档处理",[84,85,67,86,87,88,24,89,90,91],"markdown","merge","tutorial in 60 mins merge markdown","notebook","jupyter","file","jupyter notebook","content",{"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":98,"publishedAt":26},"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",[],[99,67,100,101,102,24,103],"tutorial in 60 mins format","format","directory","learn","conventions",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":26},"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",[],[111,67,112,102,101,103],"tutorial in 60 mins create","create",{"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":26},"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",[],[120,121,122,123,124,125,126],"progress","todo","todo reorg in progress","tasks","queue","task","stage",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":26},"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",[],[134,121,124,125,126],"todo reorg headers"]