@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.
- package/.cursor-plugin/plugin.json +1 -1
- package/agent-profiles/balanced/massa-ai-architecture-specialist.md +1 -1
- package/agent-profiles/balanced/massa-ai-audit-specialist.md +1 -1
- package/agent-profiles/balanced/massa-ai-builder.md +1 -1
- package/agent-profiles/balanced/massa-ai-context-curator.md +1 -1
- package/agent-profiles/balanced/massa-ai-designer.md +66 -0
- package/agent-profiles/balanced/massa-ai-documentation-agent.md +1 -1
- package/agent-profiles/balanced/massa-ai-furps-analyst.md +1 -1
- package/agent-profiles/balanced/massa-ai-investigator.md +1 -1
- package/agent-profiles/balanced/massa-ai-judge.md +1 -1
- package/agent-profiles/balanced/massa-ai-meta-judge.md +1 -1
- package/agent-profiles/balanced/massa-ai-mobile-specialist.md +1 -1
- package/agent-profiles/balanced/massa-ai-navigator.md +1 -1
- package/agent-profiles/balanced/massa-ai-plan-critic.md +1 -1
- package/agent-profiles/balanced/massa-ai-planner.md +1 -1
- package/agent-profiles/balanced/massa-ai-requirements-analyst.md +1 -1
- package/agent-profiles/balanced/massa-ai-reviewer.md +1 -1
- package/agent-profiles/balanced/massa-ai-test-engineer.md +1 -1
- package/agent-profiles/balanced/massa-ai-verification-agent.md +1 -1
- package/agent-profiles/cheap/massa-ai-architecture-specialist.md +1 -1
- package/agent-profiles/cheap/massa-ai-audit-specialist.md +1 -1
- package/agent-profiles/cheap/massa-ai-builder.md +1 -1
- package/agent-profiles/cheap/massa-ai-context-curator.md +1 -1
- package/agent-profiles/cheap/massa-ai-designer.md +66 -0
- package/agent-profiles/cheap/massa-ai-documentation-agent.md +1 -1
- package/agent-profiles/cheap/massa-ai-furps-analyst.md +1 -1
- package/agent-profiles/cheap/massa-ai-investigator.md +1 -1
- package/agent-profiles/cheap/massa-ai-judge.md +1 -1
- package/agent-profiles/cheap/massa-ai-meta-judge.md +1 -1
- package/agent-profiles/cheap/massa-ai-mobile-specialist.md +1 -1
- package/agent-profiles/cheap/massa-ai-navigator.md +1 -1
- package/agent-profiles/cheap/massa-ai-plan-critic.md +1 -1
- package/agent-profiles/cheap/massa-ai-planner.md +1 -1
- package/agent-profiles/cheap/massa-ai-requirements-analyst.md +1 -1
- package/agent-profiles/cheap/massa-ai-reviewer.md +1 -1
- package/agent-profiles/cheap/massa-ai-test-engineer.md +1 -1
- package/agent-profiles/cheap/massa-ai-verification-agent.md +1 -1
- package/agent-profiles/heavy/massa-ai-architecture-specialist.md +1 -1
- package/agent-profiles/heavy/massa-ai-audit-specialist.md +1 -1
- package/agent-profiles/heavy/massa-ai-builder.md +1 -1
- package/agent-profiles/heavy/massa-ai-context-curator.md +1 -1
- package/agent-profiles/heavy/massa-ai-designer.md +66 -0
- package/agent-profiles/heavy/massa-ai-documentation-agent.md +1 -1
- package/agent-profiles/heavy/massa-ai-furps-analyst.md +1 -1
- package/agent-profiles/heavy/massa-ai-investigator.md +1 -1
- package/agent-profiles/heavy/massa-ai-judge.md +1 -1
- package/agent-profiles/heavy/massa-ai-meta-judge.md +1 -1
- package/agent-profiles/heavy/massa-ai-mobile-specialist.md +1 -1
- package/agent-profiles/heavy/massa-ai-navigator.md +1 -1
- package/agent-profiles/heavy/massa-ai-plan-critic.md +1 -1
- package/agent-profiles/heavy/massa-ai-planner.md +1 -1
- package/agent-profiles/heavy/massa-ai-requirements-analyst.md +1 -1
- package/agent-profiles/heavy/massa-ai-reviewer.md +1 -1
- package/agent-profiles/heavy/massa-ai-test-engineer.md +1 -1
- package/agent-profiles/heavy/massa-ai-verification-agent.md +1 -1
- package/agent-profiles/home/massa-ai-architecture-specialist.md +1 -1
- package/agent-profiles/home/massa-ai-audit-specialist.md +1 -1
- package/agent-profiles/home/massa-ai-builder.md +1 -1
- package/agent-profiles/home/massa-ai-context-curator.md +1 -1
- package/agent-profiles/home/massa-ai-designer.md +66 -0
- package/agent-profiles/home/massa-ai-documentation-agent.md +1 -1
- package/agent-profiles/home/massa-ai-furps-analyst.md +1 -1
- package/agent-profiles/home/massa-ai-investigator.md +1 -1
- package/agent-profiles/home/massa-ai-judge.md +1 -1
- package/agent-profiles/home/massa-ai-meta-judge.md +1 -1
- package/agent-profiles/home/massa-ai-mobile-specialist.md +1 -1
- package/agent-profiles/home/massa-ai-navigator.md +1 -1
- package/agent-profiles/home/massa-ai-plan-critic.md +1 -1
- package/agent-profiles/home/massa-ai-planner.md +1 -1
- package/agent-profiles/home/massa-ai-requirements-analyst.md +1 -1
- package/agent-profiles/home/massa-ai-reviewer.md +1 -1
- package/agent-profiles/home/massa-ai-test-engineer.md +1 -1
- package/agent-profiles/home/massa-ai-verification-agent.md +1 -1
- package/agent-profiles/work/massa-ai-architecture-specialist.md +1 -1
- package/agent-profiles/work/massa-ai-audit-specialist.md +1 -1
- package/agent-profiles/work/massa-ai-builder.md +1 -1
- package/agent-profiles/work/massa-ai-context-curator.md +1 -1
- package/agent-profiles/work/massa-ai-designer.md +66 -0
- package/agent-profiles/work/massa-ai-documentation-agent.md +1 -1
- package/agent-profiles/work/massa-ai-furps-analyst.md +1 -1
- package/agent-profiles/work/massa-ai-investigator.md +1 -1
- package/agent-profiles/work/massa-ai-judge.md +1 -1
- package/agent-profiles/work/massa-ai-meta-judge.md +1 -1
- package/agent-profiles/work/massa-ai-mobile-specialist.md +1 -1
- package/agent-profiles/work/massa-ai-navigator.md +1 -1
- package/agent-profiles/work/massa-ai-plan-critic.md +1 -1
- package/agent-profiles/work/massa-ai-planner.md +1 -1
- package/agent-profiles/work/massa-ai-requirements-analyst.md +1 -1
- package/agent-profiles/work/massa-ai-reviewer.md +1 -1
- package/agent-profiles/work/massa-ai-test-engineer.md +1 -1
- package/agent-profiles/work/massa-ai-verification-agent.md +1 -1
- package/agents/massa-ai-architecture-specialist.md +1 -1
- package/agents/massa-ai-audit-specialist.md +1 -1
- package/agents/massa-ai-builder.md +1 -1
- package/agents/massa-ai-context-curator.md +1 -1
- package/agents/massa-ai-designer.md +66 -0
- package/agents/massa-ai-documentation-agent.md +1 -1
- package/agents/massa-ai-furps-analyst.md +1 -1
- package/agents/massa-ai-investigator.md +1 -1
- package/agents/massa-ai-judge.md +1 -1
- package/agents/massa-ai-meta-judge.md +1 -1
- package/agents/massa-ai-mobile-specialist.md +1 -1
- package/agents/massa-ai-navigator.md +1 -1
- package/agents/massa-ai-plan-critic.md +1 -1
- package/agents/massa-ai-planner.md +1 -1
- package/agents/massa-ai-requirements-analyst.md +1 -1
- package/agents/massa-ai-reviewer.md +1 -1
- package/agents/massa-ai-test-engineer.md +1 -1
- package/agents/massa-ai-verification-agent.md +1 -1
- package/package.json +1 -1
- package/skills/agents/architecture-specialist/SKILL.md +1 -1
- package/skills/agents/audit-specialist/SKILL.md +1 -1
- package/skills/agents/builder/SKILL.md +1 -1
- package/skills/agents/context-curator/SKILL.md +1 -1
- package/skills/agents/designer/SKILL.md +71 -0
- package/skills/agents/documentation-agent/SKILL.md +1 -1
- package/skills/agents/furps-analyst/SKILL.md +1 -1
- package/skills/agents/investigator/SKILL.md +1 -1
- package/skills/agents/judge/SKILL.md +1 -1
- package/skills/agents/meta-judge/SKILL.md +1 -1
- package/skills/agents/mobile-specialist/SKILL.md +1 -1
- package/skills/agents/navigator/SKILL.md +1 -1
- package/skills/agents/plan-critic/SKILL.md +1 -1
- package/skills/agents/planner/SKILL.md +1 -1
- package/skills/agents/requirements-analyst/SKILL.md +1 -1
- package/skills/agents/reviewer/SKILL.md +1 -1
- package/skills/agents/test-engineer/SKILL.md +1 -1
- package/skills/agents/verification-agent/SKILL.md +1 -1
- package/skills/massa-ai/references/agent-orchestration.md +57 -1
- package/skills/massa-ai/references/code-reuse-scan.md +1 -2
- package/skills/massa-ai/references/conversation-feedback.md +2 -0
- package/skills/massa-ai/references/figma-pre-analysis.md +0 -1
- package/skills/massa-ai/references/spec-driven/sub-agents.md +3 -2
- package/skills/massa-ai/workflows/adr.md +4 -3
- package/skills/massa-ai/workflows/design.md +13 -0
- package/skills/massa-ai/workflows/feature.md +13 -0
- package/skills/massa-ai/workflows/general.md +13 -0
- package/skills/massa-ai/workflows/implementation/implementation-fix.md +13 -0
- package/skills/massa-ai/workflows/mobile-figma/mobile-figma-audit.md +13 -0
- package/skills/massa-ai/workflows/mobile-figma/mobile-figma-fix.md +13 -0
- package/skills/massa-ai/workflows/refactor.md +2 -1
- 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.
|
|
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).
|
|
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
|
-
**
|
|
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.
|
|
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
|
-
|
|
41
|
-
|
|
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.
|
|
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
|