plugins/tools/trellisx/skills/trellisx-enforce/SKILL.md
Trellis 任务执行的强制规范 (硬约束, 不可绕过)。覆盖任务门禁 (实施一律建 task, 探索按复杂度)、worktree 生命周期 (start 创建 / 结束合并+移除)、任务归属判定 (新任务 vs 现有补充)、回复前缀标记、完成判定。**trellis 项目内每次用户输入都必须立即加载本 skill 阅读并逐条遵守**, 不论输入类型。hook 每轮要求加载本 skill。
npx skillsauth add lazygophers/ccplugin trellisx-enforceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
本 skill 是硬约束, 不是建议。 trellis 项目内任何开发 / 实施任务, 动手前必须逐条核对本规范。违反任一条 = 流程错误, 立即停止纠正。
任何回复必须以 [trellisx 前缀开头, 不可遗漏 (Stop hook 会校验, 缺则打回重答):
[trellisx-{status}-{task-name}], status = planning / in_progress / check / done / blocked
[trellisx-in_progress-oauth-login][trellisx][trellisx...] 仍排第一第一轴: 先分 实施 vs 探索。
| 类型 | 判定 (看意图 + 是否写盘) | 动作 |
| --- | --- | --- |
| 实施 | 写代码 / 改文件 / 跑会改动状态的命令 / 派写盘 agent — 任何会落盘的工作 | 无条件强制建 trellis task 走 planning (加载 trellisx-orchestrate skill), 不看 subtask 数量, 哪怕只改一行 |
| 探索 | 纯只读: 读文件 / grep / 搜索 / 分析 / 回答问题 / 调研, 不写盘 | 按复杂度决定 (见下) |
探索类型的二级判定 (仅探索适用):
| 探索复杂度 | 动作 | | --- | --- | | 简单 (单点查询 / 读几个文件 / 直接回答) | 可不建 task, 直接做 | | 复杂 (多源调研 / 系统性分析 / 跨多模块梳理 / 需落档报告) | 建 task 承载 (research/ 产物 + 进度追踪) |
判定准则:
判断本轮输入是新任务还是对现有 task 的补充:
| 归属 | 判定 | 动作 |
| --- | --- | --- |
| 现有任务补充 | 对当前 active task 的扩展 / 修改 / 细化 / 边界调整 | 回复以 [trellisx-continue-{task-name}] 开头; 补充该 task (更新 PRD / 调度图 / 受影响 subtask 文件); 重新评估调度; 禁新建 task |
| 新任务 | 与当前 active task 无关, 或无 active task, 或用户显式说"新任务/新需求/换一个" | 回复以 [trellisx-new-task] 开头; 先建 worktree (§3) → task.py create → 走 planning (加载 trellisx-orchestrate) |
任何 task 执行必须在独立 worktree 内, 主工作区保持干净。
| 时机 | 动作 |
| --- | --- |
| 新任务启动 (task.py start 前/后) | 立即创建 task 专属 worktree (git worktree add), 后续所有改动落该工作树 |
| execute / check 期间 | 全部读写限于 worktree |
| check 通过 + commit 后 | 合并 worktree 改动 → 当前分支 |
| 合并完成 | 立即 git worktree remove 移除, 确保环境干净 |
| task 失败 / 取消 | 丢弃改动 + git worktree remove --force 清理 |
硬规: task 结束 (done / cancelled) 前必须完成 worktree 合并 (或丢弃) + 移除。残留 worktree = 环境污染, 禁宣告 task 完成。
为何强制: worktree 隔离保证改动落独立树, main 合并前可 review diff, 失败整树丢弃零污染。隔离开销 (~200-500ms) 远低于脏写排查成本。
派写盘 sub-agent / workflow agent 时:
isolation: worktree, 缺则不派task 宣告完成前必须全部满足:
trellisx-spec sediment 模式, 按需)git worktree remove 移除 (环境干净)任一未满足 → 禁宣告完成。
[trellisx-*] 前缀? (§0)trellisx-orchestrate — planning 阶段编排 PRD / design / implement / subtasktrellisx-spec — spec init / optimize / sedimenttools
UI/UX 与布局设计——做界面布局/结构/导航/组件/交互的设计决策。触发:做UI/UX/布局/排版/导航/组件/交互/栅格/响应式/图表选型/字体配对。按媒介路由 HTML/Web、原生 App(iOS/Android/桌面)、CLI、TUI。需后端动态系统不适用;配色/主题/色板走姊妹 skill design-color。
tools
主题与配色设计——做颜色搭配/调色板/主题/品牌色阶/暗模式的设计决策。触发:选配色/调色/主题/色板/品牌色/暗模式/对比度/色盲/UI风格。按媒介路由 HTML/Web(CSS变量)、原生App(平台token)、CLI(ANSI)、TUI(真彩/256/16降级)。保证可访问性(对比度/色盲安全)。需后端动态系统不适用;UI/UX 布局/组件/交互走姊妹 skill design-uiux。
tools
跨任意组件(plugin/skill/agent/command)的验证驱动优化循环纪律 skill。当用户要优化某个已有组件却无明确方向、或要防止改了反而更差(自评乐观偏差 / 多维同改归因失效 / 为凑分加废话膨胀)、或要把一套通用「评分→单变量改→改后验证严格更好才留否则回滚→触顶停」的纪律套到任意组件上时使用。管优化过程本身的纪律(validation gate / ratchet / 独立验证 / 触顶停),不评单组件深度(交 skill-dev),不查插件接线(交 plugin-dev)。仅手动 /optimize-any 触发。
data-ai
两层规则记忆 (基于 .skein/spec)。planning 时 recall 召回相关规则、task finish 后 sediment 沉淀学习 + prune 自动精简过期/重复/断链规则。core 常驻硬规 + recall 按需召回, 经判定门自动写盘 (不逐次问用户)。产出 .skein/spec 下 core/recall 规则文件 + index。另支持空仓 bootstrap 播种规则基线、记忆大面积失效 (大重构/换栈) 时 reconstruct 可逆归档后按项目类型分型重建、maintain 手动体检 (超预算/stale/断链/重复/废弃, --apply 自动修复)、auto-fix (Stop hook 写 .pending-fix 标记 → main 派 skein-specer bg 跑 maintain --apply 全自动修, 断链只报告)。