Saltearse al contenido

Plantillas de prompts

pi puede crear plantillas de prompts. Pídele que construya una para tu flujo de trabajo.

Las plantillas de prompts son fragmentos Markdown que se expanden en prompts completos. Escribe /name en el editor para invocar una plantilla, donde name es el nombre del archivo sin .md.

Pi carga plantillas de prompts desde:

  • Global: ~/.pi/agent/prompts/*.md
  • Proyecto: .pi/prompts/*.md (solo después de que el proyecto sea de confianza)
  • Paquetes: directorios prompts/ o entradas pi.prompts en package.json
  • Configuración: array prompts con archivos o directorios
  • CLI: --prompt-template <path> (repetible)

Desactiva el descubrimiento con --no-prompt-templates.

---
description: Review staged git changes
---
Review the staged changes (`git diff --cached`). Focus on:
- Bugs and logic errors
- Security issues
- Error handling gaps
  • El nombre del archivo se convierte en el nombre del comando. review.md se convierte en /review.
  • description es opcional. Si falta, se usa la primera línea no vacía.
  • argument-hint es opcional. Cuando está definido, la pista se muestra antes de la descripción en el menú desplegable de autocompletado.

Usa argument-hint en el frontmatter para mostrar argumentos esperados en autocompletado. Usa <corchetes angulares> para argumentos obligatorios y [corchetes cuadrados] para opcionales:

---
description: Review PRs from URLs with structured issue and code analysis
argument-hint: "<PR-URL>"
---

Se renderiza en el menú de autocompletado como:

→ pr <PR-URL> — Review PRs from URLs with structured issue and code analysis
is <issue> — Analyze GitHub issues (bugs or feature requests)
wr [instructions] — Finish the current task end-to-end
cl — Audit changelog entries before release

Escribe / seguido del nombre de la plantilla en el editor. El autocompletado muestra plantillas disponibles con descripciones.

/review # Expands review.md
/component Button # Expands with argument
/component Button "click handler" # Multiple arguments

Las plantillas admiten argumentos posicionales, valores predeterminados y slicing simple:

  • $1, $2, … argumentos posicionales
  • $@ o $ARGUMENTS para todos los argumentos unidos
  • ${1:-default} usa el arg 1 cuando está presente/no vacío, si no default
  • ${@:N} para argumentos desde la posición N (indexado desde 1)
  • ${@:N:L} para L argumentos empezando en N

Ejemplo:

---
description: Create a component
---
Create a React component named $1 with features: $@

Los valores predeterminados son útiles para argumentos opcionales:

Summarize the current state in ${1:-7} bullet points.

Uso: /component Button "onClick handler" "disabled support"

  • El descubrimiento de plantillas en prompts/ no es recursivo.
  • Si quieres plantillas en subdirectorios, añádelas explícitamente mediante configuración prompts o un manifiesto de paquete.