ワンクリックで
create-skill
创建有效 Skill 的指南。当用户想创建新 Skill,或更新现有 Skill,以通过专门知识、工作流或工具集成扩展 Agent 能力时,应使用此 Skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
创建有效 Skill 的指南。当用户想创建新 Skill,或更新现有 Skill,以通过专门知识、工作流或工具集成扩展 Agent 能力时,应使用此 Skill。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
选择跨端框架前使用。适用于用户要求在 KMP、React Native、Flutter、uni-app 之间做技术选型、比较跨端框架、判断小程序/App/Web/桌面/鸿蒙/存量原生 App 适合方案,或需要根据团队技术栈、UI 策略、原生能力和交付约束推荐框架时;信息不足时必须先询问,禁止直接推荐。
Create curated Hybrid Agent Rail Skill folders from an upstream Skill. Use when selecting an external Skill into skills/<category>/<name>/SKILL.md, copying the curated template/example, enforcing required Source metadata, or validating the strict How to use format.
Add an iOS App Clip target to an Expo or React Native app. Use when the user asks for App Clip setup, lightweight iOS entrypoints, apple targets, or Expo native target integration.
在用户回答任一 Skill 的前置问题后使用。适用于把架构、环境、版本、平台、包管理器、测试目标、UI 策略等前置信息写入项目根目录 .hyar/ARCH_CONTEXT.md,并在后续 Skill 提问前复用这些答案,避免重复询问。
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
Check the health of published EAS Updates: crash rates, install/launch counts, unique users, payload size, and the split between embedded and OTA users per channel.
| name | create-skill |
| description | 创建有效 Skill 的指南。当用户想创建新 Skill,或更新现有 Skill,以通过专门知识、工作流或工具集成扩展 Agent 能力时,应使用此 Skill。 |
| metadata | {"short-description":"创建或更新 Skill"} |
这个 Skill 用于指导如何创建有效的 Skill。
Skill 是模块化、自包含的文件夹,用于通过专门知识、工作流和工具扩展 Agent 的能力。可以把它们理解为特定领域或任务的“入门指南”:它们把一个普通 Agent 从通用 Agent 转换为专门的跨端 Agent,让 Agent 具备模型本身无法完全掌握的流程性知识。
上下文窗口是一种公共资源。Skill 会和 Agent 所需的其他所有内容共享上下文窗口:系统提示、对话历史、其他 Skill 的元数据,以及用户当前的实际请求。
默认假设:Agent 已经非常聪明。只需要一点经验指点就能完成工作!!!! 只添加 Agent 尚不具备的上下文。审视创建的 Skill 的每一段信息:“Agent 真的需要这段解释吗?”以及“这段内容值得占用这些 token 吗?”
抽象理念 > 实现具体, 避免长文的解释和实现描述,只需要用最简洁的语言指出一个关键词即可。
务必优先使用简洁示例,而不是冗长解释。
禁止将同一份描述在 Skill 重复多次
Bad Example:
使用这个 Skill 创建 React Native New Architecture TurboModule。先确认 RN 版本、模块边界和平台范围,再选择 Android/iOS 平台实现或纯 C++ 跨端实现,避免把旧桥 NativeModule 模板套进新架构项目。
## Stop Rule
1. RN 版本:精确版本或版本范围,至少要能判断是否属于 `0.82+`、`0.76-0.81`、`0.74-0.75`、`0.68-0.73`。
## Good Example:
为 React Native 创建新架构支持的 TurboModule
## Stop Rule
1. RN 版本: `0.82+`、`0.76-0.81`、`0.74-0.75`、`0.68-0.73`。
根据任务的脆弱程度和变化空间,匹配说明的具体程度:
高自由度(文本说明):当多种方案都有效、决策依赖上下文,或需要启发式判断时使用。
中自由度(伪代码或带参数脚本):当存在推荐模式、允许部分变化,或配置会影响行为时使用。
低自由度(具体脚本、少量参数):当操作脆弱且容易出错、一致性非常关键,或必须遵循特定顺序时使用。
可以把 Agent 想象成正在野外探险:狭窄桥梁和悬崖需要明确护栏(低自由度),开阔平原则允许多种路线(高自由度)。
当 Skill 需要收集前置信息或向用户提问时,必须设计可复用的前置问题流程:
.hyar/ARCH_CONTEXT.md。如果已有同一环境变量、前置项或决策问题的答案,优先复用,不重复询问。arch-context-collect,把问题描述、前置项名称、用户回答、适用 Skill 和更新时间写入 .hyar/ARCH_CONTEXT.md。每个 Skill 都由必需的 SKILL.md 文件和可选的捆绑资源组成:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - 可执行脚本
├── references/ - 按需加载的文档和参考资料
└── assets/ - 最终产物使用的模板、图片、样板等资产
每个 SKILL.md 都包含:
name, description 字段。Agent 只会读取这些字段来判断何时使用该 Skill,因此必须清晰、完整地描述这个 Skill 是什么,以及应该在什么情况下使用。元数据作为 Skill 描述的补足,不要对 Skill Description 本身做不必要的补充,更多的应该描述其更多的使用场景,以确保智能体能准确的调用该 Skill。
metadata。只有存在明确版本适用边界或强环境前提时才写,通用知识、选型指南、流程方法论不要写。metadata.version:只用于说明当前 Skill 的知识只针对某个跨端框架的特定版本或版本区间。例如 RN 原生模块从 RN 0.74 之后官方更推荐 TurboModule,因此介绍 TurboModule 的 Skill 可以写 React Native >= 0.74。metadata.env:只用于说明当前 Skill 要求项目已经具备某个强配置或环境前提。例如“已启用 React Native New Architecture”“已配置 Expo CNG”。如果 Skill 不要求项目开启某个配置,不要写此项。Upstream Skill 只表示当前 Skill 依赖并补充另一个 Skill。它不是普通文档、API 页面、模块路径或参考资料来源。
references/ 或正文参考说明,不得写入 Upstream Skill。create-skill 不能创建、修改或校验 curated Skill。curated Skill 的模板非常严格,通常包含 > Curated from ...,例如 skills/flutter/*/SKILL.md。
create-curated-skill。> Curated from ...、## Source、严格 ## How to use 结构。普通 repo-local Skill 不直接放在 skills/ 根目录,必须先判断它属于哪个分类目录:
skills/react-native/<skill-name>/。skills/dart/<skill-name>/、skills/kotlin/<skill-name>/。skills/share/<skill-name>/。skills/<framework>/ 下新建分类目录,再放入该 Skill。create-curated-skill 维护;不要用 create-skill 写入 skills/flutter/*。当 init_skill.py --path skills 时必须传入 --category,避免把普通 Skill 误放到根目录。
scripts/)可执行代码(Python/Bash 等),用于需要确定性可靠性或会被重复编写的任务。
scripts/rotate_pdf.pyreferences/)文档和参考资料,用于在需要时加载到上下文中,辅助 Agent 的流程和思考。
references/rn_turbo.md、框架更新日志的 references/rn_update.md、产品/公司核心理念的 references/flutter_idea.md、RN Api 使用规范的 references/api_docs.mdassets/)不打算加载到上下文中,而是用于 Agent 最终产物的文件。
assets/logo.png、PowerPoint 模板 assets/slides.pptx、HTML/React 样板 assets/frontend-template/、字体 assets/font.ttfSkill 只应包含直接支持其功能的必要文件。不要创建多余文档或辅助文件,包括:
Skill 应只包含 AI Agent 完成当前工作所需的信息。它不应包含 Skill 创建过程、安装和测试流程、用户向文档等额外上下文。创建额外文档文件只会增加混乱和噪音。
Skill 使用三级加载系统来高效管理上下文:
让 SKILL.md 正文只保留必要内容,并控制在 500 行以内,以减少上下文膨胀。接近这个限制时,将内容拆分到独立文件中。拆分内容时,必须在 SKILL.md 中引用这些文件,并清晰说明何时读取它们,确保 Skill 的阅读者知道这些文件存在,以及何时使用。
关键原则: 当一个 Skill 支持多个变体、框架或选项时,SKILL.md 只保留核心工作流和选择指导。把变体相关细节(模式、示例、配置)移动到独立 reference 文件。
模式 1:带 reference 的高层指南
# PDF Processing
## Quick start
Extract text with pdfplumber:
[code example]
## Advanced features
- **Form filling**: See [FORMS.md](FORMS.md) for complete guide
- **API reference**: See [REFERENCE.md](REFERENCE.md) for all methods
- **Examples**: See [EXAMPLES.md](EXAMPLES.md) for common patterns
Agent 只在需要时加载 FORMS.md、REFERENCE.md 或 EXAMPLES.md。
模式 2:按领域组织
对于包含多个领域的 Skill,按领域组织内容,避免加载无关上下文:
bigquery-skill/
├── SKILL.md (overview and navigation)
└── references/
├── finance.md (revenue, billing metrics)
├── sales.md (opportunities, pipeline)
├── product.md (API usage, features)
└── marketing.md (campaigns, attribution)
当用户询问销售指标时,Agent 只读取 sales.md。
类似地,对于支持多个框架或变体的 Skill,按变体组织:
cloud-deploy/
├── SKILL.md (workflow + provider selection)
└── references/
├── aws.md (AWS deployment patterns)
├── gcp.md (GCP deployment patterns)
└── azure.md (Azure deployment patterns)
当用户选择 AWS 时,Agent 只读取 aws.md。
模式 3:条件性细节
展示基础内容,并链接到高级内容:
# DOCX Processing
## Creating documents
Use docx-js for new documents. See [DOCX-JS.md](DOCX-JS.md).
## Editing documents
For simple edits, modify the XML directly.
**For tracked changes**: See [REDLINING.md](REDLINING.md)
**For OOXML details**: See [OOXML.md](OOXML.md)
Agent 只在用户需要这些功能时读取 REDLINING.md 或 OOXML.md。
重要准则:
Skill 创建包含以下步骤:
除非有明确理由说明某一步不适用,否则按顺序执行这些步骤。
plan-mode)。gh-address-comments、linear-address-issue)。只有当 Skill 的使用模式已经非常清楚时,才跳过此步骤。即使是在更新现有 Skill,这一步仍然有价值。
为了创建有效的 Skill,需要通过具体示例清晰理解这个 Skill 会如何被使用。这种理解可以来自用户直接提供的示例,也可以来自生成后再经用户反馈验证的示例。
例如,构建 image-editor Skill 时,相关问题包括:
为了避免给用户造成压力,不要在一条消息中问太多问题。从最重要的问题开始,必要时再追问,以提高效果。
当已经清楚 Skill 应支持什么功能时,结束此步骤。
为了把具体示例转化为有效 Skill,需要对每个示例进行分析:
示例:构建 pdf-editor Skill 来处理类似 “Help me rotate this PDF” 的请求时,分析结果是:
scripts/rotate_pdf.py 脚本存入 Skill 会很有帮助示例:设计 frontend-webapp-builder Skill 来处理类似 “Build me a todo app” 或 “Build me a dashboard to track my steps” 的请求时,分析结果是:
assets/hello-world/ 模板存入 Skill 会很有帮助示例:构建 big-query Skill 来处理类似 “How many users have logged in today?” 的请求时,分析结果是:
references/schema.md 文件存入 Skill 会很有帮助为了确定 Skill 内容,需要分析每个具体示例,并形成要包含的可复用资源清单:scripts、references 和 assets。
到这一步,就该真正创建 Skill 了。
只有当正在开发的 Skill 已经存在时,才跳过此步骤。此时继续下一步。
从零创建新 Skill 时,始终运行 init_skill.py 脚本。该脚本会生成一个标准 Skill 文件夹,包含必需的 SKILL.md,并按需创建 scripts/、references/、assets/ 资源目录。
在创建前先判断分类目录。框架或语言专属 Skill 放入对应目录;跨端通用 Skill 放入 skills/share/;新框架先创建新的 skills/<framework>/ 分类。
不要使用 init_skill.py 在 curated Skill 目录中创建 Skill,例如 skills/flutter/*。这些目录由 create-curated-skill 维护。
用法:
scripts/init_skill.py <skill-name> --path <output-directory> [--category <category>] [--resources scripts,references,assets] [--examples]
示例:
scripts/init_skill.py rn-create-app --path skills --category react-native
scripts/init_skill.py hybrid-checklist --path skills --category share --resources references
scripts/init_skill.py kotlin-api-style --path skills/kotlin --resources references
该脚本会:
--path skills 时必须使用 --categorySKILL.md--resources 可选创建资源目录--examples 时,在所选资源目录中添加示例文件agents/openai.yaml初始化后,根据需要自定义 SKILL.md 并添加资源。如果使用了 --examples,替换或删除占位文件。
编辑(新生成或已存在的)Skill 时,记住这个 Skill 是给另一个 Agent 实例使用的。包含对 Agent 有益、且不显而易见的信息。思考哪些流程性知识、领域细节或可复用资产能帮助另一个 Agent 实例更有效地执行这些任务。
开始实现时,从前面识别出的可复用资源入手:scripts/、references/ 和 assets/ 文件。注意,这一步可能需要用户输入。例如,实现 brand-guidelines Skill 时,用户可能需要提供品牌资产或模板以存入 assets/,或提供文档以存入 references/。
新增脚本必须通过实际运行来测试,以确保没有 bug,且输出符合预期。如果有很多相似脚本,只需测试具有代表性的样本,以在完成时间和信心之间取得平衡。
如果使用了 --examples,删除 Skill 不需要的任何占位文件。只创建实际需要的资源目录。
写作指南: 始终使用祈使式/不定式表达。
编写至少包含 name 和 description 的 YAML frontmatter:
name:Skill 名称description:这是 Skill 的主要触发机制,帮助 Agent 理解何时使用该 Skill。
docx Skill 的示例 description:"Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. Use when Agent needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks"metadata(可选):默认不写;仅在 Skill 知识具有明确跨端框架版本适用边界或项目强环境配置要求时使用,并且只允许受支持的子字段:
metadata.version:只写跨端框架版本或版本区间约束。metadata.env:只写项目必须满足的强配置或环境前提。除 name、description 以及受支持的 metadata.version / metadata.env 外,不要在 YAML frontmatter 中包含其他任意字段。
编写使用该 Skill 及其捆绑资源的说明。
Skill 开发完成后,验证 Skill 文件夹,以便尽早发现基础问题:
scripts/quick_validate.py <path/to/skill-folder>
默认模式用于检查生成结构,允许模板占位符存在。Skill 完成后必须运行 strict 模式:
scripts/quick_validate.py --strict <path/to/skill-folder>
验证脚本会检查:
SKILL.mdname 和 description,可选 metadata.version/envnameskills/<category>/<skill-name>,不能位于 skills/<skill-name>scripts/、references/、assets/Upstream Skill 只能表示 Skill-to-Skill 依赖和补充关系,不能指向普通文档、API、模块或页面> Curated from ... 或 skills/flutter/* 时,应改用 create-curated-skill如果验证失败,修复报告的问题并再次运行命令。
测试 Skill 后,用户可能会请求改进。这通常发生在刚刚使用该 Skill 之后,此时还保留着 Skill 表现如何的新鲜上下文。
迭代工作流: