Files
Christian Klotz 25cc5c7bf4 docs(coding-agent): refresh documentation (#9898)
* docs(coding-agent): improve getting started documentation

* docs(coding-agent): correct getting started details

* docs(coding-agent): clarify SDK entry point

* docs(coding-agent): restructure guides and references

* docs(coding-agent): improve getting started guides

* docs(coding-agent): refresh integration guides

* docs(coding-agent): improve terminal and CLI guides

* docs(coding-agent): refresh customisation guides

* docs(coding-agent): clarify project trust terminology

* docs(coding-agent): simplify customisation guidance

* docs(coding-agent): improve runtime and reference guidance

* Fix settings reference

* feat(coding-agent): add Crowdin documentation sync

* docs(coding-agent): separate CLI and slash command references

* docs(coding-agent): correct compaction reference

* docs(coding-agent): streamline package documentation

* docs(coding-agent): split RPC reference documentation

* Update configuration docs

* Shorten config docs

* docs(coding-agent): refine configuration references

* docs(coding-agent): streamline settings reference

* docs(coding-agent): clarify configuration reference

* docs(coding-agent): clarify project trust exception

* docs(coding-agent): simplify keybindings reference

* docs(coding-agent): remove Crowdin integration

* docs(coding-agent): turn themes reference into guide

* docs(coding-agent): consolidate model and authentication docs

* docs(tui): require Component.invalidate() (fixes #9358)

* docs(coding-agent): document offline catalog behavior (fixes #8684)

* docs(coding-agent): preserve established documentation routes

* docs(coding-agent): reorganize documentation navigation

* docs(coding-agent): correct audited behavior

Clarify provider, session, local-model, Termux, TUI, SDK, debug, and extension behavior. Simplify the documentation audit to report only clear user-visible contradictions.

* docs(coding-agent): fix broken documentation links
2026-09-22 16:48:19 +02:00

2.4 KiB

Prompt Templates

Prompt templates turn Markdown files into reusable / commands. Use one when you want to reuse the same prompt without adding executable behavior or a larger set of supporting instructions.

A template can accept arguments and appear in command completion. Pi can load templates from personal configuration, project configuration, an explicit path, or a Pi package. Project configuration loads only after project trust is granted.

Create a template

Create ~/.pi/agent/prompts/review.md:

---
description: Review staged git changes
argument-hint: "[focus]"
---
Review the staged changes. Focus on ${1:-correctness, security, and error handling}.

The filename becomes the command name, so this template is available as /review. The description appears in command completion. If it is omitted, Pi uses the first non-empty line.

argument-hint is optional. Use <angle brackets> for required arguments and [square brackets] for optional arguments.

Run /reload after adding or changing a template in an active session.

Use a template

Type the template command in the editor:

/review
/review concurrency

Pi expands the template before the resulting text enters the agent. Extensions receive the raw input first through the input event unless an extension command with the same name handles it.

Templates support these substitutions:

Syntax Result
$1, $2, … One positional argument
$@ or $ARGUMENTS All arguments joined with spaces
${1:-default} First argument, or a default value
${@:-default} All arguments, or a default value
${@:N} Arguments starting at position N
${@:N:L} L arguments starting at position N

Arguments follow shell-like quoting, so /review "API compatibility" supplies one argument containing a space.

Add it to Pi

Place the template in your user or project prompt directory. Conventional prompt directories load direct .md children only.

Settings and packages can select nested Markdown files; a package manifest can narrow discovery with explicit paths and globs. See Settings and Pi Packages for these options.

Project templates become commands in the editor after trust is granted. Review their content before trusting an unfamiliar project. See Security.