|
1
|
--- |
|
2
|
name: agent-inbox |
|
3
|
description: List and manage user feedback items from the agent inbox. Use when the user asks about feedback, bug reports, feature requests, or inbox items. |
|
4
|
--- |
|
5
|
|
|
6
|
# Agent Inbox Skill |
|
7
|
|
|
8
|
List and manage user feedback items from the agent inbox. |
|
9
|
|
|
10
|
## When to Use |
|
11
|
|
|
12
|
Use this skill when the user: |
|
13
|
|
|
14
|
- Asks about feedback, bug reports, or feature requests |
|
15
|
- Wants to check their agent inbox |
|
16
|
- Asks you to review or manage inbox items |
|
17
|
- Wants to acknowledge, dismiss, or mark feedback as implemented |
|
18
|
|
|
19
|
## When NOT to Use |
|
20
|
|
|
21
|
- To automatically check the inbox without the user asking |
|
22
|
- To auto-implement feedback (present items to the user instead) |
|
23
|
- For general project task management (use project tasks instead) |
|
24
|
|
|
25
|
## Available Functions |
|
26
|
|
|
27
|
### listAgentInboxItems(statusFilter, topicFilter) |
|
28
|
|
|
29
|
List inbox items with optional filters. Checks if the agent inbox is enabled first. |
|
30
|
|
|
31
|
**Parameters:** |
|
32
|
|
|
33
|
- `statusFilter` (list[str], optional): Filter by status |
|
34
|
- `topicFilter` (list[str], optional): Filter by topic |
|
35
|
|
|
36
|
**Status values:** `"PENDING"`, `"ACKNOWLEDGED"`, `"DISMISSED"`, `"IMPLEMENTED"`, `"DELETED"` |
|
37
|
|
|
38
|
**Topic values:** `"BUG_REPORT"`, `"FEATURE_REQUEST"`, `"DESIGN"`, `"CONTENT"`, `"OTHER"` |
|
39
|
|
|
40
|
**Returns:** Dict with: |
|
41
|
|
|
42
|
- `items`: List of inbox items |
|
43
|
- `totalCount`: Total number of matching items |
|
44
|
|
|
45
|
Each item contains: |
|
46
|
|
|
47
|
- `id`: Unique item identifier |
|
48
|
- `replId`: The repl this item belongs to |
|
49
|
- `status`: Current status |
|
50
|
- `topic`: Item topic/category |
|
51
|
- `feedbackText`: The feedback content |
|
52
|
- `currentPage`: Page the feedback was submitted from |
|
53
|
- `screenshots`: List of screenshot URLs |
|
54
|
- `timeCreated`: ISO timestamp |
|
55
|
- `timeUpdated`: ISO timestamp |
|
56
|
|
|
57
|
**Example:** |
|
58
|
|
|
59
|
```javascript |
|
60
|
// List all pending items |
|
61
|
const result = await listAgentInboxItems({ statusFilter: ["PENDING"] }); |
|
62
|
for (const item of result.items) { |
|
63
|
console.log(`[${item.topic}] ${item.feedbackText}`); |
|
64
|
} |
|
65
|
|
|
66
|
// List bug reports |
|
67
|
const result = await listAgentInboxItems({ topicFilter: ["BUG_REPORT"] }); |
|
68
|
for (const item of result.items) { |
|
69
|
console.log(`[${item.topic}] ${item.feedbackText}`); |
|
70
|
} |
|
71
|
``` |
|
72
|
|
|
73
|
### updateAgentInboxItem(itemId, status) |
|
74
|
|
|
75
|
Update the status of an inbox item. |
|
76
|
|
|
77
|
**Parameters:** |
|
78
|
|
|
79
|
- `itemId` (str, required): The item ID to update |
|
80
|
- `status` (str, required): New status to set |
|
81
|
|
|
82
|
**Status values:** `"PENDING"`, `"ACKNOWLEDGED"`, `"DISMISSED"`, `"IMPLEMENTED"`, `"DELETED"` |
|
83
|
|
|
84
|
**Returns:** Dict with the updated item fields (same shape as items in list response). |
|
85
|
|
|
86
|
**Example:** |
|
87
|
|
|
88
|
```javascript |
|
89
|
// Acknowledge an item after reviewing it |
|
90
|
const result = await updateAgentInboxItem({ itemId: "abc123", status: "ACKNOWLEDGED" }); |
|
91
|
console.log(`Updated: ${result.id} -> ${result.status}`); |
|
92
|
``` |
|
93
|
|
|
94
|
## Item Topics |
|
95
|
|
|
96
|
- `BUG_REPORT`: Bug reports from users |
|
97
|
- `FEATURE_REQUEST`: Feature requests |
|
98
|
- `DESIGN`: Design feedback |
|
99
|
- `CONTENT`: Content-related feedback |
|
100
|
- `OTHER`: Other feedback |
|
101
|
|
|
102
|
## Item Statuses |
|
103
|
|
|
104
|
- `PENDING`: New, unprocessed item |
|
105
|
- `ACKNOWLEDGED`: Item has been seen and noted |
|
106
|
- `DISMISSED`: Item was dismissed |
|
107
|
- `IMPLEMENTED`: Feedback has been implemented |
|
108
|
- `DELETED`: Item was deleted |
|
109
|
|
|
110
|
## Example Workflow |
|
111
|
|
|
112
|
```javascript |
|
113
|
// 1. List pending inbox items |
|
114
|
const result = await listAgentInboxItems({ statusFilter: ["PENDING"] }); |
|
115
|
console.log(`Found ${result.totalCount} pending items`); |
|
116
|
|
|
117
|
// 2. Review each item and acknowledge |
|
118
|
for (const item of result.items) { |
|
119
|
console.log(`[${item.topic}] ${item.feedbackText}`); |
|
120
|
await updateAgentInboxItem({ itemId: item.id, status: "ACKNOWLEDGED" }); |
|
121
|
} |
|
122
|
``` |
|
123
|
|
|
124
|
## Error Handling |
|
125
|
|
|
126
|
- **Inbox not enabled**: Raises `RuntimeError` if the agent inbox is not enabled for the repl |
|
127
|
- **Invalid status**: Raises `ValueError` for unrecognized status strings |
|
128
|
- **Invalid topic**: Raises `ValueError` for unrecognized topic strings |