Token导航 LogoToken导航TokenDH.com
开发只读github未标认证来源可访问许可证需确认审计通过

jsonlogic-validatorjsonlogic 验证器

Agent Skill

jsonlogic-validator 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

380

周安装

16

GitHub Stars

公开资料未说明

下载量

133
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:jsonlogic-validator(jsonlogic 验证器)
来源仓库:https://github.com/yonderlab/kota.agent.skills
仓库路径:skills/jsonlogic-validator
安装命令:
npx skills add https://github.com/yonderlab/kota.agent.skills --skill jsonlogic-validator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/yonderlab/kota.agent.skills --skill jsonlogic-validator

简介

jsonlogic-validator 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合整理项目状态和变更事项。

  • 适用于围绕仓库状态、代码变更或协作事项进行信息组织和协调。
  • 通过 npx skills add 命令安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围和维护状态,避免触发联网或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

JSONLogic Validator

Implement and validate JSONLogic rules—portable, JSON-serializable business logic that works across JavaScript, Python, PHP, Ruby, Go, Java,.Net, and C++.

Core Syntax

Every rule: {"operator": [arguments]}

{"==": [1, 1]}                              // comparison
{"var": "user.name"}                        // data access
{"and": [{">=": [{"var": "age"}, 18]}, {"var": "active"}]}  // compound

Quick Reference

CategoryOperators
Datavar, missing, missing_some
Logicif, ==, ===, !=, !==, !, !!, and, or
Numeric>, >=, <, <=, +, -, *, /, %, max, min
Arraymap, filter, reduce, all, some, none, merge, in
Stringcat, substr, in
Customtoday, age_from_date, months_since, date_diff, abs, match

Engine Custom Operations

The @kotaio/adaptive-requirements-engine registers these operations on top of standard JSONLogic. They must exist in the engine before they can be used in rules. If you need a new custom operation, implement it in the engine first, then update this skill.

OperationSyntaxReturns
today{"today": {}}Today's date as "YYYY-MM-DD"
age_from_date{"age_from_date": {"var": "birthdate"}}Age in whole years
months_since{"months_since": {"var": "hire_date"}}Months elapsed
date_diff`{"date_diff": [from, to, "days"\"months"\"years"]}`Difference in unit
abs{"abs": {"var": "value"}}Absolute value
match{"match": [{"var": "field"}, "^pattern$", "flags"]}Boolean regex test

date_diff

Accepts both object and array form. Object form {"from":..., "to":..., "unit": "days"} is normalized to array form [from, to, unit] by the engine. Unit must be "days", "months", or "years".

match

Regex pattern matching. Third argument (flags like "i") is optional. Returns false on invalid patterns.

{ "match": [{ "var": "diagnosis_code" }, "^[A-Z]\\d{2}(\\.\\d{1,2})?$"] }

Rule Contexts

Rules appear in 4 field definition contexts:

  • validation.rules — Custom validation with error messages and optional when condition
  • validation.requireWhen — Conditional required fields
  • excludeWhen — Conditionally exclude fields
  • compute — Derived/calculated field values

Workflow

1. Gather Requirements

Clarify:

  • What data fields are available?
  • What conditions determine the outcome?
  • What should the rule return (boolean, value, category)?

2. Write the Rule

Build incrementally from inner expressions outward:

// Requirement: "Premium users over 25 get 20% discount, others get 10%"
{
  "if": [
    {"and": [
      {"==": [{"var": "tier"}, "premium"]},
      {">": [{"var": "age"}, 25]}
    ]},
    0.20,
    0.10
  ]
}

3. Validate

Run the validation script (no dependencies required):

node scripts/validate-jsonlogic.js '<rule>' '<data>'

Example:

node scripts/validate-jsonlogic.js '{">=": [{"var": "age"}, 18]}' '{"age": 25}'

4. Test with Cases

Requires: npm install json-logic-js

node scripts/test-jsonlogic.js '<rule>' --test-cases '[
  {"data": {"age": 25}, "expected": true},
  {"data": {"age": 15}, "expected": false}
]'

Common Patterns

Null-safe access with default

{"var": ["user.name", "Guest"]}

Range check (between)

{"<=": [0, {"var": "value"}, 100]}

Multi-condition (all must pass)

{"and": [
  {">=": [{"var": "age"}, 18]},
  {"==": [{"var": "status"}, "active"]},
  {"in": [{"var": "role"}, ["admin", "editor"]]}
]}

Grade/tier classification

{"if": [
  {">=": [{"var": "score"}, 90]}, "A",
  {">=": [{"var": "score"}, 80]}, "B",
  {">=": [{"var": "score"}, 70]}, "C",
  "F"
]}

Array operations

// Sum: reduce with +
{"reduce": [{"var": "items"}, {"+": [{"var": "accumulator"}, {"var": "current"}]}, 0]}

// Filter: keep matching
{"filter": [{"var": "items"}, {">": [{"var": ""}, 10]}]}

// Any match: some
{"some": [{"var": "items"}, {"==": [{"var": ".status"}, "error"]}]}

Truthy/Falsy (differs from JavaScript)

Falsy: 0, [], "", null Truthy: Everything else (including "0" and [0])

Validation Checklist

Before deploying a rule:

  • Valid JSON syntax
  • All operators spelled correctly
  • Arguments in arrays where required
  • Data paths match actual data structure
  • Edge cases handled (null, empty, missing keys)
  • Tested with representative data samples

References

For complete operator documentation with all arguments and edge cases:

  • See references/jsonlogic-reference.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.48%
按下载量换算49

Claude

30.84%
按下载量换算41

Cursor

16.93%
按下载量换算23

Gemini CLI

10.16%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills