---
name: agent-prompt
description: Write effective system prompts for TD AI agents. Covers role definition, constraint specification, output formatting, tool usage instructions, and prompt structure patterns.
enabled: false
source: github:diegosouzapw/awesome-omni-skill
imported-from: github:diegosouzapw/awesome-omni-skill
---

# Writing Effective Agent Prompts

Guidelines for crafting system prompts that produce reliable, consistent agent behavior.

## Prompt Structure

```markdown
# Role Definition
[Who the agent is and what it does]

# Constraints
[What the agent MUST and MUST NOT do]

# Process/Workflow
[Step-by-step instructions]

# Output Format
[Expected response structure]

# Context
[Environment info, available tools]
```

## Key Principles

### 1. Define Role Clearly

```markdown
You are a customer support specialist for [Company].
Your role is to help customers resolve billing issues
and answer questions about their accounts.
```

Not: "You are a helpful assistant."

### 2. Use Explicit Constraints

**DO this:**
```markdown
=== CRITICAL CONSTRAINTS ===
You are STRICTLY PROHIBITED from:
- Modifying customer payment methods without verification
- Sharing account details with third parties
- Making promises about refunds over $100

You MUST:
- Verify customer identity before account changes
- Log all interactions in the CRM
```

**NOT this:**
```markdown
Be careful with customer data.
```

### 3. Provide Step-by-Step Process

```markdown
## Your Process

1. **Verify Identity**: Ask for account email and last 4 digits of phone
2. **Understand Issue**: Let customer explain before offering solutions
3. **Check History**: Review past interactions in CRM
4. **Propose Solution**: Offer specific resolution with timeline
5. **Confirm**: Summarize actions taken and next steps
```

### 4. Specify Output Format

```markdown
## Required Output

End your response with:

### Summary
- Issue: [Brief description]
- Resolution: [Action taken]
- Follow-up: [Next steps if any]

Format all dates as YYYY-MM-DD.
Use bullet points for lists of 3+ items.
```

### 5. Handle Edge Cases

```markdown
## Special Cases

If customer is angry:
- Acknowledge frustration first
- Do not argue or justify
- Escalate if they mention legal action

If request is outside scope:
- Politely explain limitations
- Provide alternative resources
- Offer to transfer to appropriate team
```

### 6. Tool Usage Instructions

```markdown
## Available Tools

You have access to these tools:
- `search_kb`: Search knowledge base for product info
- `lookup_customer`: Get customer account details
- `create_ticket`: Create support ticket

ALWAYS use `lookup_customer` before discussing account details.
NEVER make up information - use `search_kb` when unsure.
```

## Common Patterns

### Read-Only Agent

```markdown
=== READ-ONLY MODE ===
You can ONLY read and analyze. You CANNOT:
- Create, modify, or delete any records
- Execute transactions
- Change system state

Your role is EXCLUSIVELY to provide information and recommendations.
```

### Multi-Step Workflow Agent

```markdown
## Workflow

1. **Gather**: Collect all required information
2. **Validate**: Check inputs against rules
3. **Process**: Execute the main task
4. **Verify**: Confirm results are correct
5. **Report**: Summarize what was done

Do NOT skip steps. If any step fails, stop and report the issue.
```

### Expert Agent

```markdown
You are a [domain] expert with deep knowledge of:
- [Specific area 1]
- [Specific area 2]
- [Specific area 3]

When answering:
- Cite specific sources or documentation
- Provide concrete examples
- Acknowledge uncertainty when present
```

## Anti-Patterns to Avoid

| Bad | Good |
|-----|------|
| "Be helpful" | "Answer questions about X using the knowledge base" |
| "Don't be rude" | "Use professional, neutral tone" |
| "Handle errors appropriately" | "If error occurs, log it and notify user with error code" |
| "Use good judgment" | "If amount > $100, require manager approval" |
| Long paragraphs | Bulleted lists and numbered steps |

## Variables in Prompts

Use `{{variable}}` for dynamic content:

```markdown
You are assisting {{customer_name}} (ID: {{customer_id}}).
Their current plan is {{plan_type}}.

Focus on issues related to their plan tier.
```

## Testing Prompts

Before deploying, test with:
1. **Happy path**: Normal expected inputs
2. **Edge cases**: Empty inputs, special characters
3. **Adversarial**: Attempts to break constraints
4. **Out of scope**: Requests outside agent's domain

## prompt.md Example

```markdown
You are a SQL query assistant for Treasure Data.

## Your Role
Help users write and optimize Trino SQL queries for TD.

## Constraints
- NEVER execute queries that modify data (INSERT, UPDATE, DELETE)
- ALWAYS include time filters using TD_INTERVAL or TD_TIME_RANGE
- Do NOT guess table schemas - use `describe_table` tool first

## Process
1. Understand the user's data question
2. Check available tables with `list_tables`
3. Get schema with `describe_table`
4. Write query with appropriate time filters
5. Explain the query logic

## Output Format
Provide queries in code blocks with explanation:

```sql
SELECT ...
```

**Explanation**: [Why this query answers the question]
```

## Related Skills

- **agent** - Agent configuration and deployment
- **tdx-basic** - CLI operations
