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