[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZNDF6N0MPZTACM7F0KA2D":3,"skill-same:01M6BZNDF6N0MPZTACM7F0KA2D":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":21,"linkOnly":22,"markdownContent":23,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":31,"ownerHtmlUrl":32,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":33,"install":34,"resources":47},"01M6BZNDF6N0MPZTACM7F0KA2D","notebook.split_header_cells",null,"Split notebook header cells so each cell has a single header and comment","causify-ai\u002Fhelpers","causify-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F121828442?v=4","01M6BZFTHW2MQR7FWK8CDW0DRA","Causify.AI","01M6BZFTPJ193AB5N089Z82HQG",155,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fnotebook.split_header_cells\u002FSKILL.md",[],[19,20],"notebook split header cells","haiku","2026-11-10 10:12:30",false,"---\ndescription: Split notebook header cells so each cell has a single header and comment\nmodel: haiku\n---\n\n# Goal\n- Split each markdown cell in a Jupyter notebook so it contains at most one\n  header\n\n# Workflow\n\n## Split Markdown Cells\n- Make sure that each markdown cell in a Jupyter notebook contains at most one\n  header and some text, but not more than one header\n  - **Bad** (there are 3 headers in the same cell: one H1, one H2, one H3)\n    ```\n    # %% [markdown]\n    # Part 3: Composition Examples\n\n    ## Example 1: Minimal End-to-End Workflow\n\n    Rain -> Sprinkler -> Grass Wet\n    \n    ### Mental Model\n    ```\n  - **Good** (each header is in a different cell)\n    ```\n    # %% [markdown]\n    # Part 3: Composition Examples\n\n    # %% [markdown]\n    ## Example 1: Minimal End-to-End Workflow\n\n    Rain -> Sprinkler -> Grass Wet\n\n    # %% [markdown]\n    ### Mental Model\n    ```\n  - Do not change the content of the markdown text besides splitting cells into\n    multiple ones\n\n## Remove Empty Lines\n- Remove empty lines at the beginning or end of a markdown cell\n  - **Bad** (there are two headers in the same cell, one H1 and one H2)\n    ```\n\n    # %% [markdown]\n    # Part 3: Composition Examples\n\n\n    ```\n  - **Good** (each header is in a different cell)\n    ```\n    # %% [markdown]\n    # Part 3: Composition Examples\n    ```\n\n## Sync with Jupytext\n- At the end of the transformation, run `jupytext --sync` to update the Python\n  paired notebook, following the conventions in\n  `# Code Architecture and Responsibility` -> `## Utilities vs. Notebook\n  Responsibilities` in `.claude\u002Fskills\u002Fnotebook.rules.md`\n\n# Constraints\n- Do not change or remove any Python code cell\n- Do not change the content of the markdown text besides splitting cells\n\n# Verification\n- [ ] Confirm no markdown cell contains more than one header\n- [ ] Confirm every Python code cell is unchanged\n- [ ] Confirm the `.ipynb` and paired `.py` file are in sync via Jupytext\n","# Goal\n- Split each markdown cell in a Jupyter notebook so it contains at most one\n  header\n\n# Workflow\n\n## Split Markdown Cells\n- Make sure that each markdown cell in a Jupyter notebook contains at most one\n  header and some text, but not more than one header\n  - **Bad** (there are 3 headers in the same cell: one H1, one H2, one H3)\n    ```\n    # %% [markdown]\n    # Part 3: Composition Examples\n\n    ## Example 1: Minimal End-to-End Workflow\n\n    Rain -> Sprinkler -> Grass Wet\n    \n    ### Mental Model\n    ```\n  - **Good** (each header is in a different cell)\n    ```\n    # %% [markdown]\n    # Part 3: Composition Examples\n\n    # %% [markdown]\n    ## Example 1: Minimal End-to-End Workflow\n\n    Rain -> Sprinkler -> Grass Wet\n\n    # %% [markdown]\n    ### Mental Model\n    ```\n  - Do not change the content of the markdown text besides splitting cells into\n    multiple ones\n\n## Remove Empty Lines\n- Remove empty lines at the beginning or end of a markdown cell\n  - **Bad** (there are two headers in the same cell, one H1 and one H2)\n    ```\n\n    # %% [markdown]\n    # Part 3: Composition Examples\n\n\n    ```\n  - **Good** (each header is in a different cell)\n    ```\n    # %% [markdown]\n    # Part 3: Composition Examples\n    ```\n\n## Sync with Jupytext\n- At the end of the transformation, run `jupytext --sync` to update the Python\n  paired notebook, following the conventions in\n  `# Code Architecture and Responsibility` -> `## Utilities vs. Notebook\n  Responsibilities` in `.claude\u002Fskills\u002Fnotebook.rules.md`\n\n# Constraints\n- Do not change or remove any Python code cell\n- Do not change the content of the markdown text besides splitting cells\n\n# Verification\n- [ ] Confirm no markdown cell contains more than one header\n- [ ] Confirm every Python code cell is unchanged\n- [ ] Confirm the `.ipynb` and paired `.py` file are in sync via Jupytext\n",{"model":20,"description":7},"master","39143a859859181eff7e774457997b5278fd9e99",".claude\u002Fskills\u002Fnotebook.split_header_cells",170,"https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers","https:\u002F\u002Fcausify.ai","https:\u002F\u002Fgithub.com\u002Fcausify-ai","2026-11-02 02:09:15",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add causify-ai\u002Fhelpers --skill notebook.split_header_cells",{"tool":40,"command":41},"bunx","bunx skills add causify-ai\u002Fhelpers --skill notebook.split_header_cells",{"tool":43,"command":44},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill notebook.split_header_cells","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fnotebook.split_header_cells\u002FSKILL.md",true,[48],{"path":49,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":52,"sourceHtmlUrl":53},"README.md","REFERENCE","参考文档",8279,"https:\u002F\u002Fgithub.com\u002FBigdrops\u002Fbigdrops-app\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fopenapi-to-typescript\u002FREADME.md",[55,73,90,101,110,119],{"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":21},"01M6C9ZMM0XSXCHHABMJ9XB1JB","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,20,71,72],"tutorial in 60 mins propagate docker changes","tutorial","docker","files","template","sync",{"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":82,"publishedAt":21},"01M6C9ZJK8QJ9FNCY39WVF3GMG","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",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000002","文档处理",[83,84,68,85,86,20,87,88,89],"merge","tutorial in 60 mins merge markdown","markdown","jupyter","file","content","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":21},"01M6C9ZFYK13ZCT1E8BEEC4NG4","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,20],"tutorial in 60 mins format","format","directory","learn",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":21},"01M6C9ZDKXSBKNKX7M3X4W38G5","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",[],[108,68,109,99,100],"tutorial in 60 mins create","create",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":21},"01M6BZS5Z0QE03WRS1TM3XJEY9","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",[],[117,118],"todo reorg in progress","tasks",{"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":125,"publishedAt":21},"01M6BZS4CQZ6KK2KQ26SVB7QCS","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",[],[126],"todo reorg headers"]