@massa-ai/codex-plugin 1.61.0 → 1.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/{agents/massa-ai-builder.toml → agent-profiles/balanced/builder.toml} +3 -4
- package/agent-profiles/balanced/code-explorer.toml +101 -0
- package/agent-profiles/balanced/code-reviewer.toml +133 -0
- package/agent-profiles/balanced/{massa-ai-designer.toml → designer.toml} +34 -17
- package/agent-profiles/balanced/judge.toml +147 -0
- package/agent-profiles/balanced/product-manager.toml +107 -0
- package/agent-profiles/balanced/test-engineer.toml +100 -0
- package/agent-profiles/cheap/{massa-ai-builder.toml → builder.toml} +3 -4
- package/agent-profiles/cheap/code-explorer.toml +101 -0
- package/agent-profiles/cheap/code-reviewer.toml +133 -0
- package/agent-profiles/cheap/{massa-ai-designer.toml → designer.toml} +34 -17
- package/agent-profiles/cheap/judge.toml +147 -0
- package/agent-profiles/cheap/product-manager.toml +107 -0
- package/agent-profiles/cheap/test-engineer.toml +100 -0
- package/agent-profiles/{work/massa-ai-builder.toml → heavy/builder.toml} +3 -4
- package/agent-profiles/heavy/code-explorer.toml +101 -0
- package/agent-profiles/heavy/code-reviewer.toml +133 -0
- package/agent-profiles/{work/massa-ai-designer.toml → heavy/designer.toml} +34 -17
- package/agent-profiles/heavy/judge.toml +147 -0
- package/agent-profiles/heavy/product-manager.toml +107 -0
- package/agent-profiles/heavy/test-engineer.toml +100 -0
- package/agent-profiles/home/{massa-ai-builder.toml → builder.toml} +3 -4
- package/agent-profiles/home/code-explorer.toml +101 -0
- package/agent-profiles/home/code-reviewer.toml +133 -0
- package/{agents/massa-ai-designer.toml → agent-profiles/home/designer.toml} +34 -17
- package/agent-profiles/home/judge.toml +147 -0
- package/agent-profiles/home/product-manager.toml +107 -0
- package/agent-profiles/home/test-engineer.toml +100 -0
- package/agent-profiles/{heavy/massa-ai-builder.toml → work/builder.toml} +3 -4
- package/agent-profiles/work/code-explorer.toml +101 -0
- package/agent-profiles/work/code-reviewer.toml +133 -0
- package/agent-profiles/{heavy/massa-ai-designer.toml → work/designer.toml} +34 -17
- package/agent-profiles/work/judge.toml +147 -0
- package/agent-profiles/work/product-manager.toml +107 -0
- package/agent-profiles/work/test-engineer.toml +100 -0
- package/{agent-profiles/balanced/massa-ai-builder.toml → agents/builder.toml} +3 -4
- package/agents/code-explorer.toml +101 -0
- package/agents/code-reviewer.toml +133 -0
- package/{agent-profiles/home/massa-ai-designer.toml → agents/designer.toml} +34 -17
- package/agents/judge.toml +147 -0
- package/agents/product-manager.toml +107 -0
- package/agents/test-engineer.toml +100 -0
- package/hooks/massa-ai-hook +4 -4
- package/install.sh +98 -24
- package/package.json +1 -1
- package/skills/agents/builder/SKILL.md +3 -4
- package/skills/agents/code-explorer/SKILL.md +104 -0
- package/skills/agents/code-reviewer/SKILL.md +136 -0
- package/skills/agents/designer/SKILL.md +34 -17
- package/skills/agents/judge/SKILL.md +99 -48
- package/skills/agents/product-manager/SKILL.md +110 -0
- package/skills/agents/test-engineer/SKILL.md +57 -22
- package/skills/bootstrap/SKILL.md +4 -5
- package/skills/{adr.md → create-adr.md} +3 -3
- package/skills/{to-prd.md → create-prd.md} +3 -3
- package/skills/{rfc.md → create-rfc.md} +3 -3
- package/skills/{tdd.md → create-tdd.md} +3 -3
- package/skills/{ticket.md → create-ticket.md} +3 -3
- package/skills/massa-ai/SKILL.md +26 -29
- package/skills/massa-ai/references/agent-orchestration.md +62 -58
- package/skills/massa-ai/references/audit-report-io.md +8 -87
- package/skills/massa-ai/references/code-reuse-scan.md +1 -1
- package/skills/massa-ai/references/{adr-authoring.md → create-adr.md} +3 -3
- package/skills/massa-ai/references/{rfc → create-rfc}/discovery-and-sizing.md +1 -1
- package/skills/massa-ai/references/{tdd → create-tdd}/calibrated-examples.md +3 -3
- package/skills/massa-ai/references/{tdd → create-tdd}/discovery-and-sizing.md +1 -1
- package/skills/massa-ai/references/{tdd → create-tdd}/quality-and-lifecycle.md +1 -1
- package/skills/massa-ai/references/{ticket → create-ticket}/intake-and-sources.md +1 -1
- package/skills/massa-ai/references/figma-pre-analysis.md +1 -1
- package/skills/massa-ai/references/furps/analyst-role.md +3 -3
- package/skills/massa-ai/references/furps/checklist.md +2 -2
- package/skills/massa-ai/references/furps/intake.md +7 -7
- package/skills/massa-ai/references/hook-enforcement.md +4 -8
- package/skills/massa-ai/references/implementation-delivery.md +2 -2
- package/skills/massa-ai/references/knowledge-verification-chain.md +0 -1
- package/skills/massa-ai/references/mobile-context.md +2 -5
- package/skills/massa-ai/references/pr-task-fix.md +1 -1
- package/skills/massa-ai/references/spec-driven/sub-agents.md +3 -3
- package/skills/massa-ai/references/spec-driven/validate.md +1 -1
- package/skills/massa-ai/references/subagent-design.md +6 -9
- package/skills/massa-ai/references/verification-ladder.md +2 -2
- package/skills/massa-ai/scripts/validate_audit_report.ts +3 -8
- package/skills/massa-ai/workflows/architecture/architecture-audit.md +4 -5
- package/skills/massa-ai/workflows/architecture/architecture-fix.md +5 -6
- package/skills/massa-ai/workflows/bugs/bugs-audit.md +2 -3
- package/skills/massa-ai/workflows/bugs/bugs-fix.md +4 -5
- package/skills/massa-ai/workflows/code-quality/code-quality-audit.md +2 -3
- package/skills/massa-ai/workflows/code-quality/code-quality-fix.md +4 -5
- package/skills/massa-ai/workflows/commit.md +3 -3
- package/skills/massa-ai/workflows/{adr.md → create-adr.md} +10 -10
- package/skills/massa-ai/workflows/{to-prd.md → create-prd.md} +4 -4
- package/skills/massa-ai/workflows/{rfc.md → create-rfc.md} +6 -6
- package/skills/massa-ai/workflows/{tdd.md → create-tdd.md} +11 -11
- package/skills/massa-ai/workflows/{ticket.md → create-ticket.md} +5 -5
- package/skills/massa-ai/workflows/debug.md +4 -5
- package/skills/massa-ai/workflows/design.md +2 -2
- package/skills/massa-ai/workflows/exploration.md +2 -2
- package/skills/massa-ai/workflows/feature.md +5 -6
- package/skills/massa-ai/workflows/implementation/implementation-audit.md +22 -3
- package/skills/massa-ai/workflows/implementation/implementation-fix.md +6 -7
- package/skills/massa-ai/workflows/judge-with-debate.md +14 -14
- package/skills/massa-ai/workflows/mobile-figma/mobile-figma-audit.md +2 -2
- package/skills/massa-ai/workflows/mobile-figma/mobile-figma-fix.md +10 -11
- package/skills/massa-ai/workflows/pr-review.md +31 -13
- package/skills/massa-ai/workflows/{discovery.md → product-discovery.md} +12 -12
- package/skills/massa-ai/workflows/refactor.md +4 -5
- package/skills/massa-ai/workflows/refinement/furps-refinement.md +7 -7
- package/skills/massa-ai/workflows/requirements/requirements-audit.md +2 -2
- package/skills/massa-ai/workflows/requirements/requirements-fix.md +5 -6
- package/skills/massa-ai/workflows/security/security-audit.md +2 -3
- package/skills/massa-ai/workflows/security/security-fix.md +3 -4
- package/skills/massa-ai/workflows/spec-driven.md +9 -10
- package/skills/massa-ai/workflows/tests/tests-audit.md +2 -2
- package/skills/massa-ai/workflows/tests/tests-fix.md +16 -6
- package/skills/massa-ai/workflows/the-fool.md +7 -7
- package/skills/{discovery.md → product-discovery.md} +3 -3
- package/agent-profiles/balanced/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/balanced/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/balanced/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/balanced/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/balanced/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/balanced/massa-ai-investigator.toml +0 -65
- package/agent-profiles/balanced/massa-ai-judge.toml +0 -96
- package/agent-profiles/balanced/massa-ai-meta-judge.toml +0 -84
- package/agent-profiles/balanced/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/balanced/massa-ai-navigator.toml +0 -72
- package/agent-profiles/balanced/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/balanced/massa-ai-planner.toml +0 -62
- package/agent-profiles/balanced/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/balanced/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/balanced/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/balanced/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/cheap/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/cheap/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/cheap/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/cheap/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/cheap/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/cheap/massa-ai-investigator.toml +0 -65
- package/agent-profiles/cheap/massa-ai-judge.toml +0 -96
- package/agent-profiles/cheap/massa-ai-meta-judge.toml +0 -84
- package/agent-profiles/cheap/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/cheap/massa-ai-navigator.toml +0 -72
- package/agent-profiles/cheap/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/cheap/massa-ai-planner.toml +0 -62
- package/agent-profiles/cheap/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/cheap/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/cheap/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/cheap/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/heavy/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/heavy/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/heavy/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/heavy/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/heavy/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/heavy/massa-ai-investigator.toml +0 -65
- package/agent-profiles/heavy/massa-ai-judge.toml +0 -96
- package/agent-profiles/heavy/massa-ai-meta-judge.toml +0 -84
- package/agent-profiles/heavy/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/heavy/massa-ai-navigator.toml +0 -72
- package/agent-profiles/heavy/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/heavy/massa-ai-planner.toml +0 -62
- package/agent-profiles/heavy/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/heavy/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/heavy/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/heavy/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/home/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/home/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/home/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/home/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/home/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/home/massa-ai-investigator.toml +0 -65
- package/agent-profiles/home/massa-ai-judge.toml +0 -96
- package/agent-profiles/home/massa-ai-meta-judge.toml +0 -84
- package/agent-profiles/home/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/home/massa-ai-navigator.toml +0 -72
- package/agent-profiles/home/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/home/massa-ai-planner.toml +0 -62
- package/agent-profiles/home/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/home/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/home/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/home/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/work/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/work/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/work/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/work/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/work/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/work/massa-ai-investigator.toml +0 -65
- package/agent-profiles/work/massa-ai-judge.toml +0 -96
- package/agent-profiles/work/massa-ai-meta-judge.toml +0 -84
- package/agent-profiles/work/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/work/massa-ai-navigator.toml +0 -72
- package/agent-profiles/work/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/work/massa-ai-planner.toml +0 -62
- package/agent-profiles/work/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/work/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/work/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/work/massa-ai-verification-agent.toml +0 -62
- package/agents/massa-ai-architecture-specialist.toml +0 -62
- package/agents/massa-ai-audit-specialist.toml +0 -79
- package/agents/massa-ai-context-curator.toml +0 -64
- package/agents/massa-ai-documentation-agent.toml +0 -62
- package/agents/massa-ai-furps-analyst.toml +0 -68
- package/agents/massa-ai-investigator.toml +0 -65
- package/agents/massa-ai-judge.toml +0 -96
- package/agents/massa-ai-meta-judge.toml +0 -84
- package/agents/massa-ai-mobile-specialist.toml +0 -79
- package/agents/massa-ai-navigator.toml +0 -72
- package/agents/massa-ai-plan-critic.toml +0 -87
- package/agents/massa-ai-planner.toml +0 -62
- package/agents/massa-ai-requirements-analyst.toml +0 -61
- package/agents/massa-ai-reviewer.toml +0 -63
- package/agents/massa-ai-test-engineer.toml +0 -64
- package/agents/massa-ai-verification-agent.toml +0 -62
- package/skills/agents/architecture-specialist/SKILL.md +0 -66
- package/skills/agents/audit-specialist/SKILL.md +0 -83
- package/skills/agents/context-curator/SKILL.md +0 -68
- package/skills/agents/documentation-agent/SKILL.md +0 -66
- package/skills/agents/furps-analyst/SKILL.md +0 -71
- package/skills/agents/investigator/SKILL.md +0 -69
- package/skills/agents/meta-judge/SKILL.md +0 -87
- package/skills/agents/mobile-specialist/SKILL.md +0 -83
- package/skills/agents/navigator/SKILL.md +0 -76
- package/skills/agents/plan-critic/SKILL.md +0 -90
- package/skills/agents/planner/SKILL.md +0 -66
- package/skills/agents/requirements-analyst/SKILL.md +0 -65
- package/skills/agents/reviewer/SKILL.md +0 -67
- package/skills/agents/verification-agent/SKILL.md +0 -66
- package/skills/general.md +0 -14
- package/skills/maestro-audit.md +0 -14
- package/skills/maestro-fix.md +0 -14
- package/skills/maestro.md +0 -14
- package/skills/massa-ai/personas/README.md +0 -35
- package/skills/massa-ai/personas/ai-native-nodejs-cli-architect.md +0 -47
- package/skills/massa-ai/personas/catalog.json +0 -7
- package/skills/massa-ai/personas/context-skill-harness-engineer-architect.md +0 -47
- package/skills/massa-ai/personas/product-manager.md +0 -65
- package/skills/massa-ai/personas/senior-mobile-engineer.md +0 -46
- package/skills/massa-ai/personas/senior-mobile-qa-automation-engineer.md +0 -51
- package/skills/massa-ai/personas/signals/ai-native-nodejs-cli-architect.json +0 -20
- package/skills/massa-ai/personas/signals/context-skill-harness-engineer-architect.json +0 -20
- package/skills/massa-ai/personas/signals/product-manager.json +0 -21
- package/skills/massa-ai/personas/signals/senior-mobile-engineer.json +0 -18
- package/skills/massa-ai/personas/signals/senior-mobile-qa-automation-engineer.json +0 -18
- package/skills/massa-ai/references/maestro/artifacts-reports.md +0 -69
- package/skills/massa-ai/references/maestro/cli-device.md +0 -65
- package/skills/massa-ai/references/maestro/cloud.md +0 -69
- package/skills/massa-ai/references/maestro/config-env-output.md +0 -76
- package/skills/massa-ai/references/maestro/fact-ledger.md +0 -73
- package/skills/massa-ai/references/maestro/js-scripting.md +0 -70
- package/skills/massa-ai/references/maestro/mcp.md +0 -59
- package/skills/massa-ai/references/maestro/patterns.md +0 -102
- package/skills/massa-ai/references/maestro/selectors.md +0 -91
- package/skills/massa-ai/references/maestro/workspace-execution.md +0 -81
- package/skills/massa-ai/references/maestro/yaml-commands.md +0 -203
- package/skills/massa-ai/references/maestro.md +0 -31
- package/skills/massa-ai/workflows/general.md +0 -88
- package/skills/massa-ai/workflows/maestro/maestro-audit.md +0 -64
- package/skills/massa-ai/workflows/maestro/maestro-fix.md +0 -111
- package/skills/massa-ai/workflows/maestro/maestro.md +0 -80
- package/skills/persona-router/SKILL.md +0 -52
- package/skills/persona-router/references/routing-details.md +0 -98
- /package/skills/massa-ai/references/{rfc → create-rfc}/ATTRIBUTION.md +0 -0
- /package/skills/massa-ai/references/{rfc → create-rfc}/document-contract.md +0 -0
- /package/skills/massa-ai/references/{rfc → create-rfc}/quality-and-lifecycle.md +0 -0
- /package/skills/massa-ai/references/{tdd → create-tdd}/document-contract.md +0 -0
- /package/skills/massa-ai/references/{ticket → create-ticket}/atlassian-fix.md +0 -0
- /package/skills/massa-ai/references/{ticket → create-ticket}/templates-and-quality.md +0 -0
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: general
|
|
3
|
-
description: "Final fallback workflow for coding, planning, review, or implementation work when no specialized massa-ai workflow is a better match."
|
|
4
|
-
license: MIT
|
|
5
|
-
metadata:
|
|
6
|
-
version: "1.3.0"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
### General Coding Workflow
|
|
10
|
-
|
|
11
|
-
Use for coding, planning-before-coding, review, or implementation work when no specialized massa-ai workflow is a better match. Final fallback, not a replacement for explicit or specialized workflows.
|
|
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
|
-
1. Resolve or reuse `projectId` and a stable `workflowSessionId`: `general-[entity]`.
|
|
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
|
-
2. Run General fallback preflight before source work: name the specialized workflow considered, the exact rejected reason, and why fallback does not change verification, mutation behavior, or memory scope. Ask the user only when the rejected workflow would change those behaviors. One delivery authorization obtained here covers the fallback change's commits, push, and PR creation; force-push, deploy, or merge are separately gated (`references/implementation-delivery.md` Stage 3).
|
|
23
|
-
3. Recall relevant durable context with `recall`. Treat recalled memory as a lead until current source confirms it. Confirm against current source before relying on it only when the change touches the enumerated risk-domain set: public API, data loss, auth/PII, migrations, or cross-service contracts. Otherwise trust recalled memory and cite it with a one-line source note. When recall returns no hit and the repository is otherwise unmapped on Standard+ fallback work, run the Minimum Bar sweep from `references/brownfield-mapping.md` first, writing only `CONCERNS.md` and `TESTING.md` into `.specs/project/onboarding/` before continuing.
|
|
24
|
-
4. Create a Synapse session when planned related `search` calls >=2, following `references/synapse-policy.md`.
|
|
25
|
-
5. Load confirmed project lessons through `references/lessons.md` when `.specs/lessons.json` exists:
|
|
26
|
-
`bun skills/massa-ai/scripts/lessons.ts --root . list --status confirmed`
|
|
27
|
-
Retrieve only the context required for the goal:
|
|
28
|
-
- begin with focused local inspection or the shared summary-search sequence
|
|
29
|
-
- deepen into enriched search, symbols, or exact files only when needed
|
|
30
|
-
- prefer `read_file` over native Read when symbol metadata + imports are useful (retrieval order per `references/mcp-tools.md`); use `symbol_snippet` for raw code snippets by file + line range
|
|
31
|
-
- prefer current repository truth over stale or conflicting memories
|
|
32
|
-
6. Execute the requested work using existing repository conventions. Load `references/naming-standards.md` before introducing or renaming identifiers, screens, components, attributes, or implementation-facing names (English-conversion rule applies). Tie verification depth to the Verification Ladder tier table in `references/verification-ladder.md`, sizing the change with `bun skills/massa-ai/scripts/size_change.ts`: Quick runs static + file-integrity checks; Standard adds a named verification recipe and behavioral checks; Spec-driven escalates to `workflows/spec-driven.md`. Do not invent new thresholds; load specialized references only when the task needs their exact contracts.
|
|
33
|
-
- For analysis that benefits from running code (derived values, data inspection, bulk transforms), call `execute` with `language` and `code` or `batch_execute` with `commands`[] instead of loading raw data into context. Respect the local-dev-only trust model (no untrusted-client exposure).
|
|
34
|
-
- When the chosen approach leans on an external library's or API's exact behavior, resolve it through the 5-step chain in `references/knowledge-verification-chain.md` (codebase, project docs, Context7, web, flag-uncertain) before committing to that approach — the trigger is the dependence itself, not the task's Quick/Standard/Spec-driven tier.
|
|
35
|
-
7. Use `compress` only when accumulated source or conversation context is reducing execution quality; preserve decisions, constraints, current state, and next steps rather than raw history.
|
|
36
|
-
8. Before completion, if verification found a reusable signal, record it via `references/lessons.md`. Score potential memories using `references/decision-engine.md` when that guidance is not already loaded:
|
|
37
|
-
`bun skills/massa-ai/scripts/lessons.ts --root . add --feature "<slug>" --signal "<signal>" --source "<ref>" --text "<one terse lesson>"`
|
|
38
|
-
- remember verified decisions, reusable discoveries, recurring blockers, accepted constraints, and completed outcomes that will save future work
|
|
39
|
-
- if a recalled memory is stale or needs correction, call `memory_update` with `id` and the new `content` (re-embeds automatically); if a memory is obsolete, call `memory_delete` with `id` (hard-delete, severs graph edges)
|
|
40
|
-
- for usage insights (search/cache patterns, recent activity), call `analytics` with `type` and `projectId`
|
|
41
|
-
- skip transient details, raw logs, copied source, unverified hypotheses, and facts already captured in current non-stale memory
|
|
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
|
-
> - scope: the screens, views, components, layouts, styles, and design tokens in this task's UI surface — never the whole repository
|
|
47
|
-
> - permissions: write, scoped to UI-layer files only with a disjoint write set
|
|
48
|
-
> - 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
|
|
49
|
-
|
|
50
|
-
> **Dispatch: `massa-ai-reviewer`** (role: `reviewer`) — charter `skills/agents/reviewer/SKILL.md`
|
|
51
|
-
> - trigger: implementation complete, before the verification gate — never optional
|
|
52
|
-
> - scope: the change's diff surface and its task/AC context
|
|
53
|
-
> - permissions: read-only
|
|
54
|
-
> - inputs: diff, acceptance context, recalled code-quality conventions
|
|
55
|
-
> - sensors: bugs, regressions, missing edge cases, smells introduced by the diff
|
|
56
|
-
> - output: ranked findings, blocking vs advisory; blocking findings become fix items before verification runs
|
|
57
|
-
> - firewall: summarized findings only, never raw diff dumps
|
|
58
|
-
> - memory: suggest-only; main agent persists
|
|
59
|
-
|
|
60
|
-
> **Dispatch: `massa-ai-verification-agent`** (role: `verification-agent`) — charter `skills/agents/verification-agent/SKILL.md`
|
|
61
|
-
> - trigger: fallback work reaching Standard+ on the Verification Ladder, or any Quick-sized change inside the risk-domain set named in step 3 (public API, data loss, auth/PII, migrations, cross-service) — the Independent Verification Mandate in `references/verification-ladder.md` applies at that gate even when file/LOC counts stay Quick
|
|
62
|
-
> - scope: the fallback change's diff surface plus the acceptance evidence gathered while executing step 6
|
|
63
|
-
> - inputs: diff, the General fallback preflight rationale, reviewer findings, recalled conventions
|
|
64
|
-
> - sensors: independent outcome-vs-request re-check; discrimination sensor per `references/discrimination-sensor.md`, mutating the fallback change's own logic in scratch state
|
|
65
|
-
> - output: PASS/FAIL verdict with per-check evidence recorded in `.specs/quick/NNN-slug/SUMMARY.md`
|
|
66
|
-
> - firewall: summarized findings only, never raw diff dumps
|
|
67
|
-
> - memory: suggest-only; main agent persists general-workflow verification outcomes
|
|
68
|
-
> - fallback: if the subagent is unavailable, run a standalone fresh-eyes re-check of the change against its acceptance evidence and record the skipped-delegation reason
|
|
69
|
-
|
|
70
|
-
9. At Standard+ size, persist `.specs/quick/NNN-slug/TASK.md` and `SUMMARY.md` using the templates in `references/artifact-persistence.md`, then run `bun skills/massa-ai/scripts/check_specs_delivered.ts <slug> --kind quick` before the Evidence Gate — a non-zero exit blocks completion. If no code-execution tool is available, run the same checks by reading the artifact (graceful degradation preserved).
|
|
71
|
-
10. Complete the Evidence Gate from `references/evidence-gate.md` and report verification, changed artifacts, memory outcome, and residual risk.
|
|
72
|
-
|
|
73
|
-
## Failure Handling
|
|
74
|
-
|
|
75
|
-
On any tool/index/MCP failure, follow `references/graceful-degradation.md` (also `SKILL.md` Graceful Degradation).
|
|
76
|
-
|
|
77
|
-
- `.specs/` directory missing or not writable: block quick-artifact and onboarding-doc writes per `references/artifact-persistence.md`'s unwritable-→-block rule; do not fall back to memory or chat.
|
|
78
|
-
- Verifier fix→re-verify loop reaches the cap in `references/verification-ladder.md`'s Bounded Fix→Re-verify Loop: stop with `Blocked`, preserve the evidence collected, and ask the user for direction.
|
|
79
|
-
|
|
80
|
-
## Output Contract
|
|
81
|
-
|
|
82
|
-
- Goal and selected fallback workflow
|
|
83
|
-
- General fallback preflight: considered workflow, rejected reason, and fallback validity
|
|
84
|
-
- Relevant recalled context or explicit cold-start status
|
|
85
|
-
- Work completed and source evidence
|
|
86
|
-
- Verification performed and skipped checks
|
|
87
|
-
- Memory written or intentionally skipped, with reason
|
|
88
|
-
- Residual risk
|
|
@@ -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.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|