Initial commit
This commit is contained in:
941
skills/documentation/SKILL.md
Normal file
941
skills/documentation/SKILL.md
Normal file
@@ -0,0 +1,941 @@
|
||||
---
|
||||
name: field-agent-documentation
|
||||
description: Comprehensive template and guidelines for documenting Field Agents including technical specifications, system prompts, tool specifications, user interactions, and standardized documentation structure
|
||||
---
|
||||
|
||||
# Field Agent Documentation Standards
|
||||
|
||||
This skill provides a complete template and best practices for creating professional, comprehensive documentation for Field Agents. Following these standards ensures consistency, clarity, and ease of use across all agent documentation.
|
||||
|
||||
## When to Use This Skill
|
||||
|
||||
Use this skill when you need to:
|
||||
- Create documentation for a new Field Agent
|
||||
- Standardize existing Field Agent documentation
|
||||
- Write system prompts with best practices
|
||||
- Define tool specifications and naming conventions
|
||||
- Structure user prompts and interaction patterns
|
||||
- Document agent architecture and technical details
|
||||
|
||||
## Documentation Structure Overview
|
||||
|
||||
Complete Field Agent documentation should include these sections in order:
|
||||
|
||||
```markdown
|
||||
1. Basic Information (metadata, links, status)
|
||||
2. Team Structure (owners, contributors)
|
||||
3. Purpose & Functionality (description, value, users)
|
||||
4. Usage Scenarios (use cases, examples)
|
||||
5. Technical Specifications (model, settings, parameters)
|
||||
6. Dependencies & Integration (requirements, data sources)
|
||||
7. Agent/Sub-Agent Details (per-agent specifications)
|
||||
8. System Prompt (detailed agent instructions)
|
||||
9. Tools (function specifications and schemas)
|
||||
10. Input/Output Format (data structures, formats)
|
||||
11. User Prompts (interaction patterns, guided flows)
|
||||
12. Development Roadmap (milestones, phases)
|
||||
13. Demo (examples, videos, recordings)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Section 1: Basic Information
|
||||
|
||||
This section provides essential metadata about the agent.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
# [Agent Name]
|
||||
|
||||
## Basic Information
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
| **Project Name** | [Clean, self-explanatory, immutable name] |
|
||||
| **Type** | Field Agent |
|
||||
| **Interface Type** | TD Workflow / Chat / Slack / API |
|
||||
| **GitHub Repo Link** | [Repository URL] |
|
||||
| **Status** | Development / Staging / Production |
|
||||
| **Version** | [Semantic version: MAJOR.MINOR.PATCH] |
|
||||
| **Last Updated** | [YYYY-MM-DD] |
|
||||
| **Agent Instance** | [Cloud provider: instance ID] |
|
||||
| **Agent Link** | [Direct link to agent] |
|
||||
| **One-Pager Slide** | [Link to overview presentation] |
|
||||
| **Demo Video** | [Link to demonstration recording] |
|
||||
| **Demo Talk-Track** | [Link to demo script] |
|
||||
```
|
||||
|
||||
### Best Practices
|
||||
- **Project Name**: Choose a clear, descriptive name that won't change
|
||||
- **Status**: Keep status current (Development → Staging → Production)
|
||||
- **Version**: Use semantic versioning (1.0.0, 1.1.0, 2.0.0)
|
||||
- **Links**: Ensure all links are accessible to target audience
|
||||
|
||||
---
|
||||
|
||||
## Section 2: Team Structure
|
||||
|
||||
Document who is responsible for the agent.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Team Structure
|
||||
|
||||
| Role | Assignee |
|
||||
|------|----------|
|
||||
| **Product Owner / Main Architect** | [Name, Email] |
|
||||
| **Additional Contributors** | [Names, Roles] |
|
||||
| **Support Contact** | [Team/Channel] |
|
||||
```
|
||||
|
||||
### Best Practices
|
||||
- Include contact information for support
|
||||
- List all contributors for accountability
|
||||
- Update when team changes occur
|
||||
|
||||
---
|
||||
|
||||
## Section 3: Purpose & Functionality
|
||||
|
||||
Explain what the agent does and why it matters.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Purpose & Functionality
|
||||
|
||||
### Description
|
||||
[Brief 2-3 sentence description of what the agent performs and its core functionality]
|
||||
|
||||
### Key Capabilities
|
||||
- **Integration 1**: [What it integrates with and how]
|
||||
- **Integration 2**: [What it integrates with and how]
|
||||
- **Core Feature**: [Primary capability description]
|
||||
|
||||
### Business Value
|
||||
[Explain the business value this agent delivers. What problems does it solve? What ROI does it provide?]
|
||||
|
||||
### Target Users
|
||||
- **Primary**: [Job roles/personas who will use this most]
|
||||
- **Secondary**: [Additional users who may benefit]
|
||||
|
||||
### Potential Applications
|
||||
[Detailed description of who will use this agent and in what contexts]
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
```markdown
|
||||
## Purpose & Functionality
|
||||
|
||||
### Description
|
||||
Customer Segmentation Agent analyzes customer data to automatically identify behavioral segments using RFM (Recency, Frequency, Monetary) analysis and predictive modeling.
|
||||
|
||||
### Key Capabilities
|
||||
- **Database Integration**: Connects to Treasure Data customer databases
|
||||
- **Segmentation Algorithms**: RFM, K-means clustering, behavioral scoring
|
||||
- **Visualization**: Generates interactive Plotly charts and segment distributions
|
||||
|
||||
### Business Value
|
||||
Enables marketing teams to identify high-value customer segments 10x faster than manual analysis, improving campaign targeting accuracy by 35% and increasing ROI on marketing spend.
|
||||
|
||||
### Target Users
|
||||
- **Primary**: Marketing Managers, CRM Analysts, Customer Success Teams
|
||||
- **Secondary**: Data Analysts, Business Intelligence Teams
|
||||
|
||||
### Potential Applications
|
||||
Marketing teams use this agent to create targeted campaigns, CRM teams identify at-risk customers for retention programs, and analysts explore customer lifetime value patterns.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Section 4: Usage Scenarios
|
||||
|
||||
Provide concrete examples of how the agent is used.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Usage Scenarios
|
||||
|
||||
### Primary Use Case
|
||||
[Describe the most common use case with a step-by-step example]
|
||||
|
||||
**Example:**
|
||||
1. User asks: "[Sample user query]"
|
||||
2. Agent performs: "[What the agent does]"
|
||||
3. Agent returns: "[What the user receives]"
|
||||
|
||||
### Additional Use Cases
|
||||
1. **Use Case Name**: [Description and benefit]
|
||||
2. **Use Case Name**: [Description and benefit]
|
||||
3. **Use Case Name**: [Description and benefit]
|
||||
|
||||
### Example Scenarios
|
||||
|
||||
#### Scenario 1: [Name]
|
||||
**Context**: [When this scenario applies]
|
||||
**User Input**: "[Example user query]"
|
||||
**Agent Output**: [What the agent provides]
|
||||
**Outcome**: [Business result]
|
||||
|
||||
#### Scenario 2: [Name]
|
||||
[Follow same structure]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Section 5: Technical Specifications
|
||||
|
||||
Define the technical configuration of the agent.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Technical Specifications
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
| **Agent Name** | [Name - use `[Sub]` prefix for sub-agents] |
|
||||
| **Model Name** | Claude 4 Sonnet ⭐ (Recommended) / Claude 3.5 Sonnet / Claude 3 Haiku |
|
||||
| **Max Tool Iterations** | [Number - controls resource consumption] |
|
||||
| **Temperature** | [0-1, where 0 = deterministic, 1 = creative] ⭐ Recommended: 0 |
|
||||
| **Max Tokens** | [Output token limit] |
|
||||
| **Timeout** | [Execution timeout in seconds] |
|
||||
```
|
||||
|
||||
### Model Selection Guide
|
||||
|
||||
**Claude 4 Sonnet (Recommended)** ⭐
|
||||
- Best for: Most production Field Agents
|
||||
- Benefits: Highest performance, more output tokens, better reasoning
|
||||
- Use when: You need reliability and comprehensive outputs
|
||||
|
||||
**Claude 3.5 Sonnet**
|
||||
- Best for: Alternative to Claude 4, similar capabilities
|
||||
- Benefits: Strong performance, widely tested
|
||||
- Use when: Claude 4 not available or testing compatibility
|
||||
|
||||
**Claude 3 Haiku**
|
||||
- Best for: Lightweight, fast-response tasks
|
||||
- Benefits: Lower cost, faster execution
|
||||
- Use when: Simple queries, real-time requirements, budget constraints
|
||||
|
||||
### Temperature Guide
|
||||
|
||||
| Temperature | Behavior | Best For |
|
||||
|-------------|----------|----------|
|
||||
| **0** ⭐ | Deterministic, consistent answers | Most Field Agents, production use |
|
||||
| **0.3** | Slight variation, mostly consistent | Agents needing minor creative variation |
|
||||
| **0.7** | Balanced creativity and consistency | Content generation with some flexibility |
|
||||
| **1.0** | Maximum creativity, varied outputs | Creative writing, brainstorming agents |
|
||||
|
||||
**Recommended**: Use temperature **0** for Field Agents to ensure consistent, reliable outputs.
|
||||
|
||||
### Max Tool Iterations
|
||||
|
||||
Controls how many times the agent can execute tools before stopping.
|
||||
|
||||
```markdown
|
||||
- **Low (5-10)**: Simple agents with few tool calls
|
||||
- **Medium (15-20)**: Most Field Agents with moderate complexity
|
||||
- **High (25-30)**: Complex agents requiring multiple data sources and iterations
|
||||
```
|
||||
|
||||
**Best Practice**: Start with 15-20, increase only if agent needs more steps.
|
||||
|
||||
---
|
||||
|
||||
## Section 6: Dependencies & Integration
|
||||
|
||||
Document all external requirements and integrations.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Dependencies & Integration
|
||||
|
||||
### Required Data Sources
|
||||
| Data Source | Purpose | Access Requirements |
|
||||
|-------------|---------|---------------------|
|
||||
| [Database/Table] | [What data is used] | [Permissions needed] |
|
||||
|
||||
### Integration Points
|
||||
| Integration | Type | Purpose |
|
||||
|-------------|------|---------|
|
||||
| [System/API] | [REST/GraphQL/SDK] | [What it's used for] |
|
||||
|
||||
### Prerequisites
|
||||
- [ ] Access to [database/system]
|
||||
- [ ] Permissions: [specific permissions]
|
||||
- [ ] API keys configured: [which APIs]
|
||||
- [ ] Dependencies installed: [libraries/tools]
|
||||
|
||||
### Dependencies on Other Systems
|
||||
- [None] OR [List dependent workflows, features, product permissions]
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
```markdown
|
||||
## Dependencies & Integration
|
||||
|
||||
### Required Data Sources
|
||||
| Data Source | Purpose | Access Requirements |
|
||||
|-------------|---------|---------------------|
|
||||
| `customer_db.transactions` | Transaction history for RFM analysis | Read access to customer_db |
|
||||
| `customer_db.profiles` | Customer demographic data | Read access to customer_db |
|
||||
|
||||
### Integration Points
|
||||
| Integration | Type | Purpose |
|
||||
|-------------|------|---------|
|
||||
| Treasure Data Trino | SQL Query | Data extraction and analysis |
|
||||
| Plotly | Visualization Library | Chart generation |
|
||||
|
||||
### Prerequisites
|
||||
- [ ] Access to `customer_db` database
|
||||
- [ ] Permissions: Read access on customer tables
|
||||
- [ ] API keys configured: None required
|
||||
- [ ] Dependencies installed: Plotly for visualizations
|
||||
|
||||
### Dependencies on Other Systems
|
||||
- Requires Treasure Data instance with Trino query engine
|
||||
- No dependencies on external workflows
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Section 7: Agent/Sub-Agent Details
|
||||
|
||||
Provide detailed specifications for each agent and sub-agent.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Agent Details: [Agent Name]
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
| **Agent Name** | [Name] or **[Sub] [Name]** for sub-agents |
|
||||
| **Model Name** | Claude 4 Sonnet ⭐ |
|
||||
| **Max Tool Iterations** | [Number] |
|
||||
| **Temperature** | 0 ⭐ |
|
||||
| **Purpose** | [What this specific agent does] |
|
||||
| **Invocation** | [How this agent is called] |
|
||||
|
||||
### Sub-Agents
|
||||
If this agent uses sub-agents, list them:
|
||||
|
||||
- **[Sub] Sub-Agent Name**: [Purpose and when it's invoked]
|
||||
```
|
||||
|
||||
### Best Practices
|
||||
- Use `[Sub]` prefix for sub-agents to distinguish from main agents
|
||||
- Document invocation patterns (how/when sub-agents are called)
|
||||
- Specify different configurations if sub-agents use different models
|
||||
|
||||
---
|
||||
|
||||
## Section 8: System Prompt
|
||||
|
||||
The system prompt is the most critical element - it defines agent behavior.
|
||||
|
||||
### System Prompt Structure Template
|
||||
|
||||
```markdown
|
||||
## System Prompt: [Agent Name]
|
||||
|
||||
# [Agent Name]
|
||||
|
||||
[Brief one-line description of agent role and purpose]
|
||||
|
||||
# Role
|
||||
|
||||
The agent's role and responsibilities:
|
||||
- [Responsibility 1]
|
||||
- [Responsibility 2]
|
||||
- [Responsibility 3]
|
||||
|
||||
# Goal
|
||||
|
||||
[Detailed description of what the user receives when the agent is executed and what the agent aims to achieve]
|
||||
|
||||
## Basic Principles
|
||||
|
||||
High-level workflow:
|
||||
1. [Step 1: What happens first]
|
||||
2. [Step 2: What happens next]
|
||||
3. [Step 3: Final steps]
|
||||
4. [Step 4: Output delivery]
|
||||
|
||||
## Available Tools
|
||||
|
||||
### [Tool Category/Purpose]
|
||||
|
||||
**Tool**: `tool_name_in_snake_case`
|
||||
**Purpose**: [Brief purpose of this tool]
|
||||
**Input**: [What inputs the tool consumes]
|
||||
**Output**: [What outputs the tool returns]
|
||||
|
||||
### [Next Tool Category]
|
||||
|
||||
**Tool**: `another_tool_name`
|
||||
**Purpose**: [Brief purpose]
|
||||
**Input**: [Input parameters]
|
||||
**Output**: [Return values]
|
||||
|
||||
## Task Flow
|
||||
|
||||
### Task 1: [Tool Name] [required = true, mandatory_start = true]
|
||||
|
||||
**Execution**:
|
||||
call_<tool_name>[required = true, mandatory_start = true]
|
||||
|
||||
**Steps** [sequential=true]:
|
||||
1. [Detailed step-by-step pseudo-logic]
|
||||
2. [What the tool should do]
|
||||
3. [How to handle results]
|
||||
4. [Error handling]
|
||||
|
||||
**Output Format**:
|
||||
[Describe or show sample output format]
|
||||
|
||||
### Task 2: [Next Tool] [required = false]
|
||||
|
||||
[Follow same structure]
|
||||
|
||||
## Checklist (Optional)
|
||||
|
||||
If applicable, provide a validation checklist:
|
||||
- [ ] [Validation item 1]
|
||||
- [ ] [Validation item 2]
|
||||
- [ ] [Validation item 3]
|
||||
```
|
||||
|
||||
### System Prompt Best Practices
|
||||
|
||||
#### 1. Tool Naming Conventions ⭐
|
||||
|
||||
**Use snake_case with descriptive names:**
|
||||
|
||||
✅ **Good Examples:**
|
||||
```
|
||||
verify_database_access
|
||||
list_columns_customer_db
|
||||
query_sales_data
|
||||
calculate_rfm_scores
|
||||
generate_segment_visualization
|
||||
fetch_customer_transactions
|
||||
```
|
||||
|
||||
❌ **Bad Examples:**
|
||||
```
|
||||
verify # Too vague
|
||||
list # What are we listing?
|
||||
query # Query what?
|
||||
verifydbaccess # Hard to read, no separators
|
||||
listColumns # Should be snake_case
|
||||
```
|
||||
|
||||
**Naming Pattern**: `[action]_[object]_[context]`
|
||||
- **Action**: verify, list, query, calculate, generate, fetch, create, update
|
||||
- **Object**: database, columns, data, scores, visualization
|
||||
- **Context**: customer_db, sales, rfm, etc.
|
||||
|
||||
#### 2. Reduce Hallucination with Detailed Logic
|
||||
|
||||
Provide explicit pseudo-logic instead of general instructions:
|
||||
|
||||
✅ **Good - Explicit Logic:**
|
||||
```markdown
|
||||
### Task 1: Query Customer Data
|
||||
|
||||
**Steps** [sequential=true]:
|
||||
1. Call `verify_database_access` with database name
|
||||
2. If access is denied, return error message: "Database access denied. Please check permissions."
|
||||
3. If access is granted, call `list_columns_customer_db` to retrieve schema
|
||||
4. Validate that required columns exist: ['customer_id', 'revenue', 'last_purchase_date']
|
||||
5. If columns missing, return error: "Required columns not found: [list missing columns]"
|
||||
6. If columns exist, call `query_sales_data` with filters:
|
||||
- WHERE last_purchase_date >= DATE_SUB(CURRENT_DATE, INTERVAL 365 DAY)
|
||||
- AND revenue > 0
|
||||
7. Return result set in JSON format
|
||||
```
|
||||
|
||||
❌ **Bad - Vague Instructions:**
|
||||
```markdown
|
||||
### Task 1: Query Customer Data
|
||||
|
||||
Query the customer database and get the data we need.
|
||||
```
|
||||
|
||||
#### 3. Specify Sequential vs. Parallel Execution
|
||||
|
||||
```markdown
|
||||
**Steps** [sequential=true]:
|
||||
# Tasks must execute in order - each depends on previous
|
||||
|
||||
**Steps** [parallel=true]:
|
||||
# Tasks can execute simultaneously - no dependencies
|
||||
```
|
||||
|
||||
#### 4. Include Sample Output Formats
|
||||
|
||||
```markdown
|
||||
**Output Format**:
|
||||
\```json
|
||||
{
|
||||
"status": "success",
|
||||
"segments": [
|
||||
{
|
||||
"segment_name": "Champions",
|
||||
"customer_count": 1250,
|
||||
"avg_revenue": 5200.00,
|
||||
"characteristics": {
|
||||
"recency_score": 5,
|
||||
"frequency_score": 5,
|
||||
"monetary_score": 5
|
||||
}
|
||||
}
|
||||
],
|
||||
"total_customers_analyzed": 5000,
|
||||
"execution_time_ms": 2341
|
||||
}
|
||||
\```
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Section 9: Tools
|
||||
|
||||
Document each tool/function specification.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Tools
|
||||
|
||||
### Tool: `tool_name_in_snake_case`
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
| **Function Name** | `tool_name_in_snake_case` |
|
||||
| **Function Description** | [Brief description of what this function does] |
|
||||
| **Target** | Knowledge Base / Agent / External API |
|
||||
| **Target Function** | List Columns / Query Data / Search Schema / Custom |
|
||||
|
||||
#### Input Format
|
||||
\```json
|
||||
{
|
||||
"parameter1": "value1",
|
||||
"parameter2": "value2"
|
||||
}
|
||||
\```
|
||||
|
||||
#### Output Format
|
||||
\```json
|
||||
{
|
||||
"result": "data",
|
||||
"status": "success"
|
||||
}
|
||||
\```
|
||||
|
||||
#### Example Usage
|
||||
\```
|
||||
User: "Get customer segments"
|
||||
Tool Call: query_customer_segments({"min_revenue": 1000})
|
||||
Tool Response: {"segments": [...], "total": 5}
|
||||
\```
|
||||
|
||||
### Tool: `next_tool_name`
|
||||
|
||||
[Follow same structure for each tool]
|
||||
```
|
||||
|
||||
### Tool Target Types
|
||||
|
||||
**Knowledge Base Tools:**
|
||||
- **List Columns**: Retrieve schema information
|
||||
- **Query Data (Trino SQL)**: Execute SQL queries
|
||||
- **Search Schema**: Find tables/columns (avoid if possible - can be slow)
|
||||
|
||||
**Agent Tools:**
|
||||
- **Sub-Agent Call**: Invoke another agent and return results
|
||||
- **Custom Function**: Execute custom Python/JavaScript code
|
||||
|
||||
### Best Practices for Tool Documentation
|
||||
1. **Match names** between system prompt and tool specification exactly
|
||||
2. **Use snake_case** consistently
|
||||
3. **Provide examples** of inputs and outputs
|
||||
4. **Document errors** and how the tool handles them
|
||||
5. **Specify data types** for all parameters
|
||||
|
||||
---
|
||||
|
||||
## Section 10: Input/Output Format
|
||||
|
||||
Define how users interact with the agent and what they receive.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Input/Output Format
|
||||
|
||||
### Input Format
|
||||
|
||||
**Language Request**: [Natural language or structured format]
|
||||
|
||||
**Sample Dialogue**:
|
||||
\```
|
||||
User: "[Example user query]"
|
||||
Agent: "[Agent's clarifying question if needed]"
|
||||
User: "[User's response]"
|
||||
\```
|
||||
|
||||
**Optional Parameters**:
|
||||
- `parameter_name`: [Description, constraints, default value]
|
||||
- `another_parameter`: [Description, constraints, default value]
|
||||
|
||||
### Output Format
|
||||
|
||||
**Output Type**: HTML / Plotly Graph / Markdown / JSON / Summarized Text
|
||||
|
||||
**Sample Output**:
|
||||
[Show representative example of what the user receives]
|
||||
|
||||
### Sample Conversation Flow
|
||||
|
||||
\```
|
||||
User: "Analyze my customer segments for Q4 2024"
|
||||
|
||||
Agent: "I'll analyze your customer segments. I can use RFM analysis, behavioral clustering, or both. Which would you prefer?"
|
||||
|
||||
User: "Both"
|
||||
|
||||
Agent: [Executes analysis]
|
||||
|
||||
Agent Output:
|
||||
# Customer Segmentation Analysis - Q4 2024
|
||||
|
||||
## RFM Segments
|
||||
[Table showing segments]
|
||||
|
||||
## Behavioral Clusters
|
||||
[Visualization showing clusters]
|
||||
|
||||
## Key Insights
|
||||
- [Insight 1]
|
||||
- [Insight 2]
|
||||
\```
|
||||
```
|
||||
|
||||
### Output Format Options
|
||||
|
||||
| Format | Best For | Example |
|
||||
|--------|----------|---------|
|
||||
| **HTML** | Structured presentation with formatting | Reports, dashboards, formatted tables |
|
||||
| **Plotly Graph** | Data visualizations | Charts, graphs, interactive visualizations |
|
||||
| **Markdown** | Text-heavy content with structure | Analysis summaries, documentation |
|
||||
| **JSON** | Programmatic consumption | API responses, data pipelines |
|
||||
| **Summarized Text** | Quick insights | Executive summaries, key findings |
|
||||
|
||||
---
|
||||
|
||||
## Section 11: User Prompts
|
||||
|
||||
User prompts guide the conversation and capture necessary information.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## User Prompt: [Prompt Name]
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
| **User Prompt Name** | [Descriptive name indicating purpose] |
|
||||
| **Purpose** | [What this prompt accomplishes] |
|
||||
|
||||
### User Prompt Text
|
||||
|
||||
\```
|
||||
Step 1: [First question or instruction]
|
||||
- Option A: [Description]
|
||||
- Option B: [Description]
|
||||
- Option C: [Description]
|
||||
|
||||
Step 2: [Next question based on previous answer]
|
||||
[Continue step-by-step flow]
|
||||
|
||||
Step 3: [Final configuration]
|
||||
[Gather remaining details]
|
||||
\```
|
||||
|
||||
### Advanced Settings
|
||||
|
||||
**Pre-Configuration Checklist**:
|
||||
- [ ] [Configuration item 1]
|
||||
- [ ] [Configuration item 2]
|
||||
- [ ] [Configuration item 3]
|
||||
|
||||
**System Prompt Override** (if applicable):
|
||||
[Explain if/when system prompt can be customized by users]
|
||||
|
||||
### Sample Conversation
|
||||
|
||||
\```
|
||||
Agent: "Welcome! I can help you with customer segmentation. What would you like to do?
|
||||
1. Analyze existing segments
|
||||
2. Create new segments
|
||||
3. Compare segment performance"
|
||||
|
||||
User: "Analyze existing segments"
|
||||
|
||||
Agent: "Great! Which time period should I analyze?
|
||||
- Last 30 days
|
||||
- Last quarter
|
||||
- Last year
|
||||
- Custom date range"
|
||||
|
||||
User: "Last quarter"
|
||||
|
||||
Agent: "Analyzing your customer segments for Q3 2024..."
|
||||
[Proceeds with analysis]
|
||||
\```
|
||||
```
|
||||
|
||||
### User Prompt Best Practices
|
||||
|
||||
1. **Step-by-step flow**: Guide users through complex tasks incrementally
|
||||
2. **Clear options**: Provide specific choices rather than open-ended questions
|
||||
3. **Context**: Explain what each option does and why they'd choose it
|
||||
4. **Validation**: Include checks to ensure user input is valid
|
||||
5. **Defaults**: Suggest sensible defaults for common use cases
|
||||
|
||||
---
|
||||
|
||||
## Section 12: Development Roadmap
|
||||
|
||||
Track the agent's development milestones and future plans.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Development Roadmap
|
||||
|
||||
### Milestones
|
||||
|
||||
| Phase | Date | Deliverables | Status |
|
||||
|-------|------|--------------|--------|
|
||||
| **Planning** | [Date] | Requirements, architecture design, team formation | ✅ Complete |
|
||||
| **Development** | [Date] | Core functionality, tools, system prompt | ✅ Complete |
|
||||
| **Testing** | [Date] | Unit tests, integration tests, user testing | ✅ Complete |
|
||||
| **Deployment** | [Date] | Production deployment, documentation, training | 🔄 In Progress |
|
||||
| **Enhancement** | [Date] | Feature additions, optimizations, feedback integration | 📅 Planned |
|
||||
|
||||
### Future Enhancements
|
||||
- [ ] [Planned feature 1]
|
||||
- [ ] [Planned feature 2]
|
||||
- [ ] [Planned feature 3]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Section 13: Demo
|
||||
|
||||
Provide examples and demonstrations of the agent in action.
|
||||
|
||||
### Template
|
||||
|
||||
```markdown
|
||||
## Demo
|
||||
|
||||
### Input Example
|
||||
|
||||
\```
|
||||
User Query: "[Realistic example user input]"
|
||||
|
||||
Context:
|
||||
- [Relevant context or prerequisites]
|
||||
\```
|
||||
|
||||
### Output Example
|
||||
|
||||
\```
|
||||
[Show exactly what the agent returns]
|
||||
|
||||
[Include visualizations, formatted output, or screenshots]
|
||||
\```
|
||||
|
||||
### Video Recording
|
||||
|
||||
**Demo Video**: [Link to recording]
|
||||
**Duration**: [Length]
|
||||
**Covers**: [What the demo shows]
|
||||
|
||||
### Live Demo Access
|
||||
|
||||
**Demo Environment**: [Link if available]
|
||||
**Test Credentials**: [If applicable]
|
||||
**Sample Data**: [Link to sample data for testing]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Complete Documentation Example
|
||||
|
||||
Here's a concise example applying all the templates:
|
||||
|
||||
```markdown
|
||||
# Customer RFM Segmentation Agent
|
||||
|
||||
## Basic Information
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
| **Project Name** | Customer RFM Segmentation Agent |
|
||||
| **Type** | Field Agent |
|
||||
| **Interface Type** | Chat |
|
||||
| **Status** | Production |
|
||||
| **Version** | 1.2.0 |
|
||||
| **Model** | Claude 4 Sonnet |
|
||||
| **Temperature** | 0 |
|
||||
|
||||
## Purpose & Functionality
|
||||
|
||||
### Description
|
||||
Automatically segments customers using RFM (Recency, Frequency, Monetary) analysis to identify high-value segments and at-risk customers.
|
||||
|
||||
### Business Value
|
||||
Enables 10x faster customer segmentation, improving campaign targeting by 35% and increasing marketing ROI.
|
||||
|
||||
## System Prompt: RFM Agent
|
||||
|
||||
# Customer RFM Segmentation Agent
|
||||
|
||||
Analyzes customer transaction data to create actionable segments.
|
||||
|
||||
# Role
|
||||
- Query customer transaction databases
|
||||
- Calculate RFM scores for each customer
|
||||
- Assign customers to segments based on scores
|
||||
- Generate visualizations and insights
|
||||
|
||||
# Goal
|
||||
Provide marketers with clear customer segments and actionable insights for targeted campaigns.
|
||||
|
||||
## Available Tools
|
||||
|
||||
### Database Access
|
||||
**Tool**: `verify_database_access`
|
||||
**Purpose**: Verify user has access to customer database
|
||||
**Input**: Database name
|
||||
**Output**: Access status (granted/denied)
|
||||
|
||||
### Data Retrieval
|
||||
**Tool**: `query_customer_transactions`
|
||||
**Purpose**: Retrieve customer transaction history
|
||||
**Input**: Database, table, date range
|
||||
**Output**: Transaction records with customer_id, date, amount
|
||||
|
||||
### RFM Calculation
|
||||
**Tool**: `calculate_rfm_scores`
|
||||
**Purpose**: Calculate Recency, Frequency, Monetary scores
|
||||
**Input**: Transaction data
|
||||
**Output**: RFM scores per customer
|
||||
|
||||
### Visualization
|
||||
**Tool**: `generate_segment_chart`
|
||||
**Purpose**: Create Plotly visualization of segments
|
||||
**Input**: Segment data
|
||||
**Output**: Plotly JSON chart specification
|
||||
|
||||
## Task Flow
|
||||
|
||||
### Task 1: Verify Access [required = true, mandatory_start = true]
|
||||
|
||||
**Steps** [sequential=true]:
|
||||
1. Call `verify_database_access` with customer database name
|
||||
2. If access denied, return error and stop
|
||||
3. If access granted, proceed to Task 2
|
||||
|
||||
### Task 2: Retrieve Transaction Data [required = true]
|
||||
|
||||
**Steps** [sequential=true]:
|
||||
1. Call `query_customer_transactions` with date range (default: last 365 days)
|
||||
2. Validate minimum 100 records returned
|
||||
3. If insufficient data, warn user and ask to expand date range
|
||||
4. Proceed to Task 3
|
||||
|
||||
### Task 3: Calculate RFM [required = true]
|
||||
|
||||
**Steps** [sequential=true]:
|
||||
1. Call `calculate_rfm_scores` with transaction data
|
||||
2. Assign scores 1-5 for Recency (days since last purchase)
|
||||
3. Assign scores 1-5 for Frequency (number of purchases)
|
||||
4. Assign scores 1-5 for Monetary (total revenue)
|
||||
5. Create segments based on score combinations:
|
||||
- Champions: RFM 5-5-5
|
||||
- Loyal: RFM 4-5-4 or 5-4-5
|
||||
- At Risk: RFM 2-3-3 or 3-2-3
|
||||
- Lost: RFM 1-1-1
|
||||
6. Proceed to Task 4
|
||||
|
||||
### Task 4: Generate Output [required = true]
|
||||
|
||||
**Steps** [parallel=true]:
|
||||
1. Call `generate_segment_chart` to create visualization
|
||||
2. Format summary statistics
|
||||
3. Compile key insights
|
||||
|
||||
**Output Format**:
|
||||
\```json
|
||||
{
|
||||
"segments": [
|
||||
{"name": "Champions", "count": 1250, "avg_revenue": 5200},
|
||||
{"name": "Loyal", "count": 2100, "avg_revenue": 3100}
|
||||
],
|
||||
"chart": { "plotly_json": "..." },
|
||||
"insights": ["45% of revenue from Champions (25% of customers)"]
|
||||
}
|
||||
\```
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Best Practices Summary
|
||||
|
||||
### Documentation Do's ✅
|
||||
- Use clear, descriptive tool names in snake_case
|
||||
- Provide detailed pseudo-logic in system prompts
|
||||
- Include sample inputs and outputs for every tool
|
||||
- Keep documentation updated with code changes
|
||||
- Use semantic versioning
|
||||
- Include visual examples and demos
|
||||
- Document error handling explicitly
|
||||
|
||||
### Documentation Don'ts ❌
|
||||
- Don't use vague tool names (verify, list, query)
|
||||
- Don't write generic system prompts without details
|
||||
- Don't skip example conversations
|
||||
- Don't forget to update version numbers
|
||||
- Don't leave links broken or outdated
|
||||
- Don't omit dependencies or prerequisites
|
||||
- Don't publish without demo/video
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference: Tool Naming
|
||||
|
||||
| Purpose | Good Name | Bad Name |
|
||||
|---------|-----------|----------|
|
||||
| Verify database access | `verify_database_access` | `verify` |
|
||||
| List columns from customer DB | `list_columns_customer_db` | `listColumns` |
|
||||
| Query sales data | `query_sales_data` | `query` |
|
||||
| Calculate RFM scores | `calculate_rfm_scores` | `calcRFM` |
|
||||
| Generate visualization | `generate_segment_chart` | `makeChart` |
|
||||
|
||||
---
|
||||
|
||||
By following this comprehensive documentation template, your Field Agent documentation will be clear, consistent, and professional, making it easy for users to understand, deploy, and use your agents effectively.
|
||||
Reference in New Issue
Block a user