[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZP5FMDKX22F3FMQ3MHRKT":3,"skill-same:01M6BZP5FMDKX22F3FMQ3MHRKT":90},{"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":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":35,"ownerHtmlUrl":36,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":37,"install":38,"resources":51},"01M6BZP5FMDKX22F3FMQ3MHRKT","readme.write_architecture",null,"Write architecture documentation for a Python file","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\u002Freadme.write_architecture\u002FSKILL.md",[],[19,20,21,22,23],"architecture","readme write architecture","python","documentation","file","2026-11-10 10:12:30",false,"---\ndescription: Write architecture documentation for a Python file\nmodel: sonnet\n---\n\n# Goal\n\n- Analyze a Python file `\u003CFILE>` passed by the user and generate or update\n  `\u003CFILE>.README.md` with documentation (Markdown using bullet points) about its\n  architecture, code organization, idioms, and so on\n\n# Workflow\n\n## Read File\n\n- Read the file `\u003CFILE>` to understand its code structure:\n  - Parse all function and class definitions\n  - Identify the public API (exported functions, classes, constants)\n  - Trace function call relationships (which functions call which)\n  - Identify external dependencies (imports from other modules, libraries)\n  - Note the module's purpose and role in the broader system\n\n## Check the Existing Readme\n\n- Check if `\u003CFILE>.README.md` already exists:\n  - If it exists, read it and plan what to update\n  - If it does not exist, plan content from scratch\n\n- Make sure there is a note in the docstring of the corresponding files\n  pointing to `\u003CFILE>.README.md`, e.g.,\n  ```text\n  For a description of the architecture of this file, see the file\n  \u003CFILE>.README.md\n  ```\n\n## Generate Document\n\n- Follow the template `.claude\u002Ftemplates\u002Farchitecture_doc.template.md`\n\n- Generate the documentation with these sections using markdown and\n  bullet points following the rules in\n  - `.claude\u002Fskills\u002Fmarkdown.rules.md` for markdown formatting\n  - `.claude\u002Fskills\u002Ftext.rules.md` for text formatting\n\n## Update Document\n\n- Write the results to `\u003CFILE>.README.md` in the same directory as `\u003CFILE>`\n\n- Wrap the text in 85 columns\n\n# Conventions\n\n- Use conventions summarized in \n  `docs\u002Fdocumentation_meta\u002Fall.architecture_diagrams.explanation.md`\n\n- Use PlantUML diagrams (` ```plantuml `) for all architecture diagrams, never\n  Mermaid, following `.claude\u002Fskills\u002FC4.rules.md`\n- The C4 notation with PlantUML should follow the standard C4 layout:\n  - `Person` for external users\n  - `System` for external systems\n  - `Container` for application containers\u002Fprocesses\n  - `Component` for internal components\n  - Use `Rel` for relationships between elements\n- Label diagrams clearly with what they represent\n- Reference actual code artifacts (function names, class names, file paths)\n  when available\n- Distinguish facts from assumptions:\n  - For facts (code-derived):\n    - E.g., \"The function `process_data()` calls `validate_input()` before\n      computing results\"\n  - For assumptions:\n    - E.g., \"This likely handles error cases based on the try-except blocks\n      present\"\n\n- Focus documentation on:\n  - Maintainability: How easy is it to modify and extend this code?\n  - Extensibility: How well does the design accommodate new features?\n  - Operational understanding: What does someone need to know to work with\n    this code?\n\n# Constraints\n\n- Do not modify the original `\u003CFILE>`\n  - Only create\u002Fupdate `\u003CFILE>.README.md`\n- Do not over-document: avoid repeating what is obvious from the code\n- Keep diagrams focused: one clear diagram is better than three cluttered\n  ones\n- Do not invent architecture that is not present in the code\n- When uncertain about intent, mark the observation as an assumption\n- Do not use emojis or decorative formatting\n\n# Verification\n\n- [ ] `\u003CFILE>.README.md` exists and documents `\u003CFILE>`'s architecture\n- [ ] The docstring in `\u003CFILE>` references `\u003CFILE>.README.md`\n- [ ] Diagrams use PlantUML syntax with the C4 element types\n- [ ] No architecture is invented that is not present in the code\n","# Goal\n\n- Analyze a Python file `\u003CFILE>` passed by the user and generate or update\n  `\u003CFILE>.README.md` with documentation (Markdown using bullet points) about its\n  architecture, code organization, idioms, and so on\n\n# Workflow\n\n## Read File\n\n- Read the file `\u003CFILE>` to understand its code structure:\n  - Parse all function and class definitions\n  - Identify the public API (exported functions, classes, constants)\n  - Trace function call relationships (which functions call which)\n  - Identify external dependencies (imports from other modules, libraries)\n  - Note the module's purpose and role in the broader system\n\n## Check the Existing Readme\n\n- Check if `\u003CFILE>.README.md` already exists:\n  - If it exists, read it and plan what to update\n  - If it does not exist, plan content from scratch\n\n- Make sure there is a note in the docstring of the corresponding files\n  pointing to `\u003CFILE>.README.md`, e.g.,\n  ```text\n  For a description of the architecture of this file, see the file\n  \u003CFILE>.README.md\n  ```\n\n## Generate Document\n\n- Follow the template `.claude\u002Ftemplates\u002Farchitecture_doc.template.md`\n\n- Generate the documentation with these sections using markdown and\n  bullet points following the rules in\n  - `.claude\u002Fskills\u002Fmarkdown.rules.md` for markdown formatting\n  - `.claude\u002Fskills\u002Ftext.rules.md` for text formatting\n\n## Update Document\n\n- Write the results to `\u003CFILE>.README.md` in the same directory as `\u003CFILE>`\n\n- Wrap the text in 85 columns\n\n# Conventions\n\n- Use conventions summarized in \n  `docs\u002Fdocumentation_meta\u002Fall.architecture_diagrams.explanation.md`\n\n- Use PlantUML diagrams (` ```plantuml `) for all architecture diagrams, never\n  Mermaid, following `.claude\u002Fskills\u002FC4.rules.md`\n- The C4 notation with PlantUML should follow the standard C4 layout:\n  - `Person` for external users\n  - `System` for external systems\n  - `Container` for application containers\u002Fprocesses\n  - `Component` for internal components\n  - Use `Rel` for relationships between elements\n- Label diagrams clearly with what they represent\n- Reference actual code artifacts (function names, class names, file paths)\n  when available\n- Distinguish facts from assumptions:\n  - For facts (code-derived):\n    - E.g., \"The function `process_data()` calls `validate_input()` before\n      computing results\"\n  - For assumptions:\n    - E.g., \"This likely handles error cases based on the try-except blocks\n      present\"\n\n- Focus documentation on:\n  - Maintainability: How easy is it to modify and extend this code?\n  - Extensibility: How well does the design accommodate new features?\n  - Operational understanding: What does someone need to know to work with\n    this code?\n\n# Constraints\n\n- Do not modify the original `\u003CFILE>`\n  - Only create\u002Fupdate `\u003CFILE>.README.md`\n- Do not over-document: avoid repeating what is obvious from the code\n- Keep diagrams focused: one clear diagram is better than three cluttered\n  ones\n- Do not invent architecture that is not present in the code\n- When uncertain about intent, mark the observation as an assumption\n- Do not use emojis or decorative formatting\n\n# Verification\n\n- [ ] `\u003CFILE>.README.md` exists and documents `\u003CFILE>`'s architecture\n- [ ] The docstring in `\u003CFILE>` references `\u003CFILE>.README.md`\n- [ ] Diagrams use PlantUML syntax with the C4 element types\n- [ ] No architecture is invented that is not present in the code\n",{"model":29,"description":7},"sonnet","master","39143a859859181eff7e774457997b5278fd9e99",".claude\u002Fskills\u002Freadme.write_architecture",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":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add causify-ai\u002Fhelpers --skill readme.write_architecture",{"tool":44,"command":45},"bunx","bunx skills add causify-ai\u002Fhelpers --skill readme.write_architecture",{"tool":47,"command":48},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill readme.write_architecture","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freadme.write_architecture\u002FSKILL.md",true,[52,58,62,66,70,74,78,82,86],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"references\u002Facademic-terminology-english.md","REFERENCE","参考文档",8436,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Facademic-terminology-english.md",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"references\u002Facademic-terminology-hebrew.md",11360,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Facademic-terminology-hebrew.md",{"path":63,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":64,"sourceHtmlUrl":65},"references\u002Fanti-ai-patterns-english.md",8820,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Fanti-ai-patterns-english.md",{"path":67,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":68,"sourceHtmlUrl":69},"references\u002Fanti-ai-patterns-hebrew.md",18107,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Fanti-ai-patterns-hebrew.md",{"path":71,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fdocx-generation.md",10945,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Fdocx-generation.md",{"path":75,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fhebrew-editorial-conventions.md",22285,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Fhebrew-editorial-conventions.md",{"path":79,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fstyle-fingerprint-rubric.md",5910,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Fstyle-fingerprint-rubric.md",{"path":83,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fwrite-completion.md",6591,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Fwrite-completion.md",{"path":87,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fwrite-intent-outline.md",2915,"https:\u002F\u002Fgithub.com\u002Fyodem\u002Facademic-writer\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fwrite\u002Freferences\u002Fwrite-intent-outline.md",[91,110,126,137,146,155],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":102,"publishedAt":24},"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",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[103,104,105,106,107,108,109],"tutorial in 60 mins propagate docker changes","tutorial","docker","files","haiku","template","sync",{"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":119,"publishedAt":24},"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",[116],{"categoryNo":117,"categoryName":118,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000002","文档处理",[120,121,104,122,123,107,23,124,125],"merge","tutorial in 60 mins merge markdown","markdown","jupyter","content","jupyter notebook",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":24},"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",[],[133,104,134,135,136,107],"tutorial in 60 mins format","format","directory","learn",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":24},"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",[],[144,104,145,135,136],"tutorial in 60 mins create","create",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":24},"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",[],[153,154],"todo reorg in progress","tasks",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":24},"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",[],[162],"todo reorg headers"]