mcpField
A
add-template

add-template

github.com/plainlang开发8042 次安装今天更新
代码仓库

关于 add-template

用于通过 Liquid include 和参数编写可复用 `.plain` 规范模板的 Skill,涵盖查找、创建模板及检查展开后的内容。

主要功能

  1. 01通过带参数的 include 复用规范
  2. 02在 `template/` 目录创建模板
  3. 03检查参数和展开后的内容

适用场景

  1. 01在多个 `.plain` 文件中复用规范模式
  2. 02为共享内容中的名称、路径或配置设置参数

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/plainlang/plain-forge --skill add-template

安装后在 Claude Code 中输入/add-template确认已加载。

详细介绍

添加模板

请先加载规则。 在读取、编辑或编写任何 .plain 文件之前,请调用 load-plain-reference 技能,并阅读它指引你查看的规则文件。只有在本次对话中已经运行过 load-plain-reference 时,才可跳过此步骤。

模板使用 Liquid 语法({% include %}),以便在多个 .plain 文件中重复使用相同的规范内容。每次包含都可以传入不同的参数,从而根据单一来源生成定制输出。这不同于 import 和 requires——模板用于带参数的文本复用,而不是模块依赖。

何时使用模板

  • 多个 .plain 文件需要使用完全相同的规范结构。
  • 复用的内容只有特定值(名称、路径、配置)不同,并且可以参数化。
  • 你想为多个模块中出现的某个模式设立单一事实来源。

格式

包含模板

使用 {% include %},并传入模板路径和参数:

{% include "console_app_template.plain", main_file_name: "app.py", app_name: "MyApp" %}

参数以键值对的形式跟在模板路径后面。在模板内部,使用 Liquid 变量语法({{ main_file_name }})访问参数。

编写模板

模板存放在 template/ 目录中。仅支持变量({{ variable_name }})——不支持条件、循环和其他 Liquid 功能:

***definitions***
- :{{ app_name }}MainFile: is the entry point file for :{{ app_name }}:.

***implementation reqs***
- :{{ app_name }}MainFile: should be called "{{ main_file_name }}".

工作流:包含现有模板

  1. 检查 template/ 目录,查看有哪些可用模板。
  2. 阅读模板,了解它需要哪些参数,以及会生成什么内容。
  3. 在目标 .plain 文件中添加 {% include %} 语句,并传入正确的参数。
  4. 验证展开后的内容不会导致概念名称冲突或章节重复。

工作流:创建新模板

  1. 识别重复模式——找出在多个 .plain 文件中重复(或将要重复)的规范内容。
  2. 将共用内容提取到 template/ 目录中的新 .plain 文件。
  3. 将差异参数化——用 Liquid 变量替换不同的部分。
  4. 更新原文件,使用 {% include %} 替代重复内容。

验证清单

  • 模板文件位于 template/ 目录中
  • 所有不同的部分都使用 Liquid 变量进行了参数化
  • 每个 {% include %} 调用位置都传入了所有必需参数
  • 展开后的内容不会导致概念名称冲突
  • 模板被多个 .plain 文件使用(否则,请直接内联内容)

评论

支持 Markdown