@muggleai/works 4.2.1 → 4.3.0

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.
Files changed (34) hide show
  1. package/README.md +100 -50
  2. package/dist/{chunk-CXTJOYWM.js → chunk-23NOSJFH.js} +284 -184
  3. package/dist/cli.js +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/plugin/.claude-plugin/plugin.json +4 -4
  6. package/dist/plugin/.cursor-plugin/plugin.json +3 -3
  7. package/dist/plugin/README.md +7 -5
  8. package/dist/plugin/scripts/ensure-electron-app.sh +3 -3
  9. package/dist/plugin/skills/do/e2e-acceptance.md +161 -0
  10. package/dist/plugin/skills/do/open-prs.md +78 -14
  11. package/dist/plugin/skills/muggle/SKILL.md +4 -2
  12. package/dist/plugin/skills/muggle-do/SKILL.md +6 -6
  13. package/dist/plugin/skills/muggle-test/SKILL.md +416 -0
  14. package/dist/plugin/skills/muggle-test-feature-local/SKILL.md +77 -80
  15. package/dist/plugin/skills/muggle-test-import/SKILL.md +276 -0
  16. package/dist/plugin/skills/muggle-upgrade/SKILL.md +1 -1
  17. package/dist/plugin/skills/optimize-descriptions/SKILL.md +8 -8
  18. package/package.json +15 -12
  19. package/plugin/.claude-plugin/plugin.json +4 -4
  20. package/plugin/.cursor-plugin/plugin.json +3 -3
  21. package/plugin/README.md +7 -5
  22. package/plugin/scripts/ensure-electron-app.sh +3 -3
  23. package/plugin/skills/do/e2e-acceptance.md +161 -0
  24. package/plugin/skills/do/open-prs.md +78 -14
  25. package/plugin/skills/muggle/SKILL.md +4 -2
  26. package/plugin/skills/muggle-do/SKILL.md +6 -6
  27. package/plugin/skills/muggle-test/SKILL.md +416 -0
  28. package/plugin/skills/muggle-test-feature-local/SKILL.md +77 -80
  29. package/plugin/skills/muggle-test-import/SKILL.md +276 -0
  30. package/plugin/skills/muggle-upgrade/SKILL.md +1 -1
  31. package/plugin/skills/optimize-descriptions/SKILL.md +8 -8
  32. package/scripts/postinstall.mjs +2 -2
  33. package/dist/plugin/skills/do/qa.md +0 -89
  34. package/plugin/skills/do/qa.md +0 -89
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # *muggle-ai-works*
2
2
 
3
- **Run real-browser QA tests on your web app from any AI coding agent. Generate test scripts from plain English, replay them on localhost, capture screenshots, and validate user flows like signup, checkout, and dashboards. Works across Claude Code, Cursor, Codex, and Windsurf.**
3
+ **Run real-browser E2E acceptance tests on your web app from any AI coding agent. Generate test scripts from plain English, replay them on localhost, capture screenshots, and validate user flows like signup, checkout, and dashboards. Works across Claude Code, Cursor, Codex, and Windsurf.**
4
4
 
5
- One install gives your AI coding assistant the power to QA your app like a real user would: clicking through flows, catching broken experiences, and reporting results with screenshots and evidence.
5
+ One install gives your AI coding assistant the power to exercise your app like a real user would: clicking through flows, catching broken experiences, and reporting results with screenshots and evidence.
6
6
 
7
7
  *[License: MIT](LICENSE)
8
8
  [npm]()
9
9
  [MCP Tools]()
10
10
  [Node*]()
11
11
 
12
- *Powered by [MuggleTest](https://www.muggletest.com) — the [AI-powered QA testing platform](https://www.muggletest.com).*
12
+ *Powered by [MuggleTest](https://www.muggletest.com) — the [AI-powered E2E acceptance testing platform](https://www.muggletest.com).*
13
13
 
14
14
  ---
15
15
 
@@ -20,61 +20,92 @@ Your AI assistant writes code fast. But does the feature actually work? Does the
20
20
  muggle-ai-works closes the gap between "code complete" and "actually works."
21
21
 
22
22
  - **Catch UX regressions before your users do** — AI drives a real browser against your localhost across desktop and mobile resolutions, clicks through flows like a user would, and reports failures with step-by-step screenshots. No Playwright scripts to maintain.
23
- - **Go from requirement to merged PR in one command** — `/muggle:muggle-do` handles the full cycle: code the feature, run unit tests, QA the app in a real browser at multiple viewports, triage failures, and open a PR with evidence attached.
23
+ - **Go from requirement to merged PR in one command** — `/muggle:muggle-do` handles the full cycle: code the feature, run unit tests, run E2E acceptance tests against the app in a real browser at multiple viewports, triage failures, and open a PR with evidence attached.
24
24
  - **70+ MCP tools for custom workflows** — manage projects, generate test cases from plain English, replay test scripts, batch-run regressions, and publish results to your team. Works in Claude Code, Cursor, and any MCP client.
25
25
 
26
26
  ---
27
27
 
28
28
  ## Quick Start
29
29
 
30
- ### 1. Install
30
+ ### 1. Install (choose your client)
31
31
 
32
- In Claude Code, run:
32
+ **Claude Code (full plugin experience)**
33
33
 
34
34
  ```
35
35
  /plugin marketplace add https://github.com/multiplex-ai/muggle-ai-works
36
36
  /plugin install muggleai@muggle-works
37
37
  ```
38
38
 
39
- If you install via npm instead:
40
-
41
- ```bash
42
- npm install -g @muggleai/works
43
- ```
44
-
45
- `npm install` updates the CLI and syncs `muggle-*` skills to `~/.cursor/skills/` for Cursor discovery. Claude slash commands are plugin-managed, so update those with `/plugin update muggleai@muggle-works`.
46
-
47
- This installs the Muggle AI plugin with:
39
+ This installs:
48
40
 
49
41
  - `/muggle:muggle` — command router and menu
50
42
  - `/muggle:muggle-do` — autonomous dev pipeline (requirements to PR)
51
- - `/muggle:muggle-test-feature-local` — local quick QA testing
43
+ - `/muggle:muggle-test` — change-driven E2E acceptance testing (local or remote, with PR posting)
44
+ - `/muggle:muggle-test-feature-local` — local quick E2E acceptance testing
52
45
  - `/muggle:muggle-status` — health check for muggle-works plugins (Electron app, MCP server, and auth)
53
46
  - `/muggle:muggle-repair` — diagnose and fix broken installation
54
47
  - `/muggle:muggle-upgrade` — update to the latest version
55
48
  - MCP server with 70+ tools (auto-started)
56
- - Electron QA engine provisioning (via session hook)
49
+ - Electron browser test runner provisioning (via session hook)
50
+
51
+ **Cursor, Codex, Windsurf, and other MCP clients (MCP tools only)**
52
+
53
+ ```bash
54
+ npm install -g @muggleai/works
55
+ ```
56
+
57
+ Then configure your MCP client:
58
+
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "muggle": {
63
+ "command": "muggle",
64
+ "args": ["serve"],
65
+ "env": {
66
+ "MUGGLE_MCP_PROMPT_SERVICE_TARGET": "production"
67
+ }
68
+ }
69
+ }
70
+ }
71
+ ```
72
+
73
+ `npm install` also syncs `muggle-*` skills to `~/.cursor/skills/` for Cursor discovery. Claude slash commands are plugin-managed, so update those with `/plugin update muggleai@muggle-works`.
57
74
 
58
75
  ### 2. Verify
59
76
 
77
+ **Claude Code**
78
+
60
79
  ```
61
80
  /muggle:muggle-status
62
81
  ```
63
82
 
64
- This checks Electron QA engine, MCP server health, and authentication. If anything is broken, run `/muggle:muggle-repair`.
83
+ This checks Electron browser test runner, MCP server health, and authentication. If anything is broken, run `/muggle:muggle-repair`.
84
+
85
+ **Cursor/Codex/Windsurf/other MCP clients**
86
+
87
+ Run any `muggle-*` MCP tool from your client after adding the MCP server config above. Authentication starts automatically on first protected tool call.
65
88
 
66
89
  ### 3. Start building features
67
90
 
91
+ **Claude Code**
92
+
68
93
  Describe what you want to build:
69
94
 
70
95
  ```
71
96
  /muggle:muggle-do "Add a logout button to the header"
72
97
  ```
73
98
 
74
- The AI handles the full cycle: code the feature, run unit tests, QA the app in a real browser, and open a PR with results.
99
+ The AI handles the full cycle: code the feature, run unit tests, run E2E acceptance tests against the app in a real browser, and open a PR with results.
100
+
101
+ **Cursor/Codex/Windsurf/other MCP clients**
102
+
103
+ Use the direct MCP workflow section below to call `muggle-*` tools from your client.
75
104
 
76
105
  ### 4. Test a feature locally
77
106
 
107
+ **Claude Code**
108
+
78
109
  Already have code running on localhost? Test it directly:
79
110
 
80
111
  ```
@@ -83,6 +114,10 @@ Already have code running on localhost? Test it directly:
83
114
 
84
115
  Describe what to test in plain English. The AI finds or creates test cases, launches a real browser, and reports results with screenshots.
85
116
 
117
+ **Cursor/Codex/Windsurf/other MCP clients**
118
+
119
+ Call local execution MCP tools directly (for example `muggle-local-execute-test-script-replay` or related `muggle-local-*` commands exposed by your client).
120
+
86
121
  ---
87
122
 
88
123
  ## How does it work?
@@ -108,7 +143,7 @@ Your AI assistant describes what to test
108
143
  muggle-remote-* tools create test cases in cloud
109
144
 
110
145
  v
111
- muggle-local-execute-test-generation launches the QA engine
146
+ muggle-local-execute-test-generation launches the browser test runner
112
147
 
113
148
  v
114
149
  AI agent drives the browser step-by-step (click, type, navigate, assert)
@@ -120,7 +155,7 @@ Screenshots captured per step → action-script.json recorded
120
155
  Results: pass/fail with evidence at ~/.muggle-ai/sessions/{runId}/
121
156
 
122
157
  v
123
- muggle-local-publish-test-script uploads to cloud
158
+ muggle-local-publish-test-script uploads to cloud → returns viewUrl to open dashboard
124
159
  ```
125
160
 
126
161
  ---
@@ -140,7 +175,7 @@ Describe what to test in English. The AI finds the right project and test cases,
140
175
  2. Found project: "My App"
141
176
  3. Found use case: "User Login"
142
177
  4. Found 2 test cases — recommend replay (minor changes detected)
143
- 5. Launching QA engine... (approve? y)
178
+ 5. Launching browser test runner... (approve? y)
144
179
  6. Results: 2/2 PASS
145
180
  Screenshots: ~/.muggle-ai/sessions/abc123/screenshots/
146
181
  7. Publish to cloud? (y)
@@ -148,7 +183,7 @@ Describe what to test in English. The AI finds the right project and test cases,
148
183
 
149
184
  ### 2. `/muggle:muggle-do` — Autonomous dev pipeline
150
185
 
151
- Full development cycle: requirements to PR in one command. The AI codes the feature, writes unit tests, runs QA against your running app, and opens a PR.
186
+ Full development cycle: requirements to PR in one command. The AI codes the feature, writes unit tests, runs E2E acceptance tests against your running app, and opens a PR.
152
187
 
153
188
  ```
154
189
  > /muggle:muggle-do "Add a logout button to the header"
@@ -158,7 +193,7 @@ IMPACT → frontend repo, src/components/Header.tsx
158
193
  VALIDATE → Branch: feat/add-logout, 1 commit
159
194
  CODING → (writes/fixes code)
160
195
  UNIT_TESTS → 12/12 pass
161
- QA → 3/3 test cases pass
196
+ E2E acceptance → 3/3 test cases pass
162
197
  OPEN_PRS → PR #42 opened
163
198
  DONE → 1 iteration, all green
164
199
  ```
@@ -166,24 +201,24 @@ DONE → 1 iteration, all green
166
201
  - Session-based with crash recovery (`.muggle-do/sessions/`)
167
202
  - Auto-triage: analyzes failures and loops back to fix (max 3 iterations)
168
203
  - Multi-repo support via `muggle-repos.json`
169
- - PRs include QA results and screenshots in the description
204
+ - PRs include E2E acceptance results and screenshots in the description
170
205
 
171
- ### 3. Direct MCP tool calls — Build your own QA workflow
206
+ ### 3. Direct MCP tool calls — Build your own E2E acceptance workflow
172
207
 
173
- Use any of the 70+ MCP tools directly from your AI assistant. This is the lowest-level option and the most flexible for building custom QA workflows.
208
+ Use any of the 70+ MCP tools directly from your AI assistant. This is the lowest-level option and the most flexible for building custom E2E acceptance workflows.
174
209
 
175
210
  ```
176
211
  "Create a project called My App with URL https://myapp.com"
177
212
  "Generate test cases for the checkout flow"
178
213
  "Replay all test scripts against localhost:3000"
179
- "Show me the latest QA results"
214
+ "Show me the latest E2E acceptance results"
180
215
  ```
181
216
 
182
217
  ---
183
218
 
184
219
  ## What MCP tools are included?
185
220
 
186
- muggle-ai-works provides 70+ MCP tools organized into 8 categories: authentication, project management, use cases, test cases, test scripts, local execution, reports, and administration. These tools power all AI testing automation workflows — from one-off browser checks to full QA automation pipelines.
221
+ muggle-ai-works provides 70+ MCP tools organized into 8 categories: authentication, project management, use cases, test cases, test scripts, local execution, reports, and administration. These tools power all AI testing automation workflows — from one-off browser checks to full E2E acceptance automation pipelines.
187
222
 
188
223
  Authentication (muggle-remote-auth-*)
189
224
 
@@ -201,7 +236,7 @@ Project Management (muggle-remote-project-*)
201
236
 
202
237
  | Tool | Purpose |
203
238
  | ------------------------------ | ------------------- |
204
- | `muggle-remote-project-create` | Create QA project |
239
+ | `muggle-remote-project-create` | Create E2E acceptance test project |
205
240
  | `muggle-remote-project-list` | List all projects |
206
241
  | `muggle-remote-project-get` | Get project details |
207
242
  | `muggle-remote-project-update` | Update project |
@@ -250,13 +285,13 @@ Local Execution (muggle-local-*)
250
285
 
251
286
  | Tool | Purpose |
252
287
  | -------------------------------------- | ---------------------------------- |
253
- | `muggle-local-check-status` | Check local QA engine status |
288
+ | `muggle-local-check-status` | Check local browser test runner status |
254
289
  | `muggle-local-execute-test-generation` | Generate test script locally |
255
290
  | `muggle-local-execute-replay` | Replay existing script locally |
256
291
  | `muggle-local-cancel-execution` | Cancel active execution |
257
292
  | `muggle-local-run-result-list` | List run results |
258
293
  | `muggle-local-run-result-get` | Get detailed results + screenshots |
259
- | `muggle-local-publish-test-script` | Publish script to cloud |
294
+ | `muggle-local-publish-test-script` | Publish script to cloud, returns `viewUrl` |
260
295
 
261
296
 
262
297
  Reports and Analytics (muggle-remote-report-*)
@@ -285,18 +320,18 @@ Administration (PRD, secrets, billing, scheduling)
285
320
 
286
321
  ## Works with muggle-ai-teams
287
322
 
288
- [muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams) is the companion package for agent orchestration, workflow steps, and delivery. When both packages are installed, muggle-ai-teams automatically integrates QA into the development workflow at each stage.
323
+ [muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams) is the companion package for agent orchestration, workflow steps, and delivery. When both packages are installed, muggle-ai-teams automatically integrates E2E acceptance testing into the development workflow at each stage.
289
324
 
290
325
 
291
326
  | Workflow Step | What Happens |
292
327
  | ------------- | ------------------------------------------------------- |
293
- | **Plan** | QA test instructions written per implementation slice |
294
- | **Build** | Per-slice QA via muggle-ai-works before each commit |
328
+ | **Plan** | E2E acceptance test instructions written per implementation slice |
329
+ | **Build** | Per-slice E2E acceptance tests via muggle-ai-works before each commit |
295
330
  | **Verify** | Full regression sweep replaying all project scripts |
296
- | **Ship** | QA results published to cloud, linked in PR description |
331
+ | **Ship** | E2E results published to cloud, linked in PR description |
297
332
 
298
333
 
299
- Frontend slices get browser QA. Backend-only slices are verified by unit tests (browser QA skipped with documented reasoning).
334
+ Frontend slices get browser E2E tests. Backend-only slices are verified by unit tests (browser E2E skipped with documented reasoning).
300
335
 
301
336
  Install both: `npm install @muggleai/works @muggleai/teams`
302
337
 
@@ -305,7 +340,7 @@ Install both: `npm install @muggleai/works @muggleai/teams`
305
340
 
306
341
  | Package | Purpose | Install |
307
342
  | ---------------------------------------------------------------------- | ----------------------------------------------- | --------------------------------------- |
308
- | **muggle-ai-works** (this repo) | QA testing MCP server + autonomous dev pipeline | `/plugin install muggleai@muggle-works` |
343
+ | **muggle-ai-works** (this repo) | E2E acceptance testing MCP server + autonomous dev pipeline | `/plugin install muggleai@muggle-works` |
309
344
  | **[muggle-ai-teams](https://github.com/multiplex-ai/muggle-ai-teams)** | Agent orchestration, workflow, skills, rules | `npm install @muggleai/teams` |
310
345
 
311
346
 
@@ -318,11 +353,11 @@ Want the full platform experience? [MuggleTest](https://www.muggletest.com) give
318
353
  ```bash
319
354
  # Server (main command — starts MCP server for AI clients)
320
355
  muggle serve # Start with all tools (default)
321
- muggle serve --qa # Cloud QA tools only
322
- muggle serve --local # Local QA tools only
356
+ muggle serve --e2e # Cloud E2E tools only (muggle-remote-*)
357
+ muggle serve --local # Local E2E tools only (muggle-local-*)
323
358
 
324
359
  # Setup and Diagnostics
325
- muggle setup # Download/update QA engine
360
+ muggle setup # Download/update browser test runner
326
361
  muggle setup --force # Force re-download
327
362
  muggle doctor # Diagnose installation issues
328
363
 
@@ -378,12 +413,12 @@ Data directory structure (~/.muggle-ai/)
378
413
  ├── oauth-session.json # OAuth tokens (short-lived, auto-refresh)
379
414
  ├── api-key.json # Long-lived API key for service calls
380
415
  ├── projects/ # Local project cache
381
- ├── sessions/ # QA sessions
416
+ ├── sessions/ # E2E test sessions
382
417
  │ └── {runId}/
383
418
  │ ├── action-script.json # Recorded browser steps
384
419
  │ ├── results.md # Step-by-step report
385
420
  │ └── screenshots/ # Per-step images
386
- └── electron-app/ # Downloaded QA engine
421
+ └── electron-app/ # Downloaded browser test runner
387
422
  └── {version}/
388
423
  ```
389
424
 
@@ -391,7 +426,7 @@ Data directory structure (~/.muggle-ai/)
391
426
 
392
427
  ## What AI clients does it work with?
393
428
 
394
- Full support for Claude Code. MCP tools work with Cursor and any MCP-compatible client. Plugin skills require Claude Code plugin support.
429
+ Full support for Claude Code. Cursor, Codex, Windsurf, and other MCP-compatible clients use the same MCP tools but do not support Claude plugin slash commands (`/muggle:*`).
395
430
 
396
431
  Platform compatibility table
397
432
 
@@ -413,7 +448,7 @@ Troubleshooting
413
448
 
414
449
  **Fix**: Set the correct `MUGGLE_MCP_PROMPT_SERVICE_TARGET` in your MCP config and restart your client.
415
450
 
416
- ### QA engine not found
451
+ ### Browser test runner not found
417
452
 
418
453
  ```bash
419
454
  muggle setup --force # Re-download
@@ -432,7 +467,7 @@ muggle login # Fresh login
432
467
 
433
468
  ## About
434
469
 
435
- Built by the team behind [MuggleTest](https://www.muggletest.com) — [AI-powered QA testing](https://www.muggletest.com) for teams who ship fast.
470
+ Built by the team behind [MuggleTest](https://www.muggletest.com) — [AI-powered E2E acceptance testing](https://www.muggletest.com) for teams who ship fast.
436
471
 
437
472
  Repository structure
438
473
 
@@ -464,8 +499,11 @@ muggle-ai-works/
464
499
  ├── scripts/ # Build and release
465
500
  │ ├── build-plugin.mjs # Assembles dist/plugin/ from plugin/ source
466
501
  │ ├── verify-plugin-marketplace.mjs # Validates plugin/marketplace consistency
502
+ │ ├── verify-compatibility-contracts.mjs # Validates long-term surface contracts
503
+ │ ├── verify-upgrade-experience.mjs # Validates in-place upgrade behavior
467
504
  │ └── postinstall.mjs # npm postinstall (Electron app download)
468
505
 
506
+ ├── config/compatibility/ # Contract baselines (CLI/MCP/plugin/skills)
469
507
  ├── bin/ # CLI entrypoint (muggle.js → dist/cli.js)
470
508
  ├── dist/ # Build output (gitignored)
471
509
  ├── .claude-plugin/ # Marketplace catalog (marketplace.json)
@@ -479,6 +517,9 @@ pnpm install # Install dependencies
479
517
  pnpm run build # Build (tsup + plugin artifact)
480
518
  pnpm run build:plugin # Rebuild plugin artifact only
481
519
  pnpm run verify:plugin # Validate plugin/marketplace metadata consistency
520
+ pnpm run verify:contracts # Validate compatibility contracts (CLI/MCP/plugin/skills)
521
+ pnpm run verify:electron-release-checksums # Ensure checksums.txt exists for bundled electron release
522
+ pnpm run verify:upgrade-experience # Validate existing-user cleanup + re-download flow
482
523
  pnpm run dev # Dev mode (watch)
483
524
  pnpm test # Run tests
484
525
  pnpm run lint # Lint (auto-fix)
@@ -491,16 +532,25 @@ CI/CD and publishing
491
532
 
492
533
  | Workflow | Trigger | Description |
493
534
  | ------------------- | ------------------- | ------------------------------------------------------------ |
494
- | `ci.yml` | Push/PR to `master` | Lint, test, build, plugin verification on multiple platforms |
495
- | `publish-works.yml` | Tag `v*` or manual | Verify, audit, smoke-install, publish to npm |
535
+ | `ci.yml` | Push/PR to `master` | Lint, test, build, plugin + compatibility contract verification on multiple platforms |
536
+ | `verify-end-user-upgrade.yml` | Weekly + manual | Existing-user upgrade validation (cleanup + re-download + health checks) |
537
+ | `publish-works-to-npm.yml` | Tag `v*` or manual | Verify (including release checksums), audit, smoke-install, publish to npm |
496
538
 
497
539
 
498
540
  ```bash
499
541
  git tag v<version> && git push --tags
500
- # publish-works.yml handles the rest
542
+ # publish-works-to-npm.yml handles the rest
501
543
  ```
502
544
 
503
545
 
546
+ Release tag strategy
547
+
548
+ - `electron-app-vX.Y.Z` tags in `muggle-ai-works` are for public Electron app binary releases (consumed by `muggle setup`, `muggle upgrade`, and npm postinstall).
549
+ - `vX.Y.Z` tags in `muggle-ai-works` are for npm publishing of `@muggleai/works` (`publish-works-to-npm.yml`).
550
+ - `muggle-ai-teaching-service` builds Electron artifacts and publishes them into this public repo using `electron-app-vX.Y.Z`, so binaries are publicly downloadable.
551
+ - The two version tracks are intentionally separate: runtime Electron artifact versions and npm package versions can move independently.
552
+
553
+
504
554
  Optimizing agent-facing descriptions
505
555
 
506
556
 
@@ -529,7 +579,7 @@ This is an **internal-only skill** (not published to customers). It covers:
529
579
  | Hook config | `plugin/hooks/hooks.json` |
530
580
  | Skill descriptions | `plugin/skills/*/SKILL.md` |
531
581
  | Tool descriptions (local) | `packages/mcps/src/mcp/tools/local/tool-registry.ts` |
532
- | Tool descriptions (cloud) | `packages/mcps/src/mcp/tools/qa/tool-registry.ts` |
582
+ | Tool descriptions (cloud) | `packages/mcps/src/mcp/tools/e2e/tool-registry.ts` |
533
583
  | Plugin metadata | `plugin/.claude-plugin/plugin.json` |
534
584
 
535
585
  **Quick eval run:**