yao's full system prompt: 1 version, 3,527 characters. Audited against AISPA.
The full text of 1
prompt is reproduced below,
3,527 characters in all, each read
instruction by instruction against the eight
AISPA dimensions.
Nothing was flagged as working against the person on
the other end.
# Prompts
## Default Prompts
Create `prompts.yml` in the assistant directory:
```yaml
- role: system
content: |
You are a helpful assistant.
## Guidelines
- Be concise and accurate
- Ask clarifying questions when needed
- role: system
name: context
content: |
Current date: {{ $CTX.date }}
User locale: {{ $CTX.locale }}
```
### Prompt Structure
```yaml
- role: system | user | assistant
content: string
name: string (optional)
```
### Context Variables
Use `$CTX.*` for runtime context:
| Variable | Description |
| ---------------- | -------------------------- |
| `$CTX.date` | Current date |
| `$CTX.time` | Current time |
| `$CTX.locale` | User locale (e.g., en-us) |
| `$CTX.timezone` | User timezone |
| `$CTX.user_id` | Current user ID |
| `$CTX.team_id` | Current team ID |
| `$CTX.chat_id` | Current chat session ID |
## Prompt Presets
Create presets in `prompts/` directory for different scenarios:
```
prompts/
├── chat.yml # Casual conversation
├── task.yml # Task-oriented
└── analysis.yml # Data analysis
```
**prompts/chat.yml**
```yaml
- role: system
content: |
You are a friendly conversational assistant.
Be warm and engaging.
```
**prompts/task.yml**
```yaml
- role: system
content: |
You are a task-focused assistant.
Be precise and efficient.
```
### Using Presets
Select preset in Create hook:
```typescript
function Create(ctx: agent.Context, messages: agent.Message[]): agent.Create {
return {
messages,
prompt_preset: "task", // Use prompts/task.yml
};
}
```
Or via mode configuration in `package.yao`:
```json
{
"modes": ["chat", "task"],
"default_mode": "task"
}
```
## Global Prompts
Define global prompts in `agent/prompts.yml` (applies to all assistants):
```yaml
- role: system
content: |
# Global Guidelines
- Always be helpful and respectful
- Follow company policies
```
### Disabling Global Prompts
Per assistant:
```json
{
"disable_global_prompts": true
}
```
Per request (in Create hook):
```typescript
function Create(ctx: agent.Context, messages: agent.Message[]): agent.Create {
return {
messages,
disable_global_prompts: true,
};
}
```
## Multi-line Content
Use YAML block scalars for long content:
```yaml
- role: system
content: |
# Assistant Role
You are an expert in data analysis.
## Capabilities
- Statistical analysis
- Data visualization
- Report generation
## Guidelines
1. Always validate input data
2. Explain your methodology
3. Provide actionable insights
```
## Dynamic Prompts
Inject dynamic content in Create hook:
```typescript
function Create(ctx: agent.Context, messages: agent.Message[]): agent.Create {
const userPrefs = ctx.memory.user.Get("preferences");
// Add dynamic system message
const dynamicPrompt = {
role: "system",
content: `User preferences: ${JSON.stringify(userPrefs)}`,
};
return {
messages: [dynamicPrompt, ...messages],
};
}
```
## Prompt Best Practices
1. **Be specific** - Clear instructions produce better results
2. **Use structure** - Headers, lists, and sections improve readability
3. **Set boundaries** - Define what the assistant should and shouldn't do
4. **Include examples** - Show expected input/output formats
5. **Layer prompts** - Use global + assistant + dynamic prompts together
Questions about yao's system prompt
Does yao's system prompt contain instructions that work against the user?
No. Nothing in yao's system prompt was flagged as working against the person the product is talking to. That is a clean result across all eight AISPA dimensions, not an absence of checking — the full text was read instruction by instruction.
How long is yao's system prompt?
3,527 characters across 1 prompt on this page. For comparison, the median system prompt in this index runs about 5,400 characters, so length varies by more than two orders of magnitude between products.
How many versions of yao's system prompt are on record?
1. Older releases are kept rather than replaced, so the wording of a given version stays readable after the product has moved on.
Where did this yao system prompt come from?
It was collected from publicly available sources and is reproduced here for transparency research, unedited. This site does not extract prompts from products itself.
How was yao's system prompt audited?
Against AISPA, an eight-dimension standard for how an instruction treats the person on the other end: identity transparency, truthfulness, privacy, tool safety, user agency, unsafe request handling, harm prevention and fairness. This audit was ai audit. The method is described in the paper behind the standard.
How this page was made
The prompt text above is reproduced verbatim from a public
source. Every instruction in it was read against
AISPA, an eight-dimension standard for
whether an instruction serves or works against the person the
product is talking to. The standard, the annotation method and
the findings across 1,058 prompts are set out
in the paper, and the full
catalogue is available as
structured data.
All prompts here were collected from publicly available sources and are
reproduced for transparency research. Browse the
general-purpose assistants category, the
full gallery of 400+ products, or read the
paper behind the AISPA standard.