面向可复用业务逻辑的 Codex Plugin / Skill

Semantic Logic Modeling Skill

先命名逻辑,再让它被复用。

一套用于复杂逻辑表达的编码方法:把条件树拆成语义清晰的原子判断、 组合场景函数和受控结果函数,让业务规则可以被阅读、复用、测试和演进。

It turns complex condition trees into atomic predicates, composite case functions, and controlled result functions before framework integration.

外部输入 原子判断 派生语义 复合场景 受控结果
export function isPowerEnough(ctx) {
  return ctx.remainingPower >= ctx.expectedConsumePower;
}

export function isMeetTrainCondition(ctx) {
  return isPowerEnough(ctx) && isMeetSdxlCondition(ctx);
}

export function getTrainButtonState(ctx) {
  return {
    disabled: isBasicMemberConfigPending(ctx),
    showPowerPrompt: isPowerNotEnough(ctx)
  };
}
5 层逻辑建模
1 每条规则一个事实源
0 重复裸表达式

方法

从原始事实,到受控结果。

不急着在业务代码里写分支,而是先识别每个判断的语义层级。 低层函数回答“事实是否成立”,高层函数回答“业务场景是否满足”,最终函数只输出可消费的结果。

01

外部输入

收集来自 API、数据库、配置、路由、表单或运行时上下文的原始事实。

02

原子语义函数

把最小业务判断抽成纯函数,一个函数只回答一个清晰问题。

03

派生语义函数

用原子函数组合出中间含义,避免在多个地方重复同一段表达式。

04

复合场景函数

给完整业务场景命名,让分支读起来像业务语言,而不是布尔计算。

05

受控结果函数

用命名函数驱动动作、状态、UI、流程路由、校验消息或权限结果。

适用范围

它不只属于前端,而属于所有逻辑表达。

只要代码中存在“条件决定结果”,就可以用这套建模方式降低重复、减少误判,并让测试覆盖真正的业务规则。

权限判断 表单校验 功能开关 定价规则 流程路由 排期条件 风控规则 UI 状态

React 模式

先纯函数,再公共 Hook,最后才是组件。

React 不是逻辑的唯一归宿。业务规则应先存在于框架外的纯函数中, Hook 只负责装配 props、状态、请求和上下文,组件保持渲染专注。

1. 领域函数

业务逻辑先沉淀在 React 外部,成为可复用、可测试的纯判断和结果函数。

2. 公共 Hook

Hook 负责汇总 props、store、query 和 context,再调用领域函数。

3. 渲染组件

组件只消费 Hook 结果,避免在 JSX 中堆叠多条件业务表达式。

安装

把它作为 Codex plugin 安装。

公开分发推荐通过 plugin marketplace 安装。安装后,可以显式调用 $semantic-logic-modeling,也可以用中文说“使用 semantic-logic-modeling skill”。

推荐:Plugin Marketplace
codex plugin marketplace add sahadev/semantic-logic-modeling-skill --ref main
codex plugin add semantic-logic-modeling-skill@semantic-logic-modeling
本地开发:直接复制 Skill
mkdir -p ~/.agents/skills
cp -R skills/semantic-logic-modeling ~/.agents/skills/