docs(zh-CN): sync Chinese docs with latest upstream changes#428
docs(zh-CN): sync Chinese docs with latest upstream changes#428affaan-m merged 1 commit intoaffaan-m:mainfrom
Conversation
📝 WalkthroughWalkthroughThe PR adds and updates extensive Chinese-language documentation for the ECC project, introducing new Kotlin/Perl/PHP-specific rules and coding guidelines, comprehensive command workflow guides (session management, orchestration, prompt optimization), numerous skills documentation for operational/business domains (logistics, procurement, scheduling) and language-specific patterns, and updated system guides (AGENTS, CONTRIBUTING, README) reflecting expanded capability metrics and improved terminology. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
20 issues found across 88 files
Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="docs/zh-CN/rules/kotlin/hooks.md">
<violation number="1" location="docs/zh-CN/rules/kotlin/hooks.md:8">
P2: Heading is not translated. All other zh-CN hooks files use `<Language> 钩子` (e.g., `Go 钩子`, `Python 钩子`). This should be `# Kotlin 钩子` for consistency.</violation>
<violation number="2" location="docs/zh-CN/rules/kotlin/hooks.md:12">
P2: Section heading is not translated. All other zh-CN hooks files use `## PostToolUse 钩子`. This should match for consistency.</violation>
</file>
<file name="docs/zh-CN/skills/carrier-relationship-management/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/carrier-relationship-management/SKILL.md:3">
P1: `license: Apache-2.0` is concatenated onto the `description` value instead of being a separate YAML frontmatter key. The YAML parser will include the literal text `license: Apache-2.0` as part of the description string, and the license metadata field will be missing entirely. Split this into separate lines, matching the upstream English file's `>` block scalar format.</violation>
</file>
<file name="docs/zh-CN/CODE_OF_CONDUCT.md">
<violation number="1" location="docs/zh-CN/CODE_OF_CONDUCT.md:74">
P2: Escaped square brackets `\[…]\[…]` break the markdown reference link. This will render as literal text instead of a clickable link to `contributor-covenant.org`. Remove the backslashes to restore the link.</violation>
</file>
<file name="docs/zh-CN/commands/kotlin-review.md">
<violation number="1" location="docs/zh-CN/commands/kotlin-review.md:53">
P2: Mistranslation: '序列化' means 'serialization', but the original English refers to Kotlin `Sequence` (lazy collection processing via `asSequence()`). Use '序列(Sequence)' instead.</violation>
</file>
<file name="docs/zh-CN/skills/videodb/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/videodb/SKILL.md:80">
P3: Uses traditional Chinese character `內联` instead of simplified `内联` in a zh-CN document. Other zh-CN files in this project (e.g., `reference/editor.md`, `reference/streaming.md`) consistently use the simplified form `内联`.</violation>
</file>
<file name="docs/zh-CN/skills/customs-trade-compliance/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/customs-trade-compliance/SKILL.md:3">
P1: `license: Apache-2.0` is concatenated onto the end of the `description` value instead of being a separate YAML key. A YAML parser will not recognize `license` as its own field — the license metadata is lost, and the description contains the literal text "license: Apache-2.0".</violation>
</file>
<file name="docs/zh-CN/skills/returns-reverse-logistics/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/returns-reverse-logistics/SKILL.md:3">
P2: `license: Apache-2.0` is merged into the `description` value instead of being its own YAML field. The YAML parser will produce no `license` key and a description ending with the literal text "license: Apache-2.0". Add a line break after the description and place `license` on its own line, matching the English source.</violation>
</file>
<file name="docs/zh-CN/skills/configure-ecc/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/configure-ecc/SKILL.md:279">
P2: The cross-reference says `fal-ai-media` depends on `videodb`, but `videodb` is not listed in any skill category table in this document. The `skills/videodb/` directory exists in the repo, so the skill is real — it's just missing from the Media Generation catalog (which lists only `fal-ai-media` and `video-editing`). Users following the wizard would never be offered `videodb` for installation, yet validation step 4c would flag it as a missing dependency.
This appears to also be an upstream issue in the English source — consider adding `videodb` to the Media Generation table (updating the count to 3 skills, and the total to 42).</violation>
</file>
<file name="docs/zh-CN/AGENTS.md">
<violation number="1" location="docs/zh-CN/AGENTS.md:137">
P2: The project structure block still says `agents/ — 13 specialized subagents` but the rest of the document (intro, table) now references 16 agents. The `skills/` and `commands/` lines in this block were updated but `agents/` was missed.</violation>
</file>
<file name="docs/zh-CN/skills/energy-procurement/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/energy-procurement/SKILL.md:3">
P2: `license: Apache-2.0` is concatenated onto the end of the `description` value instead of being a separate YAML key. A YAML parser will include the literal text "license: Apache-2.0" in the description string and the `license` field will be missing from the parsed frontmatter.</violation>
</file>
<file name="docs/zh-CN/skills/inventory-demand-planning/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/inventory-demand-planning/SKILL.md:3">
P2: `license: Apache-2.0` is concatenated into the `description` value instead of being a separate YAML frontmatter field. Any tooling that reads the `license` key will find it missing, and the description text will contain the spurious suffix.</violation>
</file>
<file name="docs/zh-CN/skills/production-scheduling/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/production-scheduling/SKILL.md:3">
P2: `license: Apache-2.0` is concatenated into the `description` value instead of being its own YAML frontmatter field. A YAML parser will see no `license` key at all, and the description will end with the literal text "license: Apache-2.0". Split it onto a separate line to match the English source.</violation>
</file>
<file name="docs/zh-CN/skills/logistics-exception-management/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/logistics-exception-management/SKILL.md:3">
P2: `license: Apache-2.0` is concatenated onto the end of the `description` value instead of being a separate YAML key. A YAML parser will read this as part of the description text, so the `license` field is silently missing from the parsed frontmatter.</violation>
</file>
<file name="docs/zh-CN/commands/save-session.md">
<violation number="1" location="docs/zh-CN/commands/save-session.md:183">
P2: The section headings in the example output diverge from the template format above. In the English source they are identical; here the Chinese translations differ between the two (e.g., `正在构建的内容` in the template vs `我们正在构建什么` in the example). Since the example is meant to be a filled-in version of the template, the headings should be consistent so readers (and any tooling that parses these files) see the same structure.</violation>
</file>
<file name="docs/zh-CN/commands/python-review.md">
<violation number="1" location="docs/zh-CN/commands/python-review.md:318">
P1: Removing the `\|` escape breaks the markdown table. The `\`` are escaped literal backticks, not code span delimiters, so the bare `|` will be parsed as a column separator, splitting this row into the wrong number of columns.
The English upstream uses HTML entities (``` and `|`) to avoid this. Either restore the `\|` escape or match upstream with HTML entities.</violation>
</file>
<file name="docs/zh-CN/skills/quality-nonconformance/SKILL.md">
<violation number="1" location="docs/zh-CN/skills/quality-nonconformance/SKILL.md:3">
P1: `license: Apache-2.0` is embedded inside the `description` value instead of being a separate YAML field. A YAML parser will not recognize it as a key — the translated file will have no `license` metadata. Add a line break before `license:` (using the `>` block scalar like the English source).</violation>
<violation number="2" location="docs/zh-CN/skills/quality-nonconformance/SKILL.md:57">
P3: "阈度" is not a standard Chinese term; the correct word is "阈值" (threshold). The same file already uses "阈值" correctly on line 102.</violation>
</file>
<file name="docs/zh-CN/README.md">
<violation number="1" location="docs/zh-CN/README.md:1">
P2: "English" is no longer a link — readers of this zh-CN doc cannot navigate back to the English version. Wrap it in a link like the other language entries.</violation>
<violation number="2" location="docs/zh-CN/README.md:50">
P2: Missing closing `"` on the `alt` attribute. The tag becomes `alt="Claude Code 的速记指南/>` which is invalid HTML — the image and its parent link will render incorrectly on GitHub.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| @@ -0,0 +1,199 @@ | |||
| --- | |||
| name: carrier-relationship-management | |||
| description: 用于管理承运商组合、协商运费、跟踪承运商绩效、分配货运以及维护战略承运商关系的编码专业知识。基于拥有15年以上经验的运输经理提供的信息。包括记分卡框架、RFP流程、市场情报和合规性审查。适用于管理承运商、协商费率、评估承运商绩效或制定货运策略时使用。license: Apache-2.0 | |||
There was a problem hiding this comment.
P1: license: Apache-2.0 is concatenated onto the description value instead of being a separate YAML frontmatter key. The YAML parser will include the literal text license: Apache-2.0 as part of the description string, and the license metadata field will be missing entirely. Split this into separate lines, matching the upstream English file's > block scalar format.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/skills/carrier-relationship-management/SKILL.md, line 3:
<comment>`license: Apache-2.0` is concatenated onto the `description` value instead of being a separate YAML frontmatter key. The YAML parser will include the literal text `license: Apache-2.0` as part of the description string, and the license metadata field will be missing entirely. Split this into separate lines, matching the upstream English file's `>` block scalar format.</comment>
<file context>
@@ -0,0 +1,199 @@
+---
+name: carrier-relationship-management
+description: 用于管理承运商组合、协商运费、跟踪承运商绩效、分配货运以及维护战略承运商关系的编码专业知识。基于拥有15年以上经验的运输经理提供的信息。包括记分卡框架、RFP流程、市场情报和合规性审查。适用于管理承运商、协商费率、评估承运商绩效或制定货运策略时使用。license: Apache-2.0
+version: 1.0.0
+homepage: https://github.com/affaan-m/everything-claude-code
</file context>
| @@ -0,0 +1,256 @@ | |||
| --- | |||
| name: customs-trade-compliance | |||
| description: 海关文件、关税分类、关税优化、受限方筛查以及多司法管辖区法规合规的编码化专业知识。由拥有15年以上经验的贸易合规专家提供。包括HS分类逻辑、Incoterms应用、自贸协定利用以及罚款减免。适用于处理海关清关、关税分类、贸易合规、进出口文件或关税优化时使用。license: Apache-2.0 | |||
There was a problem hiding this comment.
P1: license: Apache-2.0 is concatenated onto the end of the description value instead of being a separate YAML key. A YAML parser will not recognize license as its own field — the license metadata is lost, and the description contains the literal text "license: Apache-2.0".
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/skills/customs-trade-compliance/SKILL.md, line 3:
<comment>`license: Apache-2.0` is concatenated onto the end of the `description` value instead of being a separate YAML key. A YAML parser will not recognize `license` as its own field — the license metadata is lost, and the description contains the literal text "license: Apache-2.0".</comment>
<file context>
@@ -0,0 +1,256 @@
+---
+name: customs-trade-compliance
+description: 海关文件、关税分类、关税优化、受限方筛查以及多司法管辖区法规合规的编码化专业知识。由拥有15年以上经验的贸易合规专家提供。包括HS分类逻辑、Incoterms应用、自贸协定利用以及罚款减免。适用于处理海关清关、关税分类、贸易合规、进出口文件或关税优化时使用。license: Apache-2.0
+version: 1.0.0
+homepage: https://github.com/affaan-m/everything-claude-code
</file context>
| | 仅限位置参数 | 3.8+ | | ||
| | Match 语句 | 3.10+ | | ||
| | 类型联合 (\`x \| None\`) | 3.10+ | | ||
| | 类型联合 (\`x | None\`) | 3.10+ | |
There was a problem hiding this comment.
P1: Removing the \| escape breaks the markdown table. The \`` are escaped literal backticks, not code span delimiters, so the bare |` will be parsed as a column separator, splitting this row into the wrong number of columns.
The English upstream uses HTML entities (` and |) to avoid this. Either restore the \| escape or match upstream with HTML entities.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/commands/python-review.md, line 318:
<comment>Removing the `\|` escape breaks the markdown table. The `\`` are escaped literal backticks, not code span delimiters, so the bare `|` will be parsed as a column separator, splitting this row into the wrong number of columns.
The English upstream uses HTML entities (``` and `|`) to avoid this. Either restore the `\|` escape or match upstream with HTML entities.</comment>
<file context>
@@ -315,6 +315,6 @@ result = "".join(str(item) for item in items)
| 仅限位置参数 | 3.8+ |
| Match 语句 | 3.10+ |
-| 类型联合 (\`x \| None\`) | 3.10+ |
+| 类型联合 (\`x | None\`) | 3.10+ |
确保你的项目 `pyproject.toml` 或 `setup.py` 指定了正确的最低 Python 版本。
</file context>
| | 类型联合 (\`x | None\`) | 3.10+ | | |
| | 类型联合 (\`x \| None\`) | 3.10+ | |
| @@ -0,0 +1,252 @@ | |||
| --- | |||
| name: quality-nonconformance | |||
| description: 为受监管制造业中的质量控制、不合格调查、根本原因分析、纠正措施和供应商质量管理提供编码化专业知识。基于在FDA、IATF 16949和AS9100环境中拥有15年以上经验的质量工程师的见解。包括不合格报告生命周期管理、纠正与预防措施系统、统计过程控制解释和审核方法。适用于调查不合格、进行根本原因分析、管理纠正与预防措施、解释统计过程控制数据或处理供应商质量问题。license: Apache-2.0 | |||
There was a problem hiding this comment.
P1: license: Apache-2.0 is embedded inside the description value instead of being a separate YAML field. A YAML parser will not recognize it as a key — the translated file will have no license metadata. Add a line break before license: (using the > block scalar like the English source).
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/skills/quality-nonconformance/SKILL.md, line 3:
<comment>`license: Apache-2.0` is embedded inside the `description` value instead of being a separate YAML field. A YAML parser will not recognize it as a key — the translated file will have no `license` metadata. Add a line break before `license:` (using the `>` block scalar like the English source).</comment>
<file context>
@@ -0,0 +1,252 @@
+---
+name: quality-nonconformance
+description: 为受监管制造业中的质量控制、不合格调查、根本原因分析、纠正措施和供应商质量管理提供编码化专业知识。基于在FDA、IATF 16949和AS9100环境中拥有15年以上经验的质量工程师的见解。包括不合格报告生命周期管理、纠正与预防措施系统、统计过程控制解释和审核方法。适用于调查不合格、进行根本原因分析、管理纠正与预防措施、解释统计过程控制数据或处理供应商质量问题。license: Apache-2.0
+version: 1.0.0
+homepage: https://github.com/affaan-m/everything-claude-code
</file context>
|
|
||
| > 此文件在 [common/hooks.md](../common/hooks.md) 的基础上扩展了 Kotlin 相关内容。 | ||
|
|
||
| ## PostToolUse Hooks |
There was a problem hiding this comment.
P2: Section heading is not translated. All other zh-CN hooks files use ## PostToolUse 钩子. This should match for consistency.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/rules/kotlin/hooks.md, line 12:
<comment>Section heading is not translated. All other zh-CN hooks files use `## PostToolUse 钩子`. This should match for consistency.</comment>
<file context>
@@ -0,0 +1,18 @@
+
+> 此文件在 [common/hooks.md](../common/hooks.md) 的基础上扩展了 Kotlin 相关内容。
+
+## PostToolUse Hooks
+
+在 `~/.claude/settings.json` 中配置:
</file context>
| ## PostToolUse Hooks | |
| ## PostToolUse 钩子 |
|
|
||
| --- | ||
|
|
||
| ## 我们正在构建什么 |
There was a problem hiding this comment.
P2: The section headings in the example output diverge from the template format above. In the English source they are identical; here the Chinese translations differ between the two (e.g., 正在构建的内容 in the template vs 我们正在构建什么 in the example). Since the example is meant to be a filled-in version of the template, the headings should be consistent so readers (and any tooling that parses these files) see the same structure.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/commands/save-session.md, line 183:
<comment>The section headings in the example output diverge from the template format above. In the English source they are identical; here the Chinese translations differ between the two (e.g., `正在构建的内容` in the template vs `我们正在构建什么` in the example). Since the example is meant to be a filled-in version of the template, the headings should be consistent so readers (and any tooling that parses these files) see the same structure.</comment>
<file context>
@@ -0,0 +1,252 @@
+
+---
+
+## 我们正在构建什么
+
+为 Next.js 应用构建用户认证系统。用户使用电子邮件/密码注册,收到存储在 httpOnly cookie(而非 localStorage)中的 JWT,受保护的路由通过中间件检查有效的令牌。目标是在浏览器刷新时保持会话持久性,同时不将令牌暴露给 JavaScript。
</file context>
| <td width="50%"> | ||
| <a href="https://x.com/affaanmustafa/status/2012378465664745795"> | ||
| <img src="https://github.com/user-attachments/assets/1a471488-59cc-425b-8345-5245c7efbcef" alt="The Shorthand Guide to Everything Claude Code" /> | ||
| <img src="https://github.com/user-attachments/assets/1a471488-59cc-425b-8345-5245c7efbcef" alt="Claude Code 的速记指南/> |
There was a problem hiding this comment.
P2: Missing closing " on the alt attribute. The tag becomes alt="Claude Code 的速记指南/> which is invalid HTML — the image and its parent link will render incorrectly on GitHub.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/README.md, line 50:
<comment>Missing closing `"` on the `alt` attribute. The tag becomes `alt="Claude Code 的速记指南/>` which is invalid HTML — the image and its parent link will render incorrectly on GitHub.</comment>
<file context>
@@ -64,18 +47,18 @@ Claude Code 插件安装的下载计数目前尚未作为公共 API 公开。对
<td width="50%">
<a href="https://x.com/affaanmustafa/status/2012378465664745795">
-<img src="https://github.com/user-attachments/assets/1a471488-59cc-425b-8345-5245c7efbcef" alt="The Shorthand Guide to Everything Claude Code" />
+<img src="https://github.com/user-attachments/assets/1a471488-59cc-425b-8345-5245c7efbcef" alt="Claude Code 的速记指南/>
</a>
</td>
</file context>
| <img src="https://github.com/user-attachments/assets/1a471488-59cc-425b-8345-5245c7efbcef" alt="Claude Code 的速记指南/> | |
| <img src="https://github.com/user-attachments/assets/1a471488-59cc-425b-8345-5245c7efbcef" alt="Claude Code 的速记指南" /> |
| @@ -1,4 +1,4 @@ | |||
| **语言:** [English](../../README.md) | [繁體中文](../zh-TW/README.md) | [简体中文](README.md) | |||
| **语言:** English | [简体中文](../../README.zh-CN.md) | [繁體中文](../zh-TW/README.md) | [日本語](../ja-JP/README.md) | [한국어](../ko-KR/README.md) | |||
There was a problem hiding this comment.
P2: "English" is no longer a link — readers of this zh-CN doc cannot navigate back to the English version. Wrap it in a link like the other language entries.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/README.md, line 1:
<comment>"English" is no longer a link — readers of this zh-CN doc cannot navigate back to the English version. Wrap it in a link like the other language entries.</comment>
<file context>
@@ -1,4 +1,4 @@
-**语言:** [English](../../README.md) | [繁體中文](../zh-TW/README.md) | [简体中文](README.md)
+**语言:** English | [简体中文](../../README.zh-CN.md) | [繁體中文](../zh-TW/README.md) | [日本語](../ja-JP/README.md) | [한국어](../ko-KR/README.md)
# Everything Claude Code
</file context>
| **语言:** English | [简体中文](../../README.zh-CN.md) | [繁體中文](../zh-TW/README.md) | [日本語](../ja-JP/README.md) | [한국어](../ko-KR/README.md) | |
| **语言:** [English](../../README.md) | [简体中文](../../README.zh-CN.md) | [繁體中文](../zh-TW/README.md) | [日本語](../ja-JP/README.md) | [한국어](../ko-KR/README.md) |
|
|
||
| 如果密钥缺失,`videodb.connect()` 会自动引发 `AuthenticationError`。 | ||
|
|
||
| 当简短的內联命令有效时,不要编写脚本文件。 |
There was a problem hiding this comment.
P3: Uses traditional Chinese character 內联 instead of simplified 内联 in a zh-CN document. Other zh-CN files in this project (e.g., reference/editor.md, reference/streaming.md) consistently use the simplified form 内联.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/skills/videodb/SKILL.md, line 80:
<comment>Uses traditional Chinese character `內联` instead of simplified `内联` in a zh-CN document. Other zh-CN files in this project (e.g., `reference/editor.md`, `reference/streaming.md`) consistently use the simplified form `内联`.</comment>
<file context>
@@ -0,0 +1,386 @@
+
+如果密钥缺失,`videodb.connect()` 会自动引发 `AuthenticationError`。
+
+当简短的內联命令有效时,不要编写脚本文件。
+
+编写內联 Python (`python -c "..."`) 时,始终使用格式正确的代码——使用分号分隔语句并保持可读性。对于任何超过约3条语句的内容,请改用 heredoc:
</file context>
| 当简短的內联命令有效时,不要编写脚本文件。 | |
| 当简短的内联命令有效时,不要编写脚本文件。 |
| * **返工**:使用批准的返工程序使零件符合要求。返工指令必须记录在案,返工后的零件必须按照原始规范重新检验。跟踪返工成本。 | ||
| * **修理**:零件将不完全符合原始规格,但将被修复为可用。需要工程处置,并且通常需要客户让步。与返工不同——修理接受永久性偏差。 | ||
| * **退回供应商(RTV)**:发出供应商纠正措施请求(SCAR)或CAR。借记通知单或更换采购单。在约定的时间范围内跟踪供应商响应。更新供应商记分卡。 | ||
| * **报废**:记录报废数量、成本、批次可追溯性以及授权的报废批准(通常需要超过一定金额阈度的管理层签字)。对于序列化或安全关键零件,需见证销毁。 |
There was a problem hiding this comment.
P3: "阈度" is not a standard Chinese term; the correct word is "阈值" (threshold). The same file already uses "阈值" correctly on line 102.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/zh-CN/skills/quality-nonconformance/SKILL.md, line 57:
<comment>"阈度" is not a standard Chinese term; the correct word is "阈值" (threshold). The same file already uses "阈值" correctly on line 102.</comment>
<file context>
@@ -0,0 +1,252 @@
+* **返工**:使用批准的返工程序使零件符合要求。返工指令必须记录在案,返工后的零件必须按照原始规范重新检验。跟踪返工成本。
+* **修理**:零件将不完全符合原始规格,但将被修复为可用。需要工程处置,并且通常需要客户让步。与返工不同——修理接受永久性偏差。
+* **退回供应商(RTV)**:发出供应商纠正措施请求(SCAR)或CAR。借记通知单或更换采购单。在约定的时间范围内跟踪供应商响应。更新供应商记分卡。
+* **报废**:记录报废数量、成本、批次可追溯性以及授权的报废批准(通常需要超过一定金额阈度的管理层签字)。对于序列化或安全关键零件,需见证销毁。
+
+### 根本原因分析
</file context>
| * **报废**:记录报废数量、成本、批次可追溯性以及授权的报废批准(通常需要超过一定金额阈度的管理层签字)。对于序列化或安全关键零件,需见证销毁。 | |
| * **报废**:记录报废数量、成本、批次可追溯性以及授权的报废批准(通常需要超过一定金额阈值的管理层签字)。对于序列化或安全关键零件,需见证销毁。 |
There was a problem hiding this comment.
Actionable comments posted: 11
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
docs/zh-CN/skills/skill-stocktake/SKILL.md (1)
1-4:⚠️ Potential issue | 🟡 MinorMissing
namefield in skill frontmatter.Other skill files in this PR include a
namefield in their YAML frontmatter (e.g., kotlin-patterns, kotlin-exposed-patterns, compose-multiplatform-patterns). This file only hasdescriptionandorigin.📝 Add name field
--- +name: skill-stocktake description: "用于审计Claude技能和命令的质量。支持快速扫描(仅变更技能)和全面盘点模式,采用顺序子代理批量评估。" origin: ECC ---🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/skill-stocktake/SKILL.md` around lines 1 - 4, The SKILL.md frontmatter is missing the required name field; update the YAML frontmatter at the top of docs/zh-CN/skills/skill-stocktake/SKILL.md to include a name: key (alongside the existing description and origin fields) — use the canonical skill identifier or human-readable skill title consistent with other skill files (e.g., the same pattern used in kotlin-patterns files) so the frontmatter contains name, description, and origin entries.docs/zh-CN/commands/sessions.md (1)
1-3:⚠️ Potential issue | 🟠 MajorMissing required frontmatter for command file.
Command files must be formatted as Markdown files with descriptive front matter (per coding guidelines). This file starts directly with the heading and lacks YAML frontmatter.
📋 Add frontmatter
+--- +description: 管理 Claude Code 会话历史 - 列出、加载、设置别名和编辑存储在 `~/.claude/sessions/` 中的会话。 +--- + # Sessions 命令As per coding guidelines, commands must be formatted as Markdown files with descriptive front matter.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/commands/sessions.md` around lines 1 - 3, This Markdown document is missing the required YAML frontmatter; add a top YAML block containing at least title, description, locale (zh-CN), and command identifier (e.g., command: sessions) so tooling and docs can parse it. Update the frontmatter to include: title: "Sessions 命令", a short description in Chinese matching the heading, locale: "zh-CN", command: "sessions" and any required metadata your repo expects (tags or sidebar position) and place it before the existing content/title.
🟡 Minor comments (14)
docs/zh-CN/commands/python-review.md-318-318 (1)
318-318:⚠️ Potential issue | 🟡 Minor修复表格单元格中的代码标记与竖线转义。
当前写法会显示字面量反引号,且
|可能破坏 Markdown 表格列解析。建议改为标准代码样式并转义竖线。💡 Proposed fix
-| 类型联合 (\`x | None\`) | 3.10+ | +| 类型联合 (`x \| None`) | 3.10+ |🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/commands/python-review.md` at line 318, 表格行中当前单元格显示为包含文本 x | None 的内联代码但因未转义竖线导致渲染和反引号显示异常;在 docs/zh-CN/commands/python-review.md 中找到该表格行(当前显示为 “类型联合 (x | None) | 3.10+”)并将单元格改为使用内联代码格式并转义竖线(例如使用反引号包裹并将竖线写为 \|,或者使用 HTML 实体 |),以确保表格列不会被破坏且不会显示字面反引号。docs/zh-CN/commands/learn-eval.md-61-64 (1)
61-64:⚠️ Potential issue | 🟡 MinorUse real markdown checkboxes instead of escaped brackets.
At Line 61–64,
\[ ]renders as plain text, which weakens checklist usability. Use- [ ]syntax so the checklist is actionable/readable in Markdown viewers.✏️ Suggested doc fix
- * \[ ] 使用关键字在 `~/.claude/skills/` 和相关项目的 `.claude/skills/` 文件中进行 grep 搜索,检查内容重叠 - * \[ ] 检查 MEMORY.md(项目级和全局级)以查找重叠内容 - * \[ ] 考虑是否追加到现有技能即可满足需求 - * \[ ] 确认这是一个可复用的模式,而非一次性修复 + - [ ] 使用关键字在 `~/.claude/skills/` 和相关项目的 `.claude/skills/` 文件中进行 grep 搜索,检查内容重叠 + - [ ] 检查 MEMORY.md(项目级和全局级)以查找重叠内容 + - [ ] 考虑是否追加到现有技能即可满足需求 + - [ ] 确认这是一个可复用的模式,而非一次性修复🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/commands/learn-eval.md` around lines 61 - 64, Replace the escaped checkbox tokens `\[ ]` in the checklist items with real Markdown task-list syntax `- [ ]` so the bullets become actionable; specifically update the lines containing the strings "使用关键字在 `~/.claude/skills/` 和相关项目的 `.claude/skills/` 文件中进行 grep 搜索,检查内容重叠", "检查 MEMORY.md(项目级和全局级)以查找重叠内容", "考虑是否追加到现有技能即可满足需求", and "确认这是一个可复用的模式,而非一次性修复" to use `- [ ]` at the start of each line instead of `\[ ]`. Ensure spacing and hyphen formatting matches Markdown task-list conventions so viewers render checkboxes correctly.docs/zh-CN/skills/customs-trade-compliance/SKILL.md-1-1 (1)
1-1:⚠️ Potential issue | 🟡 MinorRename file to lowercase kebab-case to match docs convention.
SKILL.mdviolates the repository naming rule for skill files. Please rename to a lowercase hyphenated filename (for example,skill.mdif this repo standard uses that literal name in each skill directory).As per coding guidelines, “File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g.,
python-reviewer.md,tdd-workflow.md)”.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/customs-trade-compliance/SKILL.md` at line 1, The file SKILL.md uses uppercase and underscores which violates the docs naming convention; rename the file to lowercase kebab-case (e.g., skill.md or customs-trade-compliance.md as appropriate) and update any internal references (table of contents, links, imports, or metadata that point to SKILL.md) and CI/docs index entries to the new filename so links and tooling continue to work; ensure any references to the old filename in README or nav configuration are replaced with the new kebab-case name.docs/zh-CN/skills/customs-trade-compliance/SKILL.md-3-3 (1)
3-3:⚠️ Potential issue | 🟡 MinorSplit
licenseout ofdescriptionin front matter.
license: Apache-2.0is currently embedded in the description text, so it is not a standalone metadata field.Proposed fix
-description: 海关文件、关税分类、关税优化、受限方筛查以及多司法管辖区法规合规的编码化专业知识。由拥有15年以上经验的贸易合规专家提供。包括HS分类逻辑、Incoterms应用、自贸协定利用以及罚款减免。适用于处理海关清关、关税分类、贸易合规、进出口文件或关税优化时使用。license: Apache-2.0 +description: 海关文件、关税分类、关税优化、受限方筛查以及多司法管辖区法规合规的编码化专业知识。由拥有15年以上经验的贸易合规专家提供。包括HS分类逻辑、Incoterms应用、自贸协定利用以及罚款减免。适用于处理海关清关、关税分类、贸易合规、进出口文件或关税优化时使用。 +license: Apache-2.0🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/customs-trade-compliance/SKILL.md` at line 3, The front-matter embeds the license inside the description field; extract the trailing "license: Apache-2.0" text from the description value and add a separate top-level front-matter field license: Apache-2.0, leaving description as only the human-readable summary; update the SKILL.md front matter so it has a distinct description: "..." entry (without the license text) and a separate license: Apache-2.0 entry.docs/zh-CN/skills/deep-research/SKILL.md-37-37 (1)
37-37:⚠️ Potential issue | 🟡 Minor中文措辞可微调为更自然表达
“使用合理的默认设置”建议改为“合理地使用默认设置”或“使用合理默认值”,读感更顺。
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/deep-research/SKILL.md` at line 37, The sentence "如果用户说\"直接研究即可\"——则跳过此步,使用合理的默认设置。" should be rewritten for more natural Chinese; replace "使用合理的默认设置" with one of the suggested phrasings such as "合理地使用默认设置" or "使用合理默认值" so the line reads e.g. "如果用户说\"直接研究即可\"——则跳过此步,合理地使用默认设置。" Ensure you update the exact sentence in SKILL.md to the chosen variant.docs/zh-CN/skills/energy-procurement/SKILL.md-189-189 (1)
189-189:⚠️ Potential issue | 🟡 MinorWording is slightly ambiguous in trigger condition.
连续5天以上超过预算假设的2倍can be read ambiguously. A clearer phrasing is连续5天高于预算假设的2倍or连续5天达到预算假设的2倍以上.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/energy-procurement/SKILL.md` at line 189, The trigger phrase in the table row currently reads "连续5天以上超过预算假设的2倍", which is ambiguous; update the table cell text in SKILL.md (the row containing that trigger) to a clearer wording such as "连续5天高于预算假设的2倍" or "连续5天达到预算假设的2倍以上" so the trigger condition is unambiguous.docs/zh-CN/skills/energy-procurement/SKILL.md-1-1 (1)
1-1:⚠️ Potential issue | 🟡 MinorRename file to match lowercase-hyphen naming convention.
SKILL.mdviolates the naming rule for zh-CN docs assets underskills/. Please rename to a lowercase-hyphen form (e.g.,skill.mdor an explicit slug likeenergy-procurement-skill.mdif project convention prefers that).As per coding guidelines:
docs/zh-CN/{agents,skills,commands,hooks}/**/*[!a-z0-9-]*: File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/energy-procurement/SKILL.md` at line 1, Rename the file SKILL.md to a lowercase-hyphen form (e.g., skill.md or energy-procurement-skill.md) to comply with the docs naming convention; after renaming, update any references to "SKILL.md" in navigation, import/include statements, and internal links (search for usages in docs nav/sidebar or other markdown files) so all links point to the new filename and CI/name-checkers will pass.docs/zh-CN/skills/carrier-relationship-management/SKILL.md-1-1 (1)
1-1:⚠️ Potential issue | 🟡 MinorRename
SKILL.mdto lowercase to satisfy docs naming convention.The current filename uses uppercase letters. Please rename to a lowercase, hyphen-compliant form (for example,
skill.md).As per coding guidelines, "
docs/zh-CN/{agents,skills,commands,hooks}/**/*[!a-z0-9-]*: File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files."🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/carrier-relationship-management/SKILL.md` at line 1, Rename the file currently named SKILL.md to a lowercase, hyphen-compliant name (e.g., skill.md) so it matches the docs naming convention; update any local references or links inside the docs that point to SKILL.md to the new lowercase filename (search for "SKILL.md" and replace with "skill.md") to avoid broken links and satisfy the rule about lowercase letters and hyphens for skill files.docs/zh-CN/skills/logistics-exception-management/SKILL.md-37-37 (1)
37-37:⚠️ Potential issue | 🟡 MinorImprove Chinese quantifier wording for readability.
500单位的货物reads awkwardly; consider500件货物or500个单位的货物for natural phrasing.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/logistics-exception-management/SKILL.md` at line 37, The sentence "*损坏索赔:500单位的货物到达,其中30%可修复。承运商声称不可抗力。指导证据收集、残值评估、责任判定、索赔提交和谈判策略。*" uses an awkward quantifier; replace "500单位的货物" with a more natural phrase such as "500件货物" or "500个单位的货物" so the line reads e.g. "损坏索赔:500件货物到达,其中30%可修复..." to improve Chinese readability.docs/zh-CN/skills/logistics-exception-management/SKILL.md-1-1 (1)
1-1:⚠️ Potential issue | 🟡 MinorRename
SKILL.mdto lowercase-hyphen format to match repo convention.Current basename
SKILL.mdviolates the documented naming rule for files underdocs/zh-CN/skills/**.As per coding guidelines,
docs/zh-CN/{agents,skills,commands,hooks}/**/*[!a-z0-9-]*: “File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g.,python-reviewer.md,tdd-workflow.md)”.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/logistics-exception-management/SKILL.md` at line 1, The file basename SKILL.md violates the lowercase-with-hyphens naming rule; rename the file to logistics-exception-management.md (lowercase hyphen format) and update any internal references/links (e.g., sidebar, README, cross-doc links) that point to SKILL.md so they reference the new logistics-exception-management.md name.docs/zh-CN/skills/video-editing/SKILL.md-1-1 (1)
1-1:⚠️ Potential issue | 🟡 MinorRename the file to follow lowercase-hyphen naming convention.
SKILL.mdviolates the documented naming rule for skills files and may break convention-based discovery/tooling.As per coding guidelines,
docs/zh-CN/{agents,skills,commands,hooks}/**/*[!a-z0-9-]*: “File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g.,python-reviewer.md,tdd-workflow.md)”.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/video-editing/SKILL.md` at line 1, The file docs/zh-CN/skills/video-editing/SKILL.md violates the lowercase-hyphen naming convention; rename SKILL.md to a lowercase-hyphen name such as video-editing.md (or video-editing-skill.md) and update any references/imports or index listings that point to SKILL.md so tooling/discovery still finds the skill.docs/zh-CN/skills/video-editing/SKILL.md-11-317 (1)
11-317:⚠️ Potential issue | 🟡 MinorAdd explicit “How it works” and “Examples” sections for skill format compliance.
The file has equivalent content, but the required skill structure is not explicitly labeled with clear sections for “When to use”, “How it works”, and “Examples”. Please add dedicated headings (localized is fine) to match the standard format.
📌 Suggested structure adjustment
## 何时激活 ... +## 工作方式(How it works) +...(将“处理流程/层级1-6”等内容归入这里) + +## 示例(Examples) +...(集中放置现有 prompt、ffmpeg、Remotion、VideoDB 示例)As per coding guidelines,
docs/zh-CN/skills/**/*.md: “Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'”.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/video-editing/SKILL.md` around lines 11 - 317, The document is missing explicit "How it works" and "Examples" sections required by the skill format; add two localized headings (e.g., "如何工作" and "示例") and move/condense the existing process description (the "处理流程" and "层级 1–6" content) under "如何工作", then create an "示例" section containing 2–3 concrete, short usage examples (prompts/commands) drawn from the file such as the FFmpeg timestamp extraction, Remotion composition, and an ElevenLabs TTS call to show typical inputs/outputs; update the TOC/order so "何时激活" remains as "When to use", "如何工作" follows for the workflow details, and "示例" follows with the concrete examples.docs/zh-CN/skills/compose-multiplatform-patterns/SKILL.md-1-299 (1)
1-299:⚠️ Potential issue | 🟡 MinorMissing required skill documentation sections.
Skills must be formatted with clear sections: 'When to use', 'How it works', and 'Examples' (per coding guidelines). This file has:
- ✓ "何时启用" (When to enable) - line 11
- ✗ Missing "工作原理" (How it works) overview section
- ✗ Missing dedicated "示例" (Examples) section (has inline examples but no standalone section)
Consider restructuring to include these required sections for consistency with other skills.
📝 Suggested structure
Add a "工作原理" (How it works) section after line 18 that provides a brief overview of Compose Multiplatform patterns, and consider grouping some inline examples into a dedicated "示例" section at the end or organizing the existing content to clearly mark these sections.
Based on learnings, skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/compose-multiplatform-patterns/SKILL.md` around lines 1 - 299, The skill is missing the required "工作原理" (How it works) overview and a dedicated "示例" (Examples) section; add a new "工作原理" section after the existing "何时启用" block that briefly explains Compose Multiplatform patterns (state management, navigation, theming, performance) and how the patterns interact (ViewModel + StateFlow, expect/actual, derivedStateOf usage), and create a standalone "示例" section near the end that collects and labels the existing inline examples (ViewModel single-state, ItemListScreen composable, navigation routes, AppCard slot API, performance snippets) so the document includes the required "When to use", "How it works", and "Examples" structure.docs/zh-CN/skills/kotlin-exposed-patterns/SKILL.md-537-544 (1)
537-544:⚠️ Potential issue | 🟡 MinorAvoid force-unwrapping with
!!operator.Line 543 uses
resultedValues!!.first()which can throw NPE ifresultedValuesis null. Based on learnings, avoid the!!operator in Kotlin to maintain null-safety guarantees. Use safe calls orrequire/checkNotNullinstead.🛡️ Proposed fix using safe call with Elvis operator
override suspend fun create(request: CreateUserRequest): User = newSuspendedTransaction(db = database) { - UsersTable.insert { + val row = UsersTable.insert { it[name] = request.name it[email] = request.email it[role] = request.role - }.resultedValues!!.first().toUser() + }.resultedValues?.firstOrNull() + ?: throw IllegalStateException("Insert failed to return values") + row.toUser() }Based on learnings, avoid using the
!!non-null assertion operator to maintain Kotlin's type system null-safety guarantees.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/kotlin-exposed-patterns/SKILL.md` around lines 537 - 544, The insert call inside create(request: CreateUserRequest): User currently force-unwraps UsersTable.insert { ... }.resultedValues!!.first(), which can NPE; replace the non-null assertion by checking for null and failing with a clear error (e.g., use requireNotNull/checkNotNull on resultedValues with a descriptive message or use the Elvis operator to throw an IllegalStateException) before calling first(), so in the newSuspendedTransaction block after UsersTable.insert(...) validate resultedValues and then convert the first element with toUser().
🧹 Nitpick comments (21)
docs/zh-CN/skills/iterative-retrieval/SKILL.md (1)
213-215: Prefer clickable links for related internal resources.The
continuous-learningskill andagents/reference are plain text right now; converting them to links will improve navigation in docs.✍️ Suggested doc tweak
-* `continuous-learning` 技能 - 适用于随时间改进的模式 -* 与 ECC 捆绑的代理定义(手动安装路径:`agents/`) +* [continuous-learning 技能](../continuous-learning/SKILL.md) - 适用于随时间改进的模式 +* 与 ECC 捆绑的[代理定义](../../agents/)(手动安装路径:`agents/`)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/iterative-retrieval/SKILL.md` around lines 213 - 215, Convert the plain-text references to internal resources into clickable links: replace the literal `continuous-learning` skill text with a link to its doc or README (e.g., `[continuous-learning](path/to/continuous-learning.md)`) and change the `agents/` manual-install path into a link to the agents directory or README (e.g., `[agents/](path/to/agents/)`) in SKILL.md so readers can click through directly; keep the surrounding list formatting and use relative paths consistent with the repo’s docs structure.docs/zh-CN/rules/php/patterns.md (1)
29-29: 建议优化句式以减少歧义。“而非它们的”读起来略不完整,建议改为“而不是依赖它们的契约/接口定义”,可提升可读性。
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/rules/php/patterns.md` at line 29, The sentence "将第三方 SDK 封装在小型的适配器之后,使代码库的其余部分依赖于你的契约,而非它们的。" is ambiguous; update the phrasing in the same sentence (the one starting with "将第三方 SDK 封装在小型的适配器之后") to replace "而非它们的" with a clearer phrase such as "而不是依赖它们的契约/接口定义" so the intent is explicit and reads smoothly.docs/zh-CN/rules/php/testing.md (1)
35-35: 建议统一 TDD 术语为 “RED -> GREEN -> IMPROVE”。当前写成
REFACTOR,若仓库其余 zh-CN 文档统一使用IMPROVE,建议保持一致以减少术语分叉。Based on learnings: "Write tests before implementation (RED → GREEN → IMPROVE cycle) with minimum 80% code coverage".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/rules/php/testing.md` at line 35, Update the TDD phrase in the zh-CN docs by replacing the string "RED -> GREEN -> REFACTOR" with "RED -> GREEN -> IMPROVE" in the sentence that references the repository-wide TDD loop (the exact occurrence currently shown as 关于整个仓库范围内的 RED -> GREEN -> REFACTOR 循环,请参见技能:`tdd-workflow`), and scan other zh-CN docs to ensure the term "IMPROVE" is used consistently instead of "REFACTOR" to avoid terminology divergence.docs/zh-CN/skills/exa-search/SKILL.md (1)
145-186: 建议补一个明确的“示例(Examples)”章节标题当前文档有大量示例代码,但缺少清晰的
## 示例段落标题,和技能文档结构规范不完全一致。As per coding guidelines, “Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/exa-search/SKILL.md` around lines 145 - 186, Add an explicit "## 示例" section header above the example blocks so the document follows the required skill-doc structure; locate the example usage lines (e.g., the code blocks starting with web_search_exa(...), get_code_context_exa(...), company_research_exa(...), deep_researcher_start(...)) and insert a level-2 header "## 示例" immediately before them, making sure the rest of the examples remain unchanged and the header is in Chinese to match the file language.docs/zh-CN/skills/energy-procurement/SKILL.md (1)
19-38: Consider bilingual section headers for strict section-rule compliance.You already include the three required sections semantically (
使用时机 / 工作原理 / 示例). To make automated checks unambiguous, consider bilingual headers likeWhen to use(使用时机),How it works(工作原理),Examples(示例).As per coding guidelines:
docs/zh-CN/skills/**/*.md: Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/energy-procurement/SKILL.md` around lines 19 - 38, The section headers currently use only Chinese titles (使用时机 / 工作原理 / 示例); update them to bilingual headers to satisfy the docs rule by replacing each with English plus Chinese in parentheses—e.g., change 使用时机 to "When to use(使用时机)", 工作原理 to "How it works(工作原理)", and 示例 to "Examples(示例)" so automated checks recognize the required 'When to use', 'How it works', and 'Examples' sections.docs/zh-CN/skills/production-scheduling/SKILL.md (1)
19-37: Add canonical skill section labels for consistency/tooling compatibility.The content is well-structured, but to strictly align with repo rules, add explicit
When to use,How it works, andExamplesheadings (you can keep Chinese titles alongside them).Proposed fix
-## 何时使用 +## When to use(何时使用) ... -## 工作原理 +## How it works(工作原理) ... -## 示例 +## Examples(示例)Based on learnings:
Applies to docs/zh-CN/skills/**/*.md : Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/production-scheduling/SKILL.md` around lines 19 - 37, Add explicit canonical English section headings "When to use", "How it works", and "Examples" above the corresponding Chinese headings to satisfy tooling rules while keeping the existing Chinese titles; update the top fragment so each block begins with the English heading followed by the Chinese heading (e.g., "When to use / 何时使用", "How it works / 工作原理", "Examples / 示例") and ensure formatting uses Markdown heading syntax consistent with other docs/zh-CN/skills/*.md files.docs/zh-CN/skills/perl-security/SKILL.md (2)
11-23: 建议新增独立“Examples”标题段落。
示例内容充足,但缺少明确“Examples”章节;补齐后更符合技能文档统一格式。As per coding guidelines, "Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/perl-security/SKILL.md` around lines 11 - 23, Add a new "Examples" section header (e.g., "## 示例" or "## Examples") after the existing "工作原理" section and move the current example snippets (the code and usage examples that demonstrate validating/cleaning input, restricting filesystem/process execution, and parameterized DBI queries) under that new header so the document matches the required Markdown skill structure; ensure the new header uses the same language/format as the rest of the file and keep the existing "何时启用" and "工作原理" headings intact.
1-5: 文件名与规范不一致,建议统一。
SKILL.md建议改为小写+连字符命名形式,并同步调整引用路径。As per coding guidelines, "File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g.,
python-reviewer.md,tdd-workflow.md)".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/perl-security/SKILL.md` around lines 1 - 5, The file is named SKILL.md which violates the lowercase-with-hyphens convention; rename the file to a lowercase-hyphen form (e.g., perl-security.md) and update all references/imports to this document accordingly, and ensure the frontmatter "name: perl-security" remains correct; search for any links or indexes that pointed to SKILL.md and replace them with the new filename so routing/build processes continue to work.docs/zh-CN/skills/perl-patterns/SKILL.md (2)
1-5: 文件命名与约定不一致。
SKILL.md不符合小写+连字符命名约定,建议改为符合规则的文件名(并同步引用路径)。As per coding guidelines, "File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g.,
python-reviewer.md,tdd-workflow.md)".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/perl-patterns/SKILL.md` around lines 1 - 5, The file name SKILL.md does not follow the lowercase+hyphen convention; rename SKILL.md to perl-patterns.md (matching the front-matter name: perl-patterns) and update all references/imports/links that point to SKILL.md to use perl-patterns.md so documentation paths stay consistent.
11-23: 建议补充明确的“Examples”章节标题。
当前有大量示例,但缺少清晰、独立的“Examples”段落标题;补一个显式章节可提升一致性与可检索性。As per coding guidelines, "Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/perl-patterns/SKILL.md` around lines 11 - 23, Add an explicit "Examples" section header to the SKILL.md file: locate the existing headings "何时启用" and "工作原理" and insert a new heading (e.g., "示例" or "Examples") before the block of sample snippets currently under "工作原理" or just above "核心原则" so the file follows the required three-section structure ("When to use"/"How it works"/"Examples"); ensure the header uses the same Markdown level (##) and is placed where the examples currently begin for consistency and discoverability.docs/zh-CN/skills/perl-testing/SKILL.md (2)
11-22: 建议增加显式“Examples”章节。
文档已有大量示例,但缺少独立“Examples”标题;补充后可更好满足统一结构。As per coding guidelines, "Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/perl-testing/SKILL.md` around lines 11 - 22, The doc is missing the required standalone "Examples" section; add an "Examples" heading and move or copy the concrete Perl examples from the body into that new section so the file follows the required structure ("When to use"/"How it works"/"Examples"); locate the right place by finding the existing sections titled "何时激活" and "TDD 工作流程" and insert the "Examples" section (titled "Examples" or "示例" per locale) containing the illustrative code snippets and usage scenarios referenced elsewhere in the file.
1-5: 文件命名建议统一为小写连字符格式。
SKILL.md与命名规范不一致,建议调整为符合约定的命名并同步引用。As per coding guidelines, "File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g.,
python-reviewer.md,tdd-workflow.md)".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/perl-testing/SKILL.md` around lines 1 - 5, The file SKILL.md violates the naming convention — rename the file to the lowercase hyphen format (e.g., perl-testing.md to match the front-matter "name: perl-testing") and update all references to it (indexes, README links, any imports or doc references) to the new filename; ensure the front-matter 'name: perl-testing' remains consistent and update any internal links or cross-references that pointed to SKILL.md so nothing breaks.docs/zh-CN/skills/returns-reverse-logistics/SKILL.md (1)
1-1: Use lowercase-hyphen file naming for this skill doc.
SKILL.mduses uppercase and doesn’t match the naming convention. Consider renaming to a lowercase-hyphen style filename (for example,skill.mdor a descriptive lowercase-hyphen name).As per coding guidelines,
docs/zh-CN/{agents,skills,commands,hooks}/**/*[!a-z0-9-]*should use lowercase letters with hyphens.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/returns-reverse-logistics/SKILL.md` at line 1, Rename the file currently named SKILL.md to follow the lowercase-hyphen naming convention; replace the uppercase name with a lowercase-hyphen filename such as skill.md or a descriptive lowercase-hyphen name like returns-reverse-logistics.md so it complies with the docs naming rule for skills.docs/zh-CN/skills/quality-nonconformance/SKILL.md (1)
1-1: RenameSKILL.mdto lowercase kebab-case to match repo convention.Current filename contains uppercase letters and violates the documented naming rule for skill files.
As per coding guidelines "
docs/zh-CN/{agents,skills,commands,hooks}/**/*[!a-z0-9-]*: File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g.,python-reviewer.md,tdd-workflow.md)."🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/quality-nonconformance/SKILL.md` at line 1, Rename the file docs/zh-CN/skills/quality-nonconformance/SKILL.md to a lowercase kebab-case name (e.g., quality-nonconformance-skill.md or quality-nonconformance.md) to follow the repo naming convention; update any references/links or sidebar entries that point to SKILL.md so they use the new filename, and ensure there are no remaining imports or docs referencing the old uppercase SKILL.md name.docs/zh-CN/skills/strategic-compact/SKILL.md (1)
102-135: 请补一个明确的“Examples/示例”小节以满足技能文档结构规范。当前新增内容信息量很足,但仍缺少显式示例段落标题,不利于和其他技能文档保持一致模板。
As per coding guidelines, "Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'."🧩 建议补充示例小节
## 上下文优化工具 * `token-optimizer` MCP — 通过内容去重实现 95% 以上的自动令牌减少 * `context-mode` — 上下文虚拟化(已演示从 315KB 减少到 5.4KB) +## 示例 + +* 示例 1:当用户输入“请做安全审查并补测试”时,仅触发 `security-review` 与 `tdd-workflow`,避免预加载全部技能。 +* 示例 2:当会话进入部署阶段(关键词包含 deploy/ci)时,再按需加载 `deployment-patterns`。🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/strategic-compact/SKILL.md` around lines 102 - 135, Add a new "Examples/示例" subsection under the "## 令牌优化模式" heading that follows the doc's required structure; include 2–3 concise examples showing (1) a trigger-word mapping example (e.g., mapping "test, tdd" → tdd-workflow and when it loads), (2) a context-reduction before/after example showing approximate token/KB savings (e.g., CLAUDE.md + skills → XKB, after token-optimizer → YKB), and (3) a quick walkthrough using token-optimizer/context-mode (commands or steps) to illustrate how to apply the pattern; ensure the header uses both Chinese and English labels ("## 示例 / Examples") and keep examples short, concrete, and consistent with sections like "触发表惰性加载" and "上下文组合感知".docs/zh-CN/skills/claude-api/SKILL.md (1)
11-337: 建议补齐明确的“How it works / Examples”章节标题。当前内容已包含大量实例,但缺少规范化章节标题,后续检索和跨技能一致性会受影响。
As per coding guidelines, "Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/claude-api/SKILL.md` around lines 11 - 337, Add explicit "How it works" and "Examples" sections to conform to the skills markdown guideline: insert a "## 如何工作 (How it works)" section summarizing the API flow, capabilities (models, streaming, tools, visual, thinking), and expected request/response structure, and a "## 示例 (Examples)" section that groups the concrete code samples (the Python SDK block, TypeScript SDK block, streaming, tools, visual, batch, agent, and error-handling examples) so they’re discoverable; place the new "如何工作" after the existing "何时激活" section and the new "示例" before or around the SDK code blocks, keeping existing headings like "Python SDK", "TypeScript SDK", "工具使用", and "视觉功能" under these new sections for consistency.docs/zh-CN/skills/kotlin-coroutines-flows/SKILL.md (1)
7-284: Consider adding a "工作原理" (How it works) section for structural consistency.The document provides excellent technical coverage of Kotlin coroutines and Flow patterns. The content is well-organized by technical topics (Structured Concurrency, Flow Patterns, Dispatchers, etc.). For consistency with the standard skill structure, consider adding a brief "## 工作原理" (How it works) section that provides a high-level overview before diving into the detailed technical sections.
Based on learnings: Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/kotlin-coroutines-flows/SKILL.md` around lines 7 - 284, Add a new "## 工作原理" section after the existing "## 何时启用" that gives a concise high-level overview of Kotlin 协程与 Flow (core concepts: structured concurrency, cold vs hot flows, StateFlow/SharedFlow roles, dispatcher choices, cancellation model) before the detailed examples; ensure the new section title exactly "## 工作原理" and keep it short (2–4 short paragraphs or bullet points) so it fits the skill template of 'When to use', 'How it works', and 'Examples' and update any introductory sentence if needed to reference this new section.docs/zh-CN/skills/videodb/reference/search.md (1)
7-7: Minor Chinese grammar improvement suggestion.The static analysis tool flagged a grammatical pattern: "必须被索引" where the modal verb "必须" (must) is used in a 被-construction (passive voice). Consider one of these alternatives for more idiomatic Chinese:
- "视频必须先被索引后才能进行搜索" (adding 先 to clarify sequence)
- "视频必须完成索引后才能进行搜索" (using active construction)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/videodb/reference/search.md` at line 7, Replace the problematic sentence "视频**必须被索引**后才能进行搜索" with a more idiomatic Chinese phrasing; for example update the line to either "视频**必须先被索引**后才能进行搜索" or "视频**必须完成索引**后才能进行搜索" in the docs/zh-CN/skills/videodb/reference/search.md file so the modal verb "必须" is not awkwardly combined with the 被‑construction.docs/zh-CN/skills/dmux-workflows/SKILL.md (1)
7-193: Consider adding an explicit "工作原理" (How it works) section.The skill content is comprehensive and includes activation conditions, examples, and best practices. However, to align with the standard skill structure, consider adding an explicit "## 工作原理" (How it works) section that consolidates the explanation of dmux's core mechanics (currently distributed across "什么是 dmux", "快速开始", etc.). This would improve consistency with other skill documents.
Based on learnings: Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/dmux-workflows/SKILL.md` around lines 7 - 193, Add an explicit "## 工作原理" section that consolidates dmux's core mechanics (how dmux maps to tmux panes, key bindings like 'n' and 'm', session/worktree orchestration, and the launch/merge flow) by extracting and paraphrasing details currently spread across "什么是 dmux", "快速开始", and the Git Worktree Integration narrative; keep the existing "何时激活" and "示例/工作流模式" sections intact, and ensure the new "工作原理" clearly explains the pane lifecycle, command flow, and how the ECC orchestrator and seedPaths interact with worktrees so the doc matches the standard 'When to use / How it works / Examples' structure.docs/zh-CN/skills/fal-ai-media/SKILL.md (1)
7-296: Consider adding a "工作原理" (How it works) section for structural consistency.The documentation thoroughly covers fal.ai media generation capabilities with clear activation conditions and extensive examples. To align with the standard skill structure, consider adding an explicit "## 工作原理" (How it works) section that provides an overview of the fal.ai MCP integration and workflow before diving into specific generation types.
Based on learnings: Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/fal-ai-media/SKILL.md` around lines 7 - 296, 当前文档缺少与其他技能一致的“## 工作原理”章节;在“## 图像生成”之前(在“## 何时激活”之后)添加一个“## 工作原理”小节,简要说明 fal.ai MCP 的集成和典型工作流(包括已在文档中提到的配置项、工具与调用序列,例如 upload -> generate -> result/estimate_cost),并指出常见输入/输出概念(如 app_id、input_data、image_url、duration)和异步作业检查/取消(result、status、cancel)的用法以便用户快速理解整体流程。docs/zh-CN/skills/skill-stocktake/SKILL.md (1)
6-194: Consider adding standard skill documentation sections.Skills should include clear sections: 'When to use', 'How it works', and 'Examples' (per coding guidelines). This file uses a different structure focused on command workflow (范围, 模式, 流程). While the content is comprehensive, adding the standard sections would improve consistency across skill documentation.
Consider either:
- Adding brief "何时使用" (When to use), "工作原理" (How it works), and "示例" (Examples) sections at the beginning, or
- Documenting this as a command file instead if the workflow-oriented structure is more appropriate.
Based on learnings, skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/zh-CN/skills/skill-stocktake/SKILL.md` around lines 6 - 194, The SKILL.md lacks the standard skill-documentation sections required by guidelines; add concise sections titled "何时使用" (When to use), "工作原理" (How it works), and "示例" (Examples) near the top of SKILL.md summarizing purpose, the high-level mechanism (e.g., scan.sh → agent evaluation → results.json workflow and modes fast/full), and one or two usage examples (CLI invocation and expected output snippet), or if you intend this to be a command-style doc instead, convert it to a command file by clearly labelling it as such and keeping the workflow-oriented content while noting that it’s a command (so reviewers know the deviation). Ensure headings match the exact Chinese labels above so automated checks recognize them.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ba0beeff-e330-4919-9d0c-34582df3d42c
📒 Files selected for processing (88)
docs/zh-CN/AGENTS.mddocs/zh-CN/CODE_OF_CONDUCT.mddocs/zh-CN/CONTRIBUTING.mddocs/zh-CN/README.mddocs/zh-CN/TROUBLESHOOTING.mddocs/zh-CN/agents/kotlin-build-resolver.mddocs/zh-CN/agents/kotlin-reviewer.mddocs/zh-CN/commands/aside.mddocs/zh-CN/commands/e2e.mddocs/zh-CN/commands/gradle-build.mddocs/zh-CN/commands/kotlin-build.mddocs/zh-CN/commands/kotlin-review.mddocs/zh-CN/commands/kotlin-test.mddocs/zh-CN/commands/learn-eval.mddocs/zh-CN/commands/multi-workflow.mddocs/zh-CN/commands/orchestrate.mddocs/zh-CN/commands/plan.mddocs/zh-CN/commands/prompt-optimize.mddocs/zh-CN/commands/python-review.mddocs/zh-CN/commands/resume-session.mddocs/zh-CN/commands/save-session.mddocs/zh-CN/commands/sessions.mddocs/zh-CN/commands/tdd.mddocs/zh-CN/examples/user-CLAUDE.mddocs/zh-CN/hooks/README.mddocs/zh-CN/rules/README.mddocs/zh-CN/rules/common/development-workflow.mddocs/zh-CN/rules/kotlin/coding-style.mddocs/zh-CN/rules/kotlin/hooks.mddocs/zh-CN/rules/kotlin/patterns.mddocs/zh-CN/rules/kotlin/security.mddocs/zh-CN/rules/kotlin/testing.mddocs/zh-CN/rules/perl/coding-style.mddocs/zh-CN/rules/perl/hooks.mddocs/zh-CN/rules/perl/patterns.mddocs/zh-CN/rules/perl/security.mddocs/zh-CN/rules/perl/testing.mddocs/zh-CN/rules/php/coding-style.mddocs/zh-CN/rules/php/hooks.mddocs/zh-CN/rules/php/patterns.mddocs/zh-CN/rules/php/security.mddocs/zh-CN/rules/php/testing.mddocs/zh-CN/rules/typescript/coding-style.mddocs/zh-CN/skills/android-clean-architecture/SKILL.mddocs/zh-CN/skills/blueprint/SKILL.mddocs/zh-CN/skills/carrier-relationship-management/SKILL.mddocs/zh-CN/skills/claude-api/SKILL.mddocs/zh-CN/skills/compose-multiplatform-patterns/SKILL.mddocs/zh-CN/skills/configure-ecc/SKILL.mddocs/zh-CN/skills/continuous-learning-v2/SKILL.mddocs/zh-CN/skills/crosspost/SKILL.mddocs/zh-CN/skills/customs-trade-compliance/SKILL.mddocs/zh-CN/skills/deep-research/SKILL.mddocs/zh-CN/skills/dmux-workflows/SKILL.mddocs/zh-CN/skills/energy-procurement/SKILL.mddocs/zh-CN/skills/exa-search/SKILL.mddocs/zh-CN/skills/fal-ai-media/SKILL.mddocs/zh-CN/skills/inventory-demand-planning/SKILL.mddocs/zh-CN/skills/iterative-retrieval/SKILL.mddocs/zh-CN/skills/kotlin-coroutines-flows/SKILL.mddocs/zh-CN/skills/kotlin-exposed-patterns/SKILL.mddocs/zh-CN/skills/kotlin-ktor-patterns/SKILL.mddocs/zh-CN/skills/kotlin-patterns/SKILL.mddocs/zh-CN/skills/kotlin-testing/SKILL.mddocs/zh-CN/skills/logistics-exception-management/SKILL.mddocs/zh-CN/skills/perl-patterns/SKILL.mddocs/zh-CN/skills/perl-security/SKILL.mddocs/zh-CN/skills/perl-testing/SKILL.mddocs/zh-CN/skills/production-scheduling/SKILL.mddocs/zh-CN/skills/prompt-optimizer/SKILL.mddocs/zh-CN/skills/quality-nonconformance/SKILL.mddocs/zh-CN/skills/returns-reverse-logistics/SKILL.mddocs/zh-CN/skills/skill-stocktake/SKILL.mddocs/zh-CN/skills/strategic-compact/SKILL.mddocs/zh-CN/skills/video-editing/SKILL.mddocs/zh-CN/skills/videodb/SKILL.mddocs/zh-CN/skills/videodb/reference/api-reference.mddocs/zh-CN/skills/videodb/reference/capture-reference.mddocs/zh-CN/skills/videodb/reference/capture.mddocs/zh-CN/skills/videodb/reference/editor.mddocs/zh-CN/skills/videodb/reference/generative.mddocs/zh-CN/skills/videodb/reference/rtstream-reference.mddocs/zh-CN/skills/videodb/reference/rtstream.mddocs/zh-CN/skills/videodb/reference/search.mddocs/zh-CN/skills/videodb/reference/streaming.mddocs/zh-CN/skills/videodb/reference/use-cases.mddocs/zh-CN/skills/x-api/SKILL.mddocs/zh-CN/the-longform-guide.md
| --- | ||
| name: android-clean-architecture | ||
| description: 适用于Android和Kotlin多平台项目的Clean Architecture模式——模块结构、依赖规则、用例、仓库以及数据层模式。 | ||
| origin: ECC | ||
| --- | ||
|
|
||
| # Android 整洁架构 | ||
|
|
||
| 适用于 Android 和 KMP 项目的整洁架构模式。涵盖模块边界、依赖反转、UseCase/Repository 模式,以及使用 Room、SQLDelight 和 Ktor 的数据层设计。 | ||
|
|
||
| ## 何时启用 | ||
|
|
||
| * 构建 Android 或 KMP 项目模块结构 | ||
| * 实现 UseCases、Repositories 或 DataSources | ||
| * 设计各层(领域层、数据层、表示层)之间的数据流 | ||
| * 使用 Koin 或 Hilt 设置依赖注入 | ||
| * 在分层架构中使用 Room、SQLDelight 或 Ktor | ||
|
|
||
| ## 模块结构 | ||
|
|
||
| ### 推荐布局 | ||
|
|
||
| ``` | ||
| project/ | ||
| ├── app/ # Android entry point, DI wiring, Application class | ||
| ├── core/ # Shared utilities, base classes, error types | ||
| ├── domain/ # UseCases, domain models, repository interfaces (pure Kotlin) | ||
| ├── data/ # Repository implementations, DataSources, DB, network | ||
| ├── presentation/ # Screens, ViewModels, UI models, navigation | ||
| ├── design-system/ # Reusable Compose components, theme, typography | ||
| └── feature/ # Feature modules (optional, for larger projects) | ||
| ├── auth/ | ||
| ├── settings/ | ||
| └── profile/ | ||
| ``` | ||
|
|
||
| ### 依赖规则 | ||
|
|
||
| ``` | ||
| app → presentation, domain, data, core | ||
| presentation → domain, design-system, core | ||
| data → domain, core | ||
| domain → core (or no dependencies) | ||
| core → (nothing) | ||
| ``` | ||
|
|
||
| **关键**:`domain` 绝不能依赖 `data`、`presentation` 或任何框架。它仅包含纯 Kotlin 代码。 | ||
|
|
||
| ## 领域层 | ||
|
|
||
| ### UseCase 模式 | ||
|
|
||
| 每个 UseCase 代表一个业务操作。使用 `operator fun invoke` 以获得简洁的调用点: | ||
|
|
||
| ```kotlin | ||
| class GetItemsByCategoryUseCase( | ||
| private val repository: ItemRepository | ||
| ) { | ||
| suspend operator fun invoke(category: String): Result<List<Item>> { | ||
| return repository.getItemsByCategory(category) | ||
| } | ||
| } | ||
|
|
||
| // Flow-based UseCase for reactive streams | ||
| class ObserveUserProgressUseCase( | ||
| private val repository: UserRepository | ||
| ) { | ||
| operator fun invoke(userId: String): Flow<UserProgress> { | ||
| return repository.observeProgress(userId) | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### 领域模型 | ||
|
|
||
| 领域模型是普通的 Kotlin 数据类——没有框架注解: | ||
|
|
||
| ```kotlin | ||
| data class Item( | ||
| val id: String, | ||
| val title: String, | ||
| val description: String, | ||
| val tags: List<String>, | ||
| val status: Status, | ||
| val category: String | ||
| ) | ||
|
|
||
| enum class Status { DRAFT, ACTIVE, ARCHIVED } | ||
| ``` | ||
|
|
||
| ### 仓库接口 | ||
|
|
||
| 在领域层定义,在数据层实现: | ||
|
|
||
| ```kotlin | ||
| interface ItemRepository { | ||
| suspend fun getItemsByCategory(category: String): Result<List<Item>> | ||
| suspend fun saveItem(item: Item): Result<Unit> | ||
| fun observeItems(): Flow<List<Item>> | ||
| } | ||
| ``` | ||
|
|
||
| ## 数据层 | ||
|
|
||
| ### 仓库实现 | ||
|
|
||
| 协调本地和远程数据源: | ||
|
|
||
| ```kotlin | ||
| class ItemRepositoryImpl( | ||
| private val localDataSource: ItemLocalDataSource, | ||
| private val remoteDataSource: ItemRemoteDataSource | ||
| ) : ItemRepository { | ||
|
|
||
| override suspend fun getItemsByCategory(category: String): Result<List<Item>> { | ||
| return runCatching { | ||
| val remote = remoteDataSource.fetchItems(category) | ||
| localDataSource.insertItems(remote.map { it.toEntity() }) | ||
| localDataSource.getItemsByCategory(category).map { it.toDomain() } | ||
| } | ||
| } | ||
|
|
||
| override suspend fun saveItem(item: Item): Result<Unit> { | ||
| return runCatching { | ||
| localDataSource.insertItems(listOf(item.toEntity())) | ||
| } | ||
| } | ||
|
|
||
| override fun observeItems(): Flow<List<Item>> { | ||
| return localDataSource.observeAll().map { entities -> | ||
| entities.map { it.toDomain() } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### 映射器模式 | ||
|
|
||
| 将映射器作为扩展函数放在数据模型附近: | ||
|
|
||
| ```kotlin | ||
| // In data layer | ||
| fun ItemEntity.toDomain() = Item( | ||
| id = id, | ||
| title = title, | ||
| description = description, | ||
| tags = tags.split("|"), | ||
| status = Status.valueOf(status), | ||
| category = category | ||
| ) | ||
|
|
||
| fun ItemDto.toEntity() = ItemEntity( | ||
| id = id, | ||
| title = title, | ||
| description = description, | ||
| tags = tags.joinToString("|"), | ||
| status = status, | ||
| category = category | ||
| ) | ||
| ``` | ||
|
|
||
| ### Room 数据库 (Android) | ||
|
|
||
| ```kotlin | ||
| @Entity(tableName = "items") | ||
| data class ItemEntity( | ||
| @PrimaryKey val id: String, | ||
| val title: String, | ||
| val description: String, | ||
| val tags: String, | ||
| val status: String, | ||
| val category: String | ||
| ) | ||
|
|
||
| @Dao | ||
| interface ItemDao { | ||
| @Query("SELECT * FROM items WHERE category = :category") | ||
| suspend fun getByCategory(category: String): List<ItemEntity> | ||
|
|
||
| @Upsert | ||
| suspend fun upsert(items: List<ItemEntity>) | ||
|
|
||
| @Query("SELECT * FROM items") | ||
| fun observeAll(): Flow<List<ItemEntity>> | ||
| } | ||
| ``` | ||
|
|
||
| ### SQLDelight (KMP) | ||
|
|
||
| ```sql | ||
| -- Item.sq | ||
| CREATE TABLE ItemEntity ( | ||
| id TEXT NOT NULL PRIMARY KEY, | ||
| title TEXT NOT NULL, | ||
| description TEXT NOT NULL, | ||
| tags TEXT NOT NULL, | ||
| status TEXT NOT NULL, | ||
| category TEXT NOT NULL | ||
| ); | ||
|
|
||
| getByCategory: | ||
| SELECT * FROM ItemEntity WHERE category = ?; | ||
|
|
||
| upsert: | ||
| INSERT OR REPLACE INTO ItemEntity (id, title, description, tags, status, category) | ||
| VALUES (?, ?, ?, ?, ?, ?); | ||
|
|
||
| observeAll: | ||
| SELECT * FROM ItemEntity; | ||
| ``` | ||
|
|
||
| ### Ktor 网络客户端 (KMP) | ||
|
|
||
| ```kotlin | ||
| class ItemRemoteDataSource(private val client: HttpClient) { | ||
|
|
||
| suspend fun fetchItems(category: String): List<ItemDto> { | ||
| return client.get("api/items") { | ||
| parameter("category", category) | ||
| }.body() | ||
| } | ||
| } | ||
|
|
||
| // HttpClient setup with content negotiation | ||
| val httpClient = HttpClient { | ||
| install(ContentNegotiation) { json(Json { ignoreUnknownKeys = true }) } | ||
| install(Logging) { level = LogLevel.HEADERS } | ||
| defaultRequest { url("https://api.example.com/") } | ||
| } | ||
| ``` | ||
|
|
||
| ## 依赖注入 | ||
|
|
||
| ### Koin (适用于 KMP) | ||
|
|
||
| ```kotlin | ||
| // Domain module | ||
| val domainModule = module { | ||
| factory { GetItemsByCategoryUseCase(get()) } | ||
| factory { ObserveUserProgressUseCase(get()) } | ||
| } | ||
|
|
||
| // Data module | ||
| val dataModule = module { | ||
| single<ItemRepository> { ItemRepositoryImpl(get(), get()) } | ||
| single { ItemLocalDataSource(get()) } | ||
| single { ItemRemoteDataSource(get()) } | ||
| } | ||
|
|
||
| // Presentation module | ||
| val presentationModule = module { | ||
| viewModelOf(::ItemListViewModel) | ||
| viewModelOf(::DashboardViewModel) | ||
| } | ||
| ``` | ||
|
|
||
| ### Hilt (仅限 Android) | ||
|
|
||
| ```kotlin | ||
| @Module | ||
| @InstallIn(SingletonComponent::class) | ||
| abstract class RepositoryModule { | ||
| @Binds | ||
| abstract fun bindItemRepository(impl: ItemRepositoryImpl): ItemRepository | ||
| } | ||
|
|
||
| @HiltViewModel | ||
| class ItemListViewModel @Inject constructor( | ||
| private val getItems: GetItemsByCategoryUseCase | ||
| ) : ViewModel() | ||
| ``` | ||
|
|
||
| ## 错误处理 | ||
|
|
||
| ### Result/Try 模式 | ||
|
|
||
| 使用 `Result<T>` 或自定义密封类型进行错误传播: | ||
|
|
||
| ```kotlin | ||
| sealed interface Try<out T> { | ||
| data class Success<T>(val value: T) : Try<T> | ||
| data class Failure(val error: AppError) : Try<Nothing> | ||
| } | ||
|
|
||
| sealed interface AppError { | ||
| data class Network(val message: String) : AppError | ||
| data class Database(val message: String) : AppError | ||
| data object Unauthorized : AppError | ||
| } | ||
|
|
||
| // In ViewModel — map to UI state | ||
| viewModelScope.launch { | ||
| when (val result = getItems(category)) { | ||
| is Try.Success -> _state.update { it.copy(items = result.value, isLoading = false) } | ||
| is Try.Failure -> _state.update { it.copy(error = result.error.toMessage(), isLoading = false) } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## 约定插件 (Gradle) | ||
|
|
||
| 对于 KMP 项目,使用约定插件以减少构建文件重复: | ||
|
|
||
| ```kotlin | ||
| // build-logic/src/main/kotlin/kmp-library.gradle.kts | ||
| plugins { | ||
| id("org.jetbrains.kotlin.multiplatform") | ||
| } | ||
|
|
||
| kotlin { | ||
| androidTarget() | ||
| iosX64(); iosArm64(); iosSimulatorArm64() | ||
| sourceSets { | ||
| commonMain.dependencies { /* shared deps */ } | ||
| commonTest.dependencies { implementation(kotlin("test")) } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| 在模块中应用: | ||
|
|
||
| ```kotlin | ||
| // domain/build.gradle.kts | ||
| plugins { id("kmp-library") } | ||
| ``` | ||
|
|
||
| ## 应避免的反模式 | ||
|
|
||
| * 在 `domain` 中导入 Android 框架类——保持其为纯 Kotlin | ||
| * 向 UI 层暴露数据库实体或 DTO——始终映射到领域模型 | ||
| * 将业务逻辑放在 ViewModels 中——提取到 UseCases | ||
| * 使用 `GlobalScope` 或非结构化协程——使用 `viewModelScope` 或结构化并发 | ||
| * 臃肿的仓库实现——拆分为专注的 DataSources | ||
| * 循环模块依赖——如果 A 依赖 B,则 B 绝不能依赖 A | ||
|
|
||
| ## 参考 | ||
|
|
||
| 查看技能:`compose-multiplatform-patterns` 了解 UI 模式。 | ||
| 查看技能:`kotlin-coroutines-flows` 了解异步模式。 |
There was a problem hiding this comment.
Restructure to include required sections: 'How it works' and 'Examples'.
The document provides excellent technical content on Android Clean Architecture, but it doesn't follow the required structure for skill documentation. According to coding guidelines, skills must include three clear sections: 'When to use', 'How it works', and 'Examples'.
Currently present:
- ✓ "何时启用" (When to use) at line 11
Missing as distinct sections:
- ✗ "How it works" — The content is spread across sections like "模块结构", "领域层", "数据层", etc.
- ✗ "Examples" — Code examples are embedded throughout rather than in a dedicated section
Consider reorganizing as:
- 何时启用 (When to use) — Keep current content
- 工作原理 (How it works) — Consolidate the architectural concepts, patterns, and principles
- 示例 (Examples) — Collect the key code examples or cross-reference the detailed sections
Alternatively, add explicit "## 工作原理" and "## 示例" section headers to satisfy the requirement while preserving the detailed subsections.
As per coding guidelines: "Skills must be formatted as Markdown files with clear sections: 'When to use', 'How it works', and 'Examples'"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/android-clean-architecture/SKILL.md` around lines 1 - 339,
Add two required top-level sections "## 工作原理" and "## 示例" while keeping the
existing "## 何时启用"; consolidate the architectural principles currently spread
across "模块结构", "依赖规则", "领域层" and "数据层" into a concise "工作原理" section, and gather
the key code examples (e.g., GetItemsByCategoryUseCase,
ObserveUserProgressUseCase, ItemRepository interface, ItemRepositoryImpl,
ItemEntity/ItemDao, ItemRemoteDataSource snippets) into a dedicated "示例" section
(or cross-reference detailed subsections), ensuring headings are added and
content reorganized rather than removed.
| @@ -0,0 +1,199 @@ | |||
| --- | |||
| name: carrier-relationship-management | |||
| description: 用于管理承运商组合、协商运费、跟踪承运商绩效、分配货运以及维护战略承运商关系的编码专业知识。基于拥有15年以上经验的运输经理提供的信息。包括记分卡框架、RFP流程、市场情报和合规性审查。适用于管理承运商、协商费率、评估承运商绩效或制定货运策略时使用。license: Apache-2.0 | |||
There was a problem hiding this comment.
Front matter is malformed; license is currently embedded in description.
On Line 3, license: Apache-2.0 is appended to the description text, so it won’t be parsed as a separate YAML field.
Proposed fix
-description: 用于管理承运商组合、协商运费、跟踪承运商绩效、分配货运以及维护战略承运商关系的编码专业知识。基于拥有15年以上经验的运输经理提供的信息。包括记分卡框架、RFP流程、市场情报和合规性审查。适用于管理承运商、协商费率、评估承运商绩效或制定货运策略时使用。license: Apache-2.0
+description: 用于管理承运商组合、协商运费、跟踪承运商绩效、分配货运以及维护战略承运商关系的编码专业知识。基于拥有15年以上经验的运输经理提供的信息。包括记分卡框架、RFP流程、市场情报和合规性审查。适用于管理承运商、协商费率、评估承运商绩效或制定货运策略时使用。
+license: Apache-2.0📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| description: 用于管理承运商组合、协商运费、跟踪承运商绩效、分配货运以及维护战略承运商关系的编码专业知识。基于拥有15年以上经验的运输经理提供的信息。包括记分卡框架、RFP流程、市场情报和合规性审查。适用于管理承运商、协商费率、评估承运商绩效或制定货运策略时使用。license: Apache-2.0 | |
| description: 用于管理承运商组合、协商运费、跟踪承运商绩效、分配货运以及维护战略承运商关系的编码专业知识。基于拥有15年以上经验的运输经理提供的信息。包括记分卡框架、RFP流程、市场情报和合规性审查。适用于管理承运商、协商费率、评估承运商绩效或制定货运策略时使用。 | |
| license: Apache-2.0 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/carrier-relationship-management/SKILL.md` at line 3, The
front matter has `license: Apache-2.0` glued to the `description` value making
it invalid YAML; edit the front matter so `description:` contains only the
description text (terminate the line or use a multi-line block if needed) and
add a separate top-level `license: Apache-2.0` field on its own line; ensure the
`description` value is properly quoted or uses | for multi-line text and that
`license` is aligned with other top-level fields.
| --- | ||
| name: deep-research | ||
| description: 使用firecrawl和exa MCPs进行多源深度研究。搜索网络、综合发现并交付带有来源引用的报告。适用于用户希望对任何主题进行有证据和引用的彻底研究时。 | ||
| origin: ECC | ||
| --- |
There was a problem hiding this comment.
文件命名不符合仓库约定(SKILL.md)
同样建议改为小写连字符命名,避免与文档规范冲突。
As per coding guidelines, “File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g., python-reviewer.md, tdd-workflow.md).”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/deep-research/SKILL.md` around lines 1 - 5, The file is
misnamed as SKILL.md; rename it to follow repo conventions using lowercase and
hyphens (e.g., deep-research.md or skill-deep-research.md) and update any
references or links to SKILL.md so they point to the new filename; ensure the
frontmatter (name: deep-research) remains correct and that any tooling/config
that expects skill files uses the new lowercase-hyphen path.
| @@ -0,0 +1,220 @@ | |||
| --- | |||
| name: energy-procurement | |||
| description: 电力与燃气采购、电价优化、需量电费管理、可再生能源购电协议评估及多设施能源成本管理的编码化专业知识。基于能源采购经理在大型工商业用户中超过15年的经验。包括市场结构分析、对冲策略、负荷分析和可持续性报告框架。适用于采购能源、优化电价、管理需量电费、评估购电协议或制定能源策略时使用。license: Apache-2.0 | |||
There was a problem hiding this comment.
Front matter key is malformed (license is embedded in description).
license: Apache-2.0 is currently appended to the description value, which can break YAML/front-matter parsing and metadata extraction.
Proposed fix
-description: 电力与燃气采购、电价优化、需量电费管理、可再生能源购电协议评估及多设施能源成本管理的编码化专业知识。基于能源采购经理在大型工商业用户中超过15年的经验。包括市场结构分析、对冲策略、负荷分析和可持续性报告框架。适用于采购能源、优化电价、管理需量电费、评估购电协议或制定能源策略时使用。license: Apache-2.0
+description: 电力与燃气采购、电价优化、需量电费管理、可再生能源购电协议评估及多设施能源成本管理的编码化专业知识。基于能源采购经理在大型工商业用户中超过15年的经验。包括市场结构分析、对冲策略、负荷分析和可持续性报告框架。适用于采购能源、优化电价、管理需量电费、评估购电协议或制定能源策略时使用。
+license: Apache-2.0📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| description: 电力与燃气采购、电价优化、需量电费管理、可再生能源购电协议评估及多设施能源成本管理的编码化专业知识。基于能源采购经理在大型工商业用户中超过15年的经验。包括市场结构分析、对冲策略、负荷分析和可持续性报告框架。适用于采购能源、优化电价、管理需量电费、评估购电协议或制定能源策略时使用。license: Apache-2.0 | |
| description: 电力与燃气采购、电价优化、需量电费管理、可再生能源购电协议评估及多设施能源成本管理的编码化专业知识。基于能源采购经理在大型工商业用户中超过15年的经验。包括市场结构分析、对冲策略、负荷分析和可持续性报告框架。适用于采购能源、优化电价、管理需量电费、评估购电协议或制定能源策略时使用。 | |
| license: Apache-2.0 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/energy-procurement/SKILL.md` at line 3, The front-matter
has the license value appended to the description (the `description` key
contains `license: Apache-2.0`), which will break YAML parsing; split the
front-matter so `description:` contains only the descriptive text and add a
separate `license: Apache-2.0` key beneath it. Locate the front-matter in
SKILL.md (keys `description` and `license`) and remove the trailing `license:
Apache-2.0` from the description value, then add a standalone `license:
Apache-2.0` entry at the same front-matter level.
| --- | ||
| name: exa-search | ||
| description: 通过Exa MCP进行神经搜索,适用于网络、代码和公司研究。当用户需要网络搜索、代码示例、公司情报、人员查找,或使用Exa神经搜索引擎进行AI驱动的深度研究时使用。 | ||
| origin: ECC | ||
| --- |
There was a problem hiding this comment.
文件命名不符合仓库约定(SKILL.md)
该技能文件名使用了大写;按规则应使用小写连字符命名(例如 exa-search.md)。
As per coding guidelines, “File naming convention: use lowercase letters with hyphens for agent, skill, command, and hook files (e.g., python-reviewer.md, tdd-workflow.md).”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/exa-search/SKILL.md` around lines 1 - 5, The file is
misnamed using uppercase "SKILL.md"; rename it to "exa-search.md" to follow the
repository convention (lowercase with hyphens) and ensure the frontmatter name:
exa-search remains correct; then update any internal references or links (e.g.,
TOC, index, or other docs that reference "SKILL.md" or the old filename) to
point to "exa-search.md" so links continue to work.
| @@ -0,0 +1,218 @@ | |||
| --- | |||
| name: logistics-exception-management | |||
| description: 针对货运异常、货物延误、损坏、丢失和承运商纠纷的编码化专业知识,由拥有15年以上运营经验的物流专业人士提供。包括升级协议、承运商特定行为、索赔程序和判断框架。在处理运输异常、货运索赔、交付问题或承运商纠纷时使用。license: Apache-2.0 | |||
There was a problem hiding this comment.
Front matter is malformed: license appears embedded in description.
license: Apache-2.0 is currently on the same line as description, which can break YAML/front matter parsing.
🔧 Proposed fix
-description: 针对货运异常、货物延误、损坏、丢失和承运商纠纷的编码化专业知识,由拥有15年以上运营经验的物流专业人士提供。包括升级协议、承运商特定行为、索赔程序和判断框架。在处理运输异常、货运索赔、交付问题或承运商纠纷时使用。license: Apache-2.0
+description: 针对货运异常、货物延误、损坏、丢失和承运商纠纷的编码化专业知识,由拥有15年以上运营经验的物流专业人士提供。包括升级协议、承运商特定行为、索赔程序和判断框架。在处理运输异常、货运索赔、交付问题或承运商纠纷时使用。
+license: Apache-2.0📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| description: 针对货运异常、货物延误、损坏、丢失和承运商纠纷的编码化专业知识,由拥有15年以上运营经验的物流专业人士提供。包括升级协议、承运商特定行为、索赔程序和判断框架。在处理运输异常、货运索赔、交付问题或承运商纠纷时使用。license: Apache-2.0 | |
| description: 针对货运异常、货物延误、损坏、丢失和承运商纠纷的编码化专业知识,由拥有15年以上运营经验的物流专业人士提供。包括升级协议、承运商特定行为、索赔程序和判断框架。在处理运输异常、货运索赔、交付问题或承运商纠纷时使用。 | |
| license: Apache-2.0 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/logistics-exception-management/SKILL.md` at line 3, The
front matter in SKILL.md has the `license` key embedded in the `description`
value which breaks YAML parsing; split the front matter so `description:`
contains only its text and move `license: Apache-2.0` onto its own line as a
separate top-level key (ensure the YAML/front-matter block uses proper
delimiters like --- if present), preserving existing description content and
spacing and keeping `description` and `license` as distinct keys.
| @@ -0,0 +1,230 @@ | |||
| --- | |||
There was a problem hiding this comment.
Rename file to follow repository naming convention.
docs/zh-CN/skills/production-scheduling/SKILL.md should be lowercase-hyphen style. Keeping uppercase SKILL.md may break convention-based discovery.
Proposed fix
- docs/zh-CN/skills/production-scheduling/SKILL.md
+ docs/zh-CN/skills/production-scheduling/production-scheduling.mdAs per coding guidelines: docs/zh-CN/{agents,skills,commands,hooks}/**/*[!a-z0-9-]*: File naming convention: use lowercase letters with hyphens.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/production-scheduling/SKILL.md` at line 1, Rename the file
named SKILL.md in the production-scheduling skill to follow the repository
naming convention by changing it to lowercase with hyphens (skill.md or
production-scheduling-skill.md if you prefer a more descriptive name); update
any references to SKILL.md in the repository (documentation indexes, imports, or
links) so they point to the new lowercase filename to avoid discovery issues.
| description: 为离散和批量制造中的生产调度、作业排序、产线平衡、换模优化和瓶颈解决提供编码化专业知识。基于拥有15年以上经验的生产调度师的知识。包括约束理论/鼓-缓冲-绳、快速换模、设备综合效率分析、中断响应框架以及企业资源计划/制造执行系统交互模式。适用于调度生产、解决瓶颈、优化换模、应对中断或平衡制造产线时。license: Apache-2.0 | ||
| version: 1.0.0 |
There was a problem hiding this comment.
Fix malformed YAML front matter (license is currently inside description).
On Line 3, license: Apache-2.0 is appended to the description value, so license is not parsed as a top-level key.
Proposed fix
-description: 为离散和批量制造中的生产调度、作业排序、产线平衡、换模优化和瓶颈解决提供编码化专业知识。基于拥有15年以上经验的生产调度师的知识。包括约束理论/鼓-缓冲-绳、快速换模、设备综合效率分析、中断响应框架以及企业资源计划/制造执行系统交互模式。适用于调度生产、解决瓶颈、优化换模、应对中断或平衡制造产线时。license: Apache-2.0
+description: 为离散和批量制造中的生产调度、作业排序、产线平衡、换模优化和瓶颈解决提供编码化专业知识。基于拥有15年以上经验的生产调度师的知识。包括约束理论/鼓-缓冲-绳、快速换模、设备综合效率分析、中断响应框架以及企业资源计划/制造执行系统交互模式。适用于调度生产、解决瓶颈、优化换模、应对中断或平衡制造产线时。
+license: Apache-2.0📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| description: 为离散和批量制造中的生产调度、作业排序、产线平衡、换模优化和瓶颈解决提供编码化专业知识。基于拥有15年以上经验的生产调度师的知识。包括约束理论/鼓-缓冲-绳、快速换模、设备综合效率分析、中断响应框架以及企业资源计划/制造执行系统交互模式。适用于调度生产、解决瓶颈、优化换模、应对中断或平衡制造产线时。license: Apache-2.0 | |
| version: 1.0.0 | |
| description: 为离散和批量制造中的生产调度、作业排序、产线平衡、换模优化和瓶颈解决提供编码化专业知识。基于拥有15年以上经验的生产调度师的知识。包括约束理论/鼓-缓冲-绳、快速换模、设备综合效率分析、中断响应框架以及企业资源计划/制造执行系统交互模式。适用于调度生产、解决瓶颈、优化换模、应对中断或平衡制造产线时。 | |
| license: Apache-2.0 | |
| version: 1.0.0 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/production-scheduling/SKILL.md` around lines 3 - 4, The
YAML front matter has `license: Apache-2.0` incorrectly appended inside the
`description` value; edit the front matter so `description` ends at its intended
text (add a newline/closing quote if needed) and place `license: Apache-2.0` as
its own top-level key (e.g., ensure keys `description:`, `license: Apache-2.0`,
and `version: 1.0.0` are separate entries in the YAML block), preserving the
Chinese description text exactly and keeping proper YAML syntax and separators.
| description: 为受监管制造业中的质量控制、不合格调查、根本原因分析、纠正措施和供应商质量管理提供编码化专业知识。基于在FDA、IATF 16949和AS9100环境中拥有15年以上经验的质量工程师的见解。包括不合格报告生命周期管理、纠正与预防措施系统、统计过程控制解释和审核方法。适用于调查不合格、进行根本原因分析、管理纠正与预防措施、解释统计过程控制数据或处理供应商质量问题。license: Apache-2.0 | ||
| version: 1.0.0 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify front matter has a standalone `license` key (read-only).
awk '
BEGIN{in=0}
/^---$/ {c++; if(c==1){in=1; next} if(c==2){in=0}}
in{print}
' docs/zh-CN/skills/quality-nonconformance/SKILL.md | rg -n '^license:\s+'Repository: affaan-m/everything-claude-code
Length of output: 147
🏁 Script executed:
cat -n docs/zh-CN/skills/quality-nonconformance/SKILL.md | head -15Repository: affaan-m/everything-claude-code
Length of output: 595
🏁 Script executed:
grep -n "^##\|^###" docs/zh-CN/skills/quality-nonconformance/SKILL.md | head -20Repository: affaan-m/everything-claude-code
Length of output: 354
Front matter key is malformed; license is embedded in description, and filename violates naming convention.
On Line 3, license: Apache-2.0 is part of the description text instead of being a standalone YAML field. Additionally, the filename SKILL.md must follow the lowercase-hyphen convention (e.g., skill.md) per the coding guidelines for skills files.
Suggested fixes
-description: 为受监管制造业中的质量控制、不合格调查、根本原因分析、纠正措施和供应商质量管理提供编码化专业知识。基于在FDA、IATF 16949和AS9100环境中拥有15年以上经验的质量工程师的见解。包括不合格报告生命周期管理、纠正与预防措施系统、统计过程控制解释和审核方法。适用于调查不合格、进行根本原因分析、管理纠正与预防措施、解释统计过程控制数据或处理供应商质量问题。license: Apache-2.0
+description: 为受监管制造业中的质量控制、不合格调查、根本原因分析、纠正措施和供应商质量管理提供编码化专业知识。基于在FDA、IATF 16949和AS9100环境中拥有15年以上经验的质量工程师的见解。包括不合格报告生命周期管理、纠正与预防措施系统、统计过程控制解释和审核方法。适用于调查不合格、进行根本原因分析、管理纠正与预防措施、解释统计过程控制数据或处理供应商质量问题。
+license: Apache-2.0Rename SKILL.md to skill.md to comply with lowercase-hyphen naming for skill files.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/quality-nonconformance/SKILL.md` around lines 3 - 4, The
front matter in SKILL.md incorrectly embeds the license inside the description;
extract the license into its own YAML key by removing "license: Apache-2.0" from
the description text and adding a separate top-level "license: Apache-2.0" field
in the front matter alongside "description" and "version", and rename the file
from SKILL.md to skill.md to follow the lowercase-hyphen naming convention; look
for the front matter keys "description" and "version" in SKILL.md to make the
changes.
| description: 用于退货授权、接收与检验、处置决策、退款处理、欺诈检测以及保修索赔管理的标准化专业知识。基于拥有15年以上经验的退货运营经理的见解。包括分级框架、处置经济学、欺诈模式识别和供应商回收流程。适用于处理产品退货、逆向物流、退款决策、退货欺诈检测或保修索赔时使用。license: Apache-2.0 | ||
| version: 1.0.0 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify front matter keys are separate YAML fields (read-only)
python - <<'PY'
from pathlib import Path
import re
p = Path("docs/zh-CN/skills/returns-reverse-logistics/SKILL.md")
text = p.read_text(encoding="utf-8")
m = re.match(r"^---\n(.*?)\n---\n", text, re.S)
if not m:
print("FAIL: front matter block not found")
raise SystemExit(1)
fm = m.group(1).splitlines()
has_license_key = any(line.startswith("license:") for line in fm)
description_line = next((line for line in fm if line.startswith("description:")), "")
license_embedded = "license:" in description_line[len("description:"):]
print("has_license_key =", has_license_key)
print("license_embedded_in_description =", license_embedded)
if (not has_license_key) or license_embedded:
print("FAIL: malformed front matter")
raise SystemExit(2)
print("PASS: front matter key layout looks correct")
PYRepository: affaan-m/everything-claude-code
Length of output: 166
Separate license key from description in front matter.
Lines 3–4: The license: Apache-2.0 is appended to the description value instead of being a separate YAML field. This breaks metadata parsing.
🔧 Fix
-description: 用于退货授权、接收与检验、处置决策、退款处理、欺诈检测以及保修索赔管理的标准化专业知识。基于拥有15年以上经验的退货运营经理的见解。包括分级框架、处置经济学、欺诈模式识别和供应商回收流程。适用于处理产品退货、逆向物流、退款决策、退货欺诈检测或保修索赔时使用。license: Apache-2.0
+description: 用于退货授权、接收与检验、处置决策、退款处理、欺诈检测以及保修索赔管理的标准化专业知识。基于拥有15年以上经验的退货运营经理的见解。包括分级框架、处置经济学、欺诈模式识别和供应商回收流程。适用于处理产品退货、逆向物流、退款决策、退货欺诈检测或保修索赔时使用。
+license: Apache-2.0📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| description: 用于退货授权、接收与检验、处置决策、退款处理、欺诈检测以及保修索赔管理的标准化专业知识。基于拥有15年以上经验的退货运营经理的见解。包括分级框架、处置经济学、欺诈模式识别和供应商回收流程。适用于处理产品退货、逆向物流、退款决策、退货欺诈检测或保修索赔时使用。license: Apache-2.0 | |
| version: 1.0.0 | |
| description: 用于退货授权、接收与检验、处置决策、退款处理、欺诈检测以及保修索赔管理的标准化专业知识。基于拥有15年以上经验的退货运营经理的见解。包括分级框架、处置经济学、欺诈模式识别和供应商回收流程。适用于处理产品退货、逆向物流、退款决策、退货欺诈检测或保修索赔时使用。 | |
| license: Apache-2.0 | |
| version: 1.0.0 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/zh-CN/skills/returns-reverse-logistics/SKILL.md` around lines 3 - 4, The
YAML front matter currently has the license appended to the description string;
separate the two keys by ending the description value (ensure it ends with a
newline) and adding a standalone `license: Apache-2.0` field on its own line,
leaving `description:` as a proper YAML string and `license:` as a distinct key
(update the front-matter around the `description` and `license` fields so they
are distinct YAML entries).
Description
Type of Change
fix:Bug fixfeat:New featurerefactor:Code refactoringdocs:Documentationtest:Testschore:Maintenance/toolingci:CI/CD changesChecklist
node tests/run-all.js)Summary by cubic
Sync the Simplified Chinese docs to the latest upstream. Adds new commands, agents, language rules, and a full troubleshooting guide, and updates paths/terminology to match current ECC features.
New Features
/aside,/gradle-build,/kotlin-build,/kotlin-review,/kotlin-test,/prompt-optimize,/resume-session,/save-session(+ orchestration/multi‑workflow updates).kotlin-build-resolverandkotlin-revieweragents; Gradle/Kotlin build–review–test guides.fal-ai-media), research (deep-research,exa-search), orchestration (dmux-workflows), Android/Kotlin stack, and industry playbooks (logistics, quality, energy, inventory, production, customs, returns, crosspost,x-api, etc.).TROUBLESHOOTING.md.Refactors
/sessions.Written for commit 4c0107a. Summary will update on new commits.
Summary by CodeRabbit
Documentation & Language Support
New Features
Documentation