[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6G2CD2ADM8WHZXH4DTP62NF":3,"skill-same:01M6G2CD2ADM8WHZXH4DTP62NF":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":23,"publishedAt":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":6,"ownerHtmlUrl":37,"ownerBlogUrl":38,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M6G2CD2ADM8WHZXH4DTP62NF","skill-stocktake",null,"用于审计Claude技能和命令的质量。支持快速扫描（仅变更技能）和全面盘点模式，采用顺序子代理批量评估。","oabdelmaksoud\u002FAgention","oabdelmaksoud","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F50699149?v=4","01M6D5CVVN778ZCDP1WHS816SP","Omar Abdelmaksoud","01M6D8A4TE76V3DCSH3D94VG1V",2,"MIT","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fdocs\u002Fzh-CN\u002Fskills\u002Fskill-stocktake\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25],"skill stocktake","评估","2026-11-10 10:12:30",false,"---\ndescription: \"用于审计Claude技能和命令的质量。支持快速扫描（仅变更技能）和全面盘点模式，采用顺序子代理批量评估。\"\norigin: ECC\n---\n\n# skill-stocktake\n\n斜杠命令 (`\u002Fskill-stocktake`)，用于使用质量检查清单 + AI 整体判断来审核所有 Claude 技能和命令。支持两种模式：用于最近更改技能的快速扫描，以及用于完整审查的全面盘点。\n\n## 范围\n\n该命令针对以下**相对于调用命令所在目录**的路径：\n\n| 路径 | 描述 |\n|------|-------------|\n| `~\u002F.claude\u002Fskills\u002F` | 全局技能（所有项目） |\n| `{cwd}\u002F.claude\u002Fskills\u002F` | 项目级技能（如果目录存在） |\n\n**在第 1 阶段开始时，该命令会明确列出找到并扫描了哪些路径。**\n\n### 针对特定项目\n\n要包含项目级技能，请从该项目根目录运行：\n\n```bash\ncd ~\u002Fpath\u002Fto\u002Fmy-project\n\u002Fskill-stocktake\n```\n\n如果项目没有 `.claude\u002Fskills\u002F` 目录，则只评估全局技能和命令。\n\n## 模式\n\n| 模式 | 触发条件 | 持续时间 |\n|------|---------|---------|\n| 快速扫描 | `results.json` 存在（默认） | 5–10 分钟 |\n| 全面盘点 | `results.json` 不存在，或 `\u002Fskill-stocktake full` | 20–30 分钟 |\n\n**结果缓存：** `~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`\n\n## 快速扫描流程\n\n仅重新评估自上次运行以来发生更改的技能（5–10 分钟）。\n\n1. 读取 `~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`\n2. 运行：`bash ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fscripts\u002Fquick-diff.sh \\   ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`\n   （项目目录从 `$PWD\u002F.claude\u002Fskills` 自动检测；仅在需要时显式传递）\n3. 如果输出是 `[]`：报告“自上次运行以来无更改。”并停止\n4. 使用相同的第 2 阶段标准仅重新评估那些已更改的文件\n5. 沿用先前结果中未更改的技能\n6. 仅输出差异\n7. 运行：`bash ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fscripts\u002Fsave-results.sh \\   ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json \u003C\u003C\u003C \"$EVAL_RESULTS\"`\n\n## 全面盘点流程\n\n### 第 1 阶段 — 清单\n\n运行：`bash ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fscripts\u002Fscan.sh`\n\n脚本枚举技能文件，提取 frontmatter，并收集 UTC 修改时间。\n项目目录从 `$PWD\u002F.claude\u002Fskills` 自动检测；仅在需要时显式传递。\n从脚本输出中呈现扫描摘要和清单表：\n\n```\nScanning:\n  ✓ ~\u002F.claude\u002Fskills\u002F         (17 files)\n  ✗ {cwd}\u002F.claude\u002Fskills\u002F    (not found — global skills only)\n```\n\n| 技能 | 7天使用 | 30天使用 | 描述 |\n|-------|--------|---------|-------------|\n\n### 第 2 阶段 — 质量评估\n\n启动一个 Task 工具子代理（**Explore 代理，模型：opus**），提供完整的清单和检查清单。\n子代理读取每个技能，应用检查清单，并返回每个技能的 JSON：\n\n`{ \"verdict\": \"Keep\"|\"Improve\"|\"Update\"|\"Retire\"|\"Merge into [X]\", \"reason\": \"...\" }`\n\n**分块指导：** 每个子代理调用处理约 20 个技能，以保持上下文可管理。在每个块之后将中间结果保存到 `results.json` (`status: \"in_progress\"`)。\n\n所有技能评估完成后：设置 `status: \"completed\"`，进入第 3 阶段。\n\n**恢复检测：** 如果在启动时找到 `status: \"in_progress\"`，则从第一个未评估的技能处恢复。\n\n每个技能都根据此检查清单进行评估：\n\n```\n- [ ] Content overlap with other skills checked\n- [ ] Overlap with MEMORY.md \u002F CLAUDE.md checked\n- [ ] Freshness of technical references verified (use WebSearch if tool names \u002F CLI flags \u002F APIs are present)\n- [ ] Usage frequency considered\n```\n\n判定标准：\n\n| 判定 | 含义 |\n|---------|---------|\n| Keep | 有用且最新 |\n| Improve | 值得保留，但需要特定改进 |\n| Update | 引用的技术已过时（通过 WebSearch 验证） |\n| Retire | 质量低、陈旧或成本不对称 |\n| Merge into \\[X] | 与另一技能有大量重叠；命名合并目标 |\n\n评估是**整体 AI 判断** — 不是数字评分标准。指导维度：\n\n* **可操作性**：代码示例、命令或步骤，让你可以立即行动\n* **范围契合度**：名称、触发器和内容保持一致；不过于宽泛或狭窄\n* **独特性**：价值不能被 MEMORY.md \u002F CLAUDE.md \u002F 其他技能取代\n* **时效性**：技术引用在当前环境中有效\n\n**原因质量要求** — `reason` 字段必须是自包含且能支持决策的：\n\n* 不要只写“未更改” — 始终重述核心证据\n* 对于 **Retire**：说明 (1) 发现了什么具体缺陷，(2) 有什么替代方案覆盖了相同需求\n  * 差：`\"Superseded\"`\n  * 好：`\"disable-model-invocation: true already set; superseded by continuous-learning-v2 which covers all the same patterns plus confidence scoring. No unique content remains.\"`\n* 对于 **Merge**：命名目标并描述要集成什么内容\n  * 差：`\"Overlaps with X\"`\n  * 好：`\"42-line thin content; Step 4 of chatlog-to-article already covers the same workflow. Integrate the 'article angle' tip as a note in that skill.\"`\n* 对于 **Improve**：描述所需的具体更改（哪个部分，什么操作，如果相关则说明目标大小）\n  * 差：`\"Too long\"`\n  * 好：`\"276 lines; Section 'Framework Comparison' (L80–140) duplicates ai-era-architecture-principles; delete it to reach ~150 lines.\"`\n* 对于 **Keep**（快速扫描中仅 mtime 更改）：重述原始判定理由，不要写“未更改”\n  * 差：`\"Unchanged\"`\n  * 好：`\"mtime updated but content unchanged. Unique Python reference explicitly imported by rules\u002Fpython\u002F; no overlap found.\"`\n\n### 第 3 阶段 — 摘要表\n\n| 技能 | 7天使用 | 判定 | 原因 |\n|-------|--------|---------|--------|\n\n### 第 4 阶段 — 整合\n\n1. **Retire \u002F Merge**：在用户确认之前，按文件呈现详细理由：\n   * 发现了什么具体问题（重叠、陈旧、引用损坏等）\n   * 什么替代方案覆盖了相同功能（对于 Retire：哪个现有技能\u002F规则；对于 Merge：目标文件以及要集成什么内容）\n   * 移除的影响（是否有依赖技能、MEMORY.md 引用或受影响的工作流）\n2. **Improve**：呈现具体的改进建议及理由：\n   * 更改什么以及为什么（例如，“将 430 行压缩至 200 行，因为 X\u002FY 部分与 python-patterns 重复”）\n   * 用户决定是否采取行动\n3. **Update**：呈现已检查来源的更新后内容\n4. 检查 MEMORY.md 行数；如果超过 100 行，则建议压缩\n\n## 结果文件模式\n\n`~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`：\n\n**`evaluated_at`**：必须设置为评估完成时的实际 UTC 时间。\n通过 Bash 获取：`date -u +%Y-%m-%dT%H:%M:%SZ`。切勿使用仅日期的近似值，如 `T00:00:00Z`。\n\n```json\n{\n  \"evaluated_at\": \"2026-02-21T10:00:00Z\",\n  \"mode\": \"full\",\n  \"batch_progress\": {\n    \"total\": 80,\n    \"evaluated\": 80,\n    \"status\": \"completed\"\n  },\n  \"skills\": {\n    \"skill-name\": {\n      \"path\": \"~\u002F.claude\u002Fskills\u002Fskill-name\u002FSKILL.md\",\n      \"verdict\": \"Keep\",\n      \"reason\": \"Concrete, actionable, unique value for X workflow\",\n      \"mtime\": \"2026-01-15T08:30:00Z\"\n    }\n  }\n}\n```\n\n## 注意事项\n\n* 评估是盲目的：无论来源如何（ECC、自创、自动提取），所有技能都应用相同的检查清单\n* 归档 \u002F 删除操作始终需要明确的用户确认\n* 不按技能来源进行判定分支\n","# skill-stocktake\n\n斜杠命令 (`\u002Fskill-stocktake`)，用于使用质量检查清单 + AI 整体判断来审核所有 Claude 技能和命令。支持两种模式：用于最近更改技能的快速扫描，以及用于完整审查的全面盘点。\n\n## 范围\n\n该命令针对以下**相对于调用命令所在目录**的路径：\n\n| 路径 | 描述 |\n|------|-------------|\n| `~\u002F.claude\u002Fskills\u002F` | 全局技能（所有项目） |\n| `{cwd}\u002F.claude\u002Fskills\u002F` | 项目级技能（如果目录存在） |\n\n**在第 1 阶段开始时，该命令会明确列出找到并扫描了哪些路径。**\n\n### 针对特定项目\n\n要包含项目级技能，请从该项目根目录运行：\n\n```bash\ncd ~\u002Fpath\u002Fto\u002Fmy-project\n\u002Fskill-stocktake\n```\n\n如果项目没有 `.claude\u002Fskills\u002F` 目录，则只评估全局技能和命令。\n\n## 模式\n\n| 模式 | 触发条件 | 持续时间 |\n|------|---------|---------|\n| 快速扫描 | `results.json` 存在（默认） | 5–10 分钟 |\n| 全面盘点 | `results.json` 不存在，或 `\u002Fskill-stocktake full` | 20–30 分钟 |\n\n**结果缓存：** `~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`\n\n## 快速扫描流程\n\n仅重新评估自上次运行以来发生更改的技能（5–10 分钟）。\n\n1. 读取 `~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`\n2. 运行：`bash ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fscripts\u002Fquick-diff.sh \\   ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`\n   （项目目录从 `$PWD\u002F.claude\u002Fskills` 自动检测；仅在需要时显式传递）\n3. 如果输出是 `[]`：报告“自上次运行以来无更改。”并停止\n4. 使用相同的第 2 阶段标准仅重新评估那些已更改的文件\n5. 沿用先前结果中未更改的技能\n6. 仅输出差异\n7. 运行：`bash ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fscripts\u002Fsave-results.sh \\   ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json \u003C\u003C\u003C \"$EVAL_RESULTS\"`\n\n## 全面盘点流程\n\n### 第 1 阶段 — 清单\n\n运行：`bash ~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fscripts\u002Fscan.sh`\n\n脚本枚举技能文件，提取 frontmatter，并收集 UTC 修改时间。\n项目目录从 `$PWD\u002F.claude\u002Fskills` 自动检测；仅在需要时显式传递。\n从脚本输出中呈现扫描摘要和清单表：\n\n```\nScanning:\n  ✓ ~\u002F.claude\u002Fskills\u002F         (17 files)\n  ✗ {cwd}\u002F.claude\u002Fskills\u002F    (not found — global skills only)\n```\n\n| 技能 | 7天使用 | 30天使用 | 描述 |\n|-------|--------|---------|-------------|\n\n### 第 2 阶段 — 质量评估\n\n启动一个 Task 工具子代理（**Explore 代理，模型：opus**），提供完整的清单和检查清单。\n子代理读取每个技能，应用检查清单，并返回每个技能的 JSON：\n\n`{ \"verdict\": \"Keep\"|\"Improve\"|\"Update\"|\"Retire\"|\"Merge into [X]\", \"reason\": \"...\" }`\n\n**分块指导：** 每个子代理调用处理约 20 个技能，以保持上下文可管理。在每个块之后将中间结果保存到 `results.json` (`status: \"in_progress\"`)。\n\n所有技能评估完成后：设置 `status: \"completed\"`，进入第 3 阶段。\n\n**恢复检测：** 如果在启动时找到 `status: \"in_progress\"`，则从第一个未评估的技能处恢复。\n\n每个技能都根据此检查清单进行评估：\n\n```\n- [ ] Content overlap with other skills checked\n- [ ] Overlap with MEMORY.md \u002F CLAUDE.md checked\n- [ ] Freshness of technical references verified (use WebSearch if tool names \u002F CLI flags \u002F APIs are present)\n- [ ] Usage frequency considered\n```\n\n判定标准：\n\n| 判定 | 含义 |\n|---------|---------|\n| Keep | 有用且最新 |\n| Improve | 值得保留，但需要特定改进 |\n| Update | 引用的技术已过时（通过 WebSearch 验证） |\n| Retire | 质量低、陈旧或成本不对称 |\n| Merge into \\[X] | 与另一技能有大量重叠；命名合并目标 |\n\n评估是**整体 AI 判断** — 不是数字评分标准。指导维度：\n\n* **可操作性**：代码示例、命令或步骤，让你可以立即行动\n* **范围契合度**：名称、触发器和内容保持一致；不过于宽泛或狭窄\n* **独特性**：价值不能被 MEMORY.md \u002F CLAUDE.md \u002F 其他技能取代\n* **时效性**：技术引用在当前环境中有效\n\n**原因质量要求** — `reason` 字段必须是自包含且能支持决策的：\n\n* 不要只写“未更改” — 始终重述核心证据\n* 对于 **Retire**：说明 (1) 发现了什么具体缺陷，(2) 有什么替代方案覆盖了相同需求\n  * 差：`\"Superseded\"`\n  * 好：`\"disable-model-invocation: true already set; superseded by continuous-learning-v2 which covers all the same patterns plus confidence scoring. No unique content remains.\"`\n* 对于 **Merge**：命名目标并描述要集成什么内容\n  * 差：`\"Overlaps with X\"`\n  * 好：`\"42-line thin content; Step 4 of chatlog-to-article already covers the same workflow. Integrate the 'article angle' tip as a note in that skill.\"`\n* 对于 **Improve**：描述所需的具体更改（哪个部分，什么操作，如果相关则说明目标大小）\n  * 差：`\"Too long\"`\n  * 好：`\"276 lines; Section 'Framework Comparison' (L80–140) duplicates ai-era-architecture-principles; delete it to reach ~150 lines.\"`\n* 对于 **Keep**（快速扫描中仅 mtime 更改）：重述原始判定理由，不要写“未更改”\n  * 差：`\"Unchanged\"`\n  * 好：`\"mtime updated but content unchanged. Unique Python reference explicitly imported by rules\u002Fpython\u002F; no overlap found.\"`\n\n### 第 3 阶段 — 摘要表\n\n| 技能 | 7天使用 | 判定 | 原因 |\n|-------|--------|---------|--------|\n\n### 第 4 阶段 — 整合\n\n1. **Retire \u002F Merge**：在用户确认之前，按文件呈现详细理由：\n   * 发现了什么具体问题（重叠、陈旧、引用损坏等）\n   * 什么替代方案覆盖了相同功能（对于 Retire：哪个现有技能\u002F规则；对于 Merge：目标文件以及要集成什么内容）\n   * 移除的影响（是否有依赖技能、MEMORY.md 引用或受影响的工作流）\n2. **Improve**：呈现具体的改进建议及理由：\n   * 更改什么以及为什么（例如，“将 430 行压缩至 200 行，因为 X\u002FY 部分与 python-patterns 重复”）\n   * 用户决定是否采取行动\n3. **Update**：呈现已检查来源的更新后内容\n4. 检查 MEMORY.md 行数；如果超过 100 行，则建议压缩\n\n## 结果文件模式\n\n`~\u002F.claude\u002Fskills\u002Fskill-stocktake\u002Fresults.json`：\n\n**`evaluated_at`**：必须设置为评估完成时的实际 UTC 时间。\n通过 Bash 获取：`date -u +%Y-%m-%dT%H:%M:%SZ`。切勿使用仅日期的近似值，如 `T00:00:00Z`。\n\n```json\n{\n  \"evaluated_at\": \"2026-02-21T10:00:00Z\",\n  \"mode\": \"full\",\n  \"batch_progress\": {\n    \"total\": 80,\n    \"evaluated\": 80,\n    \"status\": \"completed\"\n  },\n  \"skills\": {\n    \"skill-name\": {\n      \"path\": \"~\u002F.claude\u002Fskills\u002Fskill-name\u002FSKILL.md\",\n      \"verdict\": \"Keep\",\n      \"reason\": \"Concrete, actionable, unique value for X workflow\",\n      \"mtime\": \"2026-01-15T08:30:00Z\"\n    }\n  }\n}\n```\n\n## 注意事项\n\n* 评估是盲目的：无论来源如何（ECC、自创、自动提取），所有技能都应用相同的检查清单\n* 归档 \u002F 删除操作始终需要明确的用户确认\n* 不按技能来源进行判定分支\n",{"origin":31,"description":7},"ECC","main","a318f48de3c5718e8ea2e9f6fae7790e8a759e85","upstream-sync\u002Fwork\u002Fecc\u002Fdocs\u002Fzh-CN\u002Fskills\u002Fskill-stocktake",0,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fo-abdelmaksoud\u002F","Full-Stack Engineer | AI Systems Architect | Building autonomous multi-agent systems","2026-03-08 21:23:03",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add oabdelmaksoud\u002FAgention --skill skill-stocktake",{"tool":47,"command":48},"bunx","bunx skills add oabdelmaksoud\u002FAgention --skill skill-stocktake",{"tool":50,"command":51},"pnpm","pnpm dlx skills add oabdelmaksoud\u002FAgention --skill skill-stocktake","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fdocs\u002Fzh-CN\u002Fskills\u002Fskill-stocktake\u002FSKILL.md",true,[],[56,78,92,123,149,169],{"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":65,"publishedAt":26},"01M6G2QFCBNBYAJF2KTK85G9A6","visa-doc-translate","Translate visa application documents (images) to English and create a bilingual PDF with original and translation","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fvisa-doc-translate\u002FSKILL.md",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[66,67,68,69,70,71,72,73,74,75,76,77],"translate","doc","visa doc translate","bilingual","with","english","application","PDF","translation","documents","create","images",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":26},"01M6G2QB09TSK6BY4ME5X20EVQ","verification-loop","A comprehensive verification system for Claude Code sessions.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fverification-loop\u002FSKILL.md",[],[85,86,87,88,89,90,91],"verification","loop","verification loop","sessions","code","claude code sessions","system",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":107,"publishedAt":26},"01M6G2Q6V2F7G03VAAF27FXPJR","tdd-workflow","Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Ftdd-workflow\u002FSKILL.md",[98,101,102],{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[108,109,110,111,112,113,114,115,116,89,117,118,119,120,70,121,122],"workflow","tdd","tdd workflow","use","unit","coverage","refactoring","e2e","integration","development","e2e tests","tests","driven","test","writing",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":26},"01M6G2Q359YJRWAR2PFCEQAXF3","swiftui-patterns","SwiftUI architecture patterns, state management with @Observable, view composition, navigation, performance optimization, and modern iOS\u002FmacOS UI best practices.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswiftui-patterns\u002FSKILL.md",[],[130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,70],"patterns","swiftui","swiftui patterns","architecture","macos","performance","state management","best practices","state","ui","Optimization","ios","architecture patterns","Composition","performance optimization","view","management","swiftui architecture","navigation",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":26},"01M6G2PY8B2FWZTWPZ84H83Y7C","swift-protocol-di-testing","Protocol-based dependency injection for testable Swift code — mock file system, network, and external APIs using focused protocols and Swift Testing.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswift-protocol-di-testing\u002FSKILL.md",[155],{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},[157,158,159,160,89,161,162,163,164,91,165,166,167,168],"swift protocol di testing","protocol","swift","testing","protocols","file","network","injection","dependency","swift testing","dependency injection","mock",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":26},"01M6G2PSCN2GXV9FFZDRRRWVB6","swift-concurrency-6-2","Swift 6.2 Approachable Concurrency — single-threaded by default, @concurrent for explicit background offloading, isolated conformances for main actor types.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswift-concurrency-6-2\u002FSKILL.md",[],[176,177,178,159,179,32,180],"concurrency","swift concurrency","swift concurrency 6 2","default","types"]