skills-il-skill-creator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkills-IL Skill Creator
Skills-IL 技能创建工具
Overview
概述
This skill walks you through creating a production-quality skill for the skills-il organization. It follows Anthropic's Complete Guide to Building Skills and enforces all skills-il conventions.
Every skill you create will include: SKILL.md with validated frontmatter, bilingual metadata (Hebrew + English), step-by-step instructions with tables and code examples, a Hebrew companion file (SKILL_HE.md), and pass all validation checks.
本技能将引导你为skills-il组织创建符合生产质量标准的技能。它遵循Anthropic的《技能构建完整指南》,并严格执行所有skills-il约定。
你创建的每个技能都将包含:带有已验证前置内容的SKILL.md、双语元数据(希伯来语+英语)、包含表格和代码示例的分步说明文档、希伯来语配套文件(SKILL_HE.md),并且能通过所有验证检查。
Instructions
操作步骤
Step 1: Choose Category Repository
步骤1:选择类别仓库
Ask the user which category repo this skill belongs to:
| Category | Repo | Focus Area |
|---|---|---|
| Tax & Finance | tax-and-finance | Invoicing, payroll, VAT, payments, pensions |
| Government | government-services | data.gov.il, Bituach Leumi, Rasham, transit |
| Security | security-compliance | Privacy law, cybersecurity, legal research |
| Localization | localization | RTL, Hebrew NLP, OCR, Shabbat scheduling |
| Dev Tools | developer-tools | ID validation, date conversion, phone formatting |
| Communication | communication | SMS, WhatsApp, Monday.com, job market |
| Food & Dining | food-and-dining | Restaurants, recipes, kashrut, delivery |
| Legal Tech | legal-tech | Contracts, legal research, compliance |
| Marketing & Growth | marketing-growth | SEO, social media, ads, email campaigns, ASO |
| Education | education | Learning platforms, tutoring, academic tools |
| Health Services | health-services | HMOs, pharmacy, medical records, appointments |
| Accounting | accounting | Bookkeeping, financial reporting, audit, accountant tooling |
All 12 category repos use as their default branch (not ). The full path format for is .
mastermaingithub_urlhttps://github.com/skills-il/<repo>/tree/master/<slug>If the skill doesn't fit any category, discuss with the user whether it belongs in an existing category or warrants a new repo.
询问用户该技能所属的类别仓库:
| 类别 | 仓库 | 专注领域 |
|---|---|---|
| 税务与金融 | tax-and-finance | 发票开具、薪资发放、增值税、支付、养老金 |
| 政府服务 | government-services | data.gov.il、国民保险(Bituach Leumi)、Rasham、交通服务 |
| 安全合规 | security-compliance | 隐私法、网络安全、法律研究 |
| 本地化 | localization | 从右到左排版(RTL)、希伯来语NLP、OCR、安息日日程安排 |
| 开发工具 | developer-tools | ID验证、日期转换、手机号格式化 |
| 通信服务 | communication | SMS、WhatsApp、Monday.com、就业市场 |
| 餐饮服务 | food-and-dining | 餐厅、食谱、犹太洁食、配送服务 |
| 法律科技 | legal-tech | 合同、法律研究、合规性 |
| 营销增长 | marketing-growth | SEO、社交媒体、广告、电子邮件营销、应用商店优化(ASO) |
| 教育服务 | education | 学习平台、辅导、学术工具 |
| 健康服务 | health-services | 健康维护组织(HMOs)、药房、医疗记录、预约服务 |
| 会计服务 | accounting | 簿记、财务报告、审计、会计工具 |
所有12个类别仓库均使用作为默认分支(而非)。的完整路径格式为。
mastermaingithub_urlhttps://github.com/skills-il/<repo>/tree/master/<slug>如果该技能不适合任何现有类别,与用户讨论它是否属于某个现有类别,或者是否需要创建新仓库。
Step 2: Collect Creator Information (MUST ASK)
步骤2:收集创建者信息(必须询问)
Before proceeding, you MUST ask the user for their creator details. These are required for submitting the skill to the Skills IL directory.
Ask the user:
"What is your name? This will be displayed as the skill creator on the Skills IL directory. Your GitHub username is fine too."
Wait for the user's response and store their answer as .
creator_nameThen ask:
"What is your email address? This is required so we can notify you when your skill is published, featured, or if we need to contact you about updates. It will not be displayed publicly."
Wait for the user's response and store their answer as .
creator_emailRules:
- is required. Default to the GitHub username if the user prefers not to provide their full name.
creator_name - is required and must be a valid email address. Do NOT proceed without it.
creator_email - Store both values -- they will be used in the field and when submitting to the directory.
metadata.author - If the user declines to provide an email, explain that it is mandatory for the submission process and they will not receive notifications about their skill without it.
在继续之前,你必须向用户询问其创建者详细信息。这些信息是将技能提交到Skills IL目录的必填项。
询问用户:
"请问你的姓名是什么?该信息将作为技能创建者显示在Skills IL目录中。你也可以提供GitHub用户名。"
等待用户回复,并将答案存储为。
creator_name然后询问:
"请问你的电子邮箱是什么?我们需要通过该邮箱通知你技能发布、推荐情况,或在需要更新时联系你。该信息不会公开显示。"
等待用户回复,并将答案存储为。
creator_email规则:
- 为必填项。如果用户不愿提供全名,默认使用GitHub用户名。
creator_name - 为必填项,且必须是有效的电子邮箱地址。未获取该信息前请勿继续。
creator_email - 存储这两个值——它们将用于字段以及提交到目录的过程中。
metadata.author - 如果用户拒绝提供邮箱,说明这是提交流程的必填项,没有邮箱他们将无法收到关于技能的通知。
Step 3: Define Use Cases
步骤3:定义用例
CRITICAL: Before writing any code, identify 2-3 concrete use cases.
For each use case, capture:
- Trigger: What the user would say (in English AND Hebrew transliteration)
- Steps: What multi-step workflow this requires
- Tools: Which tools are needed (built-in or MCP)
- Result: What success looks like
Example format:
Use Case: Validate Israeli e-invoice
Trigger: User says "validate hashbonit electronit" or "check SHAAM allocation"
Steps:
1. Parse invoice fields
2. Validate allocation number format
3. Check against SHAAM rules
Result: Invoice validated with pass/fail reportAsk the user to describe their skill idea, then help them extract 2-3 use cases from it. Include Hebrew transliterations for all domain terms (e.g., "payroll" = "tlush maskoret", "invoice" = "hashbonit").
关键:在编写任何代码之前,确定2-3个具体用例。
对于每个用例,记录:
- 触发词:用户会说的内容(英语和希伯来语音译)
- 步骤:需要执行的多步骤工作流
- 工具:所需工具(内置工具或MCP)
- 结果:成功状态的表现
示例格式:
用例:验证以色列电子发票
触发词:用户说"validate hashbonit electronit"或"check SHAAM allocation"
步骤:
1. 解析发票字段
2. 验证分配编号格式
3. 对照SHAAM规则检查
结果:生成发票验证通过/失败报告请用户描述他们的技能想法,然后帮助他们从中提取2-3个用例。为所有领域术语添加希伯来语音译(例如,"payroll" = "tlush maskoret","invoice" = "hashbonit")。
Step 4: Fact-Check Domain Information
步骤4:核查领域信息
Before writing any content, verify the key facts your skill will reference. This is especially important for skills dealing with Israeli laws, regulations, government services, financial rules, or healthcare policies, as these change frequently.
What to verify:
- Legal thresholds and limits (e.g., small claims court limit, tax brackets, age limits)
- Government processes and forms (e.g., filing procedures, required documents)
- Institutional names and contact details (e.g., phone numbers, websites, addresses)
- Pricing and fees (e.g., copayments, filing fees, service costs)
- Recent law changes that may have taken effect this year
How to verify:
- Search official Israeli government sources (gov.il, Knesset, Bituach Leumi)
- Check current-year dates in your searches (laws and thresholds change annually)
- Cross-reference at least 2 sources for critical facts like monetary limits or legal requirements
- Note the verification date so the skill can be updated when facts change
What to record:
For each key fact, note: the fact, the source, and the date verified. Include these as inline references in your SKILL.md instructions (e.g., "NIS 38,900 as of January 2025").
Do NOT skip this step. A skill with outdated or incorrect facts (wrong tax rate, expired law, wrong phone number) is worse than no skill at all.
在编写任何内容之前,验证技能将引用的关键事实。对于涉及以色列法律、法规、政府服务、财务规则或医疗政策的技能,这一点尤为重要,因为这些内容经常变化。
需要验证的内容:
- 法律阈值和限制(例如,小额索赔法院限额、税率等级、年龄限制)
- 政府流程和表格(例如,申报程序、所需文件)
- 机构名称和联系方式(例如,电话号码、网站、地址)
- 定价和费用(例如,共付额、申报费、服务成本)
- 当年生效的最新法律变更
验证方式:
- 搜索以色列官方政府来源(gov.il、议会、国民保险)
- 在搜索中限定当年日期(法律和阈值每年都会变化)
- 对关键事实(如金额限制或法律要求)至少交叉参考2个来源
- 记录验证日期,以便在事实变化时更新技能
需要记录的内容:
对于每个关键事实,记录:事实内容、来源、验证日期。在SKILL.md的说明中添加内联引用(例如,"截至2025年1月为38,900新谢克尔")。
请勿跳过此步骤。包含过时或错误事实(错误税率、过期法律、错误电话号码)的技能比没有技能更糟糕。
Step 5: Scaffold the Folder
步骤5:搭建文件夹结构
Run the scaffolding script to create the skill folder structure:
bash
python scripts/scaffold-skill.py --name <skill-name> --category <category-repo>The script creates:
<skill-name>/
├── SKILL.md # Template with frontmatter skeleton
├── SKILL_HE.md # Hebrew companion stub
├── scripts/ # For helper scripts
└── references/ # For reference documentationVerify the output:
- Folder name is kebab-case
- No spaces, underscores, or capitals
- Name does not contain "claude" or "anthropic"
- No README.md inside the skill folder (skill folders must not contain README.md)
- The repo-level README.md (at the root of the category repo) must be written in English. This is required because the repo is public on GitHub and the README serves as the entry point for international developers and AI agents. Hebrew content belongs in SKILL_HE.md files inside skill folders, not in the repo README.
运行脚手架脚本创建技能文件夹结构:
bash
python scripts/scaffold-skill.py --name <skill-name> --category <category-repo>脚本将创建:
<skill-name>/
├── SKILL.md # 带有前置内容框架的模板
├── SKILL_HE.md # 希伯来语配套文件草稿
├── scripts/ # 辅助脚本目录
└── references/ # 参考文档目录验证输出:
- 文件夹名称采用kebab-case格式
- 无空格、下划线或大写字母
- 名称不包含"claude"或"anthropic"
- 技能文件夹内无README.md(技能文件夹不得包含README.md)
- 仓库级README.md(位于类别仓库根目录)必须使用英语编写。这是必填项,因为仓库在GitHub上公开,README是国际开发者和AI Agent的入口。希伯来语内容应放在技能文件夹内的SKILL_HE.md文件中,而非仓库README。
Step 6: Write the YAML Frontmatter and metadata.json
步骤6:编写YAML前置内容和metadata.json
CRITICAL: Skills-il splits metadata across two files. Claude Desktop rejects the key inside SKILL.md frontmatter, so all enriched metadata lives in a separate file. The SKILL.md frontmatter is intentionally minimal.
metadatametadata.jsonSKILL.md frontmatter (only these 3-5 fields):
yaml
---
name: <skill-name>
description: >-
[What it does -- one sentence]. Use when user asks to [triggers in English],
"[Hebrew transliteration 1]", "[Hebrew transliteration 2]", or [more triggers].
[Key capabilities]. Do NOT use for [anti-triggers] (use [alternative-skill] instead).
license: MIT
allowed-tools: '<tools if needed>' # optional, only when scripts call CLI tools
compatibility: >- # optional
[Network/system requirements]. Works with Claude Code, Claude.ai, Cursor.
---Do NOT add , , , , , , , or to the frontmatter. Claude Desktop rejects them.
metadata:version:tags:display_name:display_description:author:category:supported_agents:metadata.json (in the same skill folder, alongside SKILL.md):
json
{
"author": "<creator_name from Step 2>",
"version": "1.0.0",
"category": "<category-repo>",
"tags": {
"he": ["<tag1-he>", "<tag2-he>", "ישראל"],
"en": ["<tag1>", "<tag2>", "israel"]
},
"display_name": {
"he": "<Hebrew display name>",
"en": "<English Display Name>"
},
"display_description": {
"he": "<Hebrew description>",
"en": "<English description, mirrors the main description field>"
},
"supported_agents": [
"claude-code",
"cursor",
"github-copilot",
"windsurf",
"opencode",
"codex",
"gemini-cli"
]
}Supported agents: Include all standard agents (claude-code, cursor, github-copilot, windsurf, opencode, codex, gemini-cli) by default. If the skill relies on agent-specific features (e.g., MCP tools only available in Claude Code), remove agents that cannot support it and document why in the field. Add only if the skill is verified as Antigravity-compatible.
compatibilityantigravityProject style rules (apply to every skill file):
- No em dashes (U+2014) or en dashes (U+2013) anywhere in SKILL.md, SKILL_HE.md, metadata.json, references, or scripts. Replace with commas, parentheses, periods, or "to" for ranges. Use the regular ASCII hyphen-minus instead.
- All 12 category repos use , not
master, as the default branch.main - format must include the full path to the skill folder, not just the repo root:
github_url.https://github.com/skills-il/<repo>/tree/master/<slug>
Bilingual tags (MUST ASK): After defining the English tags, ask the user:
"Please provide Hebrew translations for each tag. Tags must have matchingandhearrays (same length). For example, if your English tags areen, the Hebrew tags should be[invoicing, tax, israel]. What are the Hebrew equivalents for your tags?"[invoices, taxes, israel]
- Both and
hearrays are required -- no tag may be left untranslateden - Arrays must be the same length (each English tag has exactly one Hebrew counterpart)
- No empty strings allowed in either array
- Technical terms that have no Hebrew equivalent can stay in English in both arrays (e.g., ,
API)MCP
Description rules (CRITICAL):
- Must follow pattern:
[What it does] + [When to use it] + [Key capabilities] + [Do NOT use for X] - Under 1024 characters total
- No XML angle brackets (< >) anywhere in frontmatter
- Include trigger phrases users would actually say
- Include Hebrew transliterations in quotes (e.g., "tlush maskoret")
- End with boundary + cross-reference to related skills
Do NOT use for
Allowed-tools patterns:
- No tools needed: omit the field
- Python scripts:
'Bash(python:*)' - Python + web:
'Bash(python:*) WebFetch' - Multiple CLI tools:
'Bash(python:*) Bash(curl:*) WebFetch' - pip installs:
'Bash(python:*) Bash(pip:*)'
关键:Skills-il将元数据拆分到两个文件中。 Claude Desktop会拒绝SKILL.md前置内容中的键,因此所有扩展元数据都存储在单独的文件中。SKILL.md的前置内容故意保持极简。
metadatametadata.jsonSKILL.md前置内容(仅包含以下3-5个字段):
yaml
---
name: <skill-name>
description: >-
[功能描述——一句话]。当用户询问[英语触发词]、"[希伯来语音译1]"、"[希伯来语音译2]"或[更多触发词]时使用。
[核心功能]。请勿用于[反向触发场景](请改用[替代技能])。
license: MIT
allowed-tools: '<tools if needed>' # 可选,仅当脚本调用CLI工具时添加
compatibility: >- # 可选
[网络/系统要求]。兼容Claude Code、Claude.ai、Cursor。
---请勿在前置内容中添加、、、、、、或。Claude Desktop会拒绝这些字段。
metadata:version:tags:display_name:display_description:author:category:supported_agents:metadata.json(与SKILL.md位于同一技能文件夹中):
json
{
"author": "<步骤2中的creator_name>",
"version": "1.0.0",
"category": "<category-repo>",
"tags": {
"he": ["<tag1-he>", "<tag2-he>", "ישראל"],
"en": ["<tag1>", "<tag2>", "israel"]
},
"display_name": {
"he": "<希伯来语显示名称>",
"en": "<英语显示名称>"
},
"display_description": {
"he": "<希伯来语描述>",
"en": "<英语描述,与主描述字段一致>"
},
"supported_agents": [
"claude-code",
"cursor",
"github-copilot",
"windsurf",
"opencode",
"codex",
"gemini-cli"
]
}支持的Agent: 默认包含所有标准Agent(claude-code、cursor、github-copilot、windsurf、opencode、codex、gemini-cli)。如果技能依赖Agent特定功能(例如,仅Claude Code可用的MCP工具),移除不支持的Agent,并在字段中说明原因。仅当技能已验证兼容Antigravity时,才添加。
compatibilityantigravity项目样式规则(适用于所有技能文件):
- SKILL.md、SKILL_HE.md、metadata.json、参考文档或脚本中不得使用长破折号(U+2014)或短破折号(U+2013)。改用逗号、括号、句号或用"to"表示范围。使用标准ASCII连字符代替。
- 所有12个类别仓库均使用作为默认分支,而非
master。main - 格式必须包含技能文件夹的完整路径,而非仅仓库根目录:
github_url。https://github.com/skills-il/<repo>/tree/master/<slug>
双语标签(必须询问): 定义英语标签后,询问用户:
"请为每个标签提供希伯来语翻译。标签必须有匹配的和he数组(长度相同)。例如,如果你的英语标签是en,希伯来语标签应为[invoicing, tax, israel]。你的标签对应的希伯来语是什么?"[invoices, taxes, israel]
- 和
he数组均为必填项——不得有未翻译的标签en - 数组必须长度相同(每个英语标签对应一个希伯来语标签)
- 任一数组中不得有空字符串
- 没有希伯来语对应术语的技术术语可在两个数组中保留英语(例如,、
API)MCP
描述规则(关键):
- 必须遵循以下模式:
[功能] + 使用场景 + [核心功能] + 请勿用于X - 总长度不超过1024字符
- 前置内容中不得包含XML尖括号(< >)
- 包含用户实际会说的触发短语
- 包含带引号的希伯来语音译(例如,"tlush maskoret")
- 以"请勿用于"边界说明+相关技能交叉引用结尾
Allowed-tools格式:
- 无需工具:省略该字段
- Python脚本:
'Bash(python:*)' - Python+网络:
'Bash(python:*) WebFetch' - 多个CLI工具:
'Bash(python:*) Bash(curl:*) WebFetch' - pip安装:
'Bash(python:*) Bash(pip:*)'
Step 7: Write the Instructions Body
步骤7:编写说明主体
Write the SKILL.md body using this structure:
markdown
undefined使用以下结构编写SKILL.md主体:
markdown
undefined<Skill Display Name>
<技能显示名称>
Instructions
操作步骤
Step 1: <First Major Step>
步骤1:<第一个主要步骤>
<Clear explanation with tables, code examples>
<清晰说明,包含表格、代码示例>
Step N: <Next Step>
步骤N:<下一步骤>
...
...
Examples
示例
Example 1: <Common Scenario>
示例1:<常见场景>
User says: "<typical user request>"
Actions:
- ... Result: ...
用户说:"<典型用户请求>"
操作:
- ... 结果:...
Bundled Resources
捆绑资源
Scripts
脚本
- -- <What it does, how to run>. Run:
scripts/<name>.pypython scripts/<name>.py --help
- -- <功能说明,运行方式>。运行:
scripts/<name>.pypython scripts/<name>.py --help
References
参考文档
- -- <What it contains>. Consult when <specific situation>.
references/<name>.md
- -- <内容说明>。在<特定场景>时查阅。
references/<name>.md
Gotchas
注意事项
- SKILL.md frontmatter uses YAML with specific nested structure (metadata.tags.he/en arrays). Agents may flatten the tags into a single array instead of using the bilingual he/en structure.
- Hebrew content in SKILL_HE.md must never appear inside code blocks (```) because code blocks do not support RTL rendering. Use plain text or bullet lists for Hebrew content.
- The skill description field has a dual purpose: it serves as both the YAML frontmatter description and the trigger text for agent matching. Agents may write a generic description that fails to trigger on relevant user queries.
- Skills must validate with the skills-il schema (name, description, license, metadata with version/category/tags). Agents may omit required fields like supported_agents or display_name.
- SKILL.md前置内容使用特定嵌套结构的YAML(metadata.tags.he/en数组)。Agent可能会将标签扁平化为单个数组,而非使用双语he/en结构。
- SKILL_HE.md中的希伯来语内容不得出现在代码块(```)中,因为代码块不支持RTL渲染。使用纯文本或项目符号列表展示希伯来语内容。
- 技能描述字段具有双重用途:既是YAML前置内容的描述,也是Agent匹配的触发文本。Agent可能会编写无法触发相关用户查询的通用描述。
- 技能必须符合skills-il schema(名称、描述、许可证、包含版本/类别/标签的元数据)。Agent可能会遗漏supported_agents或display_name等必填字段。
Troubleshooting
故障排除
Error: "<Error name>"
错误:"<错误名称>"
Cause: <Why>
Solution: <Fix>
**Best practices from the Complete Guide:**
- Be specific and actionable: "Run `python scripts/validate.py --input {filename}`" not "Validate the data"
- Use tables for decision matrices, field mappings, comparison data
- Include inline code for algorithms and API calls
- Keep SKILL.md under 5,000 words -- move detailed docs to `references/`
- Reference bundled resources with "Consult when..." guidance
- Include 2-4 examples covering common and edge cases
- Include 2-4 troubleshooting entries for likely errors
- Embed Hebrew terminology inline: "installments (tashlumim)"
**Progressive disclosure:**
- SKILL.md = core instructions (what the agent needs most of the time)
- `references/` = detailed specs, full API docs, edge cases (loaded on demand)
- `scripts/` = executable helpers (run when needed)原因:<原因>
解决方案:<修复方法>
《完整指南》中的最佳实践:
- 具体且可操作:例如写"运行`python scripts/validate.py --input {filename}`"而非"验证数据"
- 使用表格展示决策矩阵、字段映射、对比数据
- 包含算法和API调用的内联代码
- SKILL.md字数控制在5000字以内——将详细文档移至`references/`目录
- 以"在...时查阅"为指引引用捆绑资源
- 包含2-4个覆盖常见和边缘情况的示例
- 包含2-4个针对可能错误的故障排除条目
- 内联嵌入希伯来语术语:例如"installments (tashlumim)"
**渐进式信息披露:**
- SKILL.md = 核心说明(Agent大多数时候需要的内容)
- `references/` = 详细规范、完整API文档、边缘情况(按需加载)
- `scripts/` = 可执行辅助工具(需要时运行)Step 8: Create References and Scripts
步骤8:创建参考文档和脚本
Every skill should include reference files and helper scripts. These are not optional extras; they make the difference between a thin skill and a production-quality one.
References ( directory):
references/Create 2-3 reference files that contain detailed information too long for SKILL.md. Common patterns:
| Pattern | Example | When to use |
|---|---|---|
| Directory/listing | | Skill covers a domain with many institutions, services, or contacts |
| Detailed guide | | A process or law needs more detail than fits in instructions |
| Glossary | | Skill uses domain-specific Hebrew terminology (50+ terms) |
| Checklist | | Users need a step-by-step verification or preparation list |
| Comparison table | | Users need to compare options across multiple dimensions |
| Template | | Users need a starting point for a document or form |
Each reference file should:
- Be under 3,000 words
- Use markdown with clear headers and tables
- Include Hebrew terms in parentheses
- Be linked from SKILL.md with "Consult when..." guidance
Scripts ( directory):
scripts/Create 1-2 Python helper scripts for calculations or data lookups. Common patterns:
| Pattern | Example | When to use |
|---|---|---|
| Calculator | | Skill involves formulas, tax calculations, or fee estimation |
| Coverage checker | | Skill involves eligibility rules based on multiple criteria |
| Cost estimator | | Users need to compare costs across options |
| Index/adjustment | | Skill involves CPI-linked values or time-based adjustments |
Each script should:
- Use shebang
#!/usr/bin/env python3 - Include argparse with
--help - Have a clear docstring explaining usage
- Use stdlib only (no external dependencies)
- Include input validation with clear error messages
- Print results in clean, formatted output
Update SKILL.md: Add a section (before ) listing all references and scripts with "Consult when..." guidance.
## Bundled Resources## TroubleshootingUpdate SKILL_HE.md: Add a matching section with Hebrew descriptions.
## משאבים מצורפים每个技能都应包含参考文件和辅助脚本。这些不是可选附加内容;它们是区分简易技能和生产级技能的关键。
参考文档(目录):
references/创建2-3个包含SKILL.md无法容纳的详细信息的参考文件。常见模式:
| 模式 | 示例 | 使用场景 |
|---|---|---|
| 目录/列表 | | 技能涵盖包含众多机构、服务或联系方式的领域 |
| 详细指南 | | 流程或法律需要的详细内容超出说明部分的容量 |
| 术语表 | | 技能使用特定领域的希伯来语术语(50个以上) |
| 检查表 | | 用户需要分步验证或准备清单 |
| 对比表格 | | 用户需要跨多个维度对比选项 |
| 模板 | | 用户需要文档或表单的起点 |
每个参考文件应:
- 字数不超过3000字
- 使用带有清晰标题和表格的markdown格式
- 在括号中包含希伯来语术语
- 在SKILL.md中以"在...时查阅"为指引链接
脚本(目录):
scripts/创建1-2个用于计算或数据查询的Python辅助脚本。常见模式:
| 模式 | 示例 | 使用场景 |
|---|---|---|
| 计算器 | | 技能涉及公式、税务计算或费用估算 |
| 资格检查器 | | 技能涉及基于多个标准的资格规则 |
| 成本估算器 | | 用户需要跨选项对比成本 |
| 指数/调整器 | | 技能涉及与CPI挂钩的值或基于时间的调整 |
每个脚本应:
- 使用shebang
#!/usr/bin/env python3 - 包含带的argparse
--help - 包含说明用法的清晰文档字符串
- 仅使用标准库(无外部依赖)
- 包含带有清晰错误消息的输入验证
- 以简洁格式化的输出打印结果
更新SKILL.md: 添加部分(在之前),列出所有参考文档和脚本,并附上"在...时查阅"的指引。
## 捆绑资源## 故障排除更新SKILL_HE.md: 添加匹配的部分,包含希伯来语描述。
## משאבים מצורפיםStep 8.5: Add Reference Links Section
步骤8.5:添加参考链接部分
Every skill MUST include a section (after or , before ) with a table of official source URLs used to verify the skill's domain-specific facts.
## Reference Links## Recommended MCP Servers## Bundled Resources## TroubleshootingFormat:
markdown
undefined每个技能必须包含部分(在或之后,之前),其中包含用于验证技能特定领域事实的官方源URL表格。
## 参考链接## 推荐MCP服务器## 捆绑资源## 故障排除格式:
markdown
undefinedReference Links
参考链接
Official sources for verifying and updating the information in this skill:
| Source | URL | What to Check |
|---|---|---|
| Israeli Tax Authority | https://www.gov.il/he/departments/israel_tax_authority | Tax rates, forms, circulars |
| Kolzchut | https://www.kolzchut.org.il | Rights, entitlements, eligibility |
**Guidelines:**
- Include 3-6 authoritative links (government sites, official API docs, legal databases)
- Each link should have a "What to Check" column explaining what to verify there
- Prefer `.gov.il`, `.org.il`, and institutional sources over blogs
- Include at least one English-language source when available
- The Hebrew companion must have a matching `## קישורי עזר` section
**Why this matters:**
- Users can independently verify claims
- The fact-check pipeline uses these URLs for automated validation
- It builds trust by showing the skill's information is grounded in official sources用于验证和更新本技能信息的官方来源:
| 来源 | URL | 验证内容 |
|---|---|---|
| 以色列税务局 | https://www.gov.il/he/departments/israel_tax_authority | 税率、表格、公告 |
| Kolzchut | https://www.kolzchut.org.il | 权利、福利、资格 |
**指南:**
- 包含3-6个权威链接(政府网站、官方API文档、法律数据库)
- 每个链接应有"验证内容"列,说明在该链接处验证的内容
- 优先选择`.gov.il`、`.org.il`和机构来源,而非博客
- 如有可用资源,至少包含一个英语来源
- 希伯来语配套文件必须有匹配的`## קישורי עזר`部分
**重要性:**
- 用户可以独立验证声明
- 事实核查流程使用这些URL进行自动验证
- 通过展示技能信息基于官方来源,建立用户信任Step 9: Create the Hebrew Companion (SKILL_HE.md)
步骤9:创建希伯来语配套文件(SKILL_HE.md)
Create SKILL_HE.md with the same structure but in Hebrew:
- Translate the body instructions to Hebrew
- Keep code blocks, field names, and API references in English
- Use Hebrew-native terminology (not transliterations)
- Maintain the same step numbering and section structure
The Hebrew file uses the same frontmatter as SKILL.md (frontmatter stays in English).
创建结构相同但使用希伯来语的SKILL_HE.md:
- 将主体说明翻译为希伯来语
- 代码块、字段名和API引用保留英语
- 使用希伯来语原生术语(而非音译)
- 保持相同的步骤编号和章节结构
希伯来语文件使用与SKILL.md相同的前置内容(前置内容保持英语)。
Step 9.5: Validate All Links (MANDATORY)
步骤9.5:验证所有链接(必填)
Before running the validation script, verify that every URL in the skill content actually resolves. Broken links in published skills erode trust and cause the automated fact-check pipeline to flag false positives.
Step 1: Extract all URLs from all skill files:
bash
grep -rEoh 'https?://[^ )>"'\'']+' <skill-name>/ | sort -u > /tmp/<skill-name>-urls.txt
cat /tmp/<skill-name>-urls.txtStep 2: Check each URL returns HTTP 200:
bash
while IFS= read -r url; do
status=$(curl -sL -o /dev/null -w '%{http_code}' --max-time 10 "$url" 2>/dev/null)
[ "$status" != "200" ] && echo "[$status] $url"
done < /tmp/<skill-name>-urls.txtIf no output, all links are valid. If any lines appear, fix them:
| HTTP Status | Action |
|---|---|
| 301/302 | Update URL to the final redirect destination |
| 403 | May be geo-blocked or bot-blocked. Verify manually in a browser. If it works in a browser, keep it |
| 404 | BROKEN -- find the correct URL via WebSearch, or remove the link |
| 5xx | Retry once. If still failing, the service may be down temporarily. Note it |
| Timeout / DNS failure | BROKEN -- the domain may no longer exist. Remove all references to this URL |
Pay special attention to:
- URLs (Israeli government sites restructure frequently)
.gov.il - Israeli startup domains () that may have gone offline
.co.il - Reference Links table entries (Step 8.5) -- these are the most visible links to users
Do NOT proceed to Step 10 with broken links. Fix every broken URL first.
运行验证脚本之前,验证技能内容中的每个URL是否实际可访问。已发布技能中的无效链接会削弱用户信任,并导致自动事实核查流程误报。
步骤1:从所有技能文件中提取所有URL:
bash
grep -rEoh 'https?://[^ )>"'\'']+' <skill-name>/ | sort -u > /tmp/<skill-name>-urls.txt
cat /tmp/<skill-name>-urls.txt步骤2:检查每个URL是否返回HTTP 200状态码:
bash
while IFS= read -r url; do
status=$(curl -sL -o /dev/null -w '%{http_code}' --max-time 10 "$url" 2>/dev/null)
[ "$status" != "200" ] && echo "[$status] $url"
done < /tmp/<skill-name>-urls.txt如果没有输出,说明所有链接均有效。如果出现任何行,请修复:
| HTTP状态码 | 操作 |
|---|---|
| 301/302 | 将URL更新为最终重定向目标 |
| 403 | 可能是地理限制或机器人限制。在浏览器中手动验证。如果在浏览器中可访问,则保留该URL |
| 404 | 无效——通过WebSearch查找正确URL,或移除该链接 |
| 5xx | 重试一次。如果仍然失败,服务可能暂时宕机。记录该情况 |
| 超时/DNS失败 | 无效——域名可能已不存在。移除所有对该URL的引用 |
特别注意:
- URL(以色列政府网站经常重构)
.gov.il - 以色列初创企业域名()可能已下线
.co.il - 参考链接表格条目(步骤8.5)——这些是用户最常看到的链接
存在无效链接时请勿进入步骤10。先修复所有无效URL。
Step 10: Validate and Prepare for Submission
步骤10:验证并准备提交
Run the validation script:
bash
./scripts/validate-skill.sh <skill-name>/SKILL.mdThe script checks 9 rules:
| # | Rule | Common Fix |
|---|---|---|
| 1 | File is exactly | Rename if wrong case |
| 2 | Starts with | Add YAML frontmatter |
| 3 | | Fix casing or rename folder |
| 4 | No "claude"/"anthropic" in name | Choose different name |
| 5 | | Shorten or add "Use when" |
| 6 | No | Remove XML angle brackets |
| 7 | Body under 5,000 words | Move content to references/ |
| 8 | No README.md in skill folder | Delete README.md |
| 9 | No hardcoded secrets | Remove API keys, tokens |
After validation passes, review against the quality checklist:
- Domain facts verified against official sources (Step 4)
- All URLs return HTTP 200 (Step 9.5)
- Description includes WHAT and WHEN
- Instructions are specific and actionable
- Examples cover 2+ real scenarios
- Troubleshooting covers likely errors
- Reference Links section with 3-6 verified official source URLs
- Hebrew companion exists and section structure matches SKILL.md 1:1 (including )
## קישורי עזר - At least 2 reference files in with "Consult when..." guidance
references/ - At least 1 helper script in with argparse and
scripts/--help - No security issues (secrets, injection vectors)
- list is accurate (all compatible agents included)
supported_agents - is set (e.g., 1.0.0)
metadata.version - has both
metadata.tagsandhearrays of equal length with no empty stringsen - and
creator_namecollected from user (Step 2)creator_email - Repo-level README.md is written in English (not Hebrew)
运行验证脚本:
bash
./scripts/validate-skill.sh <skill-name>/SKILL.md该脚本检查9条规则:
| 编号 | 规则 | 常见修复方法 |
|---|---|---|
| 1 | 文件名为准确的 | 如果大小写错误则重命名 |
| 2 | 以 | 添加YAML前置内容 |
| 3 | | 修正大小写或重命名文件夹 |
| 4 | 名称中不含"claude"/"anthropic" | 选择其他名称 |
| 5 | | 缩短描述或添加"使用场景" |
| 6 | 前置内容中无 | 移除XML尖括号 |
| 7 | 主体内容不超过5000字 | 将内容移至references/目录 |
| 8 | 技能文件夹内无README.md | 删除README.md |
| 9 | 无硬编码机密信息 | 移除API密钥、令牌 |
验证通过后,对照质量检查表进行审核:
- 领域事实已通过官方来源验证(步骤4)
- 所有URL返回HTTP 200状态码(步骤9.5)
- 描述包含功能和使用场景
- 说明具体且可操作
- 示例涵盖2个以上真实场景
- 故障排除涵盖可能出现的错误
- 参考链接部分包含3-6个已验证的官方源URL
- 希伯来语配套文件存在,且章节结构与SKILL.md完全匹配(包括)
## קישורי עזר - 目录中至少有2个参考文件,并附有"在...时查阅"的指引
references/ - 目录中至少有1个辅助脚本,包含argparse和
scripts/--help - 无安全问题(机密信息、注入漏洞)
- 列表准确(包含所有兼容的Agent)
supported_agents - 已设置(例如,1.0.0)
metadata.version - 包含长度相同的
metadata.tags和he数组,且无空字符串en - 已从用户处收集和
creator_name(步骤2)creator_email - 仓库级README.md使用英语编写(而非希伯来语)
Step 10.5: Pre-Submission GitHub Verification Setup
步骤10.5:提交前GitHub验证设置
The submission form runs a live GitHub Verification scorecard against your repo before you can submit. The 5 Critical signals must pass for the skills-il team to approve. Set them up now (about 15 minutes total) so you don't bounce at submit time.
| # | Signal | Quick Setup |
|---|---|---|
| 1 | | Install |
| 2 | | Repo → Settings → Code security and analysis → enable Secret scanning + Push protection |
| 3 | | Same Settings page → under Code scanning click Set up → Default |
| 4 | | Add |
| 5 | | Add a |
For MCPs the row is N/A (the CLI validates SKILL.md only, not MCP servers). The other 4 still apply.
spec_compliantgh skillCopy-paste setup steps for each signal, with full YAML snippets and screenshots, are in the GitHub Verification checklist guide. When in doubt, follow that guide.
Skip this step at your own risk: the admin approval gate refuses approval unless is true. The rejection email will tell you which signals failed and link back to this guide.
critical_all_pass提交表单会在你提交前对仓库运行实时GitHub验证评分卡。5项关键信号必须通过,skills-il团队才会批准。现在完成设置(约15分钟),避免提交时被退回。
| 编号 | 信号 | 快速设置 |
|---|---|---|
| 1 | | 安装 |
| 2 | | 仓库 → 设置 → 代码安全与分析 → 启用机密扫描 + 推送保护 |
| 3 | | 同一设置页面 → 在代码扫描下点击设置 → 默认 |
| 4 | | 添加 |
| 5 | | 在仓库根目录添加 |
对于MCP,项不适用( CLI仅验证SKILL.md,不验证MCP服务器)。其他4项仍适用。
spec_compliantgh skill每个信号的复制粘贴设置步骤(包含完整YAML代码片段和截图)位于GitHub验证检查表指南中。如有疑问,请遵循该指南。
风险提示: 管理员审批 gate 仅在为true时批准。拒绝邮件会告知你哪些信号失败,并链接回本指南。
critical_all_passStep 11: Submit Your Skill
步骤11:提交你的技能
After validation passes, submit your skill through the submission page.
- Choose submission type: "Existing Repository" (if you pushed your skill to a GitHub repo) or "Proposal" (if you want the skills-il team to create the repo)
- Fill in the form with: your GitHub repo URL, creator name, and creator email (from Step 2)
- The form will fetch your SKILL.md and run a live GitHub Verification scorecard. You'll see pass/fail for each of the 5 Critical signals. If any fail, fix them per Step 10.5 and re-submit.
- The skills-il team will review your submission, run security analysis, and publish it if it passes
验证通过后,通过提交页面提交你的技能。
- 选择提交类型:"现有仓库"(如果你已将技能推送到GitHub仓库)或"提案"(如果你希望skills-il团队创建仓库)
- 填写表单:你的GitHub仓库URL、创建者姓名和电子邮箱(来自步骤2)
- 表单将获取你的SKILL.md并运行实时GitHub验证评分卡。你将看到5项关键信号的通过/失败状态。如果有任何失败,按照步骤10.5修复后重新提交。
- skills-il团队将审核你的提交,运行安全分析,通过后发布技能
Examples
示例
Example 1: Create a Government Services Skill
示例1:创建政府服务技能
User says: "I want to create a skill for querying Israeli court decisions"
Actions:
- Category: government-services
- Creator info: Ask for name and email
- Use cases: search by case number, search by judge name, search by topic (Hebrew legal terms)
- Fact-check: Verify court system structure, Nevo access methods, citation formats via official sources
- Scaffold:
python scripts/scaffold-skill.py --name israeli-court-decisions --category government-services - Frontmatter: name=israeli-court-decisions, author=creator_name, triggers include "psakei din", "beit mishpat", "nevo"
- Instructions: Steps for search types, result parsing, citation format
- References: (court levels),
references/court-hierarchy.md(Israeli legal citation rules)references/citation-format.md - Hebrew: SKILL_HE.md with native legal terminology
- Validate:
./scripts/validate-skill.sh israeli-court-decisions/SKILL.md - Submit via the submission page
Result: Complete skill ready for the Skills IL directory.
用户说:"我想创建一个查询以色列法院判决的技能"
操作:
- 类别:government-services
- 创建者信息:询问姓名和邮箱
- 用例:按案件编号搜索、按法官姓名搜索、按主题搜索(希伯来语法律术语)
- 事实核查:通过官方来源验证法院系统结构、Nevo访问方式、引用格式
- 搭建脚手架:
python scripts/scaffold-skill.py --name israeli-court-decisions --category government-services - 前置内容:name=israeli-court-decisions,author=creator_name,触发词包含"psakei din"、"beit mishpat"、"nevo"
- 说明:搜索类型步骤、结果解析、引用格式
- 参考文档:(法院层级)、
references/court-hierarchy.md(以色列法律引用规则)references/citation-format.md - 希伯来语:使用原生法律术语的SKILL_HE.md
- 验证:
./scripts/validate-skill.sh israeli-court-decisions/SKILL.md - 通过提交页面提交
结果:完成可加入Skills IL目录的技能。
Example 2: Create a Developer Tool Skill
示例2:创建开发工具技能
User says: "I need a skill that helps format Israeli addresses"
Actions:
- Category: developer-tools (or government-services for address lookup APIs)
- Creator info: Ask for name and email
- Use cases: format for postal mail, validate mikud, normalize city names
- Fact-check: Verify mikud format rules, Israel Post API availability, city name mappings
- Scaffold:
python scripts/scaffold-skill.py --name israeli-address-formatter --category developer-tools - Frontmatter: triggers include "format ktovet", "mikud", "address normalization"
- Instructions: Format rules, mikud lookup, bilingual city names
- References: ; Scripts:
references/mikud-format.mdscripts/mikud-validator.py - Hebrew: SKILL_HE.md
- Validate: passes all checks
- Submit via the submission page
Result: Address formatting skill with validation and postal format support.
用户说:"我需要一个帮助格式化以色列地址的技能"
操作:
- 类别:developer-tools(或用于地址查询API的government-services)
- 创建者信息:询问姓名和邮箱
- 用例:格式化用于邮政邮件、验证mikud、标准化城市名称
- 事实核查:验证mikud格式规则、以色列邮政API可用性、城市名称映射
- 搭建脚手架:
python scripts/scaffold-skill.py --name israeli-address-formatter --category developer-tools - 前置内容:触发词包含"format ktovet"、"mikud"、"address normalization"
- 说明:格式规则、mikud查询、双语城市名称
- 参考文档:;脚本:
references/mikud-format.mdscripts/mikud-validator.py - 希伯来语:SKILL_HE.md
- 验证:通过所有检查
- 通过提交页面提交
结果:具备验证和邮政格式支持的地址格式化技能。
Example 3: Create a Skill with MCP Integration
示例3:创建集成MCP的技能
User says: "I want to create a skill that uses the israeli-bank-mcp server"
Actions:
- Category: tax-and-finance
- Creator info: Ask for name and email
- Use cases: categorize transactions, detect recurring charges, monthly summary
- Fact-check: Verify Israeli bank API patterns, transaction category standards
- Scaffold:
python scripts/scaffold-skill.py --name israeli-bank-analyzer --category tax-and-finance - metadata.json: include the relevant Recommended MCP Servers section in SKILL.md (and in SKILL_HE.md) pointing to
## שרתי MCP מומלצים. Description triggers include "nituch tenuot bank"israeli-bank-mcp - Instructions: MCP tool calls for fetching transactions, categorization logic, summary generation
- References: ; Scripts:
references/bank-api-reference.mdscripts/transaction-categorizer.py - Hebrew: SKILL_HE.md with banking terminology
- Validate: passes all checks
- Submit via the submission page
Result: MCP-enhanced skill that adds workflow intelligence on top of bank data access.
用户说:"我想创建一个使用israeli-bank-mcp服务器的技能"
操作:
- 类别:tax-and-finance
- 创建者信息:询问姓名和邮箱
- 用例:分类交易、检测 recurring charges、月度汇总
- 事实核查:验证以色列银行API模式、交易类别标准
- 搭建脚手架:
python scripts/scaffold-skill.py --name israeli-bank-analyzer --category tax-and-finance - metadata.json:在SKILL.md中添加相关的推荐MCP服务器部分(在SKILL_HE.md中添加),指向
## שרתי MCP מומלצים。描述触发词包含"nituch tenuot bank"israeli-bank-mcp - 说明:用于获取交易的MCP工具调用、分类逻辑、汇总生成
- 参考文档:;脚本:
references/bank-api-reference.mdscripts/transaction-categorizer.py - 希伯来语:使用银行术语的SKILL_HE.md
- 验证:通过所有检查
- 通过提交页面提交
结果:基于银行数据访问添加工作流智能的MCP增强技能。
Bundled Resources
捆绑资源
Scripts
脚本
- -- Creates the complete folder structure for a new skills-il skill: SKILL.md template with frontmatter skeleton, SKILL_HE.md stub, scripts/ and references/ directories. Validates name format and prevents overwrites. Run:
scripts/scaffold-skill.pypython scripts/scaffold-skill.py --help
- -- 为新的skills-il技能创建完整的文件夹结构:带有前置内容框架的SKILL.md模板、SKILL_HE.md草稿、scripts/和references/目录。验证名称格式并防止覆盖。运行:
scripts/scaffold-skill.pypython scripts/scaffold-skill.py --help
References
参考文档
- -- Complete skills-il SKILL.md specification including all frontmatter fields (required and optional), description-writing formula with good/bad examples, the 5 skill patterns from Anthropic's guide, quality checklist, and validation rules. Consult when writing frontmatter or instructions and you need detailed guidance beyond the steps above.
references/skill-spec.md
- -- 完整的skills-il SKILL.md规范,包括所有前置内容字段(必填和可选)、带有好坏示例的描述编写公式、Anthropic指南中的5种技能模式、质量检查表和验证规则。编写前置内容或说明时,如需本步骤之外的详细指导,请查阅本文档。
references/skill-spec.md
Gotchas
注意事项
- SKILL.md frontmatter uses YAML with specific nested structure (metadata.tags.he/en arrays). Agents may flatten the tags into a single array instead of using the bilingual he/en structure.
- Hebrew content in SKILL_HE.md must never appear inside code blocks (```) because code blocks do not support RTL rendering. Use plain text or bullet lists for Hebrew content.
- The skill description field has a dual purpose: it serves as both the YAML frontmatter description and the trigger text for agent matching. Agents may write a generic description that fails to trigger on relevant user queries.
- Skills must validate with the skills-il schema (name, description, license, metadata with version/category/tags). Agents may omit required fields like supported_agents or display_name.
- SKILL.md前置内容使用特定嵌套结构的YAML(metadata.tags.he/en数组)。Agent可能会将标签扁平化为单个数组,而非使用双语he/en结构。
- SKILL_HE.md中的希伯来语内容不得出现在代码块(```)中,因为代码块不支持RTL渲染。使用纯文本或项目符号列表展示希伯来语内容。
- 技能描述字段具有双重用途:既是YAML前置内容的描述,也是Agent匹配的触发文本。Agent可能会编写无法触发相关用户查询的通用描述。
- 技能必须符合skills-il schema(名称、描述、许可证、包含版本/类别/标签的元数据)。Agent可能会遗漏supported_agents或display_name等必填字段。
Troubleshooting
故障排除
Error: "Validation fails on description"
错误:"验证在描述字段失败"
Cause: Description missing trigger phrase or over 1024 characters
Solution: Ensure description includes one of: "Use when", "Use for", "Use if", "When user", "When the user". Check length is under 1024 chars. Remove any angle brackets.
<>原因:描述缺少触发短语或超过1024字符
解决方案:确保描述包含以下短语之一:"使用场景"、"用于"、"当用户"、"当用户需要"。检查长度是否在1024字符以内。移除任何尖括号。
<>Error: "Name doesn't match folder"
错误:"名称与文件夹不匹配"
Cause: SKILL.md field differs from the folder name
Solution: The field must exactly match the folder name. Both must be kebab-case. Run: to check folder name, compare with in frontmatter.
namenamels -laname:原因:SKILL.md的字段与文件夹名称不同
解决方案:字段必须与文件夹名称完全匹配。两者都必须是kebab-case格式。运行:检查文件夹名称,与前置内容中的对比。
namenamels -laname:Error: "Body exceeds 5,000 words"
错误:"主体内容超过5000字"
Cause: Too much detail in SKILL.md
Solution: Move detailed documentation to files. Keep SKILL.md focused on core instructions. Link to references with "Consult for..." guidance.
references/references/filename.md原因:SKILL.md中的细节过多
解决方案:将详细文档移至文件中。SKILL.md专注于核心说明。使用"查阅了解..."的指引链接到参考文档。
references/references/filename.mdError: "Scaffold script fails"
错误:"脚手架脚本运行失败"
Cause: Folder already exists or invalid name format
Solution: Check if the skill folder already exists. Ensure name is kebab-case only (lowercase letters, numbers, hyphens). No spaces, underscores, or capitals.
原因:文件夹已存在或名称格式无效
解决方案:检查技能文件夹是否已存在。确保名称仅为kebab-case格式(小写字母、数字、连字符)。无空格、下划线或大写字母。