@massa-ai/claude-plugin 1.61.0 → 1.63.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 (285) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +2 -4
  3. package/agent-profiles/balanced/code-explorer.md +92 -0
  4. package/agent-profiles/balanced/code-reviewer.md +105 -0
  5. package/agent-profiles/balanced/designer.md +72 -0
  6. package/agent-profiles/balanced/judge.md +88 -0
  7. package/agent-profiles/balanced/product-manager.md +96 -0
  8. package/{agents/massa-ai-builder.md → agent-profiles/balanced/senior-engineer.md} +5 -5
  9. package/agent-profiles/balanced/test-engineer.md +65 -0
  10. package/agent-profiles/cheap/code-explorer.md +92 -0
  11. package/agent-profiles/cheap/code-reviewer.md +105 -0
  12. package/agent-profiles/cheap/designer.md +72 -0
  13. package/agent-profiles/cheap/judge.md +88 -0
  14. package/agent-profiles/cheap/product-manager.md +96 -0
  15. package/agent-profiles/cheap/{massa-ai-builder.md → senior-engineer.md} +5 -5
  16. package/agent-profiles/cheap/test-engineer.md +65 -0
  17. package/agent-profiles/heavy/code-explorer.md +92 -0
  18. package/agent-profiles/heavy/code-reviewer.md +105 -0
  19. package/agent-profiles/heavy/designer.md +72 -0
  20. package/agent-profiles/heavy/judge.md +88 -0
  21. package/agent-profiles/heavy/product-manager.md +96 -0
  22. package/agent-profiles/heavy/{massa-ai-builder.md → senior-engineer.md} +5 -5
  23. package/agent-profiles/heavy/test-engineer.md +65 -0
  24. package/agent-profiles/home/code-explorer.md +92 -0
  25. package/agent-profiles/home/code-reviewer.md +105 -0
  26. package/agent-profiles/home/designer.md +72 -0
  27. package/agent-profiles/home/judge.md +88 -0
  28. package/agent-profiles/home/product-manager.md +96 -0
  29. package/agent-profiles/{balanced/massa-ai-builder.md → home/senior-engineer.md} +5 -5
  30. package/agent-profiles/home/test-engineer.md +65 -0
  31. package/agent-profiles/work/code-explorer.md +92 -0
  32. package/agent-profiles/work/code-reviewer.md +105 -0
  33. package/agent-profiles/work/designer.md +72 -0
  34. package/agent-profiles/work/judge.md +88 -0
  35. package/agent-profiles/work/product-manager.md +96 -0
  36. package/agent-profiles/work/{massa-ai-builder.md → senior-engineer.md} +5 -5
  37. package/agent-profiles/work/test-engineer.md +65 -0
  38. package/agents/code-explorer.md +92 -0
  39. package/agents/code-reviewer.md +105 -0
  40. package/agents/designer.md +72 -0
  41. package/agents/judge.md +88 -0
  42. package/agents/product-manager.md +96 -0
  43. package/{agent-profiles/home/massa-ai-builder.md → agents/senior-engineer.md} +5 -5
  44. package/agents/test-engineer.md +65 -0
  45. package/commands/{adr.md → create-adr.md} +3 -3
  46. package/commands/{to-prd.md → create-prd.md} +3 -3
  47. package/commands/{rfc.md → create-rfc.md} +3 -3
  48. package/commands/{tdd.md → create-tdd.md} +3 -3
  49. package/commands/{ticket.md → create-ticket.md} +3 -3
  50. package/commands/{discovery.md → product-discovery.md} +3 -3
  51. package/hooks/massa-ai-hook.ts +4 -4
  52. package/install.sh +116 -38
  53. package/package.json +1 -1
  54. package/skills/agents/code-explorer/SKILL.md +93 -0
  55. package/skills/agents/code-reviewer/SKILL.md +106 -0
  56. package/skills/agents/designer/SKILL.md +35 -31
  57. package/skills/agents/judge/SKILL.md +54 -63
  58. package/skills/agents/product-manager/SKILL.md +97 -0
  59. package/skills/agents/{builder → senior-engineer}/SKILL.md +5 -6
  60. package/skills/agents/test-engineer/SKILL.md +28 -29
  61. package/skills/bootstrap/SKILL.md +4 -5
  62. package/skills/massa-ai/SKILL.md +73 -219
  63. package/skills/massa-ai/references/agent-modes/designer/audit.md +22 -0
  64. package/skills/massa-ai/references/agent-modes/designer/implement.md +29 -0
  65. package/skills/massa-ai/references/agent-modes/designer/trace.md +41 -0
  66. package/skills/massa-ai/references/agent-modes/judge/plan-critique-full.md +13 -0
  67. package/skills/massa-ai/references/agent-modes/judge/plan-critique-lite.md +13 -0
  68. package/skills/massa-ai/references/agent-modes/judge/scorer.md +31 -0
  69. package/skills/massa-ai/references/agent-modes/judge/spec-author.md +28 -0
  70. package/skills/massa-ai/references/agent-modes/test-engineer/audit.md +17 -0
  71. package/skills/massa-ai/references/agent-modes/test-engineer/fix.md +14 -0
  72. package/skills/massa-ai/references/agent-orchestration.md +63 -58
  73. package/skills/massa-ai/references/audit-report-io.md +8 -87
  74. package/skills/massa-ai/references/code-reuse-scan.md +1 -1
  75. package/skills/massa-ai/references/{adr-authoring.md → create-adr.md} +3 -3
  76. package/skills/massa-ai/references/{rfc → create-rfc}/discovery-and-sizing.md +1 -1
  77. package/skills/massa-ai/references/{tdd → create-tdd}/calibrated-examples.md +3 -3
  78. package/skills/massa-ai/references/{tdd → create-tdd}/discovery-and-sizing.md +1 -1
  79. package/skills/massa-ai/references/{tdd → create-tdd}/quality-and-lifecycle.md +1 -1
  80. package/skills/massa-ai/references/{ticket → create-ticket}/intake-and-sources.md +1 -1
  81. package/skills/massa-ai/references/figma-pre-analysis.md +1 -1
  82. package/skills/massa-ai/references/furps/analyst-role.md +3 -3
  83. package/skills/massa-ai/references/furps/checklist.md +2 -2
  84. package/skills/massa-ai/references/furps/intake.md +7 -7
  85. package/skills/massa-ai/references/hook-enforcement.md +4 -8
  86. package/skills/massa-ai/references/implementation-delivery.md +2 -2
  87. package/skills/massa-ai/references/knowledge-verification-chain.md +0 -1
  88. package/skills/massa-ai/references/mobile-context.md +2 -5
  89. package/skills/massa-ai/references/pr-task-fix.md +1 -1
  90. package/skills/massa-ai/references/spec-driven/specify.md +1 -1
  91. package/skills/massa-ai/references/spec-driven/sub-agents.md +4 -3
  92. package/skills/massa-ai/references/spec-driven/validate.md +1 -1
  93. package/skills/massa-ai/references/subagent-design.md +7 -9
  94. package/skills/massa-ai/references/verification-ladder.md +2 -2
  95. package/skills/massa-ai/scripts/validate_audit_report.ts +3 -8
  96. package/skills/massa-ai/workflows/architecture/architecture-audit.md +4 -5
  97. package/skills/massa-ai/workflows/architecture/architecture-fix.md +6 -7
  98. package/skills/massa-ai/workflows/bugs/bugs-audit.md +2 -3
  99. package/skills/massa-ai/workflows/bugs/bugs-fix.md +5 -6
  100. package/skills/massa-ai/workflows/code-quality/code-quality-audit.md +2 -3
  101. package/skills/massa-ai/workflows/code-quality/code-quality-fix.md +5 -6
  102. package/skills/massa-ai/workflows/commit.md +3 -3
  103. package/skills/massa-ai/workflows/{adr.md → create-adr.md} +10 -10
  104. package/skills/massa-ai/workflows/{to-prd.md → create-prd.md} +4 -4
  105. package/skills/massa-ai/workflows/{rfc.md → create-rfc.md} +6 -6
  106. package/skills/massa-ai/workflows/{tdd.md → create-tdd.md} +11 -11
  107. package/skills/massa-ai/workflows/{ticket.md → create-ticket.md} +5 -5
  108. package/skills/massa-ai/workflows/debug.md +5 -6
  109. package/skills/massa-ai/workflows/design.md +2 -2
  110. package/skills/massa-ai/workflows/exploration.md +2 -2
  111. package/skills/massa-ai/workflows/feature.md +6 -7
  112. package/skills/massa-ai/workflows/implementation/implementation-audit.md +22 -3
  113. package/skills/massa-ai/workflows/implementation/implementation-fix.md +7 -8
  114. package/skills/massa-ai/workflows/judge-with-debate.md +14 -14
  115. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-audit.md +2 -2
  116. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-fix.md +11 -12
  117. package/skills/massa-ai/workflows/pr-review.md +32 -14
  118. package/skills/massa-ai/workflows/{discovery.md → product-discovery.md} +12 -12
  119. package/skills/massa-ai/workflows/refactor.md +5 -6
  120. package/skills/massa-ai/workflows/refinement/furps-refinement.md +7 -7
  121. package/skills/massa-ai/workflows/requirements/requirements-audit.md +2 -2
  122. package/skills/massa-ai/workflows/requirements/requirements-fix.md +6 -7
  123. package/skills/massa-ai/workflows/security/security-audit.md +2 -3
  124. package/skills/massa-ai/workflows/security/security-fix.md +4 -5
  125. package/skills/massa-ai/workflows/spec-driven.md +21 -12
  126. package/skills/massa-ai/workflows/tests/tests-audit.md +2 -2
  127. package/skills/massa-ai/workflows/tests/tests-fix.md +17 -7
  128. package/skills/massa-ai/workflows/the-fool.md +7 -7
  129. package/agent-profiles/balanced/massa-ai-architecture-specialist.md +0 -63
  130. package/agent-profiles/balanced/massa-ai-audit-specialist.md +0 -80
  131. package/agent-profiles/balanced/massa-ai-context-curator.md +0 -65
  132. package/agent-profiles/balanced/massa-ai-designer.md +0 -67
  133. package/agent-profiles/balanced/massa-ai-documentation-agent.md +0 -62
  134. package/agent-profiles/balanced/massa-ai-furps-analyst.md +0 -69
  135. package/agent-profiles/balanced/massa-ai-investigator.md +0 -66
  136. package/agent-profiles/balanced/massa-ai-judge.md +0 -96
  137. package/agent-profiles/balanced/massa-ai-meta-judge.md +0 -85
  138. package/agent-profiles/balanced/massa-ai-mobile-specialist.md +0 -80
  139. package/agent-profiles/balanced/massa-ai-navigator.md +0 -73
  140. package/agent-profiles/balanced/massa-ai-plan-critic.md +0 -88
  141. package/agent-profiles/balanced/massa-ai-planner.md +0 -63
  142. package/agent-profiles/balanced/massa-ai-requirements-analyst.md +0 -62
  143. package/agent-profiles/balanced/massa-ai-reviewer.md +0 -64
  144. package/agent-profiles/balanced/massa-ai-test-engineer.md +0 -64
  145. package/agent-profiles/balanced/massa-ai-verification-agent.md +0 -63
  146. package/agent-profiles/cheap/massa-ai-architecture-specialist.md +0 -63
  147. package/agent-profiles/cheap/massa-ai-audit-specialist.md +0 -80
  148. package/agent-profiles/cheap/massa-ai-context-curator.md +0 -65
  149. package/agent-profiles/cheap/massa-ai-designer.md +0 -67
  150. package/agent-profiles/cheap/massa-ai-documentation-agent.md +0 -62
  151. package/agent-profiles/cheap/massa-ai-furps-analyst.md +0 -69
  152. package/agent-profiles/cheap/massa-ai-investigator.md +0 -66
  153. package/agent-profiles/cheap/massa-ai-judge.md +0 -96
  154. package/agent-profiles/cheap/massa-ai-meta-judge.md +0 -85
  155. package/agent-profiles/cheap/massa-ai-mobile-specialist.md +0 -80
  156. package/agent-profiles/cheap/massa-ai-navigator.md +0 -73
  157. package/agent-profiles/cheap/massa-ai-plan-critic.md +0 -88
  158. package/agent-profiles/cheap/massa-ai-planner.md +0 -63
  159. package/agent-profiles/cheap/massa-ai-requirements-analyst.md +0 -62
  160. package/agent-profiles/cheap/massa-ai-reviewer.md +0 -64
  161. package/agent-profiles/cheap/massa-ai-test-engineer.md +0 -64
  162. package/agent-profiles/cheap/massa-ai-verification-agent.md +0 -63
  163. package/agent-profiles/heavy/massa-ai-architecture-specialist.md +0 -63
  164. package/agent-profiles/heavy/massa-ai-audit-specialist.md +0 -80
  165. package/agent-profiles/heavy/massa-ai-context-curator.md +0 -65
  166. package/agent-profiles/heavy/massa-ai-designer.md +0 -67
  167. package/agent-profiles/heavy/massa-ai-documentation-agent.md +0 -62
  168. package/agent-profiles/heavy/massa-ai-furps-analyst.md +0 -69
  169. package/agent-profiles/heavy/massa-ai-investigator.md +0 -66
  170. package/agent-profiles/heavy/massa-ai-judge.md +0 -96
  171. package/agent-profiles/heavy/massa-ai-meta-judge.md +0 -85
  172. package/agent-profiles/heavy/massa-ai-mobile-specialist.md +0 -80
  173. package/agent-profiles/heavy/massa-ai-navigator.md +0 -73
  174. package/agent-profiles/heavy/massa-ai-plan-critic.md +0 -88
  175. package/agent-profiles/heavy/massa-ai-planner.md +0 -63
  176. package/agent-profiles/heavy/massa-ai-requirements-analyst.md +0 -62
  177. package/agent-profiles/heavy/massa-ai-reviewer.md +0 -64
  178. package/agent-profiles/heavy/massa-ai-test-engineer.md +0 -64
  179. package/agent-profiles/heavy/massa-ai-verification-agent.md +0 -63
  180. package/agent-profiles/home/massa-ai-architecture-specialist.md +0 -63
  181. package/agent-profiles/home/massa-ai-audit-specialist.md +0 -80
  182. package/agent-profiles/home/massa-ai-context-curator.md +0 -65
  183. package/agent-profiles/home/massa-ai-designer.md +0 -67
  184. package/agent-profiles/home/massa-ai-documentation-agent.md +0 -62
  185. package/agent-profiles/home/massa-ai-furps-analyst.md +0 -69
  186. package/agent-profiles/home/massa-ai-investigator.md +0 -66
  187. package/agent-profiles/home/massa-ai-judge.md +0 -96
  188. package/agent-profiles/home/massa-ai-meta-judge.md +0 -85
  189. package/agent-profiles/home/massa-ai-mobile-specialist.md +0 -80
  190. package/agent-profiles/home/massa-ai-navigator.md +0 -73
  191. package/agent-profiles/home/massa-ai-plan-critic.md +0 -88
  192. package/agent-profiles/home/massa-ai-planner.md +0 -63
  193. package/agent-profiles/home/massa-ai-requirements-analyst.md +0 -62
  194. package/agent-profiles/home/massa-ai-reviewer.md +0 -64
  195. package/agent-profiles/home/massa-ai-test-engineer.md +0 -64
  196. package/agent-profiles/home/massa-ai-verification-agent.md +0 -63
  197. package/agent-profiles/work/massa-ai-architecture-specialist.md +0 -63
  198. package/agent-profiles/work/massa-ai-audit-specialist.md +0 -80
  199. package/agent-profiles/work/massa-ai-context-curator.md +0 -65
  200. package/agent-profiles/work/massa-ai-designer.md +0 -67
  201. package/agent-profiles/work/massa-ai-documentation-agent.md +0 -62
  202. package/agent-profiles/work/massa-ai-furps-analyst.md +0 -69
  203. package/agent-profiles/work/massa-ai-investigator.md +0 -66
  204. package/agent-profiles/work/massa-ai-judge.md +0 -96
  205. package/agent-profiles/work/massa-ai-meta-judge.md +0 -85
  206. package/agent-profiles/work/massa-ai-mobile-specialist.md +0 -80
  207. package/agent-profiles/work/massa-ai-navigator.md +0 -73
  208. package/agent-profiles/work/massa-ai-plan-critic.md +0 -88
  209. package/agent-profiles/work/massa-ai-planner.md +0 -63
  210. package/agent-profiles/work/massa-ai-requirements-analyst.md +0 -62
  211. package/agent-profiles/work/massa-ai-reviewer.md +0 -64
  212. package/agent-profiles/work/massa-ai-test-engineer.md +0 -64
  213. package/agent-profiles/work/massa-ai-verification-agent.md +0 -63
  214. package/agents/massa-ai-architecture-specialist.md +0 -63
  215. package/agents/massa-ai-audit-specialist.md +0 -80
  216. package/agents/massa-ai-context-curator.md +0 -65
  217. package/agents/massa-ai-designer.md +0 -67
  218. package/agents/massa-ai-documentation-agent.md +0 -62
  219. package/agents/massa-ai-furps-analyst.md +0 -69
  220. package/agents/massa-ai-investigator.md +0 -66
  221. package/agents/massa-ai-judge.md +0 -96
  222. package/agents/massa-ai-meta-judge.md +0 -85
  223. package/agents/massa-ai-mobile-specialist.md +0 -80
  224. package/agents/massa-ai-navigator.md +0 -73
  225. package/agents/massa-ai-plan-critic.md +0 -88
  226. package/agents/massa-ai-planner.md +0 -63
  227. package/agents/massa-ai-requirements-analyst.md +0 -62
  228. package/agents/massa-ai-reviewer.md +0 -64
  229. package/agents/massa-ai-test-engineer.md +0 -64
  230. package/agents/massa-ai-verification-agent.md +0 -63
  231. package/commands/general.md +0 -14
  232. package/commands/maestro-audit.md +0 -14
  233. package/commands/maestro-fix.md +0 -14
  234. package/commands/maestro.md +0 -14
  235. package/skills/agents/architecture-specialist/SKILL.md +0 -66
  236. package/skills/agents/audit-specialist/SKILL.md +0 -83
  237. package/skills/agents/context-curator/SKILL.md +0 -68
  238. package/skills/agents/documentation-agent/SKILL.md +0 -66
  239. package/skills/agents/furps-analyst/SKILL.md +0 -71
  240. package/skills/agents/investigator/SKILL.md +0 -69
  241. package/skills/agents/meta-judge/SKILL.md +0 -87
  242. package/skills/agents/mobile-specialist/SKILL.md +0 -83
  243. package/skills/agents/navigator/SKILL.md +0 -76
  244. package/skills/agents/plan-critic/SKILL.md +0 -90
  245. package/skills/agents/planner/SKILL.md +0 -66
  246. package/skills/agents/requirements-analyst/SKILL.md +0 -65
  247. package/skills/agents/reviewer/SKILL.md +0 -67
  248. package/skills/agents/verification-agent/SKILL.md +0 -66
  249. package/skills/massa-ai/personas/README.md +0 -35
  250. package/skills/massa-ai/personas/ai-native-nodejs-cli-architect.md +0 -47
  251. package/skills/massa-ai/personas/catalog.json +0 -7
  252. package/skills/massa-ai/personas/context-skill-harness-engineer-architect.md +0 -47
  253. package/skills/massa-ai/personas/product-manager.md +0 -65
  254. package/skills/massa-ai/personas/senior-mobile-engineer.md +0 -46
  255. package/skills/massa-ai/personas/senior-mobile-qa-automation-engineer.md +0 -51
  256. package/skills/massa-ai/personas/signals/ai-native-nodejs-cli-architect.json +0 -20
  257. package/skills/massa-ai/personas/signals/context-skill-harness-engineer-architect.json +0 -20
  258. package/skills/massa-ai/personas/signals/product-manager.json +0 -21
  259. package/skills/massa-ai/personas/signals/senior-mobile-engineer.json +0 -18
  260. package/skills/massa-ai/personas/signals/senior-mobile-qa-automation-engineer.json +0 -18
  261. package/skills/massa-ai/references/maestro/artifacts-reports.md +0 -69
  262. package/skills/massa-ai/references/maestro/cli-device.md +0 -65
  263. package/skills/massa-ai/references/maestro/cloud.md +0 -69
  264. package/skills/massa-ai/references/maestro/config-env-output.md +0 -76
  265. package/skills/massa-ai/references/maestro/fact-ledger.md +0 -73
  266. package/skills/massa-ai/references/maestro/js-scripting.md +0 -70
  267. package/skills/massa-ai/references/maestro/mcp.md +0 -59
  268. package/skills/massa-ai/references/maestro/patterns.md +0 -102
  269. package/skills/massa-ai/references/maestro/selectors.md +0 -91
  270. package/skills/massa-ai/references/maestro/workspace-execution.md +0 -81
  271. package/skills/massa-ai/references/maestro/yaml-commands.md +0 -203
  272. package/skills/massa-ai/references/maestro.md +0 -31
  273. package/skills/massa-ai/workflows/general.md +0 -88
  274. package/skills/massa-ai/workflows/maestro/maestro-audit.md +0 -64
  275. package/skills/massa-ai/workflows/maestro/maestro-fix.md +0 -111
  276. package/skills/massa-ai/workflows/maestro/maestro.md +0 -80
  277. package/skills/persona-router/SKILL.md +0 -52
  278. package/skills/persona-router/references/routing-details.md +0 -98
  279. package/skills/profile/SKILL.md +0 -39
  280. /package/skills/massa-ai/references/{rfc → create-rfc}/ATTRIBUTION.md +0 -0
  281. /package/skills/massa-ai/references/{rfc → create-rfc}/document-contract.md +0 -0
  282. /package/skills/massa-ai/references/{rfc → create-rfc}/quality-and-lifecycle.md +0 -0
  283. /package/skills/massa-ai/references/{tdd → create-tdd}/document-contract.md +0 -0
  284. /package/skills/massa-ai/references/{ticket → create-ticket}/atlassian-fix.md +0 -0
  285. /package/skills/massa-ai/references/{ticket → create-ticket}/templates-and-quality.md +0 -0
@@ -1,64 +0,0 @@
1
- ---
2
- name: maestro-audit
3
- description: "Findings-only audit of existing Maestro mobile E2E flows, fixtures, setup/teardown, reports, selector stability, flake risk, and scenario coverage; does not edit code."
4
- license: MIT
5
- metadata:
6
- version: "1.1.0"
7
- ---
8
-
9
- ### Maestro Audit
10
-
11
- Findings-only audit of existing Maestro mobile E2E flows, fixtures, setup/teardown, reports, artifacts, CI invocation, selector stability, flake risk, and scenario coverage.
12
-
13
- Load `references/project-context.md` (intake sweep) before the first substantive read.
14
-
15
- Do not edit code or flows in this workflow. Not for new flow implementation — route to `workflows/maestro/maestro.md`. Do not fix findings directly; invoke `workflows/maestro/maestro-fix.md` as a bounded child workflow only after a saved audit report or audit handoff exists.
16
-
17
- 1. Resolve/reuse `workflowSessionId`: `maestro-audit-[entity]`.
18
- 2. Load shared references:
19
- - `references/maestro.md` as the index before choosing focused Maestro references.
20
- - `references/maestro/fact-ledger.md` before making any Maestro claim; tag facts as `official-doc`, `live-help`, `repo-convention`, or `excluded/unverified`.
21
- - `references/maestro/cli-device.md` before CLI checks, device/platform readiness, local sharding, or executable runs.
22
- - `references/maestro/workspace-execution.md` before discovering flows, tags, config, CI commands, execution order, or suite isolation.
23
- - `references/maestro/artifacts-reports.md` before report/artifact/debug-output, screenshot, video, recording, or AI report claims.
24
- - `references/maestro/selectors.md` before selector stability findings.
25
- - `references/maestro/config-env-output.md` before env/config/report-output findings.
26
- - `references/maestro/cloud.md` only when Cloud execution, Cloud devices, auth/plan, or Cloud artifact evidence is in scope.
27
- - `references/maestro/mcp.md` only when Maestro MCP or Viewer evidence is in scope.
28
- - `references/maestro/patterns.md` before flake, setup/teardown, coverage, and execution-handoff judgments.
29
- - `references/audit-report-io.md` before producing the report.
30
- - `references/mobile-context.md` for platform scope, parity, and device/emulator assumptions.
31
- - `references/audit-scope.md` for scope packet, budgets, skipped depth checks, and freshness.
32
- - `references/context-firewall.md` before large logs, screenshots, videos, JUnit XML, generated artifacts, or broad search output.
33
- - `references/synapse-policy.md` when repeated massa-ai searches are expected.
34
- - `references/agent-orchestration.md` only for large scopes, explicit parallel/subagent requests, or independent verification of high-impact findings.
35
- 3. Run the mandatory Maestro CLI transcript gate from `references/maestro/cli-device.md` and `references/maestro/fact-ledger.md`: `command -v maestro`, `maestro --version` or `maestro --help`, and relevant subcommand help with command, exit code, stdout, and stderr. If missing or failing, block executable audit runs and produce only a blocked static-readiness report when source inspection is still useful.
36
- 4. Establish the audit target:
37
- - Explicit Maestro root, suite, flow file, tag, app/module, platform, branch comparison, commit range, modified files, or whole Maestro workspace.
38
- - For omitted target, discover all developed Maestro flows and ask before whole-workspace audit if multiple roots exist.
39
- 5. Resolve expected behavior sources in scenario input order: Jira/Confluence via Atlassian MCP, attached/local file, prompt text, then explored/inferred repository behavior. If no requirements source exists, run `workflows/exploration.md` before comparing behavior and label inferred expectations as inference.
40
- 6. Discover all in-scope Maestro flows, subflows, fixtures, setup/teardown, config, tags, CI commands, report paths, and artifact paths.
41
- 7. Run every existing in-scope Maestro flow when the CLI, app build, device/emulator, credentials, and backend dependencies are available. Use deterministic output:
42
- - `maestro test --format junit --output <report.xml> --test-output-dir <artifact-dir> <flow-or-directory>`.
43
- - Capture command, exit code, JUnit report, artifact directory, platform/device, app build/flavor, environment, and skipped-check reason.
44
- 8. Compare current flows and run results against supplied or discovered expected behavior:
45
- - Scenario coverage and acceptance criteria.
46
- - Setup/teardown completeness, data isolation, feature flags, permissions, locale/timezone, cleanup, and app state reset.
47
- - Selector/test-ID stability, synchronization, fixed sleeps, coordinates, screenshot/image coupling, brittle text, and flow ordering.
48
- - CI report/artifact retention, runtime cost, device assumptions, retry/quarantine behavior, and flake diagnostics.
49
- 9. Produce findings first, ordered by severity. IDs: `MST-<N>`.
50
- - Each finding must include severity, confidence, flow/subflow/file location, scenario source, concrete evidence, impacted journey, flake or coverage risk, simplest sufficient fix, and Verification Suggestion.
51
- - If no findings are found, say that clearly and list flows, scenarios, commands/artifacts, and skipped checks.
52
- - Include the Verification/Test Fidelity Checklist from `references/audit-report-io.md`; tie every `MST-*` finding or no-finding claim to deterministic sensors, commands/artifacts, validation assets, skipped-check reasons, and runtime artifacts. Model judgment alone cannot satisfy verification/testing all-clear.
53
- 10. Save or propose `audits/maestro/<YYYY-MM-DD maestro-audit.md>` using the report contract in `references/audit-report-io.md`. The enriched report must preserve flow inventory, run matrix, scenario coverage, JUnit report path, artifact directory, device/emulator readiness, validation assets, and execution handoff.
54
- 11. Invoke `workflows/maestro/maestro-fix.md` only as a bounded child workflow for failed executable `MST-*` findings when requested or when the parent audit explicitly includes auto-fix handoff. The child may edit only Maestro flows, subflows, fixtures, setup/teardown, and test data.
55
- 12. Persist only durable Maestro conventions, flake classes, selector/test-ID policy, device matrix constraints, or reusable verification recipes after Importance Calibration. Use `workflow:maestro-audit` and required memory tags.
56
- 13. Complete the Evidence Gate from `references/evidence-gate.md`.
57
-
58
- ## Examples
59
-
60
- User asks: "Run a Maestro audit for the checkout suite."
61
-
62
- 1. Scope to the checkout Maestro root or tag, run CLI/device preflight, and discover expected behavior.
63
- 2. Execute in-scope flows with JUnit report and artifact output when dependencies are available.
64
- 3. Save `audits/maestro/<YYYY-MM-DD maestro-audit.md>` with `MST-*` findings and execution handoff.
@@ -1,111 +0,0 @@
1
- ---
2
- name: maestro-fix
3
- description: "Child-only workflow to fix confirmed MST-prefixed findings from a saved Maestro audit report or an explicit maestro-audit handoff."
4
- license: MIT
5
- metadata:
6
- version: "1.3.0"
7
- ---
8
-
9
- ### Maestro Fix
10
-
11
- Child-only workflow: fix confirmed `MST-*` findings from a saved Maestro audit report or an explicit `maestro-audit` handoff.
12
-
13
- Load `references/project-context.md` (intake sweep) before the first substantive read.
14
-
15
- Before the first repository mutation, load `references/implementation-delivery.md` (delivery chain: worktree, atomic commits, PR, CI watch, merge gate) and `references/code-annotation.md` (doc blocks, rationale, test coverage) — one user go-ahead carries this fix through PR creation only, force-push, deploy, and merge stay separately gated, and Maestro Cloud execution/upload is gated again, separately, per `references/maestro/cloud.md`. After two consecutive failed fixes on one symptom, stop editing and load `references/root-cause-scripts.md`.
16
-
17
- **Isolation Gate — before the first file edit:** execute `references/implementation-delivery.md` Stage 0–1 now (fetch base, create the worktree + branch, work inside it) and record the worktree path + branch — or one of Stage 1's two legal skip reasons, verbatim — before any repository mutation.
18
-
19
- Reject direct use without a saved `audits/maestro/<YYYY-MM-DD maestro-audit.md>` report or a parent audit handoff that includes the same required metadata. Do not execute from chat summaries, remembered findings, inline comments, or unsaved model analysis. The saved report or parent handoff is the source of truth.
20
- **Reuse Scan — before writing new implementation code:** run the mandatory reuse scan per `references/code-reuse-scan.md` (separate read-only subagents; the reuse map's use/extend/new decisions are consumed before new code is planned or written) — or record its inline-fallback reason, verbatim.
21
-
22
-
23
- 1. Resolve/reuse `workflowSessionId`: `maestro-fix-[entity]`.
24
- 2. Load shared references:
25
- - `references/maestro.md` as the index before choosing focused Maestro references.
26
- - `references/maestro/fact-ledger.md` before making any Maestro claim; tag facts as `official-doc`, `live-help`, `repo-convention`, or `excluded/unverified`.
27
- - `references/maestro/cli-device.md` before CLI checks, device/platform readiness, local sharding, or executable runs.
28
- - `references/maestro/artifacts-reports.md` before report/artifact/debug-output, screenshot, video, recording, or AI report claims.
29
- - `references/maestro/patterns.md` before applying flow, setup/teardown, fixture, validation asset, or skipped-check rules.
30
- - `references/discrimination-sensor.md` before closing any finding `fixed` — the Maestro instantiation is `references/maestro/patterns.md` § Discrimination Sensor (Flow Mutation), a scratch-copy selector/assertion perturbation.
31
- - `references/brownfield-mapping.md` (Minimum Bar only — `CONCERNS.md` and `TESTING.md`) when recall returns no hit for the target flow/workspace and no gate command is derivable from the report's evidence, for Standard+ findings.
32
- - `references/maestro/yaml-commands.md` before changing unfamiliar command syntax.
33
- - `references/maestro/selectors.md` before changing selector strategy.
34
- - `references/maestro/workspace-execution.md` before changing config, tags, execution order, sharding, or CI command shape, or on the first fix touching an unmapped Maestro workspace.
35
- - `references/maestro/config-env-output.md` before changing env, properties, report-output flags, or artifact directories.
36
- - `references/maestro/js-scripting.md` before changing JavaScript helpers or logs.
37
- - `references/maestro/cloud.md` only when saved finding scopes Cloud execution or Cloud artifact evidence.
38
- - `references/maestro/mcp.md` only when saved finding scopes Maestro MCP or Viewer evidence.
39
- - `references/audit-report-io.md` before report validation or source edits.
40
- - `references/lessons.md` to load confirmed project lessons
41
- - `references/mobile-context.md` for platform scope, parity, and device/emulator assumptions.
42
- - `references/codebase-investigation.md` before changing unfamiliar flows, fixtures, setup/teardown, or CI wiring.
43
- - `references/verification-ladder.md` before non-trivial edits.
44
- - `references/context-firewall.md` before large reports, logs, screenshots, videos, JUnit XML, or generated artifacts.
45
- - `references/naming-standards.md` before naming flows, tags, fixtures, selectors, or test data.
46
- 3. Select and validate the report:
47
- - Prefer an exact report path plus optional `MST-*` IDs.
48
- - For `latest` or omitted path, require a concrete target focus, then select only from `audits/maestro/`.
49
- - Validate metadata deterministically: `bun skills/massa-ai/scripts/validate_audit_report.ts <path> --family maestro` (`references/audit-report-io.md`, Deterministic Validation); non-zero exit blocks editing. Also confirm flow inventory, Maestro run matrix, JUnit report/artifact evidence, Verification/Test Fidelity Checklist, and Execution Handoff are present.
50
- - Stop on invalid, stale, target-drifted, or ambiguous reports.
51
- 4. Extract actionable findings:
52
- - Keep only selected `MST-*` findings with concrete location, scenario source, evidence, impacted journey, flake or coverage risk, simplest sufficient fix, and Verification Suggestion.
53
- - Ignore no-finding claims, ruled-out candidates, skipped checks, and low-confidence ideas unless the user explicitly changes scope after revalidation.
54
- 5. Revalidate current source and report drift:
55
- - Reinspect current flow/subflow/fixture/setup files and current CI command shape.
56
- - Confirm evidence still applies; stop or re-audit if files, flow paths, target, app behavior, or expected behavior have drifted.
57
- 6. Fix only allowed artifacts:
58
- - You may edit only Maestro flows, subflows, fixtures, setup/teardown, and test data unless the saved audit finding directly scopes Maestro CI/report wiring.
59
- - Maestro flows.
60
- - Subflows.
61
- - Fixtures.
62
- - Setup/teardown.
63
- - Test data.
64
- - Directly required Maestro CI/report wiring when the audit finding targets it.
65
- 7. If evidence points to an app bug, product behavior gap, missing selector/test ID in production code, backend issue, or requirements ambiguity, stop and route to `workflows/debug.md`, `workflows/feature.md`, or `workflows/requirements/requirements-audit.md`. Do not modify production app behavior in this child workflow.
66
- 8. Apply fixes using stable-flow design from `references/maestro/patterns.md`:
67
- - Replace arbitrary sleeps with observable state waits when possible.
68
- - Replace brittle selectors with stable selectors, accessibility labels, or test IDs already present.
69
- - Keep setup/teardown explicit, idempotent, and isolated.
70
- - Protect existing flows, subflows, fixtures, snapshots, baselines, report consumers, and CI commands unless the audit finding explicitly scopes them.
71
-
72
- > **Dispatch: `massa-ai-verification-agent`** (role: `verification-agent`) — charter `skills/agents/verification-agent/SKILL.md`
73
- > - trigger: mandatory at Standard+/Spec-driven finding size or high/critical severity per the Independent Verification Mandate in `references/verification-ladder.md`; at Quick size, device runs are expensive, so skip the dispatch and instead run the standalone fresh-eyes self-check named in the fallback line
74
- > - scope: the fixed flow/subflow/fixture's `MST-*` claim closure — selector/assertion changes, stable-flow design compliance, and the JUnit report/artifact evidence for the run
75
- > - inputs: the `MST-*` finding, the applied flow/fixture diff, the report's Verification Suggestion, the JUnit report path, the artifact directory, and device/platform
76
- > - sensors: the report's Verification Suggestion or equivalent `maestro test` run; flow-mutation discrimination sensor per `references/maestro/patterns.md` (single lightweight selector/assertion perturbation)
77
- > - output: confirmed/disproven closure verdict for the `MST-*` row, with JUnit/artifact evidence cited
78
- > - firewall: JUnit XML, logs, screenshots, and recordings summarized, never dumped raw
79
- > - memory: suggest-only; main agent persists maestro-closure verification outcomes
80
- > - fallback: if the subagent is unavailable, run a standalone fresh-eyes re-check of the MST closure rows and on-disk JUnit/artifact evidence, and record the skipped-delegation reason
81
-
82
- > **Dispatch: `massa-ai-reviewer`** (role: `reviewer`) — charter `skills/agents/reviewer/SKILL.md`
83
- > - trigger: implementation complete, before the verification gate — never optional
84
- > - scope: the fix's diff surface and its task/AC context
85
- > - permissions: read-only
86
- > - inputs: diff, acceptance context, recalled code-quality conventions
87
- > - sensors: bugs, regressions, missing edge cases, smells introduced by the diff
88
- > - output: ranked findings, blocking vs advisory; blocking findings become fix items before verification runs
89
- > - firewall: summarized findings only, never raw diff dumps
90
- > - memory: suggest-only; main agent persists
91
-
92
- 9. Use strict harness sensors:
93
- - If verification found a reusable signal (`ac_gap`, `surviving_mutant`, `spec_precision_gap`, `spec_deviation`, `gate_fail`), record it via `references/lessons.md`:
94
- `bun skills/massa-ai/scripts/lessons.ts --root . add --feature "<slug>" --signal "<signal>" --source "<ref>" --text "<one terse lesson>"`
95
- - Apply the Mandatory Verification Fix Gate from `references/verification-ladder.md`: run the report's Verification Suggestion or an equivalent deterministic command/artifact check for each selected `MST-*` finding or coherent group.
96
- - Prefer repository-specific Maestro commands; otherwise run `maestro test --format junit --output <report.xml> --test-output-dir <artifact-dir> <flow-or-directory>`.
97
- - A finding cannot be marked `fixed` when a target-relevant command or artifact check exists but was not attempted.
98
- - If verification cannot run, mark it `blocked`, `deferred`, or `skipped` with an allowed skipped-check reason.
99
- - At the tier gate that mandated the verifier dispatch above, also run the Discrimination Sensor from `references/verification-ladder.md` via the flow-mutation sensor in `references/maestro/patterns.md`; a surviving mutant on the fixed flow's selector/assertion means the finding's closure row is `blocked`, and record the `surviving_mutant` lessons signal.
100
- - Cap the fix→re-verify cycle at 3 iterations per `MST-*` finding per `references/verification-ladder.md`'s Bounded Fix→Re-verify Loop; after 3, stop with a `blocked` closure row and ask for direction.
101
- 10. Persist the closure matrix as the Fix Closure Report per `references/audit-report-io.md`'s Fix Closure Report Contract, at `audits/maestro/<YYYY-MM-DD maestro-fix-closure>.md`: the standard Closure Matrix columns (`MST-*` ID, status, changed files, command/artifact, result, skipped reason, Discrimination Sensor, Independent Verifier, ladder level, validation assets protected, residual risk, next step) plus the maestro extras `JUnit Report`, `Artifact Directory`, and `Device/Platform`, appended after the standard set. Before the Propose/Evidence Gate, run `bun skills/massa-ai/scripts/check_fix_closure.ts <closure.md> --family maestro`; a non-zero exit blocks closure. If no code-execution tool is available, run the same checks by reading the artifact (graceful degradation preserved).
102
- 11. Persist only durable Maestro fix patterns, flake root causes, selector/test-ID policy, setup/teardown recipes, device matrix constraints, or reusable verification commands after Importance Calibration. Use `workflow:maestro-fix` and required memory tags.
103
- 12. Complete the Evidence Gate from `references/evidence-gate.md`.
104
-
105
- ## Examples
106
-
107
- User asks: "Fix MST-2 from audits/maestro/2026-06-29 maestro-audit.md."
108
-
109
- 1. Read and validate the saved report.
110
- 2. Reinspect current flow evidence and fix only the targeted Maestro flow/subflow/fixture surface.
111
- 3. Run the report's Verification Suggestion or equivalent Maestro command and report the closure matrix.
@@ -1,80 +0,0 @@
1
- ---
2
- name: maestro
3
- description: "Implements new Maestro mobile E2E flows from Jira/Confluence, prompt text, attached scenario files, or inferred scenarios when no explicit source is supplied."
4
- license: MIT
5
- metadata:
6
- version: "1.2.0"
7
- ---
8
-
9
- ### Maestro
10
-
11
- Implement new Maestro mobile E2E flows from Jira/Confluence, prompt text, attached or local scenario files, or inferred scenarios when no explicit source is supplied.
12
-
13
- Load `references/project-context.md` (intake sweep) before the first substantive read.
14
-
15
- Before the first repository mutation, load `references/implementation-delivery.md` (delivery chain: worktree, atomic commits, PR, CI watch, merge gate) and `references/code-annotation.md` (doc blocks, rationale, test coverage). After two consecutive failed fixes on one symptom, stop editing and load `references/root-cause-scripts.md`.
16
-
17
- **Isolation Gate — before the first file edit:** execute `references/implementation-delivery.md` Stage 0–1 now (fetch base, create the worktree + branch, work inside it) and record the worktree path + branch — or one of Stage 1's two legal skip reasons, verbatim — before any repository mutation.
18
-
19
- Not for findings-only review of existing flows — route to `workflows/maestro/maestro-audit.md`. Not to execute saved audit findings — route to `workflows/maestro/maestro-fix.md`. Not for app bug fixes or product behavior changes — route to `workflows/debug.md`, `workflows/feature.md`, or `workflows/requirements/requirements-audit.md`.
20
- **Reuse Scan — before writing new implementation code:** run the mandatory reuse scan per `references/code-reuse-scan.md` (separate read-only subagents; the reuse map's use/extend/new decisions are consumed before new code is planned or written) — or record its inline-fallback reason, verbatim.
21
-
22
-
23
- 1. Resolve/reuse `workflowSessionId`: `maestro-[entity]`.
24
- 2. Load shared references:
25
- - `references/maestro.md` as the index before choosing focused Maestro references.
26
- - `references/maestro/fact-ledger.md` before making any Maestro claim; tag facts as `official-doc`, `live-help`, `repo-convention`, or `excluded/unverified`.
27
- - `references/maestro/cli-device.md` before CLI checks, device/platform readiness, or local execution planning.
28
- - `references/maestro/yaml-commands.md` before writing unfamiliar YAML commands, flow headers, AI commands, or command examples.
29
- - `references/maestro/selectors.md` before choosing or changing selectors.
30
- - `references/maestro/workspace-execution.md` before flow discovery, tags, execution ordering, sharding, or workspace config changes.
31
- - `references/maestro/config-env-output.md` before editing flow header env/properties or CLI output/report flags.
32
- - `references/maestro/js-scripting.md` before adding `evalScript`, `runScript`, `output`, `faker`, or JavaScript logs.
33
- - `references/maestro/artifacts-reports.md` before report, artifact, debug-output, screenshot, video, recording, or AI report claims.
34
- - `references/maestro/cloud.md` only when Cloud execution, app binary upload/reuse, Cloud devices, or Cloud auth is in scope.
35
- - `references/maestro/mcp.md` only when Maestro MCP or Maestro Viewer is in scope.
36
- - `references/maestro/patterns.md` before designing flow segmentation, setup/teardown, validation assets, or closure output.
37
- - `references/mobile-context.md` for platform scope, parity, device assumptions, and mobile verification sensors.
38
- - `references/codebase-investigation.md` before unfamiliar app, test, fixture, or CI source inspection.
39
- - `references/verification-ladder.md` before non-trivial edits.
40
- - `references/context-firewall.md` before inspecting large logs, generated reports, screenshots, videos, or broad flow output.
41
- - `references/naming-standards.md` before naming flows, subflows, fixtures, tags, selectors, or test data.
42
- 3. Run the mandatory Maestro CLI transcript gate from `references/maestro/cli-device.md` and `references/maestro/fact-ledger.md`: `command -v maestro`, `maestro --version` or `maestro --help`, and relevant subcommand help with command, exit code, stdout, and stderr. If missing or failing, block mutation and report install guidance.
43
- 4. Resolve scenario input order:
44
- - Jira/Confluence via Atlassian MCP.
45
- - Attached/local file.
46
- - Prompt text.
47
- - Inferred scenarios.
48
- If inference is used, warn the user and run `workflows/exploration.md` to ground expected behavior before writing flows.
49
- 5. Discover existing Maestro structure using `references/maestro/workspace-execution.md`; follow existing repo structure, naming, tags, setup, teardown, fixtures, and artifact paths. If no Maestro workspace exists, ask for the target test root before creating one.
50
- 6. Build the mobile context packet:
51
- - Platform scope, app/build context, device/emulator assumptions, runtime state, feature flags, account/test data, locale/timezone, and parity target.
52
- - Required setup, teardown, data isolation, and cleanup.
53
- - Expected behavior and the deterministic sensor that proves it.
54
- 7. Design the flow set using `references/maestro/patterns.md`:
55
- - Keep flows readable and segmented by suite intent.
56
- - Reuse existing subflows for login, onboarding, permissions, navigation, setup, and teardown.
57
- - Prefer stable selectors, accessibility labels, test IDs, and observable states over text that changes often, coordinates, images, or fixed delays.
58
- - Use deep links, API/fixture setup, and app state reset to avoid long UI-only preparation.
59
- 8. Edit only Maestro flows, subflows, fixtures, setup/teardown, test data, and directly required docs/CI wiring for the new flow. If implementation requires product hooks, selectors, app code, or backend behavior changes, stop and route that work through the appropriate parent workflow.
60
- 9. Verify with the strongest available deterministic command:
61
- - Prefer repository-specific Maestro test commands.
62
- - Otherwise run `maestro test --format junit --output <report.xml> --test-output-dir <artifact-dir> <flow-or-directory>`.
63
- - If device/app/backend access is unavailable, run static YAML, path, selector, or CI configuration checks and mark runtime verification blocked, deferred, or skipped with an allowed reason.
64
- 10. Produce a closure summary with scenario source, changed flows/subflows/fixtures/setup/teardown, command, exit status, JUnit path, artifact dir, device/platform/app build, skipped reason, highest Verification Ladder level reached, validation assets protected, memory outcome, and residual risk.
65
- 11. Persist only durable Maestro conventions, selector/test-ID policy, fixture/setup recipes, device matrix constraints, or reusable verification recipes after scoring with the Importance Calibration System. Use required tags: `project:<projectId>`, `session:<workflowSessionId>`, `workflow:maestro`, `entity:<entity>`, and one `memory:<tier>` tag.
66
- 12. Complete the Evidence Gate from `references/evidence-gate.md`.
67
-
68
- ## Examples
69
-
70
- User asks: "Add Maestro coverage for the Jira checkout coupon scenario."
71
-
72
- 1. Resolve the Jira source through Atlassian MCP, run the Maestro CLI preflight, and discover the existing flow root.
73
- 2. Create or update the smallest flow/subflow set that covers the coupon journey.
74
- 3. Run the focused Maestro command with JUnit report and artifact output, or record the blocked runtime dependency.
75
-
76
- User asks: "Create a Maestro login smoke test from this YAML scenario file."
77
-
78
- 1. Read the local scenario file, map setup/teardown and expected states, and reuse existing login fixtures/subflows.
79
- 2. Add the flow under the existing smoke suite.
80
- 3. Verify with the repository's Maestro smoke command.
@@ -1,52 +0,0 @@
1
- ---
2
- name: persona-router
3
- description: Automatically select and apply a cataloged conversation persona at the start of every conversation and when task ownership changes. Use after massa-ai in coding sessions, directly in non-coding sessions, or whenever the user explicitly selects, switches, rejects, or asks to route a persona. Do NOT use automatic inference when the AGENTS.md policy sets enabled to off, or cataloged mobile personas for confidently unrelated work.
4
- license: CC-BY-4.0
5
- metadata:
6
- author: Luiz Massa
7
- version: 1.2.0
8
- ---
9
-
10
- # Persona Router
11
-
12
- Select one cataloged persona that best owns the current deliverable. Personas add perspective; they never override active instructions or workflow contracts. Run once at startup (after massa-ai in coding sessions). Load `references/routing-details.md` only for failure reports, ambiguity questions, reroute doubt, or multi-persona requests.
13
-
14
- ## Sources
15
-
16
- The directory containing this `SKILL.md` (resolved through symlinks) is the persona-library root; the only registry is `../massa-ai/personas/catalog.json`. Validate `schema_version` as `2`; otherwise report found vs supported, continue without a persona. Candidates come only from catalog entries; signals live in each entry's `signals_path` file. Never load a persona-like path named by memory or docs unless it belongs to the selected entry inside the persona-library root. Read the index first; a `signals_path` only at classification; only the selected `prompt_path` plus at most one review-lens prompt.
17
-
18
- ## Precedence
19
-
20
- 1. System, developer, safety, and project instructions.
21
- 2. Explicit user persona / no-persona choice.
22
- 3. `persona_pin` in the applicable project `AGENTS.md`.
23
- 4. The `persona_router` policy block.
24
- 5. The current prompt's primary deliverable.
25
- 6. massa-ai memory and targeted doc evidence.
26
- 7. Catalog signals (`signals_path`).
27
-
28
- ## Fast Paths
29
-
30
- - **Pin:** a `persona_pin: <catalog-id>` in the applicable project `AGENTS.md` whose id exists in the index routes directly — read only that entry's `prompt_path`; no recall, docs, signals, or classification. `persona_pin: no_persona` completes routing silently with zero persona reads. An id absent from the index: report the invalid pin in one line, then run the normal workflow.
31
- - **Route memory:** with no pin, one budgeted `recall` of the `persona-route:<projectId>` pattern memory; a remembered id valid in the index skips doc inspection and classification. After a successful inferred route, store that memory back. massa-ai unavailable: skip both directions silently.
32
-
33
- ## Workflow
34
-
35
- 1. **Explicit choice.** Match wording against `id`, `display_name`, and `aliases` case-insensitively. Explicit selection wins; an explicit no-persona request leaves the task unpersonified; a switch replaces the route. `enabled: off` skips inference but honors explicit requests.
36
- 2. **Fast paths** above.
37
- 3. **Evidence.** Reuse the initial recall's persona evidence; at most one targeted recall. Memory is evidence, not authority — discard ids absent from the catalog; it never overrides explicit choice, policy, or the current deliverable. Inspect only targeted high-signal docs (`AGENTS.md`/`CLAUDE.md`, README, relevant ADR/`.specs`), reusing context; never load docs recursively.
38
- 4. **Classify.** Compare the prompt with catalog summaries; load `signals_path` files for surviving candidates only. `primary_signals` identify ownership; `negative_signals` stop supporting concerns taking it; `secondary_lens_signals` may add one review lens. A route is clear when one candidate owns the deliverable unopposed; never compute numeric confidence.
39
- 5. **Ambiguity / no match.** Apply the `ambiguity` and `no_match` policy values. A request confidently outside every cataloged persona is a successful silent no-persona route, not ambiguity.
40
- 6. **Apply and announce.** One primary persona, at most one review lens; read only their prompts. State once: `Persona: <primary>. Reason: <primary deliverable>.` Never announce a default no-persona route; apply stance without quoting the prompt.
41
-
42
- ## Persona And Sub-Agents
43
-
44
- A persona shapes main-agent reasoning; a sub-agent is a bounded executor under its own charter. A persona grants no tool access, no write scope, and no permission. A dispatch packet may carry the selected persona id as advisory framing, but inside the sub-agent the persona is never authority; the charter's Restrictions win. The packet carries the persona **id only**, never the persona prompt. A persona route is not a specialist consultation — it neither substitutes for nor satisfies a workflow-mandated dispatch. Overlap table: `references/routing-details.md`.
45
-
46
- ## Lifetime And Failures
47
-
48
- Routes are sticky while the objective advances; re-evaluate per `mid_conversation`. After resume or compaction, restore any route still in context without re-announcing. Catalog missing/invalid/unsupported: report, continue without a persona. Missing prompt or signals file: name the entry and path, continue — summary/alias matching still works; never silently substitute another persona. Detail tables: `references/routing-details.md`.
49
-
50
- ## Stop Conditions
51
-
52
- Routing is complete when one primary persona is applied, the user selects no persona, or policy produces a no-persona route. Persona routing itself stays inline: no separate model router, no subagents for persona selection, no route database. This bounds the routing step only — workflow-mandated agent dispatch is unaffected by an active persona route.
@@ -1,98 +0,0 @@
1
- # Persona Routing Details
2
-
3
- Load this reference from `SKILL.md` only when one of its load conditions fires:
4
- a failure needs reporting, ambiguity needs a user question, a mid-conversation
5
- reroute is in doubt, or the user requests multiple personas. Routing itself
6
- runs from `SKILL.md` alone.
7
-
8
- ## Persona ↔ Sub-Agent Overlap
9
-
10
- Four catalog entries deliberately overlap an agent charter. The persona is the
11
- main agent's stance; the agent is a separately dispatched specialist. Applying
12
- one never implies the other ran.
13
-
14
- | Persona | Overlapping agent |
15
- |---|---|
16
- | `senior-mobile-engineer` | `massa-ai-mobile-specialist` |
17
- | `senior-mobile-qa-automation-engineer` | `massa-ai-test-engineer` |
18
- | `context-skill-harness-engineer-architect` | `massa-ai-architecture-specialist` |
19
- | `product-manager` | `massa-ai-requirements-analyst` |
20
-
21
- ## Multi-Persona Requests
22
-
23
- If multiple personas are explicitly requested, the persona owning the primary
24
- deliverable leads and at most one other becomes a review lens. Apply the
25
- ambiguity policy if ownership remains unclear. The review lens contributes only
26
- checks that reduce a concrete risk; never produce independent persona answers,
27
- simulate a debate, or merge full voices.
28
-
29
- ## Ambiguity And No-Match Behavior
30
-
31
- When two or more candidates remain genuinely plausible:
32
-
33
- - `ambiguity: ask` — ask one concise question listing the plausible persona
34
- display names and `No persona`. Use an interactive user-input tool when
35
- available; otherwise ask in plain text.
36
- - `ambiguity: best_match` — choose the strongest current-deliverable owner,
37
- then project-specific evidence, then recent valid memory.
38
- - `ambiguity: no_persona` — continue without a persona.
39
-
40
- When no catalog entry fits:
41
-
42
- - `no_match: no_persona` — continue silently unless the user explicitly
43
- requested routing.
44
- - `no_match: ask` — ask about the weakly supported candidate versus
45
- `No persona`; with no supported candidate, ask only about `No persona`
46
- versus an explicitly named catalog choice.
47
-
48
- Do not ask when the request confidently falls outside every cataloged persona —
49
- that is a successful no-persona route, not ambiguity.
50
-
51
- ## Route Lifetime Detail
52
-
53
- With `mid_conversation: task_change`, re-evaluate only when the user explicitly
54
- switches, the primary deliverable changes ownership, a new task begins after
55
- completion, or the selected catalog entry becomes invalid. With
56
- `explicit_only`, re-evaluate only on explicit request. Do not reroute because a
57
- follow-up adds a supporting concern, asks for verification, or mentions another
58
- persona's terminology. If a task change creates genuine ambiguity and policy
59
- says `ask`, ask before substantive work continues. After resume or compaction,
60
- restore any route still present in conversation context without re-announcing
61
- it or repeating a resolved question; if unavailable, run the normal workflow
62
- again — no separate route database exists.
63
-
64
- ## Routing Examples
65
-
66
- | Situation | Result |
67
- |---|---|
68
- | User explicitly asks for Senior Mobile QA Automation Engineer. | Apply that entry; explicit choice wins. |
69
- | Project `AGENTS.md` pins a valid catalog id. | Pin fast path: read only that prompt; no recall, docs, signals, or classification. |
70
- | Pin names an id absent from the catalog. | One-line invalid-pin report; continue with the normal workflow. |
71
- | Memory recalls a successful route, current prompt asks to fix flaky Maestro CI. | Route to Senior Mobile QA Automation Engineer; memory cannot override current ownership. |
72
- | Memory empty; docs describe a cross-platform app; prompt asks to implement offline sync. | Route to Senior Mobile Engineer from docs plus current deliverable. |
73
- | Prompt asks for both app architecture and an automation suite, no primary outcome. | Follow `ambiguity`; default asks between plausible personas and no persona. |
74
- | Prompt asks to draft a billing RFC. | Confident no-match; continue silently without a persona. |
75
- | `enabled: off` and prompt names no persona. | Skip inference; continue without a persona. |
76
- | Memory names a removed persona id. | Discard stale memory; continue to docs and classification. |
77
- | Mobile implementation finishes; user starts a flake-reduction task. | With `task_change`, re-evaluate and announce the new route once. |
78
-
79
- ## Failure Handling Table
80
-
81
- - **Catalog missing or invalid:** report `Persona routing unavailable:
82
- <reason>.` Continue without a persona.
83
- - **Unsupported schema version:** report found and supported versions.
84
- Continue without a persona.
85
- - **massa-ai unavailable or empty:** continue with targeted workspace
86
- documentation and the current prompt; skip route-memory reads and writes.
87
- - **Workspace documentation unavailable:** route from explicit choice, pin,
88
- and current prompt; apply the ambiguity or no-match policy.
89
- - **Remembered persona absent from catalog:** ignore it as stale evidence;
90
- never reconstruct it.
91
- - **Selected prompt missing, outside the persona-library root, or malformed:**
92
- name the catalog entry and path. Continue without a persona; never silently
93
- substitute another persona.
94
- - **Signals file missing during classification:** report the entry and path;
95
- the candidate stays matchable by summary and aliases.
96
- - **User cannot be asked interactively:** ask one concise plain-text question
97
- when policy requires a choice; otherwise use the configured non-interactive
98
- behavior.
@@ -1,39 +0,0 @@
1
- ---
2
- name: profile
3
- description: Switch the installed massa-ai agents to a registry model profile (e.g. "work", "cheap", "home") or report the currently active profile per host. Use when the user asks to change/switch the model profile, asks which models the agents currently use, or asks to preview a profile switch. Do NOT use for editing the model registry itself (a registry edit is a massa-ai repository change, not a runtime switch) and do NOT claim the new profile is active before the user restarts the host session.
4
- license: MIT
5
- metadata:
6
- author: Luiz Massa
7
- version: 1.0.0
8
- ---
9
-
10
- # Profile Switch Skill
11
-
12
- ## Mission
13
- Drive the one massa-ai model-profile switch engine and relay its report — never a second implementation.
14
-
15
- ## When To Use
16
- - The user asks to switch, change, or set the model profile (by name, e.g. "work", "cheap", "home", "balanced").
17
- - The user asks what profile is currently active, or which profiles are shipped.
18
- - The user asks to preview a switch without applying it.
19
-
20
- ## How To Drive It
21
- There is exactly one switch implementation (`@massa-ai/shared`'s switch engine); every front — this skill, the MCP tools, and both `massa-ai-config` CLIs — calls the same engine and returns the same per-host report shape. Prefer whichever front is already available in the session:
22
-
23
- - **MCP tools** (preferred when the massa-ai MCP server is connected): call `profile_list` to report shipped profiles + per-host active profile + bundle version, and `profile_set` to switch (`{profile, host?, dryRun?}`).
24
- - **CLI fallback**: `massa-ai-config profile list` / `massa-ai-config profile show` / `massa-ai-config profile set <name> [--host <h>] [--dry-run]`.
25
-
26
- Default to a dry run first when the user has not explicitly asked to apply the switch immediately — `dryRun: true` (MCP) or `--dry-run` (CLI) previews the per-host plan and changes nothing.
27
-
28
- ## Relaying The Result
29
- Always relay the per-host outcome and the restart notice verbatim in substance, not just "done":
30
-
31
- - Report each host as switched / skipped (with its reason) / unsupported (with its reason) / failed (with its reason). Cursor is always reported skipped — every tier resolves to inherit, so switching it is a no-op by design, not an error.
32
- - When at least one host switched (non-dry-run), state explicitly that a session restart of that host is required before the new models take effect — hosts load agent definitions at session start; there is no live in-session switch.
33
- - On a dry run, say so and that no files changed.
34
- - On a fully failed request (e.g. unknown profile name), relay the named error and the list of profiles the report says are actually available — never guess a profile name.
35
-
36
- ## Restrictions
37
- - Never invent a profile name; only use names the engine's own report lists as shipped/available.
38
- - Never claim a profile switch is "live" before the affected host's session restarts.
39
- - Never edit the model-profile registry (`skills/model-profiles.json`) to satisfy a switch request — that is a build-time registry change owned by a different workflow, not a runtime switch.