@massa-ai/cursor-plugin 1.49.0 → 1.51.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 (142) hide show
  1. package/.cursor-plugin/plugin.json +1 -1
  2. package/agent-profiles/balanced/massa-ai-architecture-specialist.md +1 -1
  3. package/agent-profiles/balanced/massa-ai-audit-specialist.md +1 -1
  4. package/agent-profiles/balanced/massa-ai-builder.md +1 -1
  5. package/agent-profiles/balanced/massa-ai-context-curator.md +1 -1
  6. package/agent-profiles/balanced/massa-ai-designer.md +66 -0
  7. package/agent-profiles/balanced/massa-ai-documentation-agent.md +1 -1
  8. package/agent-profiles/balanced/massa-ai-furps-analyst.md +1 -1
  9. package/agent-profiles/balanced/massa-ai-investigator.md +1 -1
  10. package/agent-profiles/balanced/massa-ai-judge.md +1 -1
  11. package/agent-profiles/balanced/massa-ai-meta-judge.md +1 -1
  12. package/agent-profiles/balanced/massa-ai-mobile-specialist.md +1 -1
  13. package/agent-profiles/balanced/massa-ai-navigator.md +1 -1
  14. package/agent-profiles/balanced/massa-ai-plan-critic.md +1 -1
  15. package/agent-profiles/balanced/massa-ai-planner.md +1 -1
  16. package/agent-profiles/balanced/massa-ai-requirements-analyst.md +1 -1
  17. package/agent-profiles/balanced/massa-ai-reviewer.md +1 -1
  18. package/agent-profiles/balanced/massa-ai-test-engineer.md +1 -1
  19. package/agent-profiles/balanced/massa-ai-verification-agent.md +1 -1
  20. package/agent-profiles/cheap/massa-ai-architecture-specialist.md +1 -1
  21. package/agent-profiles/cheap/massa-ai-audit-specialist.md +1 -1
  22. package/agent-profiles/cheap/massa-ai-builder.md +1 -1
  23. package/agent-profiles/cheap/massa-ai-context-curator.md +1 -1
  24. package/agent-profiles/cheap/massa-ai-designer.md +66 -0
  25. package/agent-profiles/cheap/massa-ai-documentation-agent.md +1 -1
  26. package/agent-profiles/cheap/massa-ai-furps-analyst.md +1 -1
  27. package/agent-profiles/cheap/massa-ai-investigator.md +1 -1
  28. package/agent-profiles/cheap/massa-ai-judge.md +1 -1
  29. package/agent-profiles/cheap/massa-ai-meta-judge.md +1 -1
  30. package/agent-profiles/cheap/massa-ai-mobile-specialist.md +1 -1
  31. package/agent-profiles/cheap/massa-ai-navigator.md +1 -1
  32. package/agent-profiles/cheap/massa-ai-plan-critic.md +1 -1
  33. package/agent-profiles/cheap/massa-ai-planner.md +1 -1
  34. package/agent-profiles/cheap/massa-ai-requirements-analyst.md +1 -1
  35. package/agent-profiles/cheap/massa-ai-reviewer.md +1 -1
  36. package/agent-profiles/cheap/massa-ai-test-engineer.md +1 -1
  37. package/agent-profiles/cheap/massa-ai-verification-agent.md +1 -1
  38. package/agent-profiles/heavy/massa-ai-architecture-specialist.md +1 -1
  39. package/agent-profiles/heavy/massa-ai-audit-specialist.md +1 -1
  40. package/agent-profiles/heavy/massa-ai-builder.md +1 -1
  41. package/agent-profiles/heavy/massa-ai-context-curator.md +1 -1
  42. package/agent-profiles/heavy/massa-ai-designer.md +66 -0
  43. package/agent-profiles/heavy/massa-ai-documentation-agent.md +1 -1
  44. package/agent-profiles/heavy/massa-ai-furps-analyst.md +1 -1
  45. package/agent-profiles/heavy/massa-ai-investigator.md +1 -1
  46. package/agent-profiles/heavy/massa-ai-judge.md +1 -1
  47. package/agent-profiles/heavy/massa-ai-meta-judge.md +1 -1
  48. package/agent-profiles/heavy/massa-ai-mobile-specialist.md +1 -1
  49. package/agent-profiles/heavy/massa-ai-navigator.md +1 -1
  50. package/agent-profiles/heavy/massa-ai-plan-critic.md +1 -1
  51. package/agent-profiles/heavy/massa-ai-planner.md +1 -1
  52. package/agent-profiles/heavy/massa-ai-requirements-analyst.md +1 -1
  53. package/agent-profiles/heavy/massa-ai-reviewer.md +1 -1
  54. package/agent-profiles/heavy/massa-ai-test-engineer.md +1 -1
  55. package/agent-profiles/heavy/massa-ai-verification-agent.md +1 -1
  56. package/agent-profiles/home/massa-ai-architecture-specialist.md +1 -1
  57. package/agent-profiles/home/massa-ai-audit-specialist.md +1 -1
  58. package/agent-profiles/home/massa-ai-builder.md +1 -1
  59. package/agent-profiles/home/massa-ai-context-curator.md +1 -1
  60. package/agent-profiles/home/massa-ai-designer.md +66 -0
  61. package/agent-profiles/home/massa-ai-documentation-agent.md +1 -1
  62. package/agent-profiles/home/massa-ai-furps-analyst.md +1 -1
  63. package/agent-profiles/home/massa-ai-investigator.md +1 -1
  64. package/agent-profiles/home/massa-ai-judge.md +1 -1
  65. package/agent-profiles/home/massa-ai-meta-judge.md +1 -1
  66. package/agent-profiles/home/massa-ai-mobile-specialist.md +1 -1
  67. package/agent-profiles/home/massa-ai-navigator.md +1 -1
  68. package/agent-profiles/home/massa-ai-plan-critic.md +1 -1
  69. package/agent-profiles/home/massa-ai-planner.md +1 -1
  70. package/agent-profiles/home/massa-ai-requirements-analyst.md +1 -1
  71. package/agent-profiles/home/massa-ai-reviewer.md +1 -1
  72. package/agent-profiles/home/massa-ai-test-engineer.md +1 -1
  73. package/agent-profiles/home/massa-ai-verification-agent.md +1 -1
  74. package/agent-profiles/work/massa-ai-architecture-specialist.md +1 -1
  75. package/agent-profiles/work/massa-ai-audit-specialist.md +1 -1
  76. package/agent-profiles/work/massa-ai-builder.md +1 -1
  77. package/agent-profiles/work/massa-ai-context-curator.md +1 -1
  78. package/agent-profiles/work/massa-ai-designer.md +66 -0
  79. package/agent-profiles/work/massa-ai-documentation-agent.md +1 -1
  80. package/agent-profiles/work/massa-ai-furps-analyst.md +1 -1
  81. package/agent-profiles/work/massa-ai-investigator.md +1 -1
  82. package/agent-profiles/work/massa-ai-judge.md +1 -1
  83. package/agent-profiles/work/massa-ai-meta-judge.md +1 -1
  84. package/agent-profiles/work/massa-ai-mobile-specialist.md +1 -1
  85. package/agent-profiles/work/massa-ai-navigator.md +1 -1
  86. package/agent-profiles/work/massa-ai-plan-critic.md +1 -1
  87. package/agent-profiles/work/massa-ai-planner.md +1 -1
  88. package/agent-profiles/work/massa-ai-requirements-analyst.md +1 -1
  89. package/agent-profiles/work/massa-ai-reviewer.md +1 -1
  90. package/agent-profiles/work/massa-ai-test-engineer.md +1 -1
  91. package/agent-profiles/work/massa-ai-verification-agent.md +1 -1
  92. package/agents/massa-ai-architecture-specialist.md +1 -1
  93. package/agents/massa-ai-audit-specialist.md +1 -1
  94. package/agents/massa-ai-builder.md +1 -1
  95. package/agents/massa-ai-context-curator.md +1 -1
  96. package/agents/massa-ai-designer.md +66 -0
  97. package/agents/massa-ai-documentation-agent.md +1 -1
  98. package/agents/massa-ai-furps-analyst.md +1 -1
  99. package/agents/massa-ai-investigator.md +1 -1
  100. package/agents/massa-ai-judge.md +1 -1
  101. package/agents/massa-ai-meta-judge.md +1 -1
  102. package/agents/massa-ai-mobile-specialist.md +1 -1
  103. package/agents/massa-ai-navigator.md +1 -1
  104. package/agents/massa-ai-plan-critic.md +1 -1
  105. package/agents/massa-ai-planner.md +1 -1
  106. package/agents/massa-ai-requirements-analyst.md +1 -1
  107. package/agents/massa-ai-reviewer.md +1 -1
  108. package/agents/massa-ai-test-engineer.md +1 -1
  109. package/agents/massa-ai-verification-agent.md +1 -1
  110. package/package.json +1 -1
  111. package/skills/agents/architecture-specialist/SKILL.md +1 -1
  112. package/skills/agents/audit-specialist/SKILL.md +1 -1
  113. package/skills/agents/builder/SKILL.md +1 -1
  114. package/skills/agents/context-curator/SKILL.md +1 -1
  115. package/skills/agents/designer/SKILL.md +71 -0
  116. package/skills/agents/documentation-agent/SKILL.md +1 -1
  117. package/skills/agents/furps-analyst/SKILL.md +1 -1
  118. package/skills/agents/investigator/SKILL.md +1 -1
  119. package/skills/agents/judge/SKILL.md +1 -1
  120. package/skills/agents/meta-judge/SKILL.md +1 -1
  121. package/skills/agents/mobile-specialist/SKILL.md +1 -1
  122. package/skills/agents/navigator/SKILL.md +1 -1
  123. package/skills/agents/plan-critic/SKILL.md +1 -1
  124. package/skills/agents/planner/SKILL.md +1 -1
  125. package/skills/agents/requirements-analyst/SKILL.md +1 -1
  126. package/skills/agents/reviewer/SKILL.md +1 -1
  127. package/skills/agents/test-engineer/SKILL.md +1 -1
  128. package/skills/agents/verification-agent/SKILL.md +1 -1
  129. package/skills/massa-ai/references/agent-orchestration.md +57 -1
  130. package/skills/massa-ai/references/code-reuse-scan.md +1 -2
  131. package/skills/massa-ai/references/conversation-feedback.md +2 -0
  132. package/skills/massa-ai/references/figma-pre-analysis.md +0 -1
  133. package/skills/massa-ai/references/spec-driven/sub-agents.md +3 -2
  134. package/skills/massa-ai/workflows/adr.md +4 -3
  135. package/skills/massa-ai/workflows/design.md +13 -0
  136. package/skills/massa-ai/workflows/feature.md +13 -0
  137. package/skills/massa-ai/workflows/general.md +13 -0
  138. package/skills/massa-ai/workflows/implementation/implementation-fix.md +13 -0
  139. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-audit.md +13 -0
  140. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-fix.md +13 -0
  141. package/skills/massa-ai/workflows/refactor.md +2 -1
  142. package/skills/massa-ai/workflows/spec-driven.md +13 -0
@@ -83,6 +83,19 @@ For all other roles, preserve the normal delegation gates above.
83
83
 
84
84
  The Independent Verification Mandate in `references/verification-ladder.md` is a second standing policy exception, parallel to the Plan Challenge one: when a `*-fix` workflow closes a finding, or a light workflow (`debug`, `feature`, `general`, `refactor`) completes Standard+ work, always attempt the `massa-ai-verification-agent` dispatch when subagent tooling is available and platform policy permits spawning — it does not need to satisfy the ordinary dispatch triggers (file count, module count, explicit user delegation). Base packet-quality requirements still apply, and the mandate's own tier gates, security-fix unconditional rule, and fresh-eyes fallback live in that ladder section, not here.
85
85
 
86
+ ## Screen Implementation Exception (any workflow that can produce a screen)
87
+
88
+ A third standing policy exception, parallel to the two above: **when a task creates or modifies a user-facing screen, always attempt the `massa-ai-designer` dispatch** while subagent tooling is available and platform policy permits spawning. Once that condition holds the dispatch is not subject to the ordinary dispatch triggers — not file count, not module count, not explicit user delegation.
89
+
90
+ The condition is the whole gate. On a task with no screen surface the dispatch does not fire at all, which is why the seven dispatching workflows can carry it without firing it on every task. "Creates or modifies a user-facing screen" means a change to a screen, view, page, component, layout, style, theme, or design-token file, or any change whose acceptance criteria describe what a user sees.
91
+
92
+ Two shape rules follow from the roles involved:
93
+
94
+ - **Read-only inside findings-only workflows.** An audit workflow passes `permissions: read-only` in the packet. The agent's charter permits writes only when explicitly scoped, and charter Restrictions win over the packet on conflict, so the read-only packet is the narrower of the two and governs.
95
+ - **Disjoint from the implementer.** When a screen task also dispatches an implementer, the UI layer belongs to one agent and everything else to the other. Overlapping write sets are a consolidation signal under Cognitive Locality, not a parallel dispatch.
96
+
97
+ Base packet-quality requirements still apply, and the no-agent fallback below applies unchanged: run the scope locally against the same output contract and report the skipped delegation in the Evidence Gate.
98
+
86
99
  ## Name Resolution
87
100
 
88
101
  Charters live at `skills/agents/<role>/SKILL.md`. Hosts register every charter
@@ -218,7 +231,7 @@ Use `references/conversation-feedback.md` when subagent lifecycle visibility wou
218
231
 
219
232
  Use these labels for delegated work:
220
233
 
221
- - `Agent Started` when a role is launched with scope and permission mode.
234
+ - `Agent Started` when a role is launched: name the agent, its model, and its effort (see Model/Effort Announcement below), with scope and permission mode.
222
235
  - `Agent Running` when waiting on a long-running role or reporting its current bounded task.
223
236
  - `Agent Done` when the role returns usable evidence, findings, implementation, or verification.
224
237
  - `Agent Blocked` when the role cannot complete its assigned scope.
@@ -232,6 +245,49 @@ Example:
232
245
  🤖 [Agent Done] Verifier found no stale references. Skipped checks: none.
233
246
  ```
234
247
 
248
+ ### Model/Effort Announcement
249
+
250
+ Every dispatch of any of the 18 massa-ai roster specialists names the agent, its model,
251
+ and its effort in the `Agent Started` line above, inside that line's existing 1-2 line
252
+ budget. No exemption: this covers the three standing dispatch exceptions
253
+ (`plan-critic`, `verification-agent`, `designer`) and spec-driven batch workers exactly
254
+ like every other dispatch.
255
+
256
+ - **Source**: the *installed* agent file for the active host — never
257
+ `skills/model-profiles.json`. The installed file reports what the host will actually
258
+ load, including any local profile-switch overlay the registry cannot see.
259
+ - **Read once per session**, for all 18 agents, and cache the result — not once per
260
+ dispatch.
261
+ - Absent `effort` in the installed file announces `effort: inherit`. Absent `model`, or
262
+ `model: inherit`, announces `model: inherit`.
263
+ - A missing or unreadable installed file announces `model/effort unknown`, names the
264
+ exact attempted path, and the dispatch proceeds — the read never blocks a dispatch.
265
+
266
+ ```md
267
+ 🤖 [Agent Started] Investigator — model opus, effort high. Scope: the four emitters.
268
+ 🤖 [Agent Started] Designer — model/effort unknown (no installed agent file at
269
+ ~/.claude/plugins/cache/massa-ai/massa-ai/1.48.0/agents/massa-ai-designer.md). Dispatching anyway.
270
+ ```
271
+
272
+ That second line is a measured case, not a hypothetical: on a machine with plugin
273
+ bundle `1.48.0` installed, `massa-ai-designer.md` is absent because `designer` shipped
274
+ in `1.50.0` — a live instance of the degraded path above.
275
+
276
+ Per-host installed-agent path, matching `resolveHostLayout` in
277
+ `packages/shared/src/profile-switch/hosts.ts` — a sensor executes that resolver against
278
+ this table so the two cannot drift silently:
279
+
280
+ | Host | Installed agents directory | Glob | Model / effort keys |
281
+ | --- | --- | --- | --- |
282
+ | Claude — marketplace route | `<marketplaceRoot>/agents` — a *versioned* bundle root, e.g. `~/.claude/plugins/cache/massa-ai/massa-ai/1.48.0/agents` | `massa-ai-*.md` | `model:` / `effort:` |
283
+ | Claude — file route | `~/.claude/agents` | `massa-ai-*.md` | `model:` / `effort:` |
284
+ | Codex | `~/.codex/agents` | `massa-ai-*.toml` | `model` / `model_reasoning_effort` |
285
+ | OpenCode | `~/.config/opencode/agents` | `massa-ai-*.md` | `model:` / `reasoningEffort:` |
286
+ | Cursor | no lookup — `resolveHostLayout` returns route `skip` | — | announce `model: inherit, effort: inherit` for every agent; Cursor publishes no resolvable model IDs |
287
+
288
+ Claude's active route (`marketplace` vs `file`) comes from `install-state.json`'s
289
+ per-platform `installRoute` field, never guessed from directory presence.
290
+
235
291
  ## Plan-Critic Contract
236
292
 
237
293
  Dispatch `massa-ai-plan-critic` only after a concrete plan exists. Dispatch it with the capability packet above and the standard output contract. The subagent receives the plan, scope, constraints, compact recalled facts/evidence, selected depth, selected The Fool mode only for full gates, known risks, verification recipe, parent identifiers, and context-firewall limits. It never receives full conversation context.
@@ -42,8 +42,7 @@ implementation code is planned or written:
42
42
  > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
43
43
 
44
44
  Dispatch one subagent per coherent target area; dispatch more than one only
45
- when the areas are independent enough to scope separately. The subagent
46
- never spawns further subagents.
45
+ when the areas are independent enough to scope separately.
47
46
 
48
47
  ## Reuse-Map Output Contract
49
48
 
@@ -85,6 +85,8 @@ Use `references/context-firewall.md` when raw output is verbose. Feedback should
85
85
 
86
86
  When a subagent is used, the main agent reports only the role, scope, permission mode, current task, and status. Do not expose raw subagent prompts or internal deliberation.
87
87
 
88
+ The `Agent Started` line's model/effort component has one canonical definition — `references/agent-orchestration.md`'s Model/Effort Announcement — not restated here.
89
+
88
90
  Examples:
89
91
 
90
92
  ```md
@@ -65,7 +65,6 @@ never in parallel**. For each slice, in the recorded order:
65
65
 
66
66
  Sequential dispatch is a hard rule, not a tuning choice: it respects Figma MCP
67
67
  session/rate limits, and it is what lets slice N+1 reuse what slice N learned.
68
- Retrieval subagents never spawn further subagents.
69
68
 
70
69
  WHERE Figma ingestion is enabled per `references/figma-wiring.md`, populate
71
70
  each completed slice's Number, Figma node id(s), Category, Explanation, and
@@ -67,7 +67,7 @@ commits in the feature worktree.
67
67
 
68
68
  **What a batch worker does:**
69
69
 
70
- Executes ALL tasks in its assigned batch **in order** — finishing every task in one phase before starting the next phase in the batch — following the `references/spec-driven/execute.md` cycle for each task (implement → gate → atomic commit). It does NOT spawn further sub-agents. After completing all tasks in the batch, the worker reports a **compact summary** to the orchestrator using the structured return contract:
70
+ Executes ALL tasks in its assigned batch **in order** — finishing every task in one phase before starting the next phase in the batch — following the `references/spec-driven/execute.md` cycle for each task (implement → gate → atomic commit). After completing all tasks in the batch, the worker reports a **compact summary** to the orchestrator using the structured return contract:
71
71
 
72
72
  ```
73
73
  Batch (phases [N]–[M]) return:
@@ -84,7 +84,7 @@ Batch (phases [N]–[M]) return:
84
84
 
85
85
  No raw logs, no full test output — only the above fields keep the main context clean.
86
86
 
87
- **No nesting:** Batch workers execute their tasks themselves. They never spawn sub-sub-agents. Execution is strictly sequential within and across batches — there is no intra-phase or intra-batch parallelism.
87
+ **Sequential execution:** Batch workers execute their tasks themselves. Execution is strictly sequential within and across batches — there is no intra-phase or intra-batch parallelism.
88
88
 
89
89
  **Orchestrator context discipline:** the orchestrator consumes only the compact
90
90
  summary above. It must never read a worker's transcript, JSONL, or intermediate
@@ -190,6 +190,7 @@ Judge the tier by the work in front of the role, not by the role's title:
190
190
  | Verifier | Adversarial reasoning: designs mutations, re-derives coverage, judges outcome precision | `deep` (always — per the Rules of thumb below) |
191
191
  | Specify / Tasks authoring | Structured but judgment-heavy | `standard` / `deep` |
192
192
  | Read-only specialist (audit-specialist, context-curator, furps-analyst, investigator, mobile-specialist, navigator, requirements-analyst, reviewer) | No write access — findings, investigation, or review quality is the entire deliverable, with no implementation pass downstream to catch a missed nuance | `deep` (always — per the Rules of thumb below) |
193
+ | Scoped writer (designer, documentation-agent, judge, test-engineer) | `permission: write`, narrowed by the charter's own Restrictions to one file class — UI-layer / doc / the agent's own report / test files — each with a disjoint write set. Not read-only, so the deep-tier rule below does **not** reach them | per the work, not per the permission |
193
194
 
194
195
  **Rules of thumb:**
195
196
 
@@ -32,10 +32,11 @@ Load `references/project-context.md` (intake sweep) before the first substantive
32
32
  - If an RFC is needed but absent and the user does not know the missing context, assume the decision is not made and route to `workflows/rfc.md`.
33
33
  - Require a source-backed or user-confirmed title, date, status, context, decision, consequences, links, and supersession status before drafting.
34
34
  6. Draft the ADR using the project's template when available; otherwise use the format selected via `references/adr-authoring.md`'s fallback questions. Tie claims to source confidence: confirmed, user-provided, recalled, inferred, or unresolved.
35
- 7. Save the generated ADR using the selected output target:
35
+ 7. Run the configured Plan Challenge Gate before saving. ADR decisions require the full gate under the default policy (`adr` is named in the full-gate set of the canonical Plan Challenge Policy); revise valid critical or high findings before the record is written, especially a decision presented without its rejected alternatives, consequences stated only as benefits, an unstated assumption the decision depends on, and status quo or sunk-cost bias in the framing. A challenge that invalidates the decision means the decision is not final — route to `workflows/rfc.md` rather than recording it.
36
+ 8. Save the generated ADR using the selected output target:
36
37
  - Default: write to the project's standard ADR directory in Default mode. In Plan Mode, propose the path and content without writing.
37
38
  - Confluence: when requested and a parent page link is provided, write a child page through Atlassian MCP and report the resulting page link.
38
39
  - Fallback: if Confluence was requested without a parent link or Atlassian MCP is unavailable, ask for the parent link or permission to write local Markdown under `.adr/`.
39
40
  - Use sequential numbering from the selected local ADR directory when writing Markdown.
40
- 8. At completion, persist the decision via `remember` as a scored `decision` memory (`memory:semantic`), linking the ADR file path and source context used.
41
- 9. Complete the Evidence Gate from `references/evidence-gate.md`.
41
+ 9. At completion, persist the decision via `remember` as a scored `decision` memory (`memory:semantic`), linking the ADR file path and source context used.
42
+ 10. Complete the Evidence Gate from `references/evidence-gate.md`.
@@ -28,6 +28,19 @@ Not for Flutter, React Native, web UI, generic Figma exploration, variable-only
28
28
  6. Persist only durable token/component mappings, approved deviations, source-set ownership rules, asset-pipeline rules, or reusable render recipes after Importance Calibration. Use `workflow:design` and required project/session/entity/memory tags.
29
29
  7. Complete `references/evidence-gate.md`. Model visual judgment alone cannot satisfy completion.
30
30
 
31
+ **Screen work — before writing or judging any user-facing screen:** when this task creates or modifies a screen, the `massa-ai-designer` dispatch below is mandatory rather than discretionary, carved out of ordinary delegation gating by the Screen Implementation Exception in `references/agent-orchestration.md`. It does not fire when the task touches no screen surface.
32
+
33
+ > **Dispatch: `massa-ai-designer`** (role: `designer`) — charter `skills/agents/designer/SKILL.md`
34
+ > - trigger: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
35
+ > - scope: the screens, views, components, layouts, styles, and design tokens in this task's UI surface — never the whole repository
36
+ > - permissions: write, scoped to UI-layer files only with a disjoint write set
37
+ > - inputs: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
38
+ > - sensors: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
39
+ > - output: per-element conformance table (element, expected, actual, verdict, severity) plus the UI files written; a missing or unreachable design source is listed as a skipped sensor, never a silent pass
40
+ > - firewall: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
41
+ > - memory: suggest-only; the main agent persists durable screen and design-token conventions
42
+ > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
43
+
31
44
  ## Examples
32
45
 
33
46
  User asks: "Implement this Figma checkout screen in the app's SwiftUI module."
@@ -54,6 +54,19 @@ Before the first repository mutation, load `references/implementation-delivery.m
54
54
  - When every group has a confirmed Jira key, follow the optional stacked branch flow in `references/pr-task-fix.md` (Jira-Key Stacked Branches).
55
55
  - All PR groups decomposed under this feature share one feature-level delivery go-ahead: no individual group seeks or receives its own Stage 3 sign-off — see `references/implementation-delivery.md` Stage 3.
56
56
 
57
+ **Screen work — before writing or judging any user-facing screen:** when this task creates or modifies a screen, the `massa-ai-designer` dispatch below is mandatory rather than discretionary, carved out of ordinary delegation gating by the Screen Implementation Exception in `references/agent-orchestration.md`. It does not fire when the task touches no screen surface.
58
+
59
+ > **Dispatch: `massa-ai-designer`** (role: `designer`) — charter `skills/agents/designer/SKILL.md`
60
+ > - trigger: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
61
+ > - scope: the screens, views, components, layouts, styles, and design tokens in this task's UI surface — never the whole repository
62
+ > - permissions: write, scoped to UI-layer files only with a disjoint write set
63
+ > - inputs: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
64
+ > - sensors: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
65
+ > - output: per-element conformance table (element, expected, actual, verdict, severity) plus the UI files written; a missing or unreachable design source is listed as a skipped sensor, never a silent pass
66
+ > - firewall: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
67
+ > - memory: suggest-only; the main agent persists durable screen and design-token conventions
68
+ > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
69
+
57
70
  > **Dispatch: `massa-ai-reviewer`** (role: `reviewer`) — charter `skills/agents/reviewer/SKILL.md`
58
71
  > - trigger: implementation complete, before the verification gate — never optional
59
72
  > - scope: the feature's diff surface and its task/AC context
@@ -40,6 +40,19 @@ Before the first repository mutation, load `references/implementation-delivery.m
40
40
  - for usage insights (search/cache patterns, recent activity), call `analytics` with `type` and `projectId`
41
41
  - skip transient details, raw logs, copied source, unverified hypotheses, and facts already captured in current non-stale memory
42
42
 
43
+ **Screen work — before writing or judging any user-facing screen:** when this task creates or modifies a screen, the `massa-ai-designer` dispatch below is mandatory rather than discretionary, carved out of ordinary delegation gating by the Screen Implementation Exception in `references/agent-orchestration.md`. It does not fire when the task touches no screen surface.
44
+
45
+ > **Dispatch: `massa-ai-designer`** (role: `designer`) — charter `skills/agents/designer/SKILL.md`
46
+ > - trigger: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
47
+ > - scope: the screens, views, components, layouts, styles, and design tokens in this task's UI surface — never the whole repository
48
+ > - permissions: write, scoped to UI-layer files only with a disjoint write set
49
+ > - inputs: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
50
+ > - sensors: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
51
+ > - output: per-element conformance table (element, expected, actual, verdict, severity) plus the UI files written; a missing or unreachable design source is listed as a skipped sensor, never a silent pass
52
+ > - firewall: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
53
+ > - memory: suggest-only; the main agent persists durable screen and design-token conventions
54
+ > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
55
+
43
56
  > **Dispatch: `massa-ai-reviewer`** (role: `reviewer`) — charter `skills/agents/reviewer/SKILL.md`
44
57
  > - trigger: implementation complete, before the verification gate — never optional
45
58
  > - scope: the change's diff surface and its task/AC context
@@ -62,6 +62,19 @@ Do not execute from chat summaries, inline review comments, remembered findings,
62
62
  9. Size each finding with `references/verification-ladder.md`. Quick findings may proceed locally; Standard findings require characterization and an explicit recipe; ambiguous, cross-boundary, migration-heavy, or broad redesign findings pause and route to `spec-driven`.
63
63
  10. Orchestrate conservatively. The main agent owns report parsing, scope/freshness, prioritization, questions, memory, and final evidence. Dispatch per `references/agent-orchestration.md`:
64
64
 
65
+ **Screen work — before writing or judging any user-facing screen:** when this task creates or modifies a screen, the `massa-ai-designer` dispatch below is mandatory rather than discretionary, carved out of ordinary delegation gating by the Screen Implementation Exception in `references/agent-orchestration.md`. It does not fire when the task touches no screen surface.
66
+
67
+ > **Dispatch: `massa-ai-designer`** (role: `designer`) — charter `skills/agents/designer/SKILL.md`
68
+ > - trigger: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
69
+ > - scope: the screens, views, components, layouts, styles, and design tokens in this task's UI surface — never the whole repository
70
+ > - permissions: write, scoped to UI-layer files only with a disjoint write set
71
+ > - inputs: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
72
+ > - sensors: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
73
+ > - output: per-element conformance table (element, expected, actual, verdict, severity) plus the UI files written; a missing or unreachable design source is listed as a skipped sensor, never a silent pass
74
+ > - firewall: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
75
+ > - memory: suggest-only; the main agent persists durable screen and design-token conventions
76
+ > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
77
+
65
78
  > **Dispatch: `massa-ai-builder`** (role: `builder`) — charter `skills/agents/builder/SKILL.md`
66
79
  > - trigger: isolated finding with disjoint write set and concrete verification
67
80
  > - scope: one isolated implementation finding with a disjoint write set
@@ -58,6 +58,19 @@ Do not edit code. Route direct design implementation to `design`. Not for Flutte
58
58
  16. Persist only durable token/component mappings, source-set ownership rules, approved accessibility/platform deviations, asset-pipeline rules, or reusable render recipes after Importance Calibration. Use `workflow:mobile-figma-audit` and required tags. Never persist screenshots, hierarchy dumps, raw logs, device IDs, or user data.
59
59
  17. Complete `references/evidence-gate.md`. A model visual impression cannot satisfy the gate.
60
60
 
61
+ **Screen work — before writing or judging any user-facing screen:** when this task creates or modifies a screen, the `massa-ai-designer` dispatch below is mandatory rather than discretionary, carved out of ordinary delegation gating by the Screen Implementation Exception in `references/agent-orchestration.md`. It does not fire when the task touches no screen surface.
62
+
63
+ > **Dispatch: `massa-ai-designer`** (role: `designer`) — charter `skills/agents/designer/SKILL.md`
64
+ > - trigger: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
65
+ > - scope: the screens, views, components, layouts, styles, and design tokens under audit — never the whole repository, and no edits
66
+ > - permissions: read-only — this workflow is findings-only; the charter permits writes only when explicitly scoped, and its Restrictions win over the packet, so read-only governs
67
+ > - inputs: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
68
+ > - sensors: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
69
+ > - output: per-element conformance table (element, expected, actual, verdict, severity) feeding `MFM-*` findings; a missing or unreachable design source is listed as a skipped sensor, never a silent pass
70
+ > - firewall: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
71
+ > - memory: suggest-only; the main agent persists durable screen and design-token conventions
72
+ > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
73
+
61
74
  ## Examples
62
75
 
63
76
  User asks: "Compare the LoginScreen Compose preview and modified files against this Figma node."
@@ -60,6 +60,19 @@ Do not execute from chat summaries, screenshots alone, remembered findings, or a
60
60
  - Modify tracked Maestro flows only when the selected finding explicitly identifies the flow as incorrect or missing and the user-approved scope includes that change.
61
61
  9. Dispatch per `references/agent-orchestration.md`; the verification-agent block below is tier-gated mandatory, not merely discretionary — carved out of ordinary delegation gating by that reference's Independent Verification Exception:
62
62
 
63
+ **Screen work — before writing or judging any user-facing screen:** when this task creates or modifies a screen, the `massa-ai-designer` dispatch below is mandatory rather than discretionary, carved out of ordinary delegation gating by the Screen Implementation Exception in `references/agent-orchestration.md`. It does not fire when the task touches no screen surface.
64
+
65
+ > **Dispatch: `massa-ai-designer`** (role: `designer`) — charter `skills/agents/designer/SKILL.md`
66
+ > - trigger: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
67
+ > - scope: the screens, views, components, layouts, styles, and design tokens in this task's UI surface — never the whole repository
68
+ > - permissions: write, scoped to UI-layer files only with a disjoint write set
69
+ > - inputs: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
70
+ > - sensors: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
71
+ > - output: per-element conformance table (element, expected, actual, verdict, severity) plus the UI files written; a missing or unreachable design source is listed as a skipped sensor, never a silent pass
72
+ > - firewall: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
73
+ > - memory: suggest-only; the main agent persists durable screen and design-token conventions
74
+ > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
75
+
63
76
  > **Dispatch: `massa-ai-builder`** (role: `builder`) — charter `skills/agents/builder/SKILL.md`
64
77
  > - trigger: a selected `MFM-*` finding spans a disjoint surface or shared-root slice, or an explicit subagent request
65
78
  > - scope: one `MFM-*` finding, or a coherent surface group sharing one KMP root cause, with a disjoint write set
@@ -92,7 +92,8 @@ Before the first repository mutation, load `references/implementation-delivery.m
92
92
 
93
93
  - The fix→re-verify cycle for a PR group is capped by the Bounded Fix→Re-verify Loop's 3-iteration limit in `references/verification-ladder.md` (cap reached → `Blocked`); that is distinct from the two-consecutive-failed-fix edit-attempt breaker in `references/root-cause-scripts.md`, which fires on repeated failed edits against one symptom while moving code and neither consumes nor resets the verify-cycle count.
94
94
 
95
- 13. Complete the Evidence Gate from `references/evidence-gate.md`
95
+ 13. Run the configured Plan Challenge Gate on the refactor plan before the first behavior-preserving edit. Low-risk refactor plans use the Plan Challenge lite gate first; full The Fool is reserved for explicit challenge, high-risk domains, plans touching more than 5 files/classes/modules, or lite escalation. Revise valid critical or high findings — for a refactor the assumption most worth challenging is that the existing tests actually pin the behavior being preserved.
96
+ 14. Complete the Evidence Gate from `references/evidence-gate.md`
96
97
 
97
98
  ## Failure Handling
98
99
 
@@ -116,6 +116,19 @@ Quick artifacts live under `.specs/quick/NNN-slug/` with a `TASK.md` (one-line i
116
116
  - Update logical feature artifacts in `.specs/features/<slug>/` and `.specs/project/STATE.md` after meaningful progress.
117
117
  - Finish Execute by running `references/spec-driven/validate.md`. Dispatch `verification-agent` (author ≠ verifier) per `references/agent-orchestration.md`; the verification-agent always runs automatically and writes `.specs/features/<slug>/validation.md`. Without subagents, run the standalone fresh-eyes fallback in `validate.md`.
118
118
 
119
+ **Screen work — before writing or judging any user-facing screen:** when this task creates or modifies a screen, the `massa-ai-designer` dispatch below is mandatory rather than discretionary, carved out of ordinary delegation gating by the Screen Implementation Exception in `references/agent-orchestration.md`. It does not fire when the task touches no screen surface.
120
+
121
+ > **Dispatch: `massa-ai-designer`** (role: `designer`) — charter `skills/agents/designer/SKILL.md`
122
+ > - trigger: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
123
+ > - scope: the screens, views, components, layouts, styles, and design tokens in this task's UI surface — never the whole repository
124
+ > - permissions: write, scoped to UI-layer files only with a disjoint write set
125
+ > - inputs: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
126
+ > - sensors: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
127
+ > - output: per-element conformance table (element, expected, actual, verdict, severity) plus the UI files written; a missing or unreachable design source is listed as a skipped sensor, never a silent pass
128
+ > - firewall: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
129
+ > - memory: suggest-only; the main agent persists durable screen and design-token conventions
130
+ > - persona: optional — the active route's cataloged id only, never the persona prompt, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions; omit when no persona is routed
131
+
119
132
  > **Dispatch: `massa-ai-reviewer`** (role: `reviewer`) — charter `skills/agents/reviewer/SKILL.md`
120
133
  > - trigger: implementation complete, before the verification gate — never optional
121
134
  > - scope: the task's diff surface and its task/AC context