.praisonai/agents/ (and .claude/agents/ / .agents/agents/ when present) — author them with create, then list and inspect with list / show. Distinct from praisonai agents (the multi-agent UI command).
Commands
create
Turn a one-line description into a permission-scoped.praisonai/agents/<name>.md — no editor round-trip.
1
Interactive
Run
create with no flags and answer the four prompts (name, description, permission, model).2
Non-interactive / CI
Pass every value as a flag and add The resulting
--yes to skip prompts — scriptable for CI..praisonai/agents/code-reviewer.md:role is derived from the name (code-reviewer → Code Reviewer): _ and - become spaces, then title-cased. goal is your --describe text.3
Global (user-wide)
Add If a same-named project agent already exists, a shadow warning fires — the project-local definition wins for
--global to write to ~/.praisonai/agents/<name>.md instead of the project directory.run.Flags
Permission presets
Presets reuse the samemode: grammar the runtime already understands — no parallel vocabulary.
full deliberately omits mode: to keep files minimal. See Custom Agents & Commands → Scoping permissions for the full grammar.
Behaviour worth knowing
System prompt drafting is best-effort
System prompt drafting is best-effort
The system prompt is drafted via the same
Agent.run path as init --generate. On any failure, drafting degrades to an editable stub (“Describe how you should behave here”), prints a warning, and still writes the file with exit code 0. Edit the stub in place.Path-safe names only
Path-safe names only
validate_agent_name rejects empty names, ., .., and any name containing / or \ — so every write stays inside the chosen agents directory. Invalid names exit 1 before any LLM call, so failure is cheap.full omits mode:
full omits mode:
--permission full writes no mode: key. Absence of mode: means the full toolset — the runtime’s default — so files stay minimal.Shadow warning on --global
Shadow warning on --global
After writing, the CLI re-parses the exact file it wrote, then checks the precedence-resolved definition. If a higher-precedence (project-local) agent of the same name would win for
run, it prints: “Another '' agent takes precedence for ‘run’: .” Rename this agent or remove the other to use it directly.--force overwrites in place
--force overwrites in place
Without
--force, create refuses to touch an existing file and exits 1. With --force, it overwrites in place.praisonai run for the full runtime surface.
list
Show discovered agents with their source and model.show
Inspect a single agent’s details, system prompt, and tools.Related
Custom Agents & Commands
Define agents from Markdown
Run
Run with —agent
Init
Scaffold a starter project in one command
Agent Presets & Modes
The mode: shorthand behind permission presets

