[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZMSC4EXE4Z1QYR3WFVXMA":3,"skill-same:01M6BZMSC4EXE4Z1QYR3WFVXMA":68},{"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":28,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M6BZMSC4EXE4Z1QYR3WFVXMA","notebook.create_api_intro",null,"Create a notebook to present the API of a package","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.create_api_intro\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33],"create","api","intro","notebook create api intro","package","2026-11-10 10:12:30",false,"---\ndescription: Create a notebook to present the API of a package\nmodel: sonnet\n---\n\n# Goal\n\n- Create a self-contained Jupyter notebook that teaches the Python package\n  `\u003CPACKAGE_NAME>` by progressively introducing its core primitives, mental model,\n  and API surface\n\n- The notebook should be optimized for learning the library itself, not for solving a\n  large real-world problem\n\n# Teaching Philosophy\n\n- Follow this teaching philosophy:\n\n  1. Start from the smallest possible working example\n  2. Introduce one new concept at a time\n  3. Use the minimum amount of code necessary to demonstrate each concept\n  4. Prefer toy examples with 2-5 objects instead of realistic datasets\n  5. Every code cell should answer exactly one question\n  6. Avoid helper functions, abstractions, and boilerplate unless they are\n     part of the library's API\n  7. Focus on understanding:\n     - What are the primitive objects?\n     - How are they created?\n     - How do they interact?\n     - What methods are available?\n     - What state do they hold?\n     - How do they compose into larger structures?\n\n# Notebook Structure\n\n## Name of the Notebook\n\n- The name of the notebook `\u003CFILE>` is either specified directly by the user or\n  it is generated as:\n  ```\n  tutorials\u002F\u003CPACKAGE_NAME>\u002F\u003CPACKAGE_NAME>.\u003CID>.API.\u003CDESCRIPTION>.ipynb\n  ```\n- E.g., for the package `pgmpy` and for probabilistic inference, the name can be\n  `tutorials\u002Fpgmpy\u002Fpgmpy.01.API.probabilistic_inference.ipynb`\n\n## Use Standard Template Structure\n\n- Use the structure from `.claude\u002Ftemplates\u002Fnotebook.template.py` for consistent\n  notebook initialization\n  - Follow the cell layout in `.claude\u002Fskills\u002Fnotebook.rules.md` under\n    `## Use Standard Template Structure`: title cell with scope and\n    pedagogical arc, optional pip cell, autoreload and third-party imports\n    cell, and a last setup cell that calls `utils.init_loggers(_LOG)`\n  - Do not add an `## Imports` header\n\n## Follow General Notebook Conventions\n\n- Follow the notebook conventions documented in\n  `.claude\u002Fskills\u002Fnotebook.rules.md`:\n  - `# Design Principles and Setup`: Standard template structure and Python code rules\n  - `# Cell Design and Content`: Python coding style, showing results, and using\n    pandas dataframes for tables\n  - `# Text and Markdown Formatting`: Markdown bullet points, emdash replacement, and\n    LaTeX notation\n  - `# Visualization and Interactivity`: Data manipulation and plotting conventions\n  - `## Visualization Cell Triplet Details`: Structure for notebook cells with\n    visualizations or interactive widgets\n\n## Follow the Template\n\n- The template is `.claude\u002Ftemplates\u002FAPI_notebook.template.ipynb`\n\n### Library Overview\n\n- Briefly explain:\n  - What problem the library solves\n  - The key abstractions\n  - The most important classes\n  - A conceptual diagram of how the pieces fit together\n\n### Primitive-by-Primitive Exploration\n\n- For each important primitive:\n\n  - Mental Model\n    - Explain what the object \"means\"\n    - Present as a **markdown table** (see section 2a below)\n\n  - Smallest Construction\n    ```\n    # Minimal example in Python\n    ```\n  - Explain the important Methods\n  - Inspect the Object using `type`, `dir`, and\n    `hintros.get_public_methods_as_str(obj)` from `helpers\u002Fhintrospection.py`\n\n- Synthesize the core mental model\n  - What are the fundamental abstractions?\n  - How do they fit together?\n\n- This should be 2-4 sentences capturing the essence of the library's design\n\n### Mental Model as Markdown Table\n\n- Present the mental model as a **markdown table** instead of bullet points:\n  - **Why**: Tables are scannable, visually distinct, and structure complex API\n    relationships clearly\n  - **Columns**: Object | Description | Comments\u002FType\n  - **Examples**:\n    - LIME:\n      `LimeTabularExplainer | Configured explainer | Wraps model + training data`\n    - SHAP:\n      `Explanation.values | SHAP contributions | (n_samples, n_features) array`\n  - **Placement**: In a markdown cell early in \"Primitive 1\" after the\n    bullet-point overview\n    ```markdown\n    | Object | Description | Additional Info |\n    |--------|-------------|-----------------|\n    | `Explainer(...)` | Main class | Wraps data\u002Fmodel |\n    | `explainer.method(x)` | Instance method | Returns result object |\n    | `Result.values` | Data array | shape (n, m) |\n    ```\n\n### Composition Examples\n\n- Build progressively:\n\n  - Example 1:\n    - Smallest meaningful object\n  - Example 2:\n    - Add one new concept\n  - Example 3:\n    - Combine two primitives\n  - Example 4:\n    - Minimal end-to-end workflow\n\n- Each example should fit within roughly 10-20 lines\n\n### API Patterns\n\n- Identify recurring patterns:\n\n  - Builder patterns\n  - Fit\u002Fpredict patterns\n  - Graph construction patterns\n  - Context managers\n  - Iterators\n  - Serialization\n  - Configuration\n\n- Show the smallest example of each pattern\n\n### Interactive Exploration\n\n- Provide cells that encourage experimentation\n- Add questions such as:\n    - What happens if you remove this argument?\n    - What is the default value?\n    - What type is returned?\n\n### Link to Source Code\n\n- Use `hintros.print_obj_info(obj)` from `helpers\u002Fhintrospection.py` whenever a\n  class, function, or method is introduced\n  - `obj` is the Python object itself (class, function, method, or module),\n    not a string\n  - It displays the object's public interface as markdown, then prints a\n    GitHub link to the object's source, pointing at the exact file and line,\n    e.g., `https:\u002F\u002Fgithub.com\u002F\u003CORG>\u002F\u003CREPO>\u002Fblob\u002F\u003CBRANCH>\u002F\u003CPATH>#L\u003CLINE>`\n- Call it right after \"Smallest Construction\" or \"Inspect the Object\" so\n  readers can jump straight to the implementation, e.g.,\n  ```python\n  import helpers.hintrospection as hintros\n\n  # Link to the class definition on GitHub, and list its public surface.\n  hintros.print_obj_info(sim.MultiArmedBandit)\n  ```\n\n### Comment Each Function\n- For each function invocation, make sure that each function call has an\n  explanation of what it will do and then a comment on its outcome\n- E.g.,\n  ```python\n  # Call `GET \u002Fopenapi.json` to fetch the schema `FastAPI` generated automatically.\n  response = demo_client.get(\"\u002Fopenapi.json\")\n  schema = response.json()\n  _LOG.info(\"OpenAPI title: %s\", schema[\"info\"][\"title\"])\n  _LOG.info(\"Registered paths: %s\", sorted(schema[\"paths\"].keys()))\n  # Outcome: 200 OK; the schema lists every route registered on `demo_app` above.\n  ```\n\n## Special Instructions\n\n- Use executable Python code throughout\n- Minimize imports\n- Keep examples independent whenever possible\n- Do not skip intermediate steps\n- Avoid advanced topics until all primitives are covered\n- Prefer many tiny examples over a few large examples\n- If the library has hidden state or non-obvious behavior, explicitly inspect it\n- Whenever a class is introduced, show:\n  - Construction\n  - Inspection\n  - Mutation\n  - Interaction with another object\n- The notebook should feel like a guided reverse-engineering of the library's\n  design\n\n# Verification\n\n- [ ] Create paired Python\n  ```\n  > jupytext.py --action pair --files \u003CFILE>.ipynb\n  ```\n- [ ] Make sure that the notebook runs end-to-end\n  ```\n  > cd tutorial\u002F\u003CPACKAGE_NAME>\n  > docker_cmd.sh \"python \u002Fgit_root\u002Ftutorials\u002F\u003CPACKAGE_NAME>\u002F\u003CFILE>.py\"\n  ```\n","# Goal\n\n- Create a self-contained Jupyter notebook that teaches the Python package\n  `\u003CPACKAGE_NAME>` by progressively introducing its core primitives, mental model,\n  and API surface\n\n- The notebook should be optimized for learning the library itself, not for solving a\n  large real-world problem\n\n# Teaching Philosophy\n\n- Follow this teaching philosophy:\n\n  1. Start from the smallest possible working example\n  2. Introduce one new concept at a time\n  3. Use the minimum amount of code necessary to demonstrate each concept\n  4. Prefer toy examples with 2-5 objects instead of realistic datasets\n  5. Every code cell should answer exactly one question\n  6. Avoid helper functions, abstractions, and boilerplate unless they are\n     part of the library's API\n  7. Focus on understanding:\n     - What are the primitive objects?\n     - How are they created?\n     - How do they interact?\n     - What methods are available?\n     - What state do they hold?\n     - How do they compose into larger structures?\n\n# Notebook Structure\n\n## Name of the Notebook\n\n- The name of the notebook `\u003CFILE>` is either specified directly by the user or\n  it is generated as:\n  ```\n  tutorials\u002F\u003CPACKAGE_NAME>\u002F\u003CPACKAGE_NAME>.\u003CID>.API.\u003CDESCRIPTION>.ipynb\n  ```\n- E.g., for the package `pgmpy` and for probabilistic inference, the name can be\n  `tutorials\u002Fpgmpy\u002Fpgmpy.01.API.probabilistic_inference.ipynb`\n\n## Use Standard Template Structure\n\n- Use the structure from `.claude\u002Ftemplates\u002Fnotebook.template.py` for consistent\n  notebook initialization\n  - Follow the cell layout in `.claude\u002Fskills\u002Fnotebook.rules.md` under\n    `## Use Standard Template Structure`: title cell with scope and\n    pedagogical arc, optional pip cell, autoreload and third-party imports\n    cell, and a last setup cell that calls `utils.init_loggers(_LOG)`\n  - Do not add an `## Imports` header\n\n## Follow General Notebook Conventions\n\n- Follow the notebook conventions documented in\n  `.claude\u002Fskills\u002Fnotebook.rules.md`:\n  - `# Design Principles and Setup`: Standard template structure and Python code rules\n  - `# Cell Design and Content`: Python coding style, showing results, and using\n    pandas dataframes for tables\n  - `# Text and Markdown Formatting`: Markdown bullet points, emdash replacement, and\n    LaTeX notation\n  - `# Visualization and Interactivity`: Data manipulation and plotting conventions\n  - `## Visualization Cell Triplet Details`: Structure for notebook cells with\n    visualizations or interactive widgets\n\n## Follow the Template\n\n- The template is `.claude\u002Ftemplates\u002FAPI_notebook.template.ipynb`\n\n### Library Overview\n\n- Briefly explain:\n  - What problem the library solves\n  - The key abstractions\n  - The most important classes\n  - A conceptual diagram of how the pieces fit together\n\n### Primitive-by-Primitive Exploration\n\n- For each important primitive:\n\n  - Mental Model\n    - Explain what the object \"means\"\n    - Present as a **markdown table** (see section 2a below)\n\n  - Smallest Construction\n    ```\n    # Minimal example in Python\n    ```\n  - Explain the important Methods\n  - Inspect the Object using `type`, `dir`, and\n    `hintros.get_public_methods_as_str(obj)` from `helpers\u002Fhintrospection.py`\n\n- Synthesize the core mental model\n  - What are the fundamental abstractions?\n  - How do they fit together?\n\n- This should be 2-4 sentences capturing the essence of the library's design\n\n### Mental Model as Markdown Table\n\n- Present the mental model as a **markdown table** instead of bullet points:\n  - **Why**: Tables are scannable, visually distinct, and structure complex API\n    relationships clearly\n  - **Columns**: Object | Description | Comments\u002FType\n  - **Examples**:\n    - LIME:\n      `LimeTabularExplainer | Configured explainer | Wraps model + training data`\n    - SHAP:\n      `Explanation.values | SHAP contributions | (n_samples, n_features) array`\n  - **Placement**: In a markdown cell early in \"Primitive 1\" after the\n    bullet-point overview\n    ```markdown\n    | Object | Description | Additional Info |\n    |--------|-------------|-----------------|\n    | `Explainer(...)` | Main class | Wraps data\u002Fmodel |\n    | `explainer.method(x)` | Instance method | Returns result object |\n    | `Result.values` | Data array | shape (n, m) |\n    ```\n\n### Composition Examples\n\n- Build progressively:\n\n  - Example 1:\n    - Smallest meaningful object\n  - Example 2:\n    - Add one new concept\n  - Example 3:\n    - Combine two primitives\n  - Example 4:\n    - Minimal end-to-end workflow\n\n- Each example should fit within roughly 10-20 lines\n\n### API Patterns\n\n- Identify recurring patterns:\n\n  - Builder patterns\n  - Fit\u002Fpredict patterns\n  - Graph construction patterns\n  - Context managers\n  - Iterators\n  - Serialization\n  - Configuration\n\n- Show the smallest example of each pattern\n\n### Interactive Exploration\n\n- Provide cells that encourage experimentation\n- Add questions such as:\n    - What happens if you remove this argument?\n    - What is the default value?\n    - What type is returned?\n\n### Link to Source Code\n\n- Use `hintros.print_obj_info(obj)` from `helpers\u002Fhintrospection.py` whenever a\n  class, function, or method is introduced\n  - `obj` is the Python object itself (class, function, method, or module),\n    not a string\n  - It displays the object's public interface as markdown, then prints a\n    GitHub link to the object's source, pointing at the exact file and line,\n    e.g., `https:\u002F\u002Fgithub.com\u002F\u003CORG>\u002F\u003CREPO>\u002Fblob\u002F\u003CBRANCH>\u002F\u003CPATH>#L\u003CLINE>`\n- Call it right after \"Smallest Construction\" or \"Inspect the Object\" so\n  readers can jump straight to the implementation, e.g.,\n  ```python\n  import helpers.hintrospection as hintros\n\n  # Link to the class definition on GitHub, and list its public surface.\n  hintros.print_obj_info(sim.MultiArmedBandit)\n  ```\n\n### Comment Each Function\n- For each function invocation, make sure that each function call has an\n  explanation of what it will do and then a comment on its outcome\n- E.g.,\n  ```python\n  # Call `GET \u002Fopenapi.json` to fetch the schema `FastAPI` generated automatically.\n  response = demo_client.get(\"\u002Fopenapi.json\")\n  schema = response.json()\n  _LOG.info(\"OpenAPI title: %s\", schema[\"info\"][\"title\"])\n  _LOG.info(\"Registered paths: %s\", sorted(schema[\"paths\"].keys()))\n  # Outcome: 200 OK; the schema lists every route registered on `demo_app` above.\n  ```\n\n## Special Instructions\n\n- Use executable Python code throughout\n- Minimize imports\n- Keep examples independent whenever possible\n- Do not skip intermediate steps\n- Avoid advanced topics until all primitives are covered\n- Prefer many tiny examples over a few large examples\n- If the library has hidden state or non-obvious behavior, explicitly inspect it\n- Whenever a class is introduced, show:\n  - Construction\n  - Inspection\n  - Mutation\n  - Interaction with another object\n- The notebook should feel like a guided reverse-engineering of the library's\n  design\n\n# Verification\n\n- [ ] Create paired Python\n  ```\n  > jupytext.py --action pair --files \u003CFILE>.ipynb\n  ```\n- [ ] Make sure that the notebook runs end-to-end\n  ```\n  > cd tutorial\u002F\u003CPACKAGE_NAME>\n  > docker_cmd.sh \"python \u002Fgit_root\u002Ftutorials\u002F\u003CPACKAGE_NAME>\u002F\u003CFILE>.py\"\n  ```\n",{"model":39,"description":7},"sonnet","master","39143a859859181eff7e774457997b5278fd9e99",".claude\u002Fskills\u002Fnotebook.create_api_intro",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":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add causify-ai\u002Fhelpers --skill notebook.create_api_intro",{"tool":54,"command":55},"bunx","bunx skills add causify-ai\u002Fhelpers --skill notebook.create_api_intro",{"tool":57,"command":58},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill notebook.create_api_intro","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fnotebook.create_api_intro\u002FSKILL.md",true,[62],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"references\u002Fchecklist.md","REFERENCE","参考文档",427,"https:\u002F\u002Fgithub.com\u002Fsiddsachar\u002Frow-bot\u002Fblob\u002Fmain\u002Fsrc\u002Frow_bot\u002Fplugins\u002Fbundled\u002Flocal-text-tools\u002Fskills\u002Ftext-review\u002Freferences\u002Fchecklist.md",[69,86,103,114,122,131],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":78,"publishedAt":34},"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",[75],{"categoryNo":76,"categoryName":77,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[79,80,81,82,83,84,85],"tutorial in 60 mins propagate docker changes","tutorial","docker","files","haiku","template","sync",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":95,"publishedAt":34},"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",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[96,97,80,98,99,83,100,101,102],"merge","tutorial in 60 mins merge markdown","markdown","jupyter","file","content","jupyter notebook",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":34},"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",[],[110,80,111,112,113,83],"tutorial in 60 mins format","format","directory","learn",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":34},"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",[],[121,80,29,112,113],"tutorial in 60 mins create",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":34},"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",[],[129,130],"todo reorg in progress","tasks",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":34},"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",[],[138],"todo reorg headers"]