[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F1RAMQ8RQ55EDHH49JJJ4D":3,"skill-same:01M6F1RAMQ8RQ55EDHH49JJJ4D":55},{"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":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":40,"install":41,"resources":54},"01M6F1RAMQ8RQ55EDHH49JJJ4D","github.create_child_pr",null,"Write instructions to build a child PR from the current branch","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\u002Fgithub.create_child_pr\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"github","pr","create","github create child pr","haiku","branch","write","instructions","build","2026-11-10 10:12:30",false,"---\ndescription: Write instructions to build a child PR from the current branch\nmodel: haiku\n---\n\n# Goal\n- Given the current `\u003CSRC>` Git branch, write instructions to build a child PR on a\n  new `\u003CDST>` branch\n\n# Workflow\n\n## Find the Next Branch Name\n- Find which branch name is next available:\n  ```bash\n  > i git_branch_next_name\n  Found highest number '3' in all branches, next is '4'\n  branch_next_name='HelpersTask1273_Get_Mac_tests_to_pass_4'\n  ```\n\n## Create the Instructions File\n- Create a file `plan-pr_merge.txt` with the instructions to:\n  - Create a `\u003CDST>` branch (e.g., `HelpersTask1273_Get_Mac_tests_to_pass_4`)\n  - Copy the files needed to merge PR2 from `github_PR_plan.md` from the current\n    branch to the target branch\n  - Create a file `plan-pr_commit_msg.txt` with the description of what the PR does\n  - Create a file `plan-pr_title.txt` with the one line G\n  - Create a file `plan-pr_pytest.sh` with the tests to run to check the behavior of\n    the PR\n  - Make sure there are comments for each phase and that each command is correct\n\n## Example\n- Example commands to build a `pr_merge.txt`:\n  ```bash\n  > export SRC_BRANCH=HelpersTask1273_Get_Mac_tests_to_pass\n  > export DST_BRANCH=HelpersTask1273_Get_Mac_tests_to_pass_6\n\n  > git checkout master\n  > git pull\n\n  > i git_branch_create -b $DST_BRANCH\n  > git checkout -b $DST_BRANCH\n\n  > cat > pr_commit_msg.txt \u003C\u003C 'EOF'\n  Unit Test Infrastructure: Purification, Introspection, Numpy, and Base Updates\n\n  - Adds new test purification module (hunit_test_purification.py)\n  - Updates test infrastructure with new utility functions\n  - Improves introspection module for better test support\n  - Fixes numpy test compatibility issues\n  - Updates base unit test module for macOS compatibility\n  - All changes are related to test utilities and infrastructure improvements\n  - Well-isolated changes to testing subsystem\n  EOF\n\n  # Copy the files through branches.\n  > helpers_root\u002Fdev_scripts_helpers\u002Fgit\u002Fgit_sync_between_branches.sh --src_branch $SRC_BRANCH --dst_branch $DST_BRANCH --files \"$FILES\"\n\n  # Copy the files from another dir.\n  > export SRC_DIR=\u002FUsers\u002Fsaggese\u002Fsrc\u002Fcsfy1\n  > export DST_DIR=\u002FUsers\u002Fsaggese\u002Fsrc\u002Fnotes1\n  > export SUB_DIR=helpers_root\n  > diff_to_vimdiff.py --dir1 $SRC_DIR\u002F$SUB_DIR\u002F --dir2 .\u002F$SUB_DIR\u002F\n\n  > echo \"$FILES\" | tr ' ' '\\n' > \u002Ftmp\u002Ffile_list.txt\n  > more \u002Ftmp\u002Ffile_list.txt\n  helpers\u002Fhunit_test_purification.py\n  helpers\u002Ftest\u002Ftest_hunit_test_purification.py\n  helpers\u002Ftest\u002Ftest_hintrospection.py\n  helpers\u002Ftest\u002Ftest_hnumpy.py\n  helpers\u002Ftest\u002Ftest_hunit_test.py\n  > rsync -avR --files-from=\u002Ftmp\u002Ffile_list.txt $SRC_DIR\u002F$SUB_DIR\u002F $DST_DIR\u002F$SUB_DIR\u002F\n  > rsync -av $SRC_DIR\u002F$SUB_DIR\u002F $DST_DIR\u002F$SUB_DIR\u002F\n\n  > git add $FILES\n  > git commit -am pr_commit_msg.txt\n\n  > cat > pr_pytest.sh \u003C\u003C 'EOF'\n  pytest \\\n      helpers\u002Ftest\u002Ftest_hunit_test_purification.py \\\n      helpers\u002Ftest\u002Ftest_hintrospection.py \\\n      helpers\u002Ftest\u002Ftest_hnumpy.py \\\n      helpers\u002Ftest\u002Ftest_hunit_test.py \\\n      -v\n  EOF\n\n  > chmod +x pr_pytest.sh\n\n  > FILES=\"helpers\u002Fhunit_test_purification.py helpers\u002Ftest\u002Ftest_hunit_test_purification.py helpers\u002Ftest\u002Ftest_hintrospection.py helpers\u002Ftest\u002Ftest_hnumpy.py helpers\u002Ftest\u002Ftest_hunit_test.py\"\n\n  > export CSFY_DOCKER_ENGINE=\"docker\"; i docker_cmd --stage=local -v 1.6.0 --cmd \".\u002Fpr_pytest.sh 2>&1 | tee build1.txt\"\n\n  > export CSFY_DOCKER_ENGINE=\"docker\"; .\u002Fpr_pytest.sh 2>&1 | tee build2.txt\n\n  > export CSFY_DOCKER_ENGINE=\"apple\"; .\u002Fpr_pytest.sh 2>&1 | tee build3.txt\n\n  > i gh_create_pr --no-draft\n\n  > i gh_watch\n\n  > pr_pytest.sh\n  ```\n\n# Verification\n- [ ] Confirm `plan-pr_merge.txt`, `plan-pr_commit_msg.txt`, and `plan-pr_pytest.sh` were\n      created\n- [ ] Confirm `pr_pytest.sh` is executable and runs the correct tests\n- [ ] Confirm every phase has a comment and every command is correct\n","# Goal\n- Given the current `\u003CSRC>` Git branch, write instructions to build a child PR on a\n  new `\u003CDST>` branch\n\n# Workflow\n\n## Find the Next Branch Name\n- Find which branch name is next available:\n  ```bash\n  > i git_branch_next_name\n  Found highest number '3' in all branches, next is '4'\n  branch_next_name='HelpersTask1273_Get_Mac_tests_to_pass_4'\n  ```\n\n## Create the Instructions File\n- Create a file `plan-pr_merge.txt` with the instructions to:\n  - Create a `\u003CDST>` branch (e.g., `HelpersTask1273_Get_Mac_tests_to_pass_4`)\n  - Copy the files needed to merge PR2 from `github_PR_plan.md` from the current\n    branch to the target branch\n  - Create a file `plan-pr_commit_msg.txt` with the description of what the PR does\n  - Create a file `plan-pr_title.txt` with the one line G\n  - Create a file `plan-pr_pytest.sh` with the tests to run to check the behavior of\n    the PR\n  - Make sure there are comments for each phase and that each command is correct\n\n## Example\n- Example commands to build a `pr_merge.txt`:\n  ```bash\n  > export SRC_BRANCH=HelpersTask1273_Get_Mac_tests_to_pass\n  > export DST_BRANCH=HelpersTask1273_Get_Mac_tests_to_pass_6\n\n  > git checkout master\n  > git pull\n\n  > i git_branch_create -b $DST_BRANCH\n  > git checkout -b $DST_BRANCH\n\n  > cat > pr_commit_msg.txt \u003C\u003C 'EOF'\n  Unit Test Infrastructure: Purification, Introspection, Numpy, and Base Updates\n\n  - Adds new test purification module (hunit_test_purification.py)\n  - Updates test infrastructure with new utility functions\n  - Improves introspection module for better test support\n  - Fixes numpy test compatibility issues\n  - Updates base unit test module for macOS compatibility\n  - All changes are related to test utilities and infrastructure improvements\n  - Well-isolated changes to testing subsystem\n  EOF\n\n  # Copy the files through branches.\n  > helpers_root\u002Fdev_scripts_helpers\u002Fgit\u002Fgit_sync_between_branches.sh --src_branch $SRC_BRANCH --dst_branch $DST_BRANCH --files \"$FILES\"\n\n  # Copy the files from another dir.\n  > export SRC_DIR=\u002FUsers\u002Fsaggese\u002Fsrc\u002Fcsfy1\n  > export DST_DIR=\u002FUsers\u002Fsaggese\u002Fsrc\u002Fnotes1\n  > export SUB_DIR=helpers_root\n  > diff_to_vimdiff.py --dir1 $SRC_DIR\u002F$SUB_DIR\u002F --dir2 .\u002F$SUB_DIR\u002F\n\n  > echo \"$FILES\" | tr ' ' '\\n' > \u002Ftmp\u002Ffile_list.txt\n  > more \u002Ftmp\u002Ffile_list.txt\n  helpers\u002Fhunit_test_purification.py\n  helpers\u002Ftest\u002Ftest_hunit_test_purification.py\n  helpers\u002Ftest\u002Ftest_hintrospection.py\n  helpers\u002Ftest\u002Ftest_hnumpy.py\n  helpers\u002Ftest\u002Ftest_hunit_test.py\n  > rsync -avR --files-from=\u002Ftmp\u002Ffile_list.txt $SRC_DIR\u002F$SUB_DIR\u002F $DST_DIR\u002F$SUB_DIR\u002F\n  > rsync -av $SRC_DIR\u002F$SUB_DIR\u002F $DST_DIR\u002F$SUB_DIR\u002F\n\n  > git add $FILES\n  > git commit -am pr_commit_msg.txt\n\n  > cat > pr_pytest.sh \u003C\u003C 'EOF'\n  pytest \\\n      helpers\u002Ftest\u002Ftest_hunit_test_purification.py \\\n      helpers\u002Ftest\u002Ftest_hintrospection.py \\\n      helpers\u002Ftest\u002Ftest_hnumpy.py \\\n      helpers\u002Ftest\u002Ftest_hunit_test.py \\\n      -v\n  EOF\n\n  > chmod +x pr_pytest.sh\n\n  > FILES=\"helpers\u002Fhunit_test_purification.py helpers\u002Ftest\u002Ftest_hunit_test_purification.py helpers\u002Ftest\u002Ftest_hintrospection.py helpers\u002Ftest\u002Ftest_hnumpy.py helpers\u002Ftest\u002Ftest_hunit_test.py\"\n\n  > export CSFY_DOCKER_ENGINE=\"docker\"; i docker_cmd --stage=local -v 1.6.0 --cmd \".\u002Fpr_pytest.sh 2>&1 | tee build1.txt\"\n\n  > export CSFY_DOCKER_ENGINE=\"docker\"; .\u002Fpr_pytest.sh 2>&1 | tee build2.txt\n\n  > export CSFY_DOCKER_ENGINE=\"apple\"; .\u002Fpr_pytest.sh 2>&1 | tee build3.txt\n\n  > i gh_create_pr --no-draft\n\n  > i gh_watch\n\n  > pr_pytest.sh\n  ```\n\n# Verification\n- [ ] Confirm `plan-pr_merge.txt`, `plan-pr_commit_msg.txt`, and `plan-pr_pytest.sh` were\n      created\n- [ ] Confirm `pr_pytest.sh` is executable and runs the correct tests\n- [ ] Confirm every phase has a comment and every command is correct\n",{"model":23,"description":7},"master","804ae3e928c04740cec553be0eb28c8d06ff420e",".claude\u002Fskills\u002Fgithub.create_child_pr",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":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add causify-ai\u002Fhelpers --skill github.create_child_pr",{"tool":47,"command":48},"bunx","bunx skills add causify-ai\u002Fhelpers --skill github.create_child_pr",{"tool":50,"command":51},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill github.create_child_pr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fgithub.create_child_pr\u002FSKILL.md",true,[],[56,77,95,107,115,129],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":67,"publishedAt":28},"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",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[68,69,70,71,72,73,23,74,75,76],"docker","tutorial","tutorial in 60 mins propagate docker changes","propagate","template","sync","files","project","match",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":86,"publishedAt":28},"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",[83],{"categoryNo":84,"categoryName":85,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000002","文档处理",[87,88,69,89,90,91,23,92,93,94],"markdown","merge","tutorial in 60 mins merge markdown","notebook","jupyter","file","jupyter notebook","content",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":28},"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",[],[102,69,103,104,105,23,106],"tutorial in 60 mins format","format","directory","learn","conventions",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":28},"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",[],[114,69,21,105,104,106],"tutorial in 60 mins create",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":28},"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",[],[122,123,124,125,126,127,128],"progress","todo","todo reorg in progress","tasks","queue","task","stage",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":28},"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",[],[136,123,126,127,128],"todo reorg headers"]