Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add openyida/openyida --skill yida-business-rulegit clone --depth 1 https://github.com/openyida/openyidaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openyida/openyida/yida-business-rule)<a href="https://agentmods.dev/skills/openyida/openyida/yida-business-rule"><img src="https://agentmods.dev/badge/skills/openyida/openyida/yida-business-rule/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/openyida/openyida/yida-business-rule"><img src="https://agentmods.dev/badge/skills/openyida/openyida/yida-business-rule.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00061 | $0.01760 |
| Opus 5 | $0.00030 | $0.00880 |
| Sonnet 5 | $0.00012 | $0.00352 |
| Haiku 4.5 | $0.00006 | $0.00176 |
Grade A, and why
yida-business-rule scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
yida-business-rule — 业务关联规则高级函数
适用范围
业务关联规则是宜搭表单设置里的旧式/低频跨表联动能力。用户明确提到以下意图时使用本技能:
- "业务关联规则"、"表单事件里的公式执行"
- "高级函数"、"INSERT"、"UPDATE"、"DELETE"、"UPSERT"
- "要在表单设置里配 upsert/update/delete/insert"
- 明确不想用集成自动化,而要用公式函数做跨表增删改
配置入口
在表单设计器里进入:
表单设置 → 表单事件 → 公式执行 → 添加业务关联规则
业务关联规则弹窗包含三个事件输入框:
| 事件 | 触发时机 |
|---|---|
单据提交 |
新增记录提交成功后 |
单据删除 |
删除记录成功后 |
单据编辑 |
编辑记录提交成功后 |
点击事件输入框会打开「公式执行」编辑器。配置完成后必须依次确认:公式弹窗 → 业务关联规则弹窗 → 保存表单。
关键原则:必须插入令牌
业务关联公式不是普通字段公式。普通字段公式引用字段用 #{fieldId};业务关联规则引用目标表、目标字段、当前表字段时,必须在公式编辑器左侧列表点击插入令牌。
不要直接手敲中文表单名或字段名。实际验证中,手敲下面这种文本会报非法标识符:
UPSERT(Upsert目标,EQ(Upsert目标.键,"x"),"",Upsert目标.键,"x")
正确方式是在编辑器中输入函数名、括号、逗号、字符串常量,然后点击左侧字段列表插入 Upsert目标、Upsert目标.键 等令牌。最终输入框看起来可能和手敲文本相似,但内部结构不同。
高级函数签名
| 函数 | 格式 | 说明 |
|---|---|---|
INSERT |
INSERT(目标表, 目标列1, 目标值1, 目标列2, 目标值2, ...) |
向目标表插入新实例 |
UPDATE |
UPDATE(目标表, 主条件, 子条件, 目标列1, 目标值1, ...) |
更新目标表中满足条件的数据 |
UPSERT |
UPSERT(目标表, 主条件, 子条件, 目标列1, 目标值1, ...) |
有匹配数据则更新,无匹配数据则插入 |
DELETE |
DELETE(目标表, 主条件, 子条件) |
删除目标表中满足条件的数据 |
子条件 用于定位目标表某条数据下的子表单明细。不操作子表单时必须写 "",不能省略。
UPSERT 模板
普通主表字段 upsert:
UPSERT(目标表, EQ(目标表.业务键, 当前表业务键), "", 目标表.业务键, 当前表业务键, 目标表.目标字段, 当前表来源字段)
库存类示例:
UPSERT(存货表, EQ(存货表.商品名, 商品名), "", 存货表.商品名, 商品名, 存货表.存货量, 存货表.存货量 + 进货量)
固定值探测示例:
UPSERT(Upsert目标, EQ(Upsert目标.键, "_openyida_upsert_probe"), "", Upsert目标.键, "_openyida_upsert_probe", Upsert目标.备注, "configured from form settings")
以上示例中的表单名和字段名只是可读展示。真实配置时,所有表单和字段引用都要从左侧列表点击插入令牌。
条件规则
主条件、子条件必须由逻辑函数构造,常见为EQ()、AND()、OR()。- 除
AND()、OR()外,逻辑函数第一个参数必须是目标表组件,例如EQ(存货表.商品名, 商品名)。 - 不要把当前表字段写在
EQ()第一个参数,也不要在第一个参数里嵌套其他函数。 - 更新普通组件时,
目标列必须是目标表普通组件。 - 更新子表单明细时,
目标列必须是对应明细下的组件。 - 同一个高级函数里不要同时更新普通组件和明细组件;需要拆成多条规则或多个函数。
浏览器配置步骤
- 确认触发表单和目标表单都在同一应用内。
- 用
openyida get-schema <appType> <formUuid>查清目标字段和来源字段,避免点错。 - 打开触发表单设计器,进入
表单设置 → 表单事件 → 公式执行 → 添加业务关联规则。 - 点击要配置的事件输入框,例如
单据编辑。 - 在公式编辑器中只手动输入函数名、括号、逗号、字符串常量。
- 目标表、目标列、来源字段全部从左侧列表点击插入令牌。
- 每插入一个令牌后暂停并校验公式显示,避免 CodeMirror 光标错位。
- 点击公式弹窗「确定」。如果能回到业务关联规则弹窗,说明公式通过编辑器校验。
- 点击业务关联规则弹窗「确定」,最后点击表单设计器「保存」并确认保存成功。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 127 lines · 61 tokens per session scan A 2ac5eb6614fa
yida-business-rule is a skill published in the GitHub repository openyida/openyida (211 stars, last pushed today), licensed MIT. It adds 61 tokens to every session and 1,760 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
new
Create a new project to start development quickly.
channel-manager
Configure IM platform channels (Feishu, WeCom, Weixin, Discord, Telegram, DingTalk) for openclacky. Uses browser automation for navigation; guides the user to paste credentials and perform UI steps. Trigger on: "channel setup", "setup feishu", "setup wecom", "setup weixin", "setup wechat", "setup discord", "setup…
webflow-mcp:cms-best-practices
Expert guidance on Webflow CMS architecture and best practices. Use when planning collections, setting up relationships, optimizing content structure, or troubleshooting CMS issues.
a0-development
Development guide for extending Agent Zero from current source and DOX. Use for framework architecture, tools, extensions, API/WebUI handlers, agent profiles, prompts, skills, projects, runtime boundaries, and contribution workflow. Load the focused reference files before giving implementation guidance.
webflow-mcp:cms-collection-setup
Create a new CMS collection in Webflow with specified fields and relationships. Use when setting up blog posts, products, team members, portfolios, or other content types with custom fields.
doris-debug-deployment
Use for Doris FE/BE startup failures, port conflicts, prioritynetworks misrouting, metadir corruption, and ADD/DROP BACKEND issues.