Prompt Templates 是存为 Markdown 文件的可复用 Prompt 片段,在编辑器中输入 /name 展开。

加载位置

Pi 从以下位置发现 Prompt Templates:

  • ~/.pi/agent/prompts/*.md — 全局用户模板
  • .pi/prompts/*.md — 项目级(需要项目信任)
  • pi install 安装的包中的 prompts/ 目录或 package.json 的 pi.prompts 字段
  • settings.json 中的 prompts 数组(指定文件或目录)
  • CLI --prompt-template <path>(可重复)

发现是非递归的(只扫 prompts/ 根目录,不遍历子目录)。如需子目录中的模板,需通过 prompts 设置或包 manifest 显式指定。 用 --no-prompt-templates 禁用所有模板发现。

文件格式

---
description: Review staged git changes
argument-hint: "[focus-area]"
---
Review the staged changes (`git diff --cached`). Focus on:
- Bugs and logic errors
- Security issues: $1
- Error handling gaps
  • 文件名(去掉 .md)即为命令名:review.md → /review
  • description:可选,用于自动补全中的描述;省略时取第一行非空内容
  • argument-hint:可选,在自动补全下拉中显示期望参数格式,用 <必填> / [可选] 标注

参数展开

语法含义
$1, $2, …按位置的参数
$@ 或 $ARGUMENTS所有参数合并为字符串
${1:-default}参数 1 存在时取参数 1,否则取 default
${@:N}从第 N 个参数起的所有参数(1-indexed)
${@:N:L}从第 N 个参数起的 L 个参数

示例:

/review                           # 不带参数展开
/component Button                 # $1 = "Button"
/component Button "click handler" # $1 = "Button", $2 = "click handler"

自动补全预览

设置了 argument-hint 的模板在自动补全中这样显示:

→ review   [focus-area]   — Review staged git changes
  pr       <PR-URL>       — Review PRs from URLs
  wr       [instructions] — Finish the current task

分发

通过 pi-packages 打包后可发布和安装:

{
  "pi": {
    "prompts": ["./prompts"]
  }
}

相关页面:skills | extensions | pi-packages