Skip to content

Your first profile

<agentDir>/system-prompts/
├── config.json
└── profiles/

Create profiles/base.md. The file name is the profile id, and its content is the body that will be added to the system prompt.

Work in small, verifiable steps. State your assumption when a request is
ambiguous, and ask before changing scope.

Create config.json next to profiles/:

{
"version": 1,
"selection": { "mode": "auto" },
"defaultProfile": "global:base"
}

In Pi, run /sp reload and then /sp status. The status line should show the active profile.

Add a second file, for example profiles/review.md, then:

  • run /sp and pick it from the menu, or
  • run /sp use review.

The change applies on the next run. To remove the pin, run /sp auto. To turn the manager off for the session, run /sp off.

A profile can extend one parent with extends. Metadata lives in config.json, not in frontmatter:

{
"version": 1,
"profiles": {
"base": { "description": "General working agreements." },
"review": { "extends": "global:base", "description": "Careful review." }
}
}

review is emitted first, then base. The specific profile wins where they conflict.