当前位置: 首页 > news >正文

Skills 编写规范与经验指南

写在最前面:实际上,绝大部分的skill创作都可以通过安装skill-creator后,再和Agent对话跑完整个流程,直接要求Agent将整个流程处理成skill。

文章目录

    • 1. Skill 是什么
    • 2. Skill 的物理结构
    • 3. 渐进披露 - Skill 的核心设计哲学
    • 4. YAML Frontmatter 规范
      • 4.1 必填字段
      • 4.2 可选字段
      • 4.3 `description` —— 唯一的触发信号
      • 4.4 关于 name 的约束
    • 5. SKILL.md 正文的常见骨架
      • 5.1 顶部 Quick Reference / 决策表
      • 5.2 Overview / When to use
      • 5.3 Workflow / Process(阶段化流程)
      • 5.4 Common Pitfalls / Anti-patterns
      • 5.5 QA / 自检 checklist
      • 5.6 Reference Files 索引
    • 6. 六种常见 Skill 形态(模式库)
      • 6.1 Router 型(超轻量路由器)
      • 6.2 Reference 型(长期查阅手册)
      • 6.3 Workflow 型(多阶段流程)
      • 6.4 Creative / Philosophy 型(创作类)
      • 6.5 Human-in-the-loop 型(需要用户参与)
      • 6.6 Toolkit / Script-first 型(脚本包)
    • 7. 写作风格与 prompt 语言技巧
      • 7.1 祈使句 + 说明"为什么"
      • 7.2 ❌/✅ 对照示例
      • 7.3 "Read this file when X" 指针
      • 7.4 STEP 0 强前置
      • 7.5 环境分支
      • 7.6 反过度积极
      • 7.7 Tone 元指令
      • 7.8 版本 pinning
      • 7.9 关键词尾巴
    • 8. 脚本、模板与资源目录的约定
      • 8.1 scripts/ 的黄金规则
      • 8.2 references/ 的黄金规则
      • 8.3 assets/ 的黄金规则
      • 8.4 templates/ 的黄金规则
    • 9. Skill 的评估与迭代闭环
      • 9.1 触发(description)测试
      • 9.2 输出(内容)评估
      • 9.3 断言(assertions)设计
      • 9.4 Benchmark 聚合与查看
      • 9.5 迭代规则
      • 9.6 打包发布
    • 10. 新手 30 分钟上手流程(Quick Start)
      • 步骤 1(3 分钟):确定 skill 形态
      • 步骤 2(5 分钟):新建目录 + 复制模板
      • 步骤 3(10 分钟):写 SKILL.md
      • 步骤 4(5 分钟):写 2–3 条测试 prompt
      • 步骤 5(5 分钟):跑一次 with_skill vs without_skill
      • 步骤 6(2 分钟):写下改进方向
    • 11. 常见反模式(Anti-Patterns)
    • 12. 参考内容

1. Skill 是什么

一个 skill 是一个文件夹,里面至少有一个SKILL.md。这个SKILL.md就是给模型(Claude / 其他 agent)看的说明书,告诉它:

  • 什么时候应该调用这个 skill(触发条件);
  • 怎么做这项专门的任务(步骤、模板、脚本、检查清单);
  • 不该做什么(反模式、边界)。

Skill 与 prompt 的差别在于:prompt 是一次性输入,skill 是可复用、可版本化、可迭代评估的能力单元。它可以被打包为.skill文件、发布到 marketplace、被多个 agent 共享。

Skill 与 tool(工具)的差别在于:tool 是模型可以直接调用的动作接口;skill 是指导模型如何组合 tools 完成一类工作的知识包。一个 skill 里通常会自带若干脚本作为 “sub-tools”,但真正的价值在文档本身。

简言之:Skill = 一个装着 SKILL.md 的文件夹,用来把某项专门知识"装配"到模型上下文里


2. Skill 的物理结构

官方推荐的最小与完整目录结构:

skill-name/ # 目录名建议 kebab-case ├── SKILL.md # 必需:YAML frontmatter + Markdown 正文 ├── LICENSE.txt # 强烈建议:非必需,用于公开发布时的免责与产权的声明 ├── scripts/ # 可选:可执行的确定性脚本(Python/Node/Bash) │ ├── main_tool.py │ └── utils.py ├── references/ # 可选:按需加载的深度文档 │ ├── advanced.md │ └── schemas.md ├── assets/ # 可选:产物中直接使用的静态资源 │ ├── template.html │ └── fonts/ ├── examples/ # 可选:范例、样例输入输出 │ └── sample-input.md ├── templates/ # 可选:起始模板(如 HTML/JS 骨架) ├── agents/ # 可选:子 agent 的 system prompt 片段 │ └── grader.md └── requirements.txt # 可选:Python 依赖清单

命名习惯(与上面目录树严格对应):

目录 / 文件用途何时使用
SKILL.mdSkill 主入口,含 YAML frontmatter + Markdown 正文必需
LICENSE.txt完整 license 文本,供 frontmatter 中的license字段指向非必需;公开发布时推荐随 skill 一起分发
scripts/确定性代码,模型直接调用而不必读源码有重复性/可自动化的步骤时
references/长参考文档,模型「按需」读取单个 SKILL.md 装不下、或按主题拆分时
assets/出现在最终产物里的资源(字体、图标、模板)需要打包到输出中
examples/样例集(正/反例、模板问答)类目繁多,SKILL.md 只做路由
templates/起始骨架(HTML/JS/JSON schema 等)输出遵循固定模板
agents/子 agent 的 system prompt 片段skill 会 spawn subagent 时
requirements.txtPython 依赖清单(Node 项目对应package.jsonscripts/ 里存在需外部依赖的脚本时

约定 1:文件夹名、namefrontmatter 字段、marketplace 中注册的 skill 名,三者严格一致(如pdfdocxskill-creator)。

约定 2:把 skill 视为「一个可移植的最小单元」——不要在 SKILL.md 里引用文件夹外的路径。


3. 渐进披露 - Skill 的核心设计哲学

Skill 的加载分三级,写作时必须按这三级来切分内容:

层级加载时机大小预算承担内容
L1 元数据name+description永远在上下文中~100 词触发决策所需的最小信息
L2 SKILL.md 正文skill 被触发后立刻加载建议 <500 行核心工作流、决策树、路由到附属文件的指针
L3 附属文件模型按需Read无限深度参考、模板、示例、可执行脚本

核心原则L2 是路由,不是百科全书。当 SKILL.md 快要超过 500 行、或某一节篇幅过大时,就要把细节剥离到references/examples/,SKILL.md 里只留一句「如果要做 X,请阅读references/x.md」。


4. YAML Frontmatter 规范

SKILL.md顶部必须以---分隔的 YAML 块开始。规范字段如下:

4.1 必填字段

---name:my-skill-name# 唯一标识;kebab-case;与目录名一致description:>一句/一段说明「这个 skill 做什么 + 什么时候应该被触发」。 这是 skill 唯一的触发信号,务必写好。---

4.2 可选字段

version:语义化版本号# 建议字段;当前各客户端尚未统一支持,但有助于团队内版本管理license:Complete terms in LICENSE.txt# 或 "Proprietary"compatibility:...# 依赖工具/环境(较少使用)

4.3description—— 唯一的触发信号

模型是否加载这个 skill,几乎完全由description决定。因此这一字段既是"电梯陈述",也是"路由规则"。

优质 description 的六个特征

  1. 主动"推销"——skill 天然容易 undertrigger(模型不主动使用)。写法上略带"push":

    “Make sure to use this skill whenever the user mentions dashboards, data visualization, or wants to display any kind of company data — even if they don’t explicitly ask for a ‘dashboard.’”

  2. 列出触发词/触发场景——把用户可能说的短语列出来,例如PRD / RFC / design doc / write a docdoc-coauthoring)。

  3. 列出应当跳过的场景——用Do NOT trigger when …显式地划边界(xlsxdocx)。

  4. 包含 TRIGGER / SKIP 路由头——参考claude-api

    TRIGGER — read BEFORE opening the target file … SKIP only when another provider is being worked on …

    这把 description 从"元数据"升级为"路由器"。

  5. 对创作型 skill:加版权提醒——algorithmic-art / canvas-design / brand-guidelines都在 description 里加:

    “Create original … rather than copying existing artists’ work to avoid copyright violations.”

  6. 保持"完整语境"——不要写 “Format PDF”,而写 “Fill out interactive PDF forms, extract text/tables from PDFs, redact content, or convert to images. Trigger whenever a.pdffile is mentioned.”

4.4 关于 name 的约束

  • 全小写,用连字符分隔单词(kebab-case)。
  • 不与其他 skill 冲突;建议先用 marketplace 检索。
  • 与目录名严格一致;重命名时同步.claude-plugin/marketplace.json

5. SKILL.md 正文的常见骨架

正文没有强制结构,但仓库中反复出现的高价值骨架有以下几种模块,可按需拼装:

5.1 顶部 Quick Reference / 决策表

在正文开头放一张任务 → 使用哪个方法/文件的表格。docx、pptx、claude-api等 skill 都用了这套。

## Quick Reference | 任务 | 用什么 | | --- | --- | | 填写可交互 PDF 表单 | 阅读 `forms.md` | | 从 PDF 中提取文本 | 使用 `pdfplumber` | | 生成新 PDF | 使用 `reportlab` |

价值:模型进入 skill 后,第一眼就能路由到正确的子路径,而不必读完整个文档。

5.2 Overview / When to use

一段 3–5 行的自我介绍:这个 skill 干什么、适用什么场景、不适用什么场景。放在 Quick Reference 之下、正式流程之上。

5.3 Workflow / Process(阶段化流程)

复杂的 skill 用编号阶段拆分:

  • mcp-builder用 4 个 Phase(Deep Research → Design → Implement → Evaluate);
  • doc-coauthoring用 3 个 Stage(Context Gathering → Refinement → Reader Testing);
  • algorithmic-art用 5 个大写阶段(ALGORITHMIC PHILOSOPHY CREATION → DEDUCING THE CONCEPTUAL SEED → …)。

每个阶段下要写清:目的、动作、检查点、进入下一阶段的准入条件

5.4 Common Pitfalls / Anti-patterns

在 skill 末尾(或阶段内)显式列出过去失败过的写法。这一节的价值极高:

  • docx:14 条 “Critical Rules for docx-js”;
  • pptxNEVER use accent lines under titles
  • web-artifacts-builder:反 “AI slop”(避免居中布局、紫渐变、Inter 字体);
  • webapp-testingDO NOT read the source until you try running the script first

5.5 QA / 自检 checklist

给出模型可对照打勾的 markdown checklist(xlsx的 “Formula Verification Checklist”)。让 QA 变成可执行动作而不是抽象要求。

5.6 Reference Files 索引

在末尾列出所有 L3 附属文件与何时读取:

## Reference Files - `references/schemas.md` — JSON 结构参考 - `agents/grader.md` — 判分子 agent 的 prompt

6. 六种常见 Skill 形态(模式库)

6.1 Router 型(超轻量路由器)

代表internal-comms(32 行)
适用:一个大主题下有多个并列子领域,每个子领域独立成文。
结构When to use → How to use(3 步:识别 → 加载 examples/xxx.md → 执行)→ Keywords
优点:SKILL.md 极小,永远不会撑爆 L2 上下文。

6.2 Reference 型(长期查阅手册)

代表claude-api(578 行)、brand-guidelines
适用:知识密集,模型会反复回来查阅。
结构Quick Reference 表 → 分主题参考 → Common Pitfalls
关键技巧

  • description 中带TRIGGER/SKIP路由头;
  • 支持"子命令"(如/claude-api migrate);
  • 显式 pin 版本(“ALWAYS useclaude-opus-4-8— non-negotiable”);
  • 包含 API drift 表(stale vs current)。

6.3 Workflow 型(多阶段流程)

代表skill-creatormcp-builderdoc-coauthoringwebapp-testing
适用:任务需要多步骤、有明确产出物。
结构:分 Phase / Stage 编号;每阶段有目标、动作、退出条件。
关键技巧

  • 用 ASCII 决策树(webapp-testing)表达路径选择;
  • 用"环境分支"处理有/无 subagent 场景(doc-coauthoringpptx);
  • 红队框架:“Assume there are problems. Your job is to find them.”(pptx)。

6.4 Creative / Philosophy 型(创作类)

代表algorithmic-artcanvas-designfrontend-design
适用:输出是艺术/设计,需要模型有诠释空间。
结构:先写"创作理念"(4–6 段风格宣言),再写"执行细节"。
关键技巧

  • Philosophy + Execution 两步法:先让模型写一份小型"艺术运动宣言",再基于宣言生成产物;
  • 明确 FIXED vs VARIABLE 部分(“模板结构不动,只替换算法/参数”);
  • 反 AI slop:显式列出模型的默认平庸倾向并禁用(frontend-design的三种默认外观、web-artifacts-builder的紫渐变+Inter)。

6.5 Human-in-the-loop 型(需要用户参与)

代表theme-factory
适用:产出前必须由用户挑选/确认。
结构:4 步——向用户展示 showcase → 请用户选择 → 等待选择 → 应用选择
关键技巧:把"等待用户"作为流程的合法节点,而不是"打断"。

6.6 Toolkit / Script-first 型(脚本包)

代表slack-gif-creatordocxpdfpptxxlsx
适用:任务本质是数据处理/文件生成,脚本比 prompt 更可靠。
结构:SKILL.md 说明何时调哪个脚本;具体逻辑在scripts/
关键技巧

  • 让脚本--help自解释;
  • 明确要求"不要读脚本源码"(webapp-testing)以省 token;
  • 提供"字段/颜色/格式"的固化规范(xlsx的财务模型颜色约定:蓝=输入、黑=公式、绿=跨表、红=外部、黄=关键假设)。

7. 写作风格与 prompt 语言技巧

Skill 的正文本质是给模型看的 prompt。

7.1 祈使句 + 说明"为什么"

避免堆砌全大写MUST/NEVER,而是解释这么做的原因。模型有 theory of mind,理解原理后能举一反三;纯命令则只在原例上生效。

反例:NEVER use requests library.
正例:Prefer httpx over requests because we need async support and requests is not maintained upstream.

只有在真的踩过多次坑、必须硬性阻止时,才使用NEVER/ALWAYS全大写形式。

7.2 ❌/✅ 对照示例

给出错误写法与正确写法并列(docxxlsxweb-artifacts-builder广泛使用):

❌ WRONG: `ws.cell(row=10, column=2).value = 15234.5` ✅ CORRECT: `ws.cell(row=10, column=2).value = "=SUM(B2:B9)"`

对照示例比抽象规则的 signal 强 5 倍。

7.3 “Read this file when X” 指针

L2 到 L3 的路由必须具体、条件化

If you need to fill out a PDF form, read `forms.md` and follow its instructions.

避免:“see references for more info”(模糊、模型不会真的去读)。

7.4 STEP 0 强前置

对于容易被跳过的关键前提(读模板、跑 --help),显式立成 “STEP 0”:

### ⚠️ STEP 0: READ THE TEMPLATE FIRST ⚠️ Do not start coding until you have read `templates/base.html` in full.

7.5 环境分支

skill 可能运行在 Claude Code、Claude.ai、Cowork、其他 agent 环境中,用If access to sub-agents is available:/If not:显式分叉,避免模型走错路径。

7.6 反过度积极

有时需要"叫模型别做":

  • web-artifacts-builder“avoid testing the artifact upfront as it adds latency”
  • docx“Do not write Python scripts — use the Edit tool directly”
  • webapp-testing“DO NOT read the source until you try running the script first”

模型默认过度积极,显式的"少做"指令能省大量 token。

7.7 Tone 元指令

想控制模型对用户说话的语气,就写一节Tips for Effective Guidancedoc-coauthoring):

“Be direct and procedural. Don’t try to ‘sell’ the approach — just execute it.”

7.8 版本 pinning

对易漂移的字段(模型 ID、SDK 版本)明确 pin 值并说明"non-negotiable"。参考claude-api

7.9 关键词尾巴

在文末列一个Keywords:短列表(internal-commsbrand-guidelines),补充 description 中未覆盖的同义词/触发词。


8. 脚本、模板与资源目录的约定

8.1 scripts/ 的黄金规则

  1. 每个脚本都有--help——模型第一步永远是python scripts/foo.py --help
  2. 默认黑箱调用,不读源码——脚本可能几百上千行,读进上下文会拖慢模型。SKILL.md 应显式说 “call as black-box; do not ingest source unless customization is required”。
  3. 脚本命名保持稳定——重命名等于破坏 skill 使用者的记忆。
  4. 在 SKILL.md 里给出可复制粘贴的完整命令
    python scripts/aggregate_benchmark.py<workspace>/iteration-N --skill-name<name>
  5. 依赖用requirements.txt(Python)或package.json(Node)声明。

8.2 references/ 的黄金规则

  • 单文件超过 300 行时必须在文首放 TOC;
  • 每个文件的开头写一句"什么时候读这个文件";
  • 交叉引用其他 references 时使用相对路径references/xxx.md

8.3 assets/ 的黄金规则

  • 仅存放最终产物中直接使用的资源(模板、字体、图标);
  • 大二进制(字体、PDF)用 LFS 或子仓库。

8.4 templates/ 的黄金规则

  • 明确 FIXED(不可改)与 VARIABLE(可替换)区域;
  • 在 SKILL.md 中把这一区分写死。

9. Skill 的评估与迭代闭环

skill-creator沉淀了一套完整的「写 → 测 → 评 → 改」的闭环,值得作为标准工作流引入你自己的 skill 项目:

9.1 触发(description)测试

从"用户是否会说这句话时期望被触发"角度,构造 20 条 query(一半 should-trigger、一半 should-not-trigger),near-miss 越多越有信息量。用run_loop.py迭代优化 description。

关键点should_not_trigger必须是"貌似相关但其实不该触发",而不是显然无关的问题——否则测试没有 signal。

9.2 输出(内容)评估

对每个测试 prompt,同时跑:

  • with-skill:加载 skill 的版本;
  • baseline:不加载 skill(新 skill)或加载旧版(改进 skill)。

结果按iteration-N/eval-K/{with_skill,without_skill}/outputs/组织。

9.3 断言(assertions)设计

每条测试 prompt 配套若干断言(grading.json中的expectations):

  • 命名要读得懂——"输出包含 SUM(B2:B9) 公式"好过"assertion_3"
  • 可编程校验的断言优先——写脚本判分而不是"眼球判分";
  • 主观类断言不要硬凑——设计/写作类交给人类打分。

9.4 Benchmark 聚合与查看

benchmark.json的 schema(详见skill-creator/references/schemas.md)字段名严格:configuration必须是"with_skill""without_skill"pass_rate/time_seconds/tokens必须嵌套在result下。

eval-viewer/generate_review.py生成的 HTML 视图给人类看,让他填feedback.json做定性反馈。

9.5 迭代规则

  1. 从反馈里泛化——不要只修 3 个测试例,要理解背后共通的失败模式;
  2. 保持 prompt 精简——如果一段话没贡献信号,删掉;
  3. 解释"为什么"——见 §7.1;
  4. 横向发现重复劳动——如果 3 次运行都独立写了同一个脚本,把它内置到scripts/

9.6 打包发布

python scripts/package_skill.py<path/to/skill-folder>

产出.skill文件(本质是 zip)。marketplace 通过.claude-plugin/marketplace.json注册。


10. 新手 30 分钟上手流程(Quick Start)

如果你是第一次写 skill,按下面顺序做,30 分钟内可跑通闭环:

步骤 1(3 分钟):确定 skill 形态

对照 §6,问自己三个问题:

  1. 有多少子领域?多 → Router 型;少 → Workflow 型。
  2. 是流程还是查阅?流程 → Workflow;查阅 → Reference。
  3. 是创作还是确定性?创作 → Philosophy;确定性 → Toolkit。

步骤 2(5 分钟):新建目录 + 复制模板

mkdir-pmy-skillcptemplate/SKILL.md my-skill/SKILL.mdcpLICENSE.txt my-skill/LICENSE.txt# 如需

步骤 3(10 分钟):写 SKILL.md

按下面骨架填空:

--- name: my-skill description: > 【一句话说做什么】。Trigger whenever 【触发条件A】、【触发条件B】、 or 【触发条件C】. Do NOT trigger when 【排除条件】. license: Complete terms in LICENSE.txt --- # My Skill ## Overview 【3–5 行自我介绍】 ## Quick Reference | 任务 | 使用 | | --- | --- | | ... | ... | ## Workflow ### Step 1: 【动作】 ### Step 2: 【动作】 ## Common Pitfalls - ❌ ... - ✅ ... ## Reference Files - `references/xxx.md` — 何时读它

步骤 4(5 分钟):写 2–3 条测试 prompt

{"skill_name":"my-skill","evals":[{"id":1,"prompt":"真实用户会说的话1","expected_output":"…"},{"id":2,"prompt":"真实用户会说的话2","expected_output":"…"}]}

步骤 5(5 分钟):跑一次 with_skill vs without_skill

skill-creator提供的脚本或手动 spawn 两个子任务。看两组输出的差别,决定:

  • 如果 with_skill 明显更好 → 进入迭代;
  • 如果几乎一样 → skill 没提供信号,回炉重写;
  • 如果 with_skill 更差 → skill 在误导模型,找出误导点。

步骤 6(2 分钟):写下改进方向

在 skill 目录旁开一个NOTES.md,记录本轮观察 + 下一版打算改哪里。进入下一轮迭代。


11. 常见反模式(Anti-Patterns)

反模式症状修法
Description 过短或抽象Skill 从不被触发加触发词、场景、“push” 语气;参考 §4.3
一切写在 SKILL.md文件超过 800 行,模型加载后仍找不到重点拆到references/,SKILL.md 只留路由
MUST/NEVER 泛滥模型死板、无法泛化到新场景改为"因为 X,所以 Y";参考 §7.1
抽象指令“Format properly”、“Handle appropriately”换成具体步骤 + ❌/✅ 例子
没有 Common Pitfalls常见坑反复被踩补一节反模式清单
触发关键词太宽过度触发、抢占其他 skillDo NOT trigger when …
脚本不带 --help模型强行读源码,浪费 context加 argparse + 明确文档
在 skill 之间硬编码路径打包/移植失败只使用 skill 内相对路径

12. 参考内容

  • Anthropic public claude skills
  • Specification for Agent Skills
http://www.jsqmd.com/news/1125331/

相关文章:

  • 服务器安全(Windows Server+Linux)
  • 电容式触摸按键 PCB 设计 10 要点:从 PAD 形状到走线间距的实战避坑
  • 终极指南:5分钟快速导出QQ空间全部历史说说的完整解决方案
  • Linux groupdel命令详解|用户组删除、主组报错解决、强制删除实战教程
  • PyTorch 2.12 LSTM 时间序列预测实战:NASA IGBT 退化数据 MSE 降至 0.004
  • MyBatisGX 0.2.0 发布:正式引入 MGXQL 对象查询语言
  • 蓝速科技视觉 3D 全息舱 AI 数字人一体机带灯与无灯款深度评测
  • 102. GaN功率器件动态导通电阻(RDS(on))退化机理
  • 2026年主流安卓加固工具功能价格对比,360加固保与问顶安全哪家强?
  • sklearn 1.9.0 数据集加载实战:5种方法获取UCI数据,对比fetch_openml与本地读取
  • 实操|用Trae搞定GPIO扩展全流程,看懂AI在IC设计里的真实价值
  • 基于单片机人脸识别电子密码锁智能门禁指纹识别语音提醒防盗成品112(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 21_LangChain源码总览_读源码前必看的地图
  • 2026年VIVO嵌入式岗位高频面试题(含参考答案)
  • B站、CSDN流量分析!保姆级教程:用零代码ETL与Lift提升度,扒下“爆款标题”的底裤
  • 01 双编码器与交叉编码器
  • 2026年精选好口碑苦荞粉推荐,健康美味不容错过
  • 基于51单片机三路超声波测距仪 汽车多路倒车雷达系统 嵌入式13(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • COCO数据集实战:从pycocotools API到PyTorch数据加载器
  • LangGraph 工作流:Agent 从脚本变成可控,从问题拆解到交付验证
  • 从“使用者”到“架构师”:如何设计你的人机协作工作流?
  • 郴州热门火锅店理性测评|行业避坑+科学选型指南
  • Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
  • AI写小说接入文心一言教程:千帆API+向量记忆系统实现百万字长篇智能创作
  • 基于STM32智能家居 烟雾温度火灾防盗报警 短信wifi蓝牙系统 成品12(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • Python初学者必知:6个让你效率翻倍的开源框架(附学习路径)
  • 【物理应用】多尺度多物理场优化多孔结构的Matlab代码
  • 商用容积式电热水炉厂家
  • Codex 完整使用教程(Windows/macOS 双系统区别详解)
  • LED灯珠颜色亮度工业自动化测量