@massa-ai/codex-plugin 1.61.0 → 1.62.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 (268) hide show
  1. package/.codex-plugin/plugin.json +1 -1
  2. package/README.md +1 -1
  3. package/{agents/massa-ai-builder.toml → agent-profiles/balanced/builder.toml} +3 -4
  4. package/agent-profiles/balanced/code-explorer.toml +101 -0
  5. package/agent-profiles/balanced/code-reviewer.toml +133 -0
  6. package/agent-profiles/balanced/{massa-ai-designer.toml → designer.toml} +34 -17
  7. package/agent-profiles/balanced/judge.toml +147 -0
  8. package/agent-profiles/balanced/product-manager.toml +107 -0
  9. package/agent-profiles/balanced/test-engineer.toml +100 -0
  10. package/agent-profiles/cheap/{massa-ai-builder.toml → builder.toml} +3 -4
  11. package/agent-profiles/cheap/code-explorer.toml +101 -0
  12. package/agent-profiles/cheap/code-reviewer.toml +133 -0
  13. package/agent-profiles/cheap/{massa-ai-designer.toml → designer.toml} +34 -17
  14. package/agent-profiles/cheap/judge.toml +147 -0
  15. package/agent-profiles/cheap/product-manager.toml +107 -0
  16. package/agent-profiles/cheap/test-engineer.toml +100 -0
  17. package/agent-profiles/{work/massa-ai-builder.toml → heavy/builder.toml} +3 -4
  18. package/agent-profiles/heavy/code-explorer.toml +101 -0
  19. package/agent-profiles/heavy/code-reviewer.toml +133 -0
  20. package/agent-profiles/{work/massa-ai-designer.toml → heavy/designer.toml} +34 -17
  21. package/agent-profiles/heavy/judge.toml +147 -0
  22. package/agent-profiles/heavy/product-manager.toml +107 -0
  23. package/agent-profiles/heavy/test-engineer.toml +100 -0
  24. package/agent-profiles/home/{massa-ai-builder.toml → builder.toml} +3 -4
  25. package/agent-profiles/home/code-explorer.toml +101 -0
  26. package/agent-profiles/home/code-reviewer.toml +133 -0
  27. package/{agents/massa-ai-designer.toml → agent-profiles/home/designer.toml} +34 -17
  28. package/agent-profiles/home/judge.toml +147 -0
  29. package/agent-profiles/home/product-manager.toml +107 -0
  30. package/agent-profiles/home/test-engineer.toml +100 -0
  31. package/agent-profiles/{heavy/massa-ai-builder.toml → work/builder.toml} +3 -4
  32. package/agent-profiles/work/code-explorer.toml +101 -0
  33. package/agent-profiles/work/code-reviewer.toml +133 -0
  34. package/agent-profiles/{heavy/massa-ai-designer.toml → work/designer.toml} +34 -17
  35. package/agent-profiles/work/judge.toml +147 -0
  36. package/agent-profiles/work/product-manager.toml +107 -0
  37. package/agent-profiles/work/test-engineer.toml +100 -0
  38. package/{agent-profiles/balanced/massa-ai-builder.toml → agents/builder.toml} +3 -4
  39. package/agents/code-explorer.toml +101 -0
  40. package/agents/code-reviewer.toml +133 -0
  41. package/{agent-profiles/home/massa-ai-designer.toml → agents/designer.toml} +34 -17
  42. package/agents/judge.toml +147 -0
  43. package/agents/product-manager.toml +107 -0
  44. package/agents/test-engineer.toml +100 -0
  45. package/hooks/massa-ai-hook +4 -4
  46. package/install.sh +98 -24
  47. package/package.json +1 -1
  48. package/skills/agents/builder/SKILL.md +3 -4
  49. package/skills/agents/code-explorer/SKILL.md +104 -0
  50. package/skills/agents/code-reviewer/SKILL.md +136 -0
  51. package/skills/agents/designer/SKILL.md +34 -17
  52. package/skills/agents/judge/SKILL.md +99 -48
  53. package/skills/agents/product-manager/SKILL.md +110 -0
  54. package/skills/agents/test-engineer/SKILL.md +57 -22
  55. package/skills/bootstrap/SKILL.md +4 -5
  56. package/skills/{adr.md → create-adr.md} +3 -3
  57. package/skills/{to-prd.md → create-prd.md} +3 -3
  58. package/skills/{rfc.md → create-rfc.md} +3 -3
  59. package/skills/{tdd.md → create-tdd.md} +3 -3
  60. package/skills/{ticket.md → create-ticket.md} +3 -3
  61. package/skills/massa-ai/SKILL.md +26 -29
  62. package/skills/massa-ai/references/agent-orchestration.md +62 -58
  63. package/skills/massa-ai/references/audit-report-io.md +8 -87
  64. package/skills/massa-ai/references/code-reuse-scan.md +1 -1
  65. package/skills/massa-ai/references/{adr-authoring.md → create-adr.md} +3 -3
  66. package/skills/massa-ai/references/{rfc → create-rfc}/discovery-and-sizing.md +1 -1
  67. package/skills/massa-ai/references/{tdd → create-tdd}/calibrated-examples.md +3 -3
  68. package/skills/massa-ai/references/{tdd → create-tdd}/discovery-and-sizing.md +1 -1
  69. package/skills/massa-ai/references/{tdd → create-tdd}/quality-and-lifecycle.md +1 -1
  70. package/skills/massa-ai/references/{ticket → create-ticket}/intake-and-sources.md +1 -1
  71. package/skills/massa-ai/references/figma-pre-analysis.md +1 -1
  72. package/skills/massa-ai/references/furps/analyst-role.md +3 -3
  73. package/skills/massa-ai/references/furps/checklist.md +2 -2
  74. package/skills/massa-ai/references/furps/intake.md +7 -7
  75. package/skills/massa-ai/references/hook-enforcement.md +4 -8
  76. package/skills/massa-ai/references/implementation-delivery.md +2 -2
  77. package/skills/massa-ai/references/knowledge-verification-chain.md +0 -1
  78. package/skills/massa-ai/references/mobile-context.md +2 -5
  79. package/skills/massa-ai/references/pr-task-fix.md +1 -1
  80. package/skills/massa-ai/references/spec-driven/sub-agents.md +3 -3
  81. package/skills/massa-ai/references/spec-driven/validate.md +1 -1
  82. package/skills/massa-ai/references/subagent-design.md +6 -9
  83. package/skills/massa-ai/references/verification-ladder.md +2 -2
  84. package/skills/massa-ai/scripts/validate_audit_report.ts +3 -8
  85. package/skills/massa-ai/workflows/architecture/architecture-audit.md +4 -5
  86. package/skills/massa-ai/workflows/architecture/architecture-fix.md +5 -6
  87. package/skills/massa-ai/workflows/bugs/bugs-audit.md +2 -3
  88. package/skills/massa-ai/workflows/bugs/bugs-fix.md +4 -5
  89. package/skills/massa-ai/workflows/code-quality/code-quality-audit.md +2 -3
  90. package/skills/massa-ai/workflows/code-quality/code-quality-fix.md +4 -5
  91. package/skills/massa-ai/workflows/commit.md +3 -3
  92. package/skills/massa-ai/workflows/{adr.md → create-adr.md} +10 -10
  93. package/skills/massa-ai/workflows/{to-prd.md → create-prd.md} +4 -4
  94. package/skills/massa-ai/workflows/{rfc.md → create-rfc.md} +6 -6
  95. package/skills/massa-ai/workflows/{tdd.md → create-tdd.md} +11 -11
  96. package/skills/massa-ai/workflows/{ticket.md → create-ticket.md} +5 -5
  97. package/skills/massa-ai/workflows/debug.md +4 -5
  98. package/skills/massa-ai/workflows/design.md +2 -2
  99. package/skills/massa-ai/workflows/exploration.md +2 -2
  100. package/skills/massa-ai/workflows/feature.md +5 -6
  101. package/skills/massa-ai/workflows/implementation/implementation-audit.md +22 -3
  102. package/skills/massa-ai/workflows/implementation/implementation-fix.md +6 -7
  103. package/skills/massa-ai/workflows/judge-with-debate.md +14 -14
  104. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-audit.md +2 -2
  105. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-fix.md +10 -11
  106. package/skills/massa-ai/workflows/pr-review.md +31 -13
  107. package/skills/massa-ai/workflows/{discovery.md → product-discovery.md} +12 -12
  108. package/skills/massa-ai/workflows/refactor.md +4 -5
  109. package/skills/massa-ai/workflows/refinement/furps-refinement.md +7 -7
  110. package/skills/massa-ai/workflows/requirements/requirements-audit.md +2 -2
  111. package/skills/massa-ai/workflows/requirements/requirements-fix.md +5 -6
  112. package/skills/massa-ai/workflows/security/security-audit.md +2 -3
  113. package/skills/massa-ai/workflows/security/security-fix.md +3 -4
  114. package/skills/massa-ai/workflows/spec-driven.md +9 -10
  115. package/skills/massa-ai/workflows/tests/tests-audit.md +2 -2
  116. package/skills/massa-ai/workflows/tests/tests-fix.md +16 -6
  117. package/skills/massa-ai/workflows/the-fool.md +7 -7
  118. package/skills/{discovery.md → product-discovery.md} +3 -3
  119. package/agent-profiles/balanced/massa-ai-architecture-specialist.toml +0 -62
  120. package/agent-profiles/balanced/massa-ai-audit-specialist.toml +0 -79
  121. package/agent-profiles/balanced/massa-ai-context-curator.toml +0 -64
  122. package/agent-profiles/balanced/massa-ai-documentation-agent.toml +0 -62
  123. package/agent-profiles/balanced/massa-ai-furps-analyst.toml +0 -68
  124. package/agent-profiles/balanced/massa-ai-investigator.toml +0 -65
  125. package/agent-profiles/balanced/massa-ai-judge.toml +0 -96
  126. package/agent-profiles/balanced/massa-ai-meta-judge.toml +0 -84
  127. package/agent-profiles/balanced/massa-ai-mobile-specialist.toml +0 -79
  128. package/agent-profiles/balanced/massa-ai-navigator.toml +0 -72
  129. package/agent-profiles/balanced/massa-ai-plan-critic.toml +0 -87
  130. package/agent-profiles/balanced/massa-ai-planner.toml +0 -62
  131. package/agent-profiles/balanced/massa-ai-requirements-analyst.toml +0 -61
  132. package/agent-profiles/balanced/massa-ai-reviewer.toml +0 -63
  133. package/agent-profiles/balanced/massa-ai-test-engineer.toml +0 -64
  134. package/agent-profiles/balanced/massa-ai-verification-agent.toml +0 -62
  135. package/agent-profiles/cheap/massa-ai-architecture-specialist.toml +0 -62
  136. package/agent-profiles/cheap/massa-ai-audit-specialist.toml +0 -79
  137. package/agent-profiles/cheap/massa-ai-context-curator.toml +0 -64
  138. package/agent-profiles/cheap/massa-ai-documentation-agent.toml +0 -62
  139. package/agent-profiles/cheap/massa-ai-furps-analyst.toml +0 -68
  140. package/agent-profiles/cheap/massa-ai-investigator.toml +0 -65
  141. package/agent-profiles/cheap/massa-ai-judge.toml +0 -96
  142. package/agent-profiles/cheap/massa-ai-meta-judge.toml +0 -84
  143. package/agent-profiles/cheap/massa-ai-mobile-specialist.toml +0 -79
  144. package/agent-profiles/cheap/massa-ai-navigator.toml +0 -72
  145. package/agent-profiles/cheap/massa-ai-plan-critic.toml +0 -87
  146. package/agent-profiles/cheap/massa-ai-planner.toml +0 -62
  147. package/agent-profiles/cheap/massa-ai-requirements-analyst.toml +0 -61
  148. package/agent-profiles/cheap/massa-ai-reviewer.toml +0 -63
  149. package/agent-profiles/cheap/massa-ai-test-engineer.toml +0 -64
  150. package/agent-profiles/cheap/massa-ai-verification-agent.toml +0 -62
  151. package/agent-profiles/heavy/massa-ai-architecture-specialist.toml +0 -62
  152. package/agent-profiles/heavy/massa-ai-audit-specialist.toml +0 -79
  153. package/agent-profiles/heavy/massa-ai-context-curator.toml +0 -64
  154. package/agent-profiles/heavy/massa-ai-documentation-agent.toml +0 -62
  155. package/agent-profiles/heavy/massa-ai-furps-analyst.toml +0 -68
  156. package/agent-profiles/heavy/massa-ai-investigator.toml +0 -65
  157. package/agent-profiles/heavy/massa-ai-judge.toml +0 -96
  158. package/agent-profiles/heavy/massa-ai-meta-judge.toml +0 -84
  159. package/agent-profiles/heavy/massa-ai-mobile-specialist.toml +0 -79
  160. package/agent-profiles/heavy/massa-ai-navigator.toml +0 -72
  161. package/agent-profiles/heavy/massa-ai-plan-critic.toml +0 -87
  162. package/agent-profiles/heavy/massa-ai-planner.toml +0 -62
  163. package/agent-profiles/heavy/massa-ai-requirements-analyst.toml +0 -61
  164. package/agent-profiles/heavy/massa-ai-reviewer.toml +0 -63
  165. package/agent-profiles/heavy/massa-ai-test-engineer.toml +0 -64
  166. package/agent-profiles/heavy/massa-ai-verification-agent.toml +0 -62
  167. package/agent-profiles/home/massa-ai-architecture-specialist.toml +0 -62
  168. package/agent-profiles/home/massa-ai-audit-specialist.toml +0 -79
  169. package/agent-profiles/home/massa-ai-context-curator.toml +0 -64
  170. package/agent-profiles/home/massa-ai-documentation-agent.toml +0 -62
  171. package/agent-profiles/home/massa-ai-furps-analyst.toml +0 -68
  172. package/agent-profiles/home/massa-ai-investigator.toml +0 -65
  173. package/agent-profiles/home/massa-ai-judge.toml +0 -96
  174. package/agent-profiles/home/massa-ai-meta-judge.toml +0 -84
  175. package/agent-profiles/home/massa-ai-mobile-specialist.toml +0 -79
  176. package/agent-profiles/home/massa-ai-navigator.toml +0 -72
  177. package/agent-profiles/home/massa-ai-plan-critic.toml +0 -87
  178. package/agent-profiles/home/massa-ai-planner.toml +0 -62
  179. package/agent-profiles/home/massa-ai-requirements-analyst.toml +0 -61
  180. package/agent-profiles/home/massa-ai-reviewer.toml +0 -63
  181. package/agent-profiles/home/massa-ai-test-engineer.toml +0 -64
  182. package/agent-profiles/home/massa-ai-verification-agent.toml +0 -62
  183. package/agent-profiles/work/massa-ai-architecture-specialist.toml +0 -62
  184. package/agent-profiles/work/massa-ai-audit-specialist.toml +0 -79
  185. package/agent-profiles/work/massa-ai-context-curator.toml +0 -64
  186. package/agent-profiles/work/massa-ai-documentation-agent.toml +0 -62
  187. package/agent-profiles/work/massa-ai-furps-analyst.toml +0 -68
  188. package/agent-profiles/work/massa-ai-investigator.toml +0 -65
  189. package/agent-profiles/work/massa-ai-judge.toml +0 -96
  190. package/agent-profiles/work/massa-ai-meta-judge.toml +0 -84
  191. package/agent-profiles/work/massa-ai-mobile-specialist.toml +0 -79
  192. package/agent-profiles/work/massa-ai-navigator.toml +0 -72
  193. package/agent-profiles/work/massa-ai-plan-critic.toml +0 -87
  194. package/agent-profiles/work/massa-ai-planner.toml +0 -62
  195. package/agent-profiles/work/massa-ai-requirements-analyst.toml +0 -61
  196. package/agent-profiles/work/massa-ai-reviewer.toml +0 -63
  197. package/agent-profiles/work/massa-ai-test-engineer.toml +0 -64
  198. package/agent-profiles/work/massa-ai-verification-agent.toml +0 -62
  199. package/agents/massa-ai-architecture-specialist.toml +0 -62
  200. package/agents/massa-ai-audit-specialist.toml +0 -79
  201. package/agents/massa-ai-context-curator.toml +0 -64
  202. package/agents/massa-ai-documentation-agent.toml +0 -62
  203. package/agents/massa-ai-furps-analyst.toml +0 -68
  204. package/agents/massa-ai-investigator.toml +0 -65
  205. package/agents/massa-ai-judge.toml +0 -96
  206. package/agents/massa-ai-meta-judge.toml +0 -84
  207. package/agents/massa-ai-mobile-specialist.toml +0 -79
  208. package/agents/massa-ai-navigator.toml +0 -72
  209. package/agents/massa-ai-plan-critic.toml +0 -87
  210. package/agents/massa-ai-planner.toml +0 -62
  211. package/agents/massa-ai-requirements-analyst.toml +0 -61
  212. package/agents/massa-ai-reviewer.toml +0 -63
  213. package/agents/massa-ai-test-engineer.toml +0 -64
  214. package/agents/massa-ai-verification-agent.toml +0 -62
  215. package/skills/agents/architecture-specialist/SKILL.md +0 -66
  216. package/skills/agents/audit-specialist/SKILL.md +0 -83
  217. package/skills/agents/context-curator/SKILL.md +0 -68
  218. package/skills/agents/documentation-agent/SKILL.md +0 -66
  219. package/skills/agents/furps-analyst/SKILL.md +0 -71
  220. package/skills/agents/investigator/SKILL.md +0 -69
  221. package/skills/agents/meta-judge/SKILL.md +0 -87
  222. package/skills/agents/mobile-specialist/SKILL.md +0 -83
  223. package/skills/agents/navigator/SKILL.md +0 -76
  224. package/skills/agents/plan-critic/SKILL.md +0 -90
  225. package/skills/agents/planner/SKILL.md +0 -66
  226. package/skills/agents/requirements-analyst/SKILL.md +0 -65
  227. package/skills/agents/reviewer/SKILL.md +0 -67
  228. package/skills/agents/verification-agent/SKILL.md +0 -66
  229. package/skills/general.md +0 -14
  230. package/skills/maestro-audit.md +0 -14
  231. package/skills/maestro-fix.md +0 -14
  232. package/skills/maestro.md +0 -14
  233. package/skills/massa-ai/personas/README.md +0 -35
  234. package/skills/massa-ai/personas/ai-native-nodejs-cli-architect.md +0 -47
  235. package/skills/massa-ai/personas/catalog.json +0 -7
  236. package/skills/massa-ai/personas/context-skill-harness-engineer-architect.md +0 -47
  237. package/skills/massa-ai/personas/product-manager.md +0 -65
  238. package/skills/massa-ai/personas/senior-mobile-engineer.md +0 -46
  239. package/skills/massa-ai/personas/senior-mobile-qa-automation-engineer.md +0 -51
  240. package/skills/massa-ai/personas/signals/ai-native-nodejs-cli-architect.json +0 -20
  241. package/skills/massa-ai/personas/signals/context-skill-harness-engineer-architect.json +0 -20
  242. package/skills/massa-ai/personas/signals/product-manager.json +0 -21
  243. package/skills/massa-ai/personas/signals/senior-mobile-engineer.json +0 -18
  244. package/skills/massa-ai/personas/signals/senior-mobile-qa-automation-engineer.json +0 -18
  245. package/skills/massa-ai/references/maestro/artifacts-reports.md +0 -69
  246. package/skills/massa-ai/references/maestro/cli-device.md +0 -65
  247. package/skills/massa-ai/references/maestro/cloud.md +0 -69
  248. package/skills/massa-ai/references/maestro/config-env-output.md +0 -76
  249. package/skills/massa-ai/references/maestro/fact-ledger.md +0 -73
  250. package/skills/massa-ai/references/maestro/js-scripting.md +0 -70
  251. package/skills/massa-ai/references/maestro/mcp.md +0 -59
  252. package/skills/massa-ai/references/maestro/patterns.md +0 -102
  253. package/skills/massa-ai/references/maestro/selectors.md +0 -91
  254. package/skills/massa-ai/references/maestro/workspace-execution.md +0 -81
  255. package/skills/massa-ai/references/maestro/yaml-commands.md +0 -203
  256. package/skills/massa-ai/references/maestro.md +0 -31
  257. package/skills/massa-ai/workflows/general.md +0 -88
  258. package/skills/massa-ai/workflows/maestro/maestro-audit.md +0 -64
  259. package/skills/massa-ai/workflows/maestro/maestro-fix.md +0 -111
  260. package/skills/massa-ai/workflows/maestro/maestro.md +0 -80
  261. package/skills/persona-router/SKILL.md +0 -52
  262. package/skills/persona-router/references/routing-details.md +0 -98
  263. /package/skills/massa-ai/references/{rfc → create-rfc}/ATTRIBUTION.md +0 -0
  264. /package/skills/massa-ai/references/{rfc → create-rfc}/document-contract.md +0 -0
  265. /package/skills/massa-ai/references/{rfc → create-rfc}/quality-and-lifecycle.md +0 -0
  266. /package/skills/massa-ai/references/{tdd → create-tdd}/document-contract.md +0 -0
  267. /package/skills/massa-ai/references/{ticket → create-ticket}/atlassian-fix.md +0 -0
  268. /package/skills/massa-ai/references/{ticket → create-ticket}/templates-and-quality.md +0 -0
@@ -1,70 +0,0 @@
1
- # Maestro JavaScript Reference
2
-
3
- Use for `evalScript`, `runScript`, inline expressions, generated data, shared state, and JavaScript logging.
4
-
5
- ## Execution Methods
6
-
7
- Maestro supports three JavaScript paths:
8
-
9
- 1. Inline `${...}` expressions inside YAML command values.
10
- 2. `evalScript` for short logic-only steps.
11
- 3. `runScript` for external `.js` files with reusable or complex logic.
12
-
13
- ```yaml
14
- - inputText: ${'User_' + faker.name().firstName()}
15
- - evalScript: ${output.timestamp = new Date().getTime()}
16
- - runScript:
17
- file: setupUser.js
18
- env:
19
- role: admin
20
- ```
21
-
22
- ## Shared State
23
-
24
- Use `output` for data shared between scripts and later flow steps.
25
-
26
- ```yaml
27
- - evalScript: ${output.email = 'qa_' + Date.now() + '@example.com'}
28
- - inputText: ${output.email}
29
- ```
30
-
31
- Keep output values small and non-secret. Do not put tokens, raw PII, or credentials into logs or artifact reports.
32
-
33
- ## Script Env
34
-
35
- ```yaml
36
- - runScript:
37
- file: setupUser.js
38
- env:
39
- userRole: admin
40
- ```
41
-
42
- ```javascript
43
- const role = userRole;
44
- console.log('Setting up role: ' + role);
45
- ```
46
-
47
- ## Logging
48
-
49
- `console.log` output is captured in `maestro.log` with a JavaScript console prefix. `maestro.log` belongs to `--debug-output`, not `--test-output-dir`, unless both flags point at the same directory.
50
-
51
- Limitations from official docs:
52
-
53
- - Multiple `console.log` arguments are not supported; concatenate or use template literals in external files.
54
- - Template literals do not work inside `evalScript` the way they do in external `.js` files because `evalScript` already uses `${...}` syntax.
55
-
56
- ```yaml
57
- - evalScript: '${console.log("Value: " + output.email)}'
58
- ```
59
-
60
- ## When To Use JS
61
-
62
- Use JS for:
63
-
64
- - generated test data
65
- - lightweight derived values
66
- - setup/teardown API calls when the repo already permits them
67
- - assertions via `assertTrue`
68
- - reusable selector constants when the repository has that convention
69
-
70
- Avoid JS when a native Maestro command is clearer. Keep helpers deterministic and committed with the flow when they are part of the test contract.
@@ -1,59 +0,0 @@
1
- # Maestro MCP Reference
2
-
3
- Use only when the task mentions Maestro MCP, agent/device automation through MCP tools, Maestro Viewer, or Cloud MCP tooling.
4
-
5
- ## MCP Surface
6
-
7
- Maestro MCP ships inside the Maestro CLI and is started with:
8
-
9
- ```bash
10
- maestro mcp
11
- ```
12
-
13
- Agent configs generally use stdio with command `maestro` and args `["mcp"]`. If the agent launches from a minimal shell, use full binary path and explicit `JAVA_HOME` when needed.
14
-
15
- ## Install Examples
16
-
17
- Codex CLI:
18
-
19
- ```bash
20
- codex mcp add maestro -- maestro mcp
21
- ```
22
-
23
- Manual config:
24
-
25
- ```toml
26
- [mcp_servers.maestro]
27
- command = "maestro"
28
- args = ["mcp"]
29
- ```
30
-
31
- Do not install or modify MCP config unless the user asks or the active workflow explicitly owns integration setup.
32
-
33
- ## Tool Metadata
34
-
35
- Official docs list these MCP tools:
36
-
37
- - `list_devices`
38
- - `inspect_screen`
39
- - `take_screenshot`
40
- - `run`
41
- - `cheat_sheet`
42
- - `list_cloud_devices`
43
- - `run_on_cloud`
44
- - `get_cloud_run_status`
45
- - `open_maestro_viewer`
46
-
47
- `run` accepts exactly one execution shape: inline YAML, specific files, or directory with include/exclude tags. `list_cloud_devices`, `run_on_cloud`, and `get_cloud_run_status` require Maestro Cloud authentication.
48
-
49
- ## Viewer
50
-
51
- Maestro Viewer embeds a device/browser surface for inspection and interaction. Use it as an optional runtime sensor when available; do not treat screenshot success alone as full product or Figma parity.
52
-
53
- ## CLI Help Caveat
54
-
55
- Some installed Maestro versions may print `maestro mcp` usage while returning a non-zero code for `maestro mcp --help`. Record command, exit code, stdout, and stderr exactly. Use official MCP docs plus `maestro --help` for normative MCP availability unless subcommand help succeeds.
56
-
57
- ## Boundary
58
-
59
- MCP can speed authoring and live verification, but it does not replace repository state, official docs, saved audit reports, or deterministic closure evidence. Record skipped reason when MCP is not configured.
@@ -1,102 +0,0 @@
1
- # Maestro Workflow Patterns
2
-
3
- Use for stable suite design, setup/teardown strategy, validation assets, and workflow output contracts.
4
-
5
- ## Stable Flow Design
6
-
7
- - Keep flows readable, short, and scoped to one user journey or smoke path.
8
- - Reuse subflows for login, onboarding, permissions, setup, teardown, and navigation.
9
- - Prefer deep links, API fixtures, or app state reset over long UI-only setup when the repo already supports them.
10
- - Prefer stable selectors and observable states over fixed waits, coordinates, images, and copy that changes often.
11
- - Keep setup and teardown explicit, idempotent, and isolated.
12
- - Preserve existing flows, subflows, fixtures, snapshots, baselines, and CI report consumers unless the scoped task explicitly changes them.
13
-
14
- ## Suite Segmentation
15
-
16
- Common suite intents:
17
-
18
- - smoke
19
- - critical path
20
- - release-blocking
21
- - nightly
22
- - platform-specific
23
- - quarantined
24
- - device-farm-only
25
- - Cloud-only
26
-
27
- Use tags and config rather than duplicate flow logic when possible.
28
-
29
- ## Setup And Cleanup
30
-
31
- Use the smallest deterministic setup:
32
-
33
- 1. reset app state (`clearState`, launch options, fixture cleanup)
34
- 2. set permissions and locale/timezone assumptions
35
- 3. create test data through repo-approved fixture/API helpers
36
- 4. navigate by deep link or reusable subflow
37
- 5. verify initial state before exercising the journey
38
- 6. clean up in `onFlowComplete` or explicit teardown
39
-
40
- If cleanup cannot be guaranteed, isolate test data and record residual risk.
41
-
42
- ## Output Contracts
43
-
44
- `maestro` closure summary must include:
45
-
46
- - scenario source
47
- - changed flows/subflows/fixtures/setup/teardown
48
- - setup/teardown strategy
49
- - command
50
- - exit status
51
- - JUnit report path
52
- - artifact directory
53
- - device/platform/app build
54
- - skipped reason
55
- - validation assets protected
56
- - residual risk
57
-
58
- `maestro-audit` report must include:
59
-
60
- - flow inventory
61
- - scenario source matrix
62
- - Maestro run matrix
63
- - artifact evidence
64
- - `MST-*` findings or explicit no-finding evidence
65
- - execution handoff
66
-
67
- `maestro-fix` closure matrix must include:
68
-
69
- - selected `MST-*` IDs
70
- - status: `fixed`, `blocked`, `deferred`, or `skipped`
71
- - changed files
72
- - command/artifact evidence
73
- - skipped reason or `none`
74
- - JUnit/artifact paths — cite the **on-disk** JUnit report path and artifact directory the run actually produced, never a remembered or expected path
75
- - validation assets protected
76
- - residual risk
77
-
78
- ## Discrimination Sensor (Flow Mutation)
79
-
80
- The Maestro instantiation of `references/discrimination-sensor.md`: mutate a **scratch copy** of the flow under the claim being verified — perturb a selector (point it at a wrong element) or an assertion (invert or change its expected value) — and confirm the run fails. A run that still passes with a perturbed selector/assertion is not discriminating for that behavior.
81
-
82
- Deviation from the generic tier table, stated on purpose: device-backed runs are expensive, so the sensor is a **single lightweight mutation only** — the ≥5-mutation P0 tier does not apply to Maestro flows. Record killed/survived and restore the scratch per the shared reference's isolation rules.
83
-
84
- ## Routing Boundaries
85
-
86
- - Product bugs, missing test IDs, app architecture changes, backend data setup changes, or unclear requirements route to parent workflows.
87
- - `maestro-fix` may edit only Maestro flows, subflows, fixtures, setup/teardown, test data, or directly scoped Maestro CI/report wiring from a saved `MST-*` finding.
88
- - Passing Maestro flows do not prove full requirements coverage. Pair run evidence with scenario-source coverage when making all-clear claims.
89
-
90
- ## Skipped Checks
91
-
92
- Allowed skipped/blocker reasons include:
93
-
94
- - Maestro CLI unavailable or cannot start
95
- - app binary/build unavailable
96
- - device/emulator/simulator unavailable
97
- - credentials/signing/backend unavailable
98
- - Cloud auth/plan unavailable
99
- - target report is stale or invalid
100
- - official docs or live help do not support requested flag/command
101
-
102
- Always state the strongest evidence still collected, such as static YAML validation, path inspection, config scan, or report artifact inspection.
@@ -1,91 +0,0 @@
1
- # Maestro Selectors Reference
2
-
3
- Use when choosing or auditing selectors. Official selector index: https://docs.maestro.dev/reference/selectors.md.
4
-
5
- ## Source Basis
6
-
7
- Maestro targets UI through the accessibility tree for mobile and through rendered browser UI for web. Stable selectors are a reliability contract, not a cosmetic choice.
8
-
9
- ## Core Selectors
10
-
11
- | Selector | Use | Notes |
12
- |---|---|---|
13
- | `text` | Visible text or accessibility label | Regex by default; brittle under localization/copy churn. |
14
- | `id` | Android resource ID or iOS accessibility identifier | Preferred for dynamic content, icons, and localized apps. |
15
- | `index` | Specific occurrence among duplicates | 0-based; pair with stable selector to avoid list drift. |
16
- | `point` | Relative or absolute coordinates | Last resort when no accessibility target exists. |
17
- | `css` | Web-only DOM selector | Does not use the same regex behavior as text/id. |
18
-
19
- ```yaml
20
- - tapOn:
21
- id: login_button
22
- - assertVisible:
23
- text: ".*Welcome.*"
24
- - tapOn:
25
- id: buy_button
26
- index: 2
27
- - tapOn:
28
- point: "50%,50%"
29
- - assertVisible:
30
- css: "#main-header"
31
- ```
32
-
33
- ## Relational Selectors
34
-
35
- Relational selectors identify elements by screen position or accessibility hierarchy:
36
-
37
- - `above`, `below`, `leftOf`, `rightOf`
38
- - `containsChild`, `childOf`, `containsDescendants`
39
-
40
- ```yaml
41
- - tapOn:
42
- text: Delete
43
- childOf:
44
- id: basket_container
45
-
46
- - assertVisible:
47
- id: list_item
48
- containsDescendants:
49
- - text: Wireless Headphones
50
- - text: "$99.99"
51
- ```
52
-
53
- Position selectors use screen bounds; combine them with `id`, `text`, or state filters when possible.
54
-
55
- ## Trait, State, And Dimension Filters
56
-
57
- Use trait, state, and dimension selectors only when they make an already stable selector more precise:
58
-
59
- - Traits: physical characteristics such as shape or long text when official docs support them for the command.
60
- - State: `enabled`, `checked`, `focused`, `selected`.
61
- - Dimensions: width/height matchers with tolerance when official docs support them.
62
-
63
- ```yaml
64
- - tapOn:
65
- id: terms_checkbox
66
- checked: false
67
-
68
- - assertVisible:
69
- id: submit_button
70
- enabled: true
71
- ```
72
-
73
- ## Platform Caveats
74
-
75
- - Android Views: `id` maps to resource ID; text may include visible text or content descriptions.
76
- - Android Compose: configure semantics so test tags become resource IDs when ID selectors are required.
77
- - iOS UIKit/SwiftUI: `text` maps to accessibility label; `id` maps to accessibility identifier.
78
- - Flutter: prefer visible text, Semantics labels, or Semantics identifiers; internal Flutter keys are not enough.
79
- - Web: `css` is web-only; official docs mark web automation as beta and Chromium-based.
80
-
81
- ## Selector Policy
82
-
83
- Prefer this order for new or fixed flows:
84
-
85
- 1. Existing repo convention and stable test IDs/accessibility identifiers.
86
- 2. Accessible visible labels that are low churn and localized deliberately.
87
- 3. Relational selectors anchored to stable IDs/text.
88
- 4. State/dimension filters to reduce ambiguity.
89
- 5. Coordinates, images, screenshots, or index-only selectors only when no stronger target exists.
90
-
91
- If a needed stable selector is missing from production app code, stop and route app changes through `feature`, `debug`, or a parent implementation workflow. Do not modify production code inside `maestro-fix`.
@@ -1,81 +0,0 @@
1
- # Maestro Workspace And Execution Reference
2
-
3
- Use when discovering Maestro roots, config files, tags, execution order, suite isolation, and CI invocation.
4
-
5
- ## Discovery
6
-
7
- Search current source for:
8
-
9
- - `.maestro/`, `maestro/`, `e2e/`, `flows/`
10
- - `*.yaml`, `*.yml`
11
- - `config.yaml`
12
- - CI or scripts that invoke `maestro`
13
- - Existing report/artifact paths
14
-
15
- Prefer the existing repository root, naming, tags, setup, teardown, fixtures, and artifact directories. If no Maestro workspace exists, ask for the target test root before creating one. If multiple roots exist, ask which root owns the app, platform, or suite.
16
-
17
- ## `config.yaml`
18
-
19
- Official workspace configuration is structured around global workspace settings, execution/filtering, platform settings, and Cloud-only settings.
20
-
21
- Key fields:
22
-
23
- - `flows`: glob patterns for suite discovery; `*` covers root-level YAML, `**` covers recursive patterns.
24
- - `testOutputDir`: default artifact directory override for screenshots, logs, and metadata.
25
- - `includeTags` and `excludeTags`: global tag filters.
26
- - `executionOrder.continueOnFailure`: whether ordered execution stops after a failure.
27
- - `executionOrder.flowsOrder`: ordered flow names or filenames.
28
- - `platform.ios.snapshotKeyHonorModalViews`
29
- - `platform.ios.disableAnimations` and `platform.android.disableAnimations`: Cloud-only animation settings.
30
- - `baselineBranch` and `notifications`: Cloud-only configuration.
31
-
32
- Report generation is not configured in `config.yaml`; use CLI `--format` and `--output`.
33
-
34
- ## Tags
35
-
36
- Tags live in individual Flow headers and can also be configured globally in `config.yaml`.
37
-
38
- ```yaml
39
- appId: com.example.app
40
- tags:
41
- - smoke
42
- - checkout
43
- ---
44
- - launchApp
45
- ```
46
-
47
- CLI `--include-tags` and `--exclude-tags` override global config filters. Multiple tags inside one include/exclude flag use OR logic. Combining include and exclude applies inclusion first, then exclusion.
48
-
49
- ## Execution Order And Isolation
50
-
51
- Default execution order is non-deterministic so flows stay isolated. Use `executionOrder` only for goal-driven flows that truly need sequencing.
52
-
53
- Even ordered flows should be able to run on a reset device. Prefer `runFlow` hooks/subflows for setup rather than relying on previous flow side effects.
54
-
55
- ```yaml
56
- executionOrder:
57
- continueOnFailure: false
58
- flowsOrder:
59
- - signup_flow
60
- - verify_email_flow
61
- ```
62
-
63
- ## Local And CI Execution
64
-
65
- Use repository wrappers when present. Otherwise prefer:
66
-
67
- ```bash
68
- maestro test --format junit --output build/maestro/report.xml --test-output-dir build/maestro/artifacts .maestro
69
- ```
70
-
71
- Add `--debug-output build/maestro/debug` when `maestro.log` or JavaScript logs matter. Add `--no-ansi` only when supported by current live help or repo convention.
72
-
73
- For local sharding, capture connected devices first. `--shards`, `--shard-all`, and `--shard-split` are local CLI options; do not claim exact device-count failure behavior without official docs, live run evidence, or repo convention.
74
-
75
- ## Workspace Risks To Audit
76
-
77
- - Config discovery misses nested flows because `flows` lacks recursive patterns.
78
- - Tags configured in both Flow headers and CLI/config produce unexpected selection.
79
- - Ordered flows depend on prior side effects instead of explicit setup.
80
- - CI reports are stored in current directory because `--output` is omitted.
81
- - `testOutputDir`, `--test-output-dir`, and `--debug-output` are treated as the same location when they are not.
@@ -1,203 +0,0 @@
1
- # Maestro YAML Commands Reference
2
-
3
- Use when authoring or auditing Maestro flow commands. Official command inventory lives at https://docs.maestro.dev/reference/commands-available.md.
4
-
5
- ## Flow Header
6
-
7
- Flow headers can define target identity and metadata before `---`:
8
-
9
- ```yaml
10
- appId: com.example.app
11
- name: Login Smoke
12
- tags:
13
- - smoke
14
- env:
15
- USER_KIND: standard
16
- onFlowStart:
17
- - runFlow: setup.yaml
18
- onFlowComplete:
19
- - runFlow: cleanup.yaml
20
- properties:
21
- testCaseId: TC-LOGIN-001
22
- ---
23
- - launchApp
24
- ```
25
-
26
- For web flows, use `url` instead of `appId`.
27
-
28
- ## Command Inventory
29
-
30
- Official command categories:
31
-
32
- - App/device state: `launchApp`, `stopApp`, `killApp`, `clearState`, `clearKeychain`, `setPermissions`, `setAirplaneMode`, `toggleAirplaneMode`, `setOrientation`, `setLocation`, `travel`, `addMedia`.
33
- - Interactions: `tapOn`, `doubleTapOn`, `longPressOn`, `swipe`, `scroll`, `scrollUntilVisible`, `pressKey`, `back`, `openLink`, `hideKeyboard`.
34
- - Input/clipboard: `inputText`, `eraseText`, `copyTextFrom`, `setClipboard`, `pasteText`.
35
- - Flow control: `runFlow`, `runScript`, `evalScript`, `repeat`, `retry`, `extendedWaitUntil`, `waitForAnimationToEnd`, `assertTrue`.
36
- - Assertions and media: `assertVisible`, `assertNotVisible`, `assertScreenshot`, `takeScreenshot`, `startRecording`, `stopRecording`.
37
- - AI commands: `assertWithAI`, `assertNoDefectsWithAI`, `extractTextWithAI`.
38
-
39
- ## App Lifecycle Examples
40
-
41
- ```yaml
42
- - launchApp:
43
- appId: com.example.app
44
- clearState: true
45
- clearKeychain: true
46
- stopApp: true
47
- permissions:
48
- camera: allow
49
- location: allow
50
-
51
- - stopApp: com.example.app
52
- - killApp: com.example.app
53
- - clearState: com.example.app
54
- - clearKeychain
55
- ```
56
-
57
- ## Interaction Examples
58
-
59
- ```yaml
60
- - tapOn:
61
- id: submit_button
62
- retryTapIfNoChange: true
63
-
64
- - tapOn:
65
- text: Add to cart
66
- rightOf: Product A
67
- index: 0
68
-
69
- - tapOn:
70
- point: "50%,50%"
71
-
72
- - tapOn:
73
- id: increment_counter
74
- repeat: 3
75
- delay: 200
76
-
77
- - doubleTapOn:
78
- id: hero_image
79
-
80
- - longPressOn:
81
- text: Delete
82
-
83
- - swipe:
84
- direction: LEFT
85
- duration: 400
86
- ```
87
-
88
- Use point/coordinate targeting only as a last resort when the element is not available in the accessibility tree.
89
-
90
- ## Assertions And Waits
91
-
92
- ```yaml
93
- - assertVisible:
94
- id: login_success_banner
95
- enabled: true
96
- timeout: 10000
97
-
98
- - assertNotVisible:
99
- text: Loading
100
-
101
- - extendedWaitUntil:
102
- visible:
103
- id: payment_confirmation
104
- timeout: 15000
105
-
106
- - waitForAnimationToEnd:
107
- timeout: 5000
108
- ```
109
-
110
- Prefer observable state waits over fixed sleeps.
111
-
112
- ## Input And Clipboard
113
-
114
- ```yaml
115
- - inputText: "jane.doe@example.com"
116
- - eraseText: 50
117
- - copyTextFrom:
118
- id: verification_code
119
- - setClipboard: "123456"
120
- - pasteText
121
- - hideKeyboard
122
- ```
123
-
124
- ## Flow Control
125
-
126
- ```yaml
127
- - runFlow:
128
- file: login.yaml
129
- env:
130
- USER_KIND: admin
131
- when:
132
- visible: Login
133
-
134
- - runScript:
135
- file: setupUser.js
136
- env:
137
- role: admin
138
-
139
- - repeat:
140
- times: 3
141
- commands:
142
- - tapOn: Add item
143
-
144
- - retry:
145
- maxRetries: 2
146
- commands:
147
- - tapOn: Retry
148
- - assertVisible: Success
149
-
150
- - assertTrue:
151
- condition: ${output.total > 0}
152
- label: total computed
153
- ```
154
-
155
- Conditions commonly use visibility, absence, platform, or JavaScript expressions. Re-check command-specific docs before using uncommon fields.
156
-
157
- ## Screenshots And Recording
158
-
159
- ```yaml
160
- - takeScreenshot: checkout/confirmation
161
- - assertScreenshot:
162
- path: checkout/confirmation
163
- thresholdPercentage: 1
164
- - startRecording: checkout-run
165
- - stopRecording
166
- ```
167
-
168
- When visual artifacts matter, record the artifact directory and whether screenshots/videos came from `--test-output-dir`, `--debug-output`, or `maestro record --local`.
169
-
170
- ## Device/System Commands
171
-
172
- ```yaml
173
- - setLocation:
174
- latitude: 37.7749
175
- longitude: -122.4194
176
- - setPermissions:
177
- camera: allow
178
- location: deny
179
- - setAirplaneMode: true
180
- - toggleAirplaneMode
181
- - setOrientation: LANDSCAPE
182
- - pressKey: Home
183
- - back
184
- - openLink: myapp://checkout
185
- - addMedia:
186
- - ./fixtures/photo.png
187
- - travel:
188
- days: 1
189
- ```
190
-
191
- Verify platform support for each command before treating it as portable.
192
-
193
- ## AI Commands
194
-
195
- AI test analysis and AI assertions are experimental and routed through Maestro Cloud infrastructure. Current official docs say users no longer provide their own AI model/key variables; authentication is through `maestro login` or `MAESTRO_CLOUD_API_KEY`.
196
-
197
- ```yaml
198
- - assertWithAI: "Verify the success message is in Spanish"
199
- - assertNoDefectsWithAI
200
- - extractTextWithAI: "Extract the order number"
201
- ```
202
-
203
- Do not add obsolete BYO AI env guidance. If AI is unavailable, mark the check blocked or skipped rather than replacing it with model self-evaluation.
@@ -1,31 +0,0 @@
1
- # Maestro Reference Index
2
-
3
- Use this small index from `workflows/maestro/maestro.md`, `workflows/maestro/maestro-audit.md`, and `workflows/maestro/maestro-fix.md` to select the minimum focused Maestro reference for the current step. Not the full Maestro source of truth.
4
-
5
- ## Source Policy
6
-
7
- Load `references/maestro/fact-ledger.md` before making any normative Maestro claim. Every Maestro claim must be tagged as `official-doc`, `live-help`, `repo-convention`, or `excluded/unverified`.
8
-
9
- Use a user-supplied coverage checklist, when the user provides one, only as a coverage checklist. If a checklist item is not supported by official Maestro docs, live CLI help, or repository convention, quarantine it as `excluded/unverified`.
10
-
11
- Official source anchors:
12
-
13
- - CLI commands/options: https://docs.maestro.dev/maestro-cli/maestro-cli-commands-and-options.md
14
- - Commands available: https://docs.maestro.dev/reference/commands-available.md
15
- - Selectors: https://docs.maestro.dev/reference/selectors.md
16
- - Workspace configuration: https://docs.maestro.dev/reference/workspace-configuration.md
17
- - Test reports/artifacts: https://docs.maestro.dev/maestro-flows/workspace-management/test-reports-and-artifacts.md
18
- - Cloud build requirements: https://docs.maestro.dev/maestro-cloud/build-your-app-for-the-cloud.md
19
- - Cloud limits: https://docs.maestro.dev/maestro-cloud/limits.md
20
- - Maestro MCP: https://docs.maestro.dev/get-started/maestro-mcp.md
21
-
22
- ## Minimum Step Selection
23
-
24
- - Flow implementation: load `fact-ledger.md`, `cli-device.md`, then only the focused files for the flow surface being edited: commonly `yaml-commands.md`, `selectors.md`, `workspace-execution.md`, `config-env-output.md`, `js-scripting.md`, and `patterns.md`.
25
- - Audit: load `fact-ledger.md`, `cli-device.md`, `workspace-execution.md`, `artifacts-reports.md`, `patterns.md`, and `references/audit-report-io.md`.
26
- - Fix: load `fact-ledger.md`, `cli-device.md`, `artifacts-reports.md`, `patterns.md`, and whichever focused file owns the saved `MST-*` finding.
27
- - Cloud or MCP work: load `cloud.md` or `mcp.md` only when the requested flow, audit, fix, or CI wiring actually touches that surface.
28
-
29
- ## Closure Reminder
30
-
31
- All Maestro workflow closures must report scenario source, changed flows, setup/teardown, command, exit status, JUnit path, artifact directory, device/platform, skipped reason, validation assets, and residual risk.