@verygoodplugins/mcp-freescout 1.3.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,10 +32,6 @@
32
32
  "WebFetch",
33
33
  "WebFetch(domain:wpfusion.com)",
34
34
  "WebSearch",
35
- "Bash(curl -s \"https://wpfusion.com/wp-json/*\")",
36
- "Bash(curl -u \"$WPF_DOCS_USER:$WPF_DOCS_PASSWORD\" \"https://wpfusion.com/wp-json/*\")",
37
- "Bash(curl -H \"Authorization: Basic*\" \"https://wpfusion.com/wp-json/*\")",
38
- "Bash(curl -s -H \"Authorization: Basic*\" \"$WPF_DOCS_URL/wp-json/*\")",
39
35
  "Bash(curl -X POST:*)",
40
36
  "Bash(curl -X PUT:*)",
41
37
  "Bash(curl -X PATCH:*)",
package/AGENTS.md ADDED
@@ -0,0 +1,36 @@
1
+ # Repository Guidelines
2
+
3
+ ## Project Structure & Modules
4
+ - **Source**: TypeScript sources live in `src/` (`index.ts`, `freescout-api.ts`, `ticket-analyzer.ts`, `types.ts`).
5
+ - **Build output**: Compiled JavaScript and type declarations are in `dist/` (do not edit directly).
6
+ - **Entry point**: The MCP server CLI entry is `src/index.ts`, built to `dist/index.js` and exposed as `mcp-freescout`.
7
+
8
+ ## Build, Test & Development
9
+ - **Install**: `npm install` – install dependencies.
10
+ - **Dev server**: `npm run dev` – run `src/index.ts` with live reload.
11
+ - **Build**: `npm run build` – compile TypeScript to `dist/`.
12
+ - **Test**: `npm test` – run Jest test suite.
13
+ - **Lint**: `npm run lint` – run ESLint over `src/**/*.ts`.
14
+ - **Format**: `npm run format` – apply Prettier formatting to `src/**/*.ts`.
15
+
16
+ ## Coding Style & Naming
17
+ - **Language**: TypeScript with ES modules (`type: module`).
18
+ - **Formatting**: Use Prettier via `npm run format`; 2‑space indentation and single quotes where possible.
19
+ - **Linting**: ESLint with `@typescript-eslint` rules; fix warnings before opening a PR.
20
+ - **Naming**: Use `camelCase` for variables/functions, `PascalCase` for classes/types, and descriptive file names (e.g., `freescout-api.ts`).
21
+
22
+ ## Testing Guidelines
23
+ - **Framework**: Jest (`npm test`).
24
+ - **Location**: Place tests alongside code as `*.test.ts` or in a dedicated test folder if introduced consistently.
25
+ - **Scope**: Cover new behavior, especially FreeScout API calls and ticket analysis logic.
26
+ - **CI readiness**: Ensure `npm test` and `npm run lint` pass locally before pushing.
27
+
28
+ ## Commit & Pull Requests
29
+ - **Commits**: Write clear, imperative messages (e.g., `Add ticket analyzer tests`, `Fix FreeScout auth error`).
30
+ - **Branches**: Use short, descriptive names (e.g., `feat/ticket-tags`, `fix/rate-limits`).
31
+ - **PRs**: Include a concise summary, motivation, testing notes (`npm test`, `npm run lint`), and link related issues. Add screenshots or logs when changing error handling or CLI behavior.
32
+
33
+ ## Memory MCP Usage
34
+ - **Start of work**: Use the memory MCP to recall project-specific context for the area you are modifying (recent bugs, decisions, or related files).
35
+ - **During/after work**: When you fix an issue or learn something important (API behavior, edge case, configuration nuance), store or update a memory via the MCP.
36
+ - **Associations**: When relevant, associate new memories with existing ones (e.g., linking a bugfix to a specific module or decision) to keep context navigable for future tasks.
package/README.md CHANGED
@@ -9,7 +9,7 @@ An MCP (Model Context Protocol) server for FreeScout helpdesk ticket management
9
9
  - 💬 **Draft Responses**: Generate customer replies based on ticket analysis
10
10
  - 🌳 **Git Integration**: Create and manage Git worktrees for ticket implementations
11
11
  - 🔄 **Full Workflow Support**: Complete ticket-to-PR workflow automation
12
- - 📊 **Search Capabilities**: Search and filter tickets across your FreeScout instance
12
+ - 📊 **Search Capabilities**: Search and filter tickets across your FreeScout instance with mailbox filtering support
13
13
 
14
14
  ## Installation
15
15
 
@@ -64,7 +64,8 @@ Add this to your Cursor settings.json or create `~/.cursor/mcp.json`:
64
64
  "args": ["@verygoodplugins/mcp-freescout@latest"],
65
65
  "env": {
66
66
  "FREESCOUT_URL": "https://your-freescout-domain.com",
67
- "FREESCOUT_API_KEY": "your-api-key-here"
67
+ "FREESCOUT_API_KEY": "your-api-key-here",
68
+ "WORKING_DIRECTORY": "${workspaceFolder}"
68
69
  }
69
70
  }
70
71
  }
@@ -104,7 +105,8 @@ npm run build
104
105
  "args": ["/path/to/mcp-freescout/dist/index.js"],
105
106
  "env": {
106
107
  "FREESCOUT_URL": "https://your-freescout-domain.com",
107
- "FREESCOUT_API_KEY": "your-api-key-here"
108
+ "FREESCOUT_API_KEY": "your-api-key-here",
109
+ "WORKING_DIRECTORY": "/path/to/your/project"
108
110
  }
109
111
  }
110
112
  }
@@ -272,6 +274,7 @@ Search for tickets across your FreeScout instance.
272
274
  **Parameters:**
273
275
  - `query` (required): Search query
274
276
  - `status` (optional): Filter by status ('active', 'pending', 'closed', 'spam', 'all')
277
+ - `mailboxId` (optional): Filter by specific mailbox ID (searches all mailboxes if not specified)
275
278
 
276
279
  **Natural Language Examples:**
277
280
  - "Search for tickets containing 'OAuth error'"
@@ -279,6 +282,27 @@ Search for tickets across your FreeScout instance.
279
282
  - "Search for closed tickets about 'plugin conflicts'"
280
283
  - "Look for tickets from customer 'victor@example.com'"
281
284
  - "Find all active tickets related to 'authentication'"
285
+ - "Search for tickets in mailbox 1 containing 'bug report'"
286
+ - "Find tickets in mailbox 2 with status pending"
287
+
288
+ **Search Tips for AI Agents:**
289
+ - For **unassigned tickets**: Use query `"assignee:null"` with status `"active"`
290
+ - For **assigned tickets to a user**: Search by content and filter by assignee in results
291
+ - **Status "active"** = open/active tickets (NOT "open" - that's invalid)
292
+ - **Empty queries** may return inconsistent results - always use specific search terms
293
+ - Use **freescout_get_mailboxes** first if filtering by mailbox
294
+
295
+ #### `freescout_get_mailboxes`
296
+ Get a list of all available mailboxes in your FreeScout instance.
297
+
298
+ **Parameters:**
299
+ None
300
+
301
+ **Natural Language Examples:**
302
+ - "Show me all available mailboxes"
303
+ - "List the mailboxes in FreeScout"
304
+ - "What mailboxes are configured?"
305
+ - "Get mailbox information"
282
306
 
283
307
  ### Git Workflow Tools
284
308
 
@@ -338,7 +362,7 @@ Create a GitHub pull request for the current branch. Automatically detects the r
338
362
  ### Workflow Automation
339
363
 
340
364
  #### `freescout_implement_ticket`
341
- Complete workflow automation: analyze ticket, create worktree, and prepare implementation plan.
365
+ workflow automation: analyze ticket, create worktree, and prepare implementation plan.
342
366
 
343
367
  **Parameters:**
344
368
  - `ticket` (required): Ticket ID, number, or FreeScout URL
@@ -432,6 +456,8 @@ await mcp.callTool('git_remove_worktree', {
432
456
  ticketId: '12345'
433
457
  });
434
458
  ```
459
+ ![Complete implementation workflow](https://github.com/user-attachments/assets/dd003100-acfe-420b-b9a8-4253d07545d4)
460
+
435
461
 
436
462
  ### Draft Reply Workflow
437
463
  ```javascript
@@ -16,7 +16,9 @@ export declare class FreeScoutAPI {
16
16
  assignTo?: number;
17
17
  byUser?: number;
18
18
  }): Promise<FreeScoutConversation>;
19
- searchConversations(query: string, status?: string): Promise<FreeScoutApiResponse<FreeScoutConversation>>;
19
+ searchConversations(query: string, status?: string, state?: string, mailboxId?: number): Promise<FreeScoutApiResponse<FreeScoutConversation>>;
20
+ listConversations(status?: string, state?: string, assignee?: string | null): Promise<FreeScoutApiResponse<FreeScoutConversation>>;
21
+ getMailboxes(): Promise<any>;
20
22
  extractTicketIdFromUrl(url: string): string | null;
21
23
  parseTicketInput(input: string): string;
22
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"freescout-api.d.ts","sourceRoot":"","sources":["../src/freescout-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK3C;;OAEG;IACH,OAAO,CAAC,cAAc;YAgIR,OAAO;IA6Bf,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,OAAc,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IAO3B,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAC5B,OAAO,CAAC,eAAe,CAAC;IAqBrB,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC;IAMrB,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAUvD,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQlD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAoBxC"}
1
+ {"version":3,"file":"freescout-api.d.ts","sourceRoot":"","sources":["../src/freescout-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK3C;;OAEG;IACH,OAAO,CAAC,cAAc;YAgIR,OAAO;IA6Bf,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,OAAc,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IAO3B,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAC5B,OAAO,CAAC,eAAe,CAAC;IAqBrB,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC;IAMrB,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAkCjD,iBAAiB,CACrB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAiBjD,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC;IAIlC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQlD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAoBxC"}
@@ -166,14 +166,53 @@ export class FreeScoutAPI {
166
166
  async updateConversation(ticketId, updates) {
167
167
  return this.request(`/conversations/${ticketId}`, 'PUT', updates);
168
168
  }
169
- async searchConversations(query, status) {
169
+ async searchConversations(query, status, state, mailboxId) {
170
+ // Valid statuses as defined in the API
171
+ const VALID_STATUSES = ['active', 'pending', 'closed', 'spam'];
170
172
  const params = new URLSearchParams();
171
173
  if (query)
172
174
  params.append('query', query);
175
+ // Handle state parameter
176
+ if (state)
177
+ params.append('state', state);
178
+ // Handle mailboxId (including 0) but not null/undefined
179
+ if (mailboxId != null) { // Checks for both null and undefined
180
+ params.append('mailboxId', mailboxId.toString());
181
+ }
182
+ // Handle status parameter
183
+ if (status) {
184
+ if (status === 'all') {
185
+ // When status is 'all', append each valid status explicitly
186
+ VALID_STATUSES.forEach(validStatus => {
187
+ params.append('status', validStatus);
188
+ });
189
+ }
190
+ else {
191
+ // Only append single status when a specific status is provided
192
+ params.append('status', status);
193
+ }
194
+ }
195
+ return this.request(`/conversations?${params.toString()}`);
196
+ }
197
+ async listConversations(status, state, assignee) {
198
+ const params = new URLSearchParams();
173
199
  if (status)
174
200
  params.append('status', status);
201
+ if (state)
202
+ params.append('state', state);
203
+ if (assignee !== undefined) {
204
+ if (assignee === null) {
205
+ params.append('assignee', 'null');
206
+ }
207
+ else {
208
+ params.append('assignee', assignee);
209
+ }
210
+ }
175
211
  return this.request(`/conversations?${params.toString()}`);
176
212
  }
213
+ async getMailboxes() {
214
+ return this.request('/mailboxes');
215
+ }
177
216
  extractTicketIdFromUrl(url) {
178
217
  // Match patterns like:
179
218
  // https://domain.com/conversation/12345
@@ -1 +1 @@
1
- {"version":3,"file":"freescout-api.js","sourceRoot":"","sources":["../src/freescout-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"freescout-api.js","sourceRoot":"","sources":["../src/freescout-api.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -200,23 +200,41 @@ const tools = [
200
200
  },
201
201
  {
202
202
  name: 'freescout_search_tickets',
203
- description: 'Search for FreeScout tickets',
203
+ description: 'Search for FreeScout tickets. For unassigned tickets use query "assignee:null". For assigned tickets search by text and filter by status. Status values: active (open tickets), pending, closed, spam. Default state is "published" (excludes deleted tickets).',
204
204
  inputSchema: {
205
205
  type: 'object',
206
206
  properties: {
207
207
  query: {
208
208
  type: 'string',
209
- description: 'Search query',
209
+ description: 'Search query. Use "assignee:null" for unassigned tickets, or search ticket content/subject. Examples: "authentication error", "assignee:null", "OAuth timeout"',
210
210
  },
211
211
  status: {
212
212
  type: 'string',
213
213
  enum: ['active', 'pending', 'closed', 'spam', 'all'],
214
- description: 'Filter by status (default: all)',
214
+ description: 'Filter by status. Use "active" for open/active tickets, "pending" for awaiting response, "closed" for resolved, "spam" for spam, "all" for any status (default: all)',
215
+ },
216
+ state: {
217
+ type: 'string',
218
+ enum: ['published', 'deleted'],
219
+ description: 'Filter by state. "published" = normal tickets (default), "deleted" = deleted/trashed tickets',
220
+ },
221
+ mailboxId: {
222
+ type: 'number',
223
+ description: 'Filter by specific mailbox ID. Omit to search all mailboxes. Use freescout_get_mailboxes to see available mailboxes.',
215
224
  },
216
225
  },
217
226
  required: ['query'],
218
227
  },
219
228
  },
229
+ {
230
+ name: 'freescout_get_mailboxes',
231
+ description: 'Get list of available mailboxes',
232
+ inputSchema: {
233
+ type: 'object',
234
+ properties: {},
235
+ required: [],
236
+ },
237
+ },
220
238
  {
221
239
  name: 'git_create_worktree',
222
240
  description: 'Create a Git worktree for working on a ticket',
@@ -447,7 +465,49 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
447
465
  };
448
466
  }
449
467
  case 'freescout_search_tickets': {
450
- const results = await api.searchConversations(args.query, args.status);
468
+ // Always default to 'published' state unless user explicitly requests 'deleted'
469
+ const state = args.state || 'published';
470
+ const query = args.query;
471
+ let results;
472
+ // If searching for unassigned tickets, use the list endpoint which properly supports filtering
473
+ if (query.includes('assignee:null') || query.includes('unassigned')) {
474
+ results = await api.listConversations(args.status, state, null // null assignee for unassigned tickets
475
+ );
476
+ }
477
+ else {
478
+ // Use search for other queries
479
+ results = await api.searchConversations(query, args.status, state, args.mailboxId);
480
+ /**
481
+ * LIMITATION: The FreeScout searchConversations API endpoint does not respect
482
+ * the 'state' parameter (published/draft). Unlike the list endpoint, which
483
+ * correctly filters by state, the search endpoint ignores this parameter and
484
+ * returns all conversations regardless of state.
485
+ *
486
+ * WORKAROUND: We apply client-side filtering below when state='published'.
487
+ *
488
+ * PERFORMANCE IMPLICATIONS:
489
+ * - Client-side filtering may be expensive for large result sets
490
+ * - Pagination counts may be inaccurate (total_elements reflects filtered count)
491
+ * - Results may be incomplete if the API returns paginated data
492
+ *
493
+ * ACTION ITEM: Verify with FreeScout maintainers whether the searchConversations
494
+ * endpoint should accept the 'state' parameter or if API documentation only
495
+ * applies to the list endpoint. Consider filing an issue or feature request.
496
+ */
497
+ if (state === 'published' && results._embedded?.conversations) {
498
+ const originalCount = results._embedded.conversations.length;
499
+ results._embedded.conversations = results._embedded.conversations.filter((conversation) => conversation.state === 'published');
500
+ const filteredCount = results._embedded.conversations.length;
501
+ console.error(`[WARNING] searchConversations endpoint does not respect 'state' parameter. ` +
502
+ `Applied client-side filtering for state='${state}'. ` +
503
+ `Original count: ${originalCount}, Filtered count: ${filteredCount}. ` +
504
+ `This may be expensive for large result sets and incomplete with pagination.`);
505
+ // Update the total count to reflect filtered results
506
+ if (results.page) {
507
+ results.page.total_elements = results._embedded.conversations.length;
508
+ }
509
+ }
510
+ }
451
511
  return {
452
512
  content: [
453
513
  {
@@ -457,6 +517,17 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
457
517
  ],
458
518
  };
459
519
  }
520
+ case 'freescout_get_mailboxes': {
521
+ const mailboxes = await api.getMailboxes();
522
+ return {
523
+ content: [
524
+ {
525
+ type: 'text',
526
+ text: JSON.stringify(mailboxes, null, 2),
527
+ },
528
+ ],
529
+ };
530
+ }
460
531
  case 'git_create_worktree': {
461
532
  if (!isGitAvailable()) {
462
533
  return {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@verygoodplugins/mcp-freescout",
3
- "version": "1.3.0",
3
+ "version": "1.4.2",
4
4
  "description": "MCP server for FreeScout ticket management and workflow automation",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "bin": {
8
- "mcp-freescout": "./dist/index.js"
8
+ "mcp-freescout": "dist/index.js"
9
9
  },
10
10
  "scripts": {
11
11
  "build": "tsc",
@@ -29,7 +29,7 @@
29
29
  "license": "GPL-3.0",
30
30
  "repository": {
31
31
  "type": "git",
32
- "url": "https://github.com/verygoodplugins/mcp-freescout.git"
32
+ "url": "git+https://github.com/verygoodplugins/mcp-freescout.git"
33
33
  },
34
34
  "homepage": "https://github.com/verygoodplugins/mcp-freescout#readme",
35
35
  "bugs": {
@@ -37,9 +37,11 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@modelcontextprotocol/sdk": "^0.5.0",
40
+ "dotenv": "^16.3.1",
41
+ "isomorphic-dompurify": "^2.16.0",
42
+ "marked": "^17.0.0",
40
43
  "node-fetch": "^3.3.2",
41
- "zod": "^3.22.4",
42
- "dotenv": "^16.3.1"
44
+ "zod": "^3.22.4"
43
45
  },
44
46
  "devDependencies": {
45
47
  "@types/node": "^20.10.0",
@@ -51,4 +53,4 @@
51
53
  "tsx": "^4.6.0",
52
54
  "typescript": "^5.3.0"
53
55
  }
54
- }
56
+ }
@@ -1,422 +0,0 @@
1
- ---
2
- allowed-tools: Bash(curl:*), Bash(jq:*), Bash(gh:*), Bash(find:*), Bash(grep:*), Bash(git:*), Bash(ls:*), Bash(mkdir:*), Bash(cp:*), Bash(awk:*), Bash(wc:*), Bash(tr:*), Bash(./vendor/bin/*), mcp_playwright_browser_navigate, mcp_playwright_browser_take_screenshot, mcp_playwright_browser_click, mcp_playwright_browser_type, mcp_playwright_browser_resize, mcp_playwright_browser_close
3
- auto-approve: true
4
- description: Implement FreeScout ticket with testing, PR creation, customer reply, and documentation updates
5
- argument-hint: <ticket-number> [additional context] | <freescout-ticket-url> [additional context]
6
- ---
7
-
8
- # Implement FreeScout Ticket with Full Workflow
9
-
10
- Please implement the FreeScout ticket following this comprehensive workflow using structured XML tags for clarity.
11
-
12
- <input>
13
- $ARGUMENTS (FreeScout ticket ID or URL, with optional context)
14
- </input>
15
-
16
- <project_context>
17
- **Note**: This workflow is plugin-agnostic. The AI will understand the specific project name, scope, and coding standards from the project's CLAUDE.md and instructions.md files. References to "the plugin" in this workflow refer to the current project being worked on.
18
- </project_context>
19
-
20
- <instructions>
21
- ## Interactive Setup
22
-
23
- **IMPORTANT**: Before starting, check if $ARGUMENTS is empty or just contains whitespace.
24
-
25
- If $ARGUMENTS is empty, STOP and ask the user:
26
- <prompt_template>
27
- "What FreeScout ticket would you like me to implement? Please provide:
28
- - A ticket number (e.g., 12345)
29
- - A FreeScout ticket URL
30
- - Or the ticket ID
31
- - Optionally include additional context or suggestions after the ticket ID"
32
- </prompt_template>
33
-
34
- Wait for their response before proceeding.
35
-
36
- ## Parse Arguments
37
- <argument_parsing>
38
- 1. **Extract ticket ID**: First argument should be the ticket ID or URL
39
- 2. **Extract additional context**: Everything after the ticket ID is treated as additional context/suggestions
40
- 3. **Store context**: Save any additional context to reference during implementation
41
- </argument_parsing>
42
- </instructions>
43
-
44
- <setup_steps>
45
- ## Setup Steps
46
-
47
- <ticket_extraction>
48
- 4. **Extract ticket ID from argument**:
49
- - If numeric: Use directly as ticket ID
50
- - If URL: Extract ticket ID from URL pattern
51
- </ticket_extraction>
52
-
53
- <api_integration>
54
- 5. **Get ticket details via FreeScout API**:
55
- ```bash
56
- # Get conversation with threads included
57
- curl -s -H "X-FreeScout-API-Key: $FREESCOUT_API_KEY" \
58
- "$FREESCOUT_URL/api/conversations/$TICKET_ID?embed=threads" | jq '.'
59
- ```
60
-
61
- <api_response_structure>
62
- **FreeScout API Response Structure**:
63
- - `_embedded.threads[]`: Array of conversation messages
64
- - `_embedded.threads[].type`: The type of message (note, customer, user)
65
- - `_embedded.threads[].body`: HTML content of the message
66
- - `_embedded.threads[].created_by_customer`: Boolean for customer messages
67
- - `_embedded.customer`: Customer details (email, first_name, last_name)
68
- - `status`: The status of the ticket (active, pending, closed, spam)
69
- - `user_id`: Currently assigned user ID
70
- </api_response_structure>
71
- </api_integration>
72
-
73
- <information_extraction>
74
- 6. **Extract key information**:
75
- - Customer email and name from `_embedded.customer`
76
- - Issue description from customer messages (type=customer)
77
- - Any code snippets or error messages from thread bodies
78
- - Check internal notes (type=note) for mentions of testing done by a team member
79
- - Extract any attachment URLs from `_embedded.threads[].attachments[]`
80
- </information_extraction>
81
-
82
- <attachment_handling>
83
- 7. **Check for attachments**:
84
- - If attachments exist, list them and ask user to provide local paths if needed
85
- - Note any visual requirements or screenshots provided
86
- </attachment_handling>
87
- </setup_steps>
88
-
89
- <testing_phase>
90
- ## Testing Phase
91
-
92
- <testing_decision>
93
- 8. **Determine if testing is needed**:
94
- - Skip if issue in ticket has already been confirmed reproducible by a team member
95
- - Skip if customer provided their own code solution
96
- - Otherwise, reproduce the issue:
97
- <reproduction_steps>
98
- a. Set up test environment based on ticket details
99
- b. Use Playwright browser if UI testing is needed
100
- c. Document reproduction steps
101
- d. Take "before" screenshot if applicable
102
- </reproduction_steps>
103
- </testing_decision>
104
- </testing_phase>
105
-
106
- <analysis_and_planning>
107
- ## Analysis & Planning
108
-
109
- <code_research>
110
- 9. **Search for related code**:
111
- - Use ticket keywords to find relevant files
112
- - For complex searches across multiple files, use Task tool to manage context
113
- - Check for similar past issues or patterns
114
- - Search for known limitations or third-party plugin conflicts
115
- </code_research>
116
-
117
- <issue_analysis>
118
- 10. **Analyze the issue and plan solution**:
119
- - Review ticket details, customer messages, and any provided context
120
- <bug_classification>
121
- - **First determine if this is a bug we can fix**:
122
- - Is it a third-party plugin limitation (like Elementor copy/paste issues)?
123
- - Is it expected behavior that needs clarification?
124
- - Is it a configuration issue rather than a bug?
125
- </bug_classification>
126
- - If it's NOT a bug, skip to drafting explanatory reply
127
- - If it IS a bug, identify root cause and plan implementation
128
- - Consider multiple solution approaches
129
- - Factor in any additional context provided by user
130
- - Plan implementation strategy
131
- </issue_analysis>
132
-
133
- <solution_review>
134
- 11. **Present solution for review**:
135
- - STOP before implementing and present the proposed solution:
136
- <solution_template>
137
- ```
138
- "Based on the ticket analysis, here's my proposed solution:
139
-
140
- ## Issue Summary:
141
- [Brief description of the problem]
142
-
143
- ## Root Cause:
144
- [What's causing the issue]
145
-
146
- ## Proposed Solution:
147
- [Detailed plan for the fix]
148
-
149
- ## Files to Modify:
150
- [List of files that will be changed]
151
-
152
- ## Additional Context Considered:
153
- [Reference any user-provided context]
154
-
155
- ## Alternative Approaches:
156
- [Other options considered]
157
-
158
- Would you like me to proceed with this implementation, or do you have feedback/modifications? (proceed/modify)"
159
- ```
160
- </solution_template>
161
- - Wait for user approval or feedback before continuing
162
- - If user provides modifications, incorporate them into the plan
163
- </solution_review>
164
- </analysis_and_planning>
165
-
166
- <alternative_workflow>
167
- ## Alternative: Explanatory Reply (No Code Changes Needed)
168
-
169
- <explanatory_reply>
170
- **If the issue is NOT a plugin bug that can be fixed**, skip implementation and go directly to:
171
-
172
- 11a. **Draft explanatory reply**:
173
- <research_requirements>
174
- - Research the actual cause (third-party limitations, expected behavior, etc.)
175
- - Use WebSearch to find supporting evidence (GitHub issues, documentation, forums)
176
- - Use WebFetch to examine specific issue pages or documentation
177
- - Draft a clear explanation for the customer with specific evidence
178
- - Include links to evidence and suggest workarounds if available
179
- </research_requirements>
180
- - Skip to step 18 to add the draft reply to FreeScout
181
- </explanatory_reply>
182
- </alternative_workflow>
183
-
184
- <implementation>
185
- ## Implementation
186
-
187
- <fix_implementation>
188
- 12. **Implement the fix** (only if this IS a plugin bug that can be fixed):
189
- <implementation_requirements>
190
- - Follow project coding standards (reference CLAUDE.md or instructions.md)
191
- - Ensure backward compatibility
192
- - Add appropriate error handling
193
- </implementation_requirements>
194
-
195
- <behavior_change_check>
196
- - **Check for behavior changes**: If the implementation modifies existing functionality, STOP and ask:
197
- <behavior_change_template>
198
- ```
199
- "This fix/feature will change existing behavior:
200
- - Current behavior: [describe current functionality]
201
- - New behavior: [describe what will change]
202
- - Affected users: [who might be impacted]
203
-
204
- This could affect customers who rely on the current behavior.
205
- Should I proceed with this change? (y/n)
206
-
207
- Alternative: [suggest a backward-compatible approach if possible]"
208
- ```
209
- </behavior_change_template>
210
- - Only proceed with behavior changes after explicit approval
211
- </behavior_change_check>
212
- </fix_implementation>
213
-
214
- <implementation_testing>
215
- 13. **Test the implementation**:
216
- <testing_requirements>
217
- - Verify the fix resolves the issue
218
- - Check for side effects
219
- - Take "after" screenshot if UI-related
220
- - Run `phpcbf` and `phpcs` on any modified files
221
- </testing_requirements>
222
- </implementation_testing>
223
- </implementation>
224
-
225
- <git_workflow>
226
- ## Git Workflow with Worktrees
227
-
228
- <worktree_setup>
229
- 14. **Create dedicated worktree for this ticket**:
230
- ```bash
231
- # Create a new worktree WITHIN the project directory for Claude Code compatibility
232
- BRANCH_NAME="fix/freescout-$TICKET_ID-brief-description"
233
- WORKTREE_DIR="./worktrees/ticket-$TICKET_ID"
234
-
235
- # Create worktrees directory if it doesn't exist
236
- mkdir -p ./worktrees
237
-
238
- # Create worktree from master branch within project directory
239
- git worktree add "$WORKTREE_DIR" -b "$BRANCH_NAME" master
240
-
241
- # Switch to the new worktree (staying within allowed directories)
242
- cd "$WORKTREE_DIR"
243
-
244
- echo "✅ Created worktree at: $WORKTREE_DIR"
245
- echo "✅ Working on branch: $BRANCH_NAME"
246
- echo "✅ This allows parallel development without affecting your main workspace"
247
- echo "✅ Worktree is within project directory for Claude Code compatibility"
248
-
249
- # Add worktrees directory to .gitignore if not already present
250
- if ! grep -q "^worktrees/$" .gitignore 2>/dev/null; then
251
- echo "worktrees/" >> .gitignore
252
- echo "✅ Added worktrees/ to .gitignore"
253
- fi
254
- ```
255
-
256
- <worktree_benefits>
257
- **Benefits of using worktrees**:
258
- - Work on multiple tickets simultaneously without branch switching
259
- - Keep your main workspace clean and unaffected
260
- - Test changes in isolation
261
- - Maintain separate development environments
262
- - Compatible with Claude Code's directory restrictions
263
- - Organized within project structure (`./worktrees/ticket-ID/`)
264
- </worktree_benefits>
265
- </worktree_setup>
266
- </git_workflow>
267
-
268
- <commit_and_pr>
269
- 15. **Commit changes with descriptive message**:
270
- <commit_requirements>
271
- - Reference the FreeScout ticket
272
- - Describe what was fixed
273
- - Include any breaking changes
274
- - Include any areas that might need human testing
275
- - Include any areas that might affect the functionality and require documentation updates
276
- </commit_requirements>
277
-
278
- 16. **Create Pull Request**:
279
- ```bash
280
- gh pr create --title "Fix: [Brief description] (FreeScout #$TICKET_ID)" \
281
- --body "## Summary
282
- Fixes issue reported in FreeScout ticket #$TICKET_ID: $FREESCOUT_URL/conversation/$TICKET_ID
283
-
284
- ## Changes
285
- - [List changes made]
286
-
287
- ## Testing
288
- - [Describe testing performed]
289
-
290
- ## Areas for Human Testing
291
- - [List areas that might need human testing]
292
-
293
- ## Areas for Documentation Updates
294
- - [List areas that might need documentation updates]
295
-
296
- ## Customer Context
297
- [Brief summary of customer's issue]
298
-
299
- 🤖 Generated with Claude Code"
300
- ```
301
-
302
- 17. **Clean up worktree automatically**:
303
- ```bash
304
- # Return to main workspace
305
- cd ../../
306
-
307
- # Remove the worktree (frees up the branch for normal Git workflow)
308
- git worktree remove "./worktrees/ticket-$TICKET_ID"
309
-
310
- echo "✅ Worktree cleaned up - you can now use normal Git workflow for PR revisions"
311
- echo "💡 To make changes: git checkout fix/freescout-$TICKET_ID-brief-description"
312
- ```
313
- </commit_and_pr>
314
-
315
- <freescout_updates>
316
- ## FreeScout Updates
317
-
318
- <customer_reply_draft>
319
- 18. **Draft customer reply**:
320
- ```bash
321
- REPLY_BODY="Hi [Customer Name],
322
-
323
- Thanks. We were able to reproduce it on our end. We've implemented a fix that [briefly describe what was fixed].
324
-
325
- The fix has been submitted for review and will be included in the next plugin update. You'll receive the update through WordPress's automatic update system.
326
-
327
- Here's what was changed:
328
- - [List key changes in user-friendly terms]
329
-
330
- Please let me know if you have any questions!
331
-
332
- Best regards,
333
- Jack"
334
- ```
335
- </customer_reply_draft>
336
-
337
- <api_updates>
338
- 19. **Update ticket via API**:
339
- <api_operations>
340
- - Add a note (internal thread) with draft reply for Jack to review
341
- - Set status to "active"
342
- - Assign to Jack (user_id: 1)
343
- </api_operations>
344
-
345
- ```bash
346
- # Add internal note with draft reply for Jack
347
- # Use jq to properly format JSON with escaped characters
348
- jq -n --arg text "Draft reply for customer:\n\n$REPLY_BODY" --argjson user 1 \
349
- '{type: "note", text: $text, user: $user}' | \
350
- curl -X POST -H "X-FreeScout-API-Key: $FREESCOUT_API_KEY" \
351
- -H "Content-Type: application/json" \
352
- "$FREESCOUT_URL/api/conversations/$TICKET_ID/threads" \
353
- -d @-
354
-
355
- # Update ticket status and assignment
356
- curl -X PUT -H "X-FreeScout-API-Key: $FREESCOUT_API_KEY" \
357
- -H "Content-Type: application/json" \
358
- "$FREESCOUT_URL/api/conversations/$TICKET_ID" \
359
- -d '{
360
- "status": "active",
361
- "assignTo": 1,
362
- "byUser": 1
363
- }'
364
- ```
365
- </api_updates>
366
- </freescout_updates>
367
-
368
- <completion>
369
- ## Completion
370
-
371
- <summary>
372
- 20. **Provide summary** with:
373
- <summary_requirements>
374
- - Link to created PR
375
- - Brief description of changes
376
- - Confirmation that FreeScout ticket was updated
377
- - Any follow-up actions needed
378
- </summary_requirements>
379
- </summary>
380
-
381
-
382
-
383
- <documentation_updates>
384
- 21. **Documentation Update Prompt**:
385
- <documentation_scope>
386
- - **Skip for bug fixes** - documentation updates are only needed for:
387
- - New features or functionality
388
- - Changes to existing behavior that affect how customers use the plugin
389
- - Breaking changes (rare - should only happen with explicit user approval)
390
- </documentation_scope>
391
-
392
- - If this is a new feature or behavior change, ask user:
393
- <documentation_prompt>
394
- ```
395
- "Would you like to update the documentation for this feature? (y/n)
396
-
397
- The following areas may need documentation updates:
398
- - [List from PR body's "Areas for Documentation Updates"]
399
-
400
- Feature implemented: [Brief description]
401
- Component affected: [Integration/Module/Core feature name]
402
-
403
- Note: Bug fixes typically don't require documentation updates."
404
- ```
405
- </documentation_prompt>
406
-
407
- - If user responds with 'y' or 'yes':
408
- - Execute: `/update-docs [Component]: [Feature description] - [Relevant docs URL if known]`
409
- - Example: `/update-docs MemberPress: Added support for course completion tags - [documentation URL]`
410
- </documentation_updates>
411
- </completion>
412
-
413
- <implementation_notes>
414
- ## Implementation Notes
415
- <guidelines>
416
- - Consider edge cases and backward compatibility
417
- - Use the project's logging system for debugging (if available)
418
- - Follow the coding standards in CLAUDE.md
419
- - Track documentation needs during implementation for the prompt
420
- - Leverage worktrees for parallel development without disrupting your main workspace
421
- </guidelines>
422
- </implementation_notes>