ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Trellis 中 Skills、Commands、Prompts 与 Workflows 的差异、路径与本地化改造指南

Trellis 中 Skills、Commands、Prompts 与 Workflows 的差异、路径与本地化改造指南 桌面应用开发工具【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/gh_mirrors/ec/EcoPaste点击查看免费下载在本仓库EcoPaste一个已由trellis init接入 Trellis 工作流的跨平台剪贴板管理项目中AI 与 Trellis 流程交互的入口并非统一的按钮而是散落在.claude/、.cursor/、.agents/等平台目录下的一类特殊文本文件——Skills、Commands、Prompts 与 Workflows。它们功能相近、形态各异选错类型或放错目录都会导致 AI 无法触发、无法被检索甚至与trellis update的同步机制冲突。读完本文你将掌握四类入口的语义差异、各主流 AI 平台的标准存放路径、单文件与多文件 skill 的目录结构规范以及在不触碰内置 skill 的前提下正确新增、修改、覆盖本地 AI 入口的完整方法论。一、四类入口的核心语义差异Trellis 将AI 如何进入 Trellis 流程抽象为四种文本入口类型。不同平台叫法不同例如 GitHub Copilot 叫 promptsKilo 叫 workflows但核心目的完全一致当用户表达某种意图时告诉 AI 如何进入 Trellis 流程。类型触发模式最佳适用场景skillAI 自动匹配或用户显式提及长期能力、工作流规则、修改指南command用户显式调用明确的操作入口如 continue、finish-workprompt用户显式调用或平台侧选择与 command 类似但采用平台自身的 prompt 格式workflow用户显式选择或平台自动匹配在无子代理sub-agent/hook 存在时引导主会话关键判据是触发方式需要 AI自动知道的能力交给 skill需要用户手动触发明确动作的交给 command/prompt/workflow。Trellis 的工作流 skill 通常共享同一语义集brainstorm、before-dev、check、update-spec、break-loop等。多文件的内置 skill如trellis-meta则采用分层引用layered references结构。在本仓库中这些语义可以直观印证.agents/skills/ 下并存着trellis-brainstorm、trellis-before-dev、trellis-check、trellis-update-spec、trellis-break-loop等工作流 skill而trellis-meta、trellis-channel则是带references/目录的多文件内置 skill。二、各平台的常用入口路径Trellis 通过trellis init --platform将入口文件写入对应平台目录。以下是各平台 skill / command / prompt / workflow 的常见存放位置平台常用入口Claude Code.claude/skills/、.claude/commands/Cursor.cursor/skills/、.cursor/commands/OpenCode.opencode/skills/、.opencode/commands/Codex.agents/skills/、.codex/skills/Kilo.kilocode/skills/、.kilocode/workflows/Kiro.kiro/skills/Gemini CLI.agents/skills/、.gemini/commands/Antigravity.agent/skills/、.agent/workflows/Devin.devin/skills/、.devin/workflows/Qoder.qoder/skills/、.qoder/commands/CodeBuddy.codebuddy/skills/、.codebuddy/commands/GitHub Copilot.github/skills/、.github/prompts/Factory Droid.factory/skills/、.factory/commands/Pi Agent.pi/skills/Reasonix.reasonix/skills/无独立 commands 目录斜杠命令内置于平台ZCode.agents/skills/、.zcode/commands/在用户项目中以trellis init实际生成的文件为准——平台生态会变化用户项目也可能已被手工定制。本仓库恰好展示了上述路径在真实项目中的落地形态共享层.agents/skills/存放了全部 14 个 trellis skilltrellis-meta、trellis-channel、trellis-check等供 Codex、Gemini CLI 等支持共享层的平台读取Claude Code.claude/skills/存放各 trellis skill.claude/commands/trellis/存放continue.md与finish-work.md两个显式命令.claude/hooks/存放session-start.py、inject-workflow-state.py、inject-subagent-context.py三个 hook 脚本Cursor.cursor/skills/.cursor/commands/.cursor/agents/.cursor/hooks/OpenCode.opencode/skills/.opencode/commands/trellis/.opencode/plugins/GitHub Copilot.github/skills/.github/prompts/continue.prompt.md、finish-work.prompt.md——prompt 与 command 语义等价但格式不同Kiro仅.kiro/skills/且额外包含trellis-continue、trellis-finish-work两个显式入口 skillKiro 没有独立 commands 目录因此以 skill 承载命令语义。三、Skill 的标准目录结构一个常见的 skill 是一个目录trellis-meta/ ├── SKILL.md └── references/SKILL.md负责三件事何时使用该 skillwhen to use当前任务应优先阅读哪个 referencewhich reference to read first哪些事情不要做what not to do。长内容放在references/中由 AI 按需读取从而让入口文件保持精简。这一原则在本仓库的 trellis-meta/SKILL.md 中体现得淋漓尽致它只有百余行却通过 References 一节把references/local-architecture/、references/platform-files/、references/customize-local/三组、近 20 个 reference 文件全部挂载出来而本次讲解的对象 skills-and-commands.md 正是其references/platform-files/下的一个分支主题。trellis-channel/SKILL.md 也遵循同样的模式——它自称index索引要求只加载当前任务需要的 reference不要预加载全部并列出references/workflows.md、forum.md、workers.md、progress-debugging.md、command-reference.md五个按需加载的参考文件。四、Command / Prompt / Workflow 的结构要求Commands、prompts、workflows 通常是单文件其内容必须回答四个问题何时使用它when to use it应读取哪些.trellis/文件应运行哪些脚本完成后如何汇报how to report after completion。它们不应保存任务状态——任务状态属于.trellis/tasks/和.trellis/.runtime/。以仓库中的 .claude/commands/trellis/continue.md 为实例它先说明用途Resume work on the current task然后分四步分别调用python3 ./.trellis/scripts/get_context.py加载当前任务上下文、--mode phase加载阶段索引、--mode phase --step X.X加载具体步骤最后注明完整工作流在.trellis/workflow.md本命令只是入口点——这正是command 只做引导、不复制流程细节的正确写法。如果某个 command 只是在重复工作流规则正确的做法是让它引用/读取.trellis/workflow.md而不是维护一份流程副本。五、内置 skill 与项目本地 skill 的所有权差异这是改造 AI 入口前必须厘清的第一个分类。同一套目录形态背后是两种截然不同的所有权模型维度内置bundledskill项目本地project-localskill示例trellis-meta、trellis-spec-bootstrap、trellis-session-insight、trellis-channel用户项目内自建的任意 skill事实来源Trellis CLI 仓库packages/cli/src/templates/common/bundled-skills/name/用户项目本身分发方式trellis init/trellis update时由getBundledSkillTemplates()自动写入每个平台的 skill 根目录由用户创建永不被自动移动哈希跟踪每个文件都记录在.trellis/.template-hashes.json更新时触发冲突提示不跟踪本地编辑允许但下次 update 会被标记为 modified by user自由编辑正确的定制方式新建一个不同名字的项目本地 skill 来补充或取代它直接编辑文件仓库中的四套.claude/skills/trellis-meta/、.cursor/skills/trellis-meta/、.github/skills/trellis-meta/、.kiro/skills/trellis-meta/、.opencode/skills/trellis-meta/就是同一个内置 skill 被getBundledSkillTemplates()复制到各平台 skill 根目录的实际产物。一个实用的判断方法修改前先读.trellis/.template-hashes.json——若目标 skill 在其中留有记录说明它是内置upstream-owned的若无记录则是项目本地project-local的。六、本地变更场景速查表用户需求应修改的位置修改 AI 自动触发规则对应 skill 的 frontmatter description修改用户命令行为对应的 command/prompt/workflow 文件新增项目本地 skill平台的 skill 目录或共享的.agents/skills/让多个平台共享同一能力在每个平台的 skill 目录写入等价 skill或在支持共享层的平台使用.agents/skills/修改 finish/continue 入口平台的 commands/prompts/workflows其中的共享.agents/skills/层在本仓库可以直接验证.agents/skills/trellis-check/SKILL.md 与 .claude/skills/trellis-check/SKILL.md 内容一致同一能力同时在共享层与 Claude Code 目录各有一份副本。Codex 负责写入.agents/skills/共享层Gemini CLI 0.40 也会读取它但并非每个平台都读取该目录不能默认假设。七、修改入口的五条原则入口文件保持精简长内容交给 references 承载。这对trellis-meta这类多文件 skill 尤其重要——SKILL.md只负责触发与路由详细说明放在references/中按需加载。触发描述必须具体。description 太宽泛会误触发mis-trigger太狭窄则不触发。反例是helpful project skill这种含糊描述。正面示例见 trellis-check 的 frontmatterdescription: Comprehensive quality verification: spec compliance, lint, type-check, tests, cross-layer data flow, code reuse, and consistency checks. Use when code is written and needs quality verification, before committing changes...——它既写明何时用又写清了具体触发场景。跨平台保持语义一致。文件格式可以不同但行为描述应一致。仓库中同一trellis-check能力在.claude/skills/、.cursor/skills/、.github/skills/、.kiro/skills/、.opencode/skills/各有一份语义相同的副本。项目专属能力放进本地 skill。不要把团队私有流程写进公开的trellis-meta——它是公开的、会被分发到每个用户trellis update会覆盖内置 skill 目录内的任何修改。只有一条项目规则时通常创建一个项目本地 skill 或更新.trellis/spec/即可不必改动 Trellis 内置工作流 skill。八、实战如何正确新增一个项目本地 skill若用户只想让本地 AI 多知道一条项目规则推荐流程如下先读.trellis/workflow.md确认共享流程读目标平台的 skill/command/prompt/workflow 目录读相关 agent 或 hook 文件确认项目规则是否已存在于.trellis/spec/通过.trellis/.template-hashes.json确认待编辑的 skill 是内置还是项目本地。创建项目本地 skill 的标准形态.claude/skills/project-trellis-local/ └── SKILL.md命名必须避开内置集合否则下一次trellis update会因重名而覆盖你的副本trellis-metatrellis-spec-bootstraptrellis-session-insighttrellis-channel常见约定是用项目名前缀例如acme-trellis-deploy、acme-trellis-onboarding。多平台项目可在每个平台的 skill 目录各写一份等价版本或在 Codex、Gemini CLI 等支持共享层的平台上使用.agents/skills/。九、内置 skill 的分发机制与覆盖策略内置 skill 由 Trellis CLI 随 npm 包分发经trellis init自动写入每个受支持平台的 skill 根目录并靠trellis update保持同步。其分发路径为packages/cli/src/templates/common/index.ts中的getBundledSkillTemplates()枚举bundled-skills/目录并缓存为CommonBundledSkill[]随后packages/cli/src/configurators/shared.ts中的resolveBundledSkills(ctx)将其扁平化为{relativePath, content}列表再由writeSkills()镜像到各平台 skill 根目录collectSkillTemplates()返回相同形态的MapfilePath, content供trellis update检测漂移与填充.trellis/.template-hashes.json。要在本地覆盖某个内置 skill例如只改 Claude Code 侧的trellis-meta官方支持的模式是直接编辑本地文件如.claude/skills/trellis-meta/SKILL.md文件哈希与.trellis/.template-hashes.json中记录的分歧下次trellis update检测到用户修改后不动该文件没有显式--force时 Trellis 绝不覆盖用户修改过的文件。但要注意三点限制该覆盖只作用于你编辑的那一个平台目录要同时覆盖 Claude Code 与 Codex 必须分别编辑.claude/skills/name/与.agents/skills/name/未来的trellis update --force会覆盖本地修改建议把覆盖版本纳入版本控制以便重新应用若目的只是新增行为而非修改内置 skill在相同平台 skill 根目录下用不同文件夹名安装一个 marketplace 风格本地 skill如.claude/skills/my-custom-meta/是更干净的选择。十、修改后的冲突处理与底线规则当trellis update对某个内置 skill 文件报告 modified by you 冲突时只有在你能接受手工长期维护这份分歧的情况下才选择keep否则接受覆盖并把意图重新实现为一个项目本地 skill。四条底线规则不要把多个平台的语法混进同一个文件不要只改一个平台的入口却声称所有平台都支持不要把长期工程约定藏在 command 里——应写入.trellis/spec/不要手工编辑任何.{platform}/skills/下trellis-meta/、trellis-spec-bootstrap/、trellis-session-insight/、trellis-channel/目录内的文件并期望修改持久——它们是内置的trellis update会刷新。要么向 upstream 贡献改动要么新增一个补充它们的项目本地 skill。更深一层的定制参考可以继续阅读本仓库中的 platform-files/overview.md三类平台集成模式hook/extension 驱动、agent prelude/拉取式、主会话工作流以及本地修改的五个检查顺序、platform-files/platform-map.md各平台 skill/agent/hook 完整路径矩阵以及 customize-local/change-skills-or-commands.md内置与项目本地 skill 的详细改法对照。按 trellis-meta/SKILL.md 的建议动手修改前务必先读取用户项目里实际存在的文件以本地内容为准。赞分享桌面应用开发工具【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/gh_mirrors/ec/EcoPaste点击查看免费下载相关推荐EcoPaste 中的 Trellis AI 入口体系Skills、Commands、Prompts 与 Workflows 的差异与本地化改造指南EcoPaste 中的 Trellis AI 入口体系Skills、Commands、Prompts 与 Workflows 的差异与本地化改造指南 导读 本桌面应用EcoPaste 项目中的 Trellis 本地定制指南修改 Skills、Commands、Prompts 与 WorkflowsEcoPaste 项目中的 Trellis 本地定制指南修改 Skills、Commands、Prompts 与 Workflows Trellis 是一套以桌面应用开发工具EcoPaste 仓库的 Trellis 接入层Skills、Commands、Prompts 与 Workflows 的设计与本地化改造指南EcoPaste 仓库的 Trellis 接入层Skills、Commands、Prompts 与 Workflows 的设计与本地化改造指南 本指南以 Ec桌面应用开发工具上一篇终极指南如何免费解锁Windows远程桌面多用户连接限制下一篇RePKGWallpaper Engine资源处理的技术革新与实践指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进