[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZP7RYG7N15HDDWVDJCK3B":3,"skill-same:01M6BZP7RYG7N15HDDWVDJCK3B":56},{"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":23,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":39,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6BZP7RYG7N15HDDWVDJCK3B","research_idea.add_from_file",null,"Split a raw idea dump file into titled ideas and create idea files","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\u002Fresearch_idea.add_from_file\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[24,25,26,27],"research","file","research idea add from file","create","2026-11-10 10:12:30",false,"---\ndescription: Split a raw idea dump file into titled ideas and create idea files\nmodel: sonnet\n---\n\n# Goal\n- Given a file `\u003CFILE>` containing research ideas in a very early, unstructured\n  form (loose fragments, one-liners, mixed bullets), add a `## \u003CTitle>` header\n  above each distinct idea, then, once the user approves, create one\n  template-formatted research idea file per idea\n\n# Workflow\n\n## Read the Inputs\n- Read `\u003CFILE>`\n- Read the template `.claude\u002Ftemplates\u002Fresearch_idea.template.md`\n- Read `.claude\u002Fskills\u002Fresearch_idea.rules.md` for file naming and directory\n  conventions\n- Read the file names under `research\u002Fideas\u002F*.md` to know which ideas already\n  exist\n\n## Title and Group the Fragments\n- Split `\u003CFILE>` into distinct ideas\n  - Merge fragments that clearly describe the same idea into one group; it is\n    fine to reorder or combine fragments that belong together\n  - Keep fragments that are already distinct ideas separate, even if short\n- Add a `## \u003CTitle>` header directly above each idea's raw content\n  - `\u003CTitle>` is a short noun phrase (3-8 words) that names the idea, in the\n    same style as existing file names, e.g. `Hierarchical Training`,\n    `Compression as Proxy for Understanding`\n  - If a fragment already has a `##` header, keep or refine that title instead\n    of adding a duplicate one\n- Do not summarize, expand, or fabricate content; only add headers and move\n  fragments next to the other fragments of the same idea\n- Flag (do not silently drop) any fragment whose idea already exists as a file\n  under `research\u002Fideas\u002F*.md`, so the user can decide whether to skip it\n- Write the titled, grouped result back into `\u003CFILE>`\n\n## Wait for the User\n- Show the user the list of proposed titles and which fragments were grouped\n  under each\n- Wait for the user to review and approve `\u003CFILE>` before creating any new\n  idea file\n- If the user requests different titles or groupings, apply the changes and\n  present the file again\n\n## Create One Idea File per Approved Idea\n- For each approved `## \u003CTitle>` section, create\n  `research\u002Fideas\u002Fdraft.\u003CIdea_Name>.md`, per `.claude\u002Fskills\u002Fresearch_idea.rules.md`\n  `## Status Prefixes`\n  - `\u003CIdea_Name>` is `\u003CTitle>` in Title_Case_With_Underscores, matching\n    existing file names (e.g. `Hierarchical Training` -> `Hierarchical_Training`)\n- Seed the new file with the section's raw content as the seed for `Core Idea`\n- Skip creating a file for any idea the user chose to skip in Step 3\n\n## Clean Up the Source File\n- Ask the user whether to remove, from `\u003CFILE>`, the sections that were split\n  out into new idea files (or delete `\u003CFILE>` if every section was split out)\n- Only remove a section once its new idea file exists and the user confirms\n  its content was fully captured\n\n# Conventions\n- Follow `.claude\u002Fskills\u002Fresearch_idea.rules.md`\n\n# Constraints\n- Do not create any new idea file before the user approves the titled,\n  grouped `\u003CFILE>` from the Title and Group the Fragments step\n- Do not fabricate content when titling or grouping fragments; only add\n  headers and reorganize the existing raw text\n- Do not remove content from `\u003CFILE>` without user confirmation, per the\n  Clean Up the Source File step\n\n# Examples\n- `research\u002Fideas\u002Fnew_ideas.md`: a raw idea dump file, the typical `\u003CFILE>`\n  input for this skill\n- See `.claude\u002Fskills\u002Fresearch_idea.rules.md` `# Examples` for a fully\n  formatted research idea\n\n# Verification\n- [ ] Every fragment in `\u003CFILE>` is grouped under a `## \u003CTitle>` header\n- [ ] The user approved the titled, grouped `\u003CFILE>` before any new idea file\n      was created\n- [ ] Each new idea file follows `.claude\u002Ftemplates\u002Fresearch_idea.template.md`\n- [ ] Each new idea file is named `research\u002Fideas\u002Fdraft.\u003CIdea_Name>.md` per\n      `.claude\u002Fskills\u002Fresearch_idea.rules.md` `## Status Prefixes`\n- [ ] No content from `\u003CFILE>` was fabricated or lost while splitting\n","# Goal\n- Given a file `\u003CFILE>` containing research ideas in a very early, unstructured\n  form (loose fragments, one-liners, mixed bullets), add a `## \u003CTitle>` header\n  above each distinct idea, then, once the user approves, create one\n  template-formatted research idea file per idea\n\n# Workflow\n\n## Read the Inputs\n- Read `\u003CFILE>`\n- Read the template `.claude\u002Ftemplates\u002Fresearch_idea.template.md`\n- Read `.claude\u002Fskills\u002Fresearch_idea.rules.md` for file naming and directory\n  conventions\n- Read the file names under `research\u002Fideas\u002F*.md` to know which ideas already\n  exist\n\n## Title and Group the Fragments\n- Split `\u003CFILE>` into distinct ideas\n  - Merge fragments that clearly describe the same idea into one group; it is\n    fine to reorder or combine fragments that belong together\n  - Keep fragments that are already distinct ideas separate, even if short\n- Add a `## \u003CTitle>` header directly above each idea's raw content\n  - `\u003CTitle>` is a short noun phrase (3-8 words) that names the idea, in the\n    same style as existing file names, e.g. `Hierarchical Training`,\n    `Compression as Proxy for Understanding`\n  - If a fragment already has a `##` header, keep or refine that title instead\n    of adding a duplicate one\n- Do not summarize, expand, or fabricate content; only add headers and move\n  fragments next to the other fragments of the same idea\n- Flag (do not silently drop) any fragment whose idea already exists as a file\n  under `research\u002Fideas\u002F*.md`, so the user can decide whether to skip it\n- Write the titled, grouped result back into `\u003CFILE>`\n\n## Wait for the User\n- Show the user the list of proposed titles and which fragments were grouped\n  under each\n- Wait for the user to review and approve `\u003CFILE>` before creating any new\n  idea file\n- If the user requests different titles or groupings, apply the changes and\n  present the file again\n\n## Create One Idea File per Approved Idea\n- For each approved `## \u003CTitle>` section, create\n  `research\u002Fideas\u002Fdraft.\u003CIdea_Name>.md`, per `.claude\u002Fskills\u002Fresearch_idea.rules.md`\n  `## Status Prefixes`\n  - `\u003CIdea_Name>` is `\u003CTitle>` in Title_Case_With_Underscores, matching\n    existing file names (e.g. `Hierarchical Training` -> `Hierarchical_Training`)\n- Seed the new file with the section's raw content as the seed for `Core Idea`\n- Skip creating a file for any idea the user chose to skip in Step 3\n\n## Clean Up the Source File\n- Ask the user whether to remove, from `\u003CFILE>`, the sections that were split\n  out into new idea files (or delete `\u003CFILE>` if every section was split out)\n- Only remove a section once its new idea file exists and the user confirms\n  its content was fully captured\n\n# Conventions\n- Follow `.claude\u002Fskills\u002Fresearch_idea.rules.md`\n\n# Constraints\n- Do not create any new idea file before the user approves the titled,\n  grouped `\u003CFILE>` from the Title and Group the Fragments step\n- Do not fabricate content when titling or grouping fragments; only add\n  headers and reorganize the existing raw text\n- Do not remove content from `\u003CFILE>` without user confirmation, per the\n  Clean Up the Source File step\n\n# Examples\n- `research\u002Fideas\u002Fnew_ideas.md`: a raw idea dump file, the typical `\u003CFILE>`\n  input for this skill\n- See `.claude\u002Fskills\u002Fresearch_idea.rules.md` `# Examples` for a fully\n  formatted research idea\n\n# Verification\n- [ ] Every fragment in `\u003CFILE>` is grouped under a `## \u003CTitle>` header\n- [ ] The user approved the titled, grouped `\u003CFILE>` before any new idea file\n      was created\n- [ ] Each new idea file follows `.claude\u002Ftemplates\u002Fresearch_idea.template.md`\n- [ ] Each new idea file is named `research\u002Fideas\u002Fdraft.\u003CIdea_Name>.md` per\n      `.claude\u002Fskills\u002Fresearch_idea.rules.md` `## Status Prefixes`\n- [ ] No content from `\u003CFILE>` was fabricated or lost while splitting\n",{"model":33,"description":7},"sonnet","master","39143a859859181eff7e774457997b5278fd9e99",".claude\u002Fskills\u002Fresearch_idea.add_from_file",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":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add causify-ai\u002Fhelpers --skill research_idea.add_from_file",{"tool":48,"command":49},"bunx","bunx skills add causify-ai\u002Fhelpers --skill research_idea.add_from_file",{"tool":51,"command":52},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill research_idea.add_from_file","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fresearch_idea.add_from_file\u002FSKILL.md",true,[],[57,74,90,101,109,118],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":66,"publishedAt":28},"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",[63],{"categoryNo":64,"categoryName":65,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[67,68,69,70,71,72,73],"tutorial in 60 mins propagate docker changes","tutorial","docker","files","haiku","template","sync",{"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":28},"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",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[84,85,68,86,87,71,25,88,89],"merge","tutorial in 60 mins merge markdown","markdown","jupyter","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":28},"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,71],"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":28},"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,27,99,100],"tutorial in 60 mins create",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":28},"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",[],[116,117],"todo reorg in progress","tasks",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":28},"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",[],[125],"todo reorg headers"]