Prompt Templates

September 21, 2026 · View on GitHub

Atomic can create prompt templates. Ask it to build one for your workflow.

Prompt Templates

Prompt templates are Markdown snippets that expand into full prompts. Type /name in the editor to invoke a template, where name is the filename without .md.

Prerequisites: Atomic installed and running in a project. See the Quickstart. No code or build step is required.

Use prompt templates when you repeat the same instructions and want a slash command for them. They are Atomic's lightest customization option. Use a skill if the agent should decide when to load the instructions, or an extension if you need to run code.

Locations

Atomic loads prompt templates from:

  • Global: ~/.atomic/agent/prompts/*.md (legacy ~/.pi/agent/prompts/*.md)
  • Project: .atomic/prompts/*.md (legacy .pi/prompts/*.md, only after the project is trusted)
  • Packages: prompts/ directories, atomic.prompts, or legacy pi.prompts entries in package.json
  • Settings: prompts array with files or directories
  • CLI: --prompt-template <path> (repeatable)

Disable discovery with --no-prompt-templates.

Format

---
description: Review staged git changes
---
Review the staged changes (`git diff --cached`). Focus on:
- Bugs and logic errors
- Security issues
- Error handling gaps
  • The filename becomes the command name. review.md becomes /review.
  • description is optional. If missing, the first non-empty line is used.
  • argument-hint is optional. When set, the hint is displayed before the description in the autocomplete dropdown.
  • Invalid YAML frontmatter (for example an unquoted description: Broken: value) skips only that template and reports a warning naming the file and the parse position; valid sibling templates still load.

Argument Hints

Use argument-hint in frontmatter to show expected arguments in autocomplete. Use <angle brackets> for required arguments and [square brackets] for optional ones:

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

This renders in the autocomplete dropdown as:

→ 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

Usage

Type / followed by the template name in the editor. Autocomplete shows available templates with descriptions.

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

Arguments

Templates support positional arguments, defaults, and simple slicing:

  • $1, $2, ... positional args
  • $@ or $ARGUMENTS for all args joined
  • ${1:-default} uses arg 1 when present/non-empty, otherwise default
  • ${@:-default} or ${ARGUMENTS:-default} uses all arguments when present/non-empty, otherwise default
  • ${@:N} for args from the Nth position (1-indexed)
  • ${@:N:L} for L args starting at N

Example:

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

Default values are useful for optional arguments:

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

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

Loading Rules

  • Template discovery in prompts/ is non-recursive.
  • If you want templates in subdirectories, add them explicitly via prompts settings or a package manifest.

Next steps

  • Skills — instructions the agent loads on its own when a task matches, instead of on an explicit slash command.
  • Subagents — delegate a focused, bounded task to a child agent.
  • Atomic packages — bundle your prompt templates with skills, themes, and extensions and share them.
  • Build with Atomic — compare every customization mechanism.