hoocode 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.
Locations
HooCode loads prompt templates from:
- Global:
~/.hoocode/prompts/*.md - Project:
.hoocode/prompts/*.md - Packages:
prompts/directories orhoo.promptsentries inpackage.json - Settings:
promptsarray with files or directories - CLI:
--prompt-template <path>(repeatable)
Disable discovery with --no-prompt-templates.
Slash command directories
Templates are also loaded from dedicated command directories, invoked the same way (/name):
- Global:
~/.hoocode/commands/*.md - Project:
.hoocode/commands/*.md - Claude Code (native import):
~/.claude/commands/*.mdand.claude/commands/*.md, at lower precedence than.hoocode/commands/ - Settings:
slashCommandsarray with files or directories - CLI:
--slash-command <path>(repeatable)
Disable discovery with --no-slash-commands (-nsc). Explicit --slash-command paths still load when discovery is disabled.
Claude Code commands are loaded with hoocode’s prompt-template engine, so the supported subset is description/argument-hint frontmatter and $1/$@/$ARGUMENTS substitution. Claude-specific features (allowed-tools/model frontmatter, ! bash execution, @ file references, subdirectory namespace:command naming) are not interpreted, and discovery is non-recursive.
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.mdbecomes/review. descriptionis optional. If missing, the first non-empty line is used.argument-hintis optional. When set, the hint is displayed before the description in the autocomplete dropdown.
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 and simple slicing:
$1,$2, … positional args$@or$ARGUMENTSfor all args joined${@:N}for args from the Nth position (1-indexed)${@:N:L}forLargs starting at N
Example:
---
description: Create a component
---
Create a React component named $1 with features: $@
Usage: /component Button "onClick handler" "disabled support"
Injection Type
Commands may set a type in frontmatter to control how the expanded text is injected. This applies to templates loaded from any location.
user(default): the expanded text is sent as a normal user message.system: the expanded text is appended to the system prompt for the turn. If arguments are passed, the raw argument string is sent as the user message.context: the expanded text is added as a hidden context message (not displayed). If arguments are passed, the raw argument string is sent as the user message.
---
description: Enforce strict review standards for the rest of the session
type: system
---
You are in strict review mode. Reject any change that lacks tests.
An unrecognized type value falls back to user.
Loading Rules
- Template discovery in
prompts/andcommands/is non-recursive. - If you want templates in subdirectories, add them explicitly via
prompts/slashCommandssettings or a package manifest.