1. 项目概述:一份为AI智能体定制的以色列生活指南
如果你正在使用Claude、Cursor或者GitHub Copilot这类AI编程助手,并且恰好身处以色列,或者计划来这里生活、工作、旅行,那么你可能会遇到一个独特的挑战:如何让这些聪明的AI助手理解并处理那些极具本地特色的需求?比如,你想找一家在安息日还营业的药房,或者想实时查询以色列铁路的班次,又或者想在Wolt上点一份地道的沙瓦玛。这些需求背后,是复杂的本地化服务、希伯来语界面以及独特的文化习惯。这正是“Awesome Agent Skills Israel”这个项目诞生的初衷。
简单来说,这是一个精心整理的、专门服务于以色列本地生活场景的“AI智能体技能”清单。它不是一个普通的软件工具列表,而是一套能让你的AI助手“学会”如何在以色列这个特定环境中为你提供帮助的指令集。每个“技能”都像一个独立的插件模块,封装了访问特定本地服务(如Clalit医疗系统、以色列邮政、Ontopo餐厅预订平台)所需的知识、操作步骤和API调用逻辑。当你的AI助手加载了这些技能,它就从一个通用的编程伙伴,变成了一个精通以色列本地生活的“地头蛇”助手。
这个项目的核心价值在于“场景化赋能”。它瞄准的是AI应用落地中最棘手的一环——如何将强大的通用模型能力,与具体、琐碎、充满地域特色的现实需求无缝对接。对于开发者而言,它展示了如何为AI智能体构建垂直领域的工具链;对于终端用户,尤其是生活在以色列的外籍人士、新移民或游客,它则提供了一条用AI高效解决生活痛点的捷径。接下来,我将为你深入拆解这个项目的设计思路、核心技能,并分享如何将其应用到你的日常AI工作流中。
2. 项目核心架构与设计理念解析
2.1 什么是“Agent Skill”?超越普通API封装的智能指令包
在深入这个以色列技能清单之前,我们首先要理解“Agent Skill”这个概念。它不同于我们常见的软件库或API客户端SDK。一个传统的SDK(如axios用于HTTP请求,cheerio用于网页解析)提供的是基础能力,你需要自己编写大量的业务逻辑来组合这些能力。而一个“Agent Skill”是为AI智能体(Agent)量身定做的、高度情境化的指令包。
它的设计遵循“渐进式披露”原则,这非常符合AI的工作方式:
- 发现阶段:AI智能体启动时,只会看到技能的名称和简短描述。这就像给AI一个功能目录,让它知道“我能做什么”,但不知道“具体怎么做”。这避免了将所有复杂的指令一次性塞入上下文,占用宝贵的Token资源。
- 激活阶段:当用户提出的请求与某个技能的描述匹配时(例如,用户问“特拉维夫哪家咖啡店有户外座位?”),AI智能体会动态加载该技能文件夹下的
SKILL.md文件到其工作内存中。 - 执行阶段:AI智能体阅读
SKILL.md中详细的、步骤化的自然语言指令,并据此执行操作。这些指令可能包括调用特定的API、解析返回的JSON数据、处理希伯来语日期格式,或者模拟点击浏览器按钮(对于需要网页自动化的技能)。
一个典型的技能文件夹结构如下:
israel-post-tracking/ SKILL.md # 核心:包含技能名称、描述、前置条件、分步操作指南、示例输入输出。 scripts/ # (可选)存放可执行的辅助脚本,如数据清洗脚本或简单的格式转换工具。 references/ # (可选)存放参考数据文件,例如以色列城市邮政编码对照表、药品通用名与商品名映射表。注意:
SKILL.md是技能的灵魂。它必须用清晰、无歧义的自然语言编写,因为AI将直接“阅读”并理解它。好的技能说明会像在教导一位聪明但对该领域一无所知的新手,需要明确输入格式、处理逻辑、错误处理以及最终输出的结构化要求。
2.2 “Awesome Agent Skills Israel”的垂直化定位策略
市面上已经存在一些通用的Agent Skills合集,例如VoltAgent/awesome-agent-skills更偏向开发者工具(如操作Docker、管理Kubernetes),而heilcheng/awesome-agent-skills则覆盖面更广。那么,为什么还需要一个专门针对以色列的清单?
其核心策略是极致的垂直化与场景深耕。以色列作为一个科技强国,其数字生态系统既先进又独特,大量主流服务(如医疗、银行、政府服务)都深度本地化,并且希伯来语界面和独特的文化规则(如犹太历法、安息日)构成了很高的使用门槛。这个项目精准地捕捉到了这一痛点,将技能范围严格限定在“帮助AI助手在以色列语境下操作”。
这种定位带来了几个显著优势:
- 降低认知负荷:使用者(无论是AI还是开发者)无需从海量通用技能中筛选,可以直接找到最相关的工具。
- 提升解决效率:技能针对本地API和网站结构进行了优化,指令中可能已经包含了处理希伯来语编码、应对特定反爬策略等经验性细节。
- 构建社区生态:它吸引了对以色列本地化AI应用感兴趣的开发者,形成了一个小众但专注的贡献者社区,有利于技能的持续完善和更新。
2.3 技能分类逻辑:覆盖在以生活的全场景
项目通过清晰的分类,几乎涵盖了在以色列生活的所有高频场景。我们来看其分类逻辑:
- 生存与安全基础层:这是最高优先级的分类。
Health & Fitness(健康)和Security & Alerts(安全警报)直接对应医疗资源和人身安全这两个最基本需求。例如,Clalit Pharm Search技能能快速定位有存货的药房,这在急需药品时至关重要。 - 日常生活便利层:包括
Food & Restaurants(餐饮)、Transport & Navigation(交通)、Shopping & E-Commerce(购物)等。这些技能解决的是每日的衣食住行问题,如用Railil查火车,用Salai MCP比价购物。 - 文化与行政适应层:对于新移民或游客,
Language & Localization(语言)、Government & Bureaucracy(政府事务)、Jewish Calendar & Holidays(犹太历法)是融入当地社会的关键。虽然后两个类别目前技能还空缺,但分类本身指明了需求方向。 - 精神与生活品质层:
Culture & Entertainment(文化娱乐)、Libraries & Reading(阅读)等,满足了更高层次的生活需求。
这种分类方式不仅便于查找,也像一张“在以色列数字化生存的地图”,清晰地标出了哪些领域已经可以通过AI自动化,哪些还是待开发的“蓝海”。
3. 核心技能深度解析与实操指南
3.1 健康医疗类技能:关键时刻的数字化生命线
在以色列,医疗服务主要由四大健康维护组织提供,其中Clalit和Maccabi是最大的两家。项目中的Clalit Pharm Search和Maccabi Pharm Search技能,正是对接这两大系统药房库存查询功能的桥梁。
以Clalit Pharm Search技能为例,其内部工作流程解析:
- 输入处理:技能指令会引导AI智能体首先向用户询问或确认关键信息:药品名称(通用名或商品名)、所在城市或区域。这里有一个关键细节:药品名称可能需要处理希伯来语输入和可能的拼写变体。
- API调用与认证:Clalit的药品查询接口很可能不是公开的免费API,可能需要模拟其官方网站或移动应用的请求。技能文件
SKILL.md中需要详细说明:- 请求端点URL:例如,
https://www.clalit.co.il/he/your_health/farmacy/Pages/search.aspx背后的实际数据接口。 - 请求头:需要设置哪些Headers来模仿浏览器行为(如
User-Agent,Accept-Language: he-IL)。 - 参数构造:如何将药品名和地点转化为HTTP POST请求的表单数据或查询参数。
- 会话处理:是否需要维护Cookies或处理重定向。
- 请求端点URL:例如,
- 数据解析与过滤:获取到的响应通常是HTML或JSON。技能需要指导AI如何从中提取关键字段:药房名称、地址、电话号码、药品库存状态(“有货”/“缺货”)、距离(如果接口提供)。对于HTML响应,可能需要指定使用特定的CSS选择器或XPath来定位信息。
- 结果格式化与呈现:最后,技能应指示AI将结果以清晰、结构化的方式输出给用户,例如按距离排序的列表,并高亮显示有库存的药房。
实操心得:在使用这类技能时,最大的挑战往往不是技能本身,而是目标网站的反爬策略变更。网站结构或API接口可能随时更新。因此,一个健壮的技能应该在
SKILL.md中注明其最后验证日期,并鼓励用户在技能失效时提交Issue。作为使用者,如果发现技能返回错误或空结果,首先应手动访问一次目标网站,确认查询流程是否依然有效。
3.2 交通出行类技能:破解本地化导航
Railil技能是针对以色列铁路的查询工具。以色列火车班次相对频繁,但时刻表在节假日、周末(安息日)变化很大,一个可靠的查询技能非常实用。
技能实现的关键点分析:
- 模糊搜索:技能需要处理站名的多种输入形式。例如,用户可能输入“Tel Aviv”、“TLV”、“תל אביב”或“ת"א”。技能内部可能需要维护一个站名映射表(可放在
references/文件夹),或调用铁路官方的模糊搜索接口。 - 日期时间处理:这是核心难点。以色列使用希伯来历法,许多节日(如逾越节、住棚节)的交通安排与平常完全不同。技能指令必须明确告诉AI:首先将用户输入的通用日期转换为犹太历日期,然后判断该日期是否为特殊节日或安息日(周五日落到周六日落),最后再去查询对应时刻表。这可能需要集成一个犹太历法计算库或调用相关API。
- 输出格式化:理想的输出应包括:车次号、出发时间、到达时间、行程时长、是否有中转、票价等级(例如“Rav-Kav”卡折扣价)。AI需要被指示如何从原始数据中提取并组织这些信息。
配置与使用示例: 假设你在Cursor编辑器中,已经通过npx skills add命令安装了railil技能。当你向AI助手提问:
“帮我查一下下周二从海法到贝尔谢巴的早班火车,最好在上午9点前出发。”
AI助手识别到“火车查询”请求,动态加载railil技能的SKILL.md。接着,它会按照指令:
- 解析“下周二”为具体日期(例如2024-10-15)。
- 检查该日期是否为犹太节日或安息日(假设不是)。
- 将“海法”和“贝尔谢巴”转换为官方站点代码(例如“HFA”和“BS”)。
- 构造API请求,查询指定日期的班次。
- 过滤出出发时间在上午9点前的车次。
- 将结果以清晰的表格形式呈现给你。
3.3 餐饮消费类技能:从查询到预订的自动化
Ontopo是以色列主流的餐厅预订平台。Ontopo技能的目标是让AI能够代替用户完成从搜索、筛选到获取预订链接的全过程。
技能可能涉及的复杂操作:
- 多条件搜索:技能需要支持多种过滤条件:菜系(以色列菜、意大利菜等)、地点(城市、街区)、价格范围、评分、是否有户外座位、是否适合素食者等。
SKILL.md需要定义这些条件的参数化方式。 - 处理动态内容:餐厅的可用桌位是实时变化的。技能可能需要处理JavaScript渲染的页面内容,这解释了为什么类似
Wolt Orders技能需要Browser tool required(浏览器工具)。这意味着AI智能体需要能够驱动一个无头浏览器(如Puppeteer)来与网站交互,点击“查看可用时间”按钮,并抓取弹出的日历数据。 - 身份认证与预订:真正的预订操作通常需要用户登录。技能设计在这里需要非常谨慎。一种安全的做法是,技能只做到“获取预订链接”这一步,将带有具体时间、人数参数的深度链接返回给用户,由用户自己在浏览器中完成最终的登录和确认支付。这避免了处理敏感登录凭证的安全风险。
注意事项:对于需要
Browser tool required或API key required的技能,使用前务必做好评估。浏览器自动化技能运行速度较慢且消耗资源多,适合低频复杂任务。需要API Key的技能,则要求用户自行申请并妥善保管密钥,通常不建议将密钥硬编码在技能文件中,而应通过环境变量或AI智能体的安全配置界面传入。
4. 如何集成与使用这些技能:从安装到实践
4.1 技能安装与注册的两种主流方式
目前,AI智能体生态中主要有两种技能管理范式,这个项目都提供了对接路径:
方式一:通过npx skills add命令安装(针对alexpolonsky/agent-skills注册表)这是最接近传统软件包管理器的体验。前提是你使用的AI开发环境(如Cursor、Claude Code)集成了对此注册表的支持。
# 假设技能注册表已配置,安装特定技能的命令可能类似: npx skills add @alexpolonsky/railil # 或者从GitHub仓库直接安装 npx skills add https://github.com/openclaw/skills/tree/main/skills/lirantal/skill-railil安装后,技能的描述信息会被注册到你的AI智能体本地,当遇到相关问题时,智能体就能自动感知并加载该技能。
方式二:手动配置与MCP集成对于更高级的用户或支持Model Context Protocol(MCP)的AI平台(如某些Claude配置),你可以将技能作为MCP服务器来连接。
- 克隆技能仓库:
git clone https://github.com/alexpolonsky/agent-skill-strikeradar.git - 查看技能文档:阅读
SKILL.md和README,了解启动技能服务器所需的依赖和命令。例如,一个Python技能可能需要pip install -r requirements.txt。 - 配置AI客户端:在你的AI客户端(如Claude Desktop)配置文件中,添加该技能服务器作为MCP资源。这通常涉及编辑一个JSON配置文件,指定服务器启动命令和通信端口。
- 启动与连接:启动AI客户端,它会自动启动技能服务器并建立连接。之后,你就可以在对话中直接使用该技能。
4.2 在Claude、Cursor等工具中的实战调用流程
无论通过哪种方式安装,在实际对话中调用的体验是相似的。以下是一个在Cursor(深度集成AI助手)中的模拟对话流程:
用户:“我喉咙痛,需要找一下阿莫西林,我在拉马特甘附近。”
AI助手(Cursor):
- 意图识别:分析句子,识别出“找药”这个核心意图,以及地点“拉马特甘”和药品“阿莫西林”。
- 技能匹配:在已注册的技能列表中,发现
Clalit Pharm Search和Maccabi Pharm Search的描述与意图匹配。 - 技能加载与执行:动态加载
Clalit Pharm Search技能的SKILL.md(假设用户是Clalit会员)。遵循指令,它可能会先追问:“请问您使用的是Clalit还是Maccabi的医疗服务?” 或者直接使用Clalit的接口进行查询。 - 结果生成与交付:
“根据您在拉马特甘的位置,我查询了Clalit药房的阿莫西林库存。以下是附近有货的药房:
- Clalit Pharmacy - Ramat Gan Diamond Exchange地址:Jabotinsky St 3, Ramat Gan 电话:03-1234567 状态:有货距离:约0.8公里
- Clalit Pharmacy - Ramat Gan Merkaz地址:Bialik St 25, Ramat Gan 电话:03-7654321 状态:有货距离:约1.5公里 建议您去之前致电确认一下。”
整个过程中,用户无需知道技能如何调用API、如何解析数据,只需用自然语言提出需求,AI助手就像一位熟悉本地生活的朋友一样提供了解决方案。
4.3 技能开发与贡献指南
如果你发现某个急需的以色列本地服务还没有对应的技能,完全可以自己动手创建一个并贡献给这个项目。项目仓库中的CONTRIBUTING.md文件提供了详细的指南。核心步骤包括:
- 技能构思:确定一个具体、有明确输入输出的任务。例如,“查询以色列邮政包裹的物流状态”。
- 创建技能结构:
mkdir israel-post-tracking cd israel-post-tracking touch SKILL.md # 可选 mkdir scripts references - 编写
SKILL.md:这是最关键的一步。文件应包含:- Name & Description:清晰的名字和一句话描述。
- Author & Tags:作者信息和标签(如
Browser tool required)。 - Step-by-Step Instructions:用自然语言详尽地写出AI需要执行的每一步。包括:
- 如何向用户索要追踪号。
- 如何访问以色列邮政官网的追踪页面。
- 如何填写表单并提交。
- 如何从结果页面中提取物流事件(时间、地点、状态)。
- 如何处理错误(如无效单号、网络错误)。
- Example Input/Output:提供1-2个完整的对话示例。
- 测试:在Claude或Cursor中反复测试你的技能说明,确保AI能准确理解并执行。
- 提交PR:按照项目格式要求,将你的技能添加到对应的分类列表中,并提交拉取请求。
开发心得:编写技能指令时,要时刻站在AI的视角思考。指令必须极度精确,避免歧义。多使用“首先”、“然后”、“如果...否则...”这样的结构化语言。对于需要交互的操作,明确说明“向用户提问以获取X信息”。好的技能说明书,本身就是一份优秀的产品需求文档。
5. 常见问题、局限性与未来展望
5.1 使用过程中可能遇到的问题及解决方案
尽管这些技能强大,但在实际使用中你可能会遇到一些挑战。下面是一个快速排查指南:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| AI助手完全没反应,不识别技能。 | 1. 技能未正确安装或注册。 2. 用户请求的描述与技能定义的关键词匹配度低。 | 1. 检查技能安装命令是否成功,或MCP连接配置是否正确。 2. 尝试在请求中使用更接近技能描述中的关键词。例如,用“查火车时刻”而不是“看看怎么坐火车”。 |
| 技能被激活,但返回错误或空结果。 | 1. 目标网站或API接口已更新,技能指令过期。 2. 需要API Key或登录,但未配置。 3. 网络问题或目标服务暂时不可用。 | 1. 查看该技能GitHub仓库的Issues,或手动访问目标网站验证流程。 2. 检查技能说明中是否有 API key required标签,并按指引配置密钥。3. 稍后重试,或让AI输出更详细的错误信息以便排查。 |
| 技能执行过程缓慢,尤其是查询类。 | 1. 技能依赖浏览器自动化(Browser tool required),本身速度慢。2. 目标网站响应慢或需要加载大量资源。 | 1. 对于需要实时性的任务,考虑是否有替代的、基于API的技能。 2. 这是此类技能的固有局限,需耐心等待。 |
| AI对技能的理解出现偏差,执行了错误操作。 | SKILL.md指令存在模糊或二义性。 | 向该技能的GitHub仓库提交Issue,反馈具体场景,帮助作者改进指令。 |
5.2 当前项目的局限性
“Awesome Agent Skills Israel”是一个充满潜力的开端,但也存在一些明显的局限性:
- 覆盖度不均:目前技能主要集中在医疗、餐饮、交通等少数几个领域。像
Government & Bureaucracy(政府事务)、Finance & Banking(金融银行)这类涉及复杂流程和高度安全敏感的领域,技能几乎空白。这是因为自动化这些流程难度更大,且风险更高。 - 技能维护的可持续性:技能高度依赖第三方网站或API的稳定性。一旦目标服务更新其前端或接口,技能就可能“失效”。这要求技能作者或社区保持持续维护,但这对于个人开发者来说负担较重。
- 安全与隐私风险:需要
Browser tool required的技能,如果设计不当,可能涉及模拟登录操作,存在泄露用户凭证的风险。需要API Key的技能,则要求用户自行管理密钥。项目需要更严格的安全规范和最佳实践指南。 - 对AI智能体能力的依赖:技能的效果最终取决于加载它的AI智能体的理解能力和执行力。不同的AI模型(Claude、GPT等)对同一份自然语言指令的理解可能有细微差别,导致效果不稳定。
5.3 生态展望与个人应用建议
尽管有局限,但“Agent Skills”这一范式代表了AI应用的一个重要发展方向:将大语言模型的通用认知能力,与垂直领域的精准工具相结合。
对于未来,我们可以期待:
- 技能标准化:可能出现更统一的技能描述语言或配置规范,降低开发门槛。
- 技能商店与市场:类似手机应用商店,用户可以轻松浏览、安装、更新和评分技能。
- 技能组合与编排:AI能够自动将多个技能串联起来完成复杂任务。例如,结合“查餐厅”技能和“订火车票”技能,自动规划一个从海法到特拉维夫的晚餐出行方案。
给个人开发者和用户的建议:
- 对于使用者:不要指望这些技能是万能的“黑科技”。将它们视为一个强大的、可扩展的“瑞士军刀”中的新模块。从解决一个具体的小痛点开始尝试,例如用
Railil查通勤火车,感受其便利性。 - 对于开发者:这是一个非常好的练手项目。选择一个你熟悉的以色列本地服务,尝试为它编写一个技能。这个过程能极大地锻炼你将模糊需求转化为精确指令的能力,这是未来AI时代一项核心的“与机器协作”的技能。
- 对于所有人:关注技能背后的思想——如何教会AI使用工具。这不仅是技术问题,更是设计问题和沟通问题。理解这一点,或许比使用清单上的任何一个具体技能都更有价值。
这个项目就像一颗种子,它展示了一种可能性:在AI的帮助下,我们能否让跨越语言和文化的数字生活壁垒变得更低一些?无论你是用它来方便自己的生活,还是从中获得灵感去创造新的技能,你都已经在参与构建这个更加智能、更加本地化的未来了。