@massa-ai/codex-plugin 1.60.1 → 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 -5
- 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 -18
- package/skills/agents/judge/SKILL.md +101 -51
- package/skills/agents/product-manager/SKILL.md +110 -0
- package/skills/agents/test-engineer/SKILL.md +57 -23
- 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 +69 -66
- 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 +5 -5
- 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/synapse-policy.md +2 -2
- 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 -83
- 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 -83
- 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 -83
- 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 -83
- 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 -83
- 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 -83
- 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 -67
- package/skills/agents/audit-specialist/SKILL.md +0 -84
- package/skills/agents/context-curator/SKILL.md +0 -69
- package/skills/agents/documentation-agent/SKILL.md +0 -67
- package/skills/agents/furps-analyst/SKILL.md +0 -72
- package/skills/agents/investigator/SKILL.md +0 -70
- package/skills/agents/meta-judge/SKILL.md +0 -87
- package/skills/agents/mobile-specialist/SKILL.md +0 -84
- package/skills/agents/navigator/SKILL.md +0 -77
- package/skills/agents/plan-critic/SKILL.md +0 -91
- package/skills/agents/planner/SKILL.md +0 -67
- package/skills/agents/requirements-analyst/SKILL.md +0 -66
- package/skills/agents/reviewer/SKILL.md +0 -68
- package/skills/agents/verification-agent/SKILL.md +0 -67
- 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
|
@@ -18,7 +18,7 @@ A run may combine sources (e.g., a Jira PRD epic + a Confluence ADR). Record eve
|
|
|
18
18
|
|
|
19
19
|
## Atlassian MCP (read-only capability discovery)
|
|
20
20
|
|
|
21
|
-
This workflow only reads from Atlassian; it never creates issues or pages. Reuse the capability-discovery pattern from `references/ticket/atlassian-fix.md`:
|
|
21
|
+
This workflow only reads from Atlassian; it never creates issues or pages. Reuse the capability-discovery pattern from `references/create-ticket/atlassian-fix.md`:
|
|
22
22
|
|
|
23
23
|
1. Inspect currently callable tools.
|
|
24
24
|
2. Identify Atlassian MCP operations by capability and schema, not by provider-specific function name. Needed capabilities: Jira issue retrieval and Confluence page retrieval.
|
|
@@ -68,9 +68,9 @@ The main agent builds one packet reused across sub-agents:
|
|
|
68
68
|
|
|
69
69
|
## Sub-agent packet contracts
|
|
70
70
|
|
|
71
|
-
### plan-
|
|
71
|
+
### judge `plan-critique` (The Fool) — evidence_audit
|
|
72
72
|
|
|
73
|
-
- role: `plan-
|
|
73
|
+
- role: `judge`; mode: `plan-critique`; depth: `full`; fool_mode: `evidence_audit`
|
|
74
74
|
- purpose: grade whether the PRD/ADR claims are source-backed, complete, falsifiable
|
|
75
75
|
- scope: the document as the challenged thesis
|
|
76
76
|
- permissions: read-only
|
|
@@ -80,9 +80,9 @@ The main agent builds one packet reused across sub-agents:
|
|
|
80
80
|
- firewall: summarize the document; no raw dumps
|
|
81
81
|
- memory: suggest only
|
|
82
82
|
|
|
83
|
-
### plan-
|
|
83
|
+
### judge `plan-critique` (The Fool) — pre_mortem
|
|
84
84
|
|
|
85
|
-
- role: `plan-
|
|
85
|
+
- role: `judge`; mode: `plan-critique`; depth: `full`; fool_mode: `pre_mortem`
|
|
86
86
|
- purpose: anticipate execution-phase failures of the proposed solution
|
|
87
87
|
- inputs: document packet, DoR, recalled facts, AND the evidence_audit summary
|
|
88
88
|
- output: Fool critique contract, focused on failure narratives
|
|
@@ -90,9 +90,9 @@ The main agent builds one packet reused across sub-agents:
|
|
|
90
90
|
|
|
91
91
|
Dispatch `pre_mortem` after `evidence_audit` returns, so it can build on identified gaps.
|
|
92
92
|
|
|
93
|
-
###
|
|
93
|
+
### product-manager `furps` — one per dimension (F, U, R, P, S, X)
|
|
94
94
|
|
|
95
|
-
- role: `
|
|
95
|
+
- role: `product-manager`; mode: `furps`; dimension: `<letter>`
|
|
96
96
|
- purpose: analyze one FURPS+ dimension against its checklist section
|
|
97
97
|
- scope: the assigned dimension's check items only
|
|
98
98
|
- permissions: read-only
|
|
@@ -64,7 +64,6 @@ absent, it falls back to the flat evidence matrix (graceful degradation).
|
|
|
64
64
|
| `bugs-fix` | verification-fix gate |
|
|
65
65
|
| `code-quality-fix` | verification-fix gate |
|
|
66
66
|
| `implementation-fix` | verification-fix gate |
|
|
67
|
-
| `maestro-fix` | verification-fix gate |
|
|
68
67
|
| `mobile-figma-fix` | verification-fix gate |
|
|
69
68
|
| `requirements-fix` | verification-fix gate |
|
|
70
69
|
| `security-fix` | verification-fix gate |
|
|
@@ -78,23 +77,20 @@ absent, it falls back to the flat evidence matrix (graceful degradation).
|
|
|
78
77
|
| `bugs-audit` | flat evidence matrix |
|
|
79
78
|
| `code-quality-audit` | flat evidence matrix |
|
|
80
79
|
| `implementation-audit` | flat evidence matrix |
|
|
81
|
-
| `maestro-audit` | flat evidence matrix |
|
|
82
80
|
| `mobile-figma-audit` | flat evidence matrix |
|
|
83
81
|
| `requirements-audit` | flat evidence matrix |
|
|
84
82
|
| `security-audit` | flat evidence matrix |
|
|
85
83
|
| `tests-audit` | flat evidence matrix |
|
|
86
84
|
| `furps-refinement` | flat evidence matrix (findings-only; report written + DoR coverage gaps listed) |
|
|
87
|
-
| `adr` | flat evidence matrix |
|
|
85
|
+
| `create-adr` | flat evidence matrix |
|
|
88
86
|
| `commit` | flat evidence matrix |
|
|
89
87
|
| `design` | flat evidence matrix |
|
|
90
|
-
| `general` | flat evidence matrix |
|
|
91
88
|
| `long-session` | flat evidence matrix |
|
|
92
|
-
| `maestro` | flat evidence matrix |
|
|
93
89
|
| `onboarding` | flat evidence matrix |
|
|
94
|
-
| `rfc` | flat evidence matrix |
|
|
95
|
-
| `tdd` | flat evidence matrix |
|
|
90
|
+
| `create-rfc` | flat evidence matrix |
|
|
91
|
+
| `create-tdd` | flat evidence matrix |
|
|
96
92
|
| `the-fool` | flat evidence matrix |
|
|
97
|
-
| `ticket` | flat evidence matrix |
|
|
93
|
+
| `create-ticket` | flat evidence matrix |
|
|
98
94
|
|
|
99
95
|
## massa-ai Dual-Write / Tag Contract
|
|
100
96
|
|
|
@@ -65,14 +65,14 @@ worktree was never provisioned is an environment failure; say so rather than
|
|
|
65
65
|
reporting it as a code failure.
|
|
66
66
|
|
|
67
67
|
**Phased work — one branch per Phase/Wave.** When the work is phased (sourced
|
|
68
|
-
from `workflows/ticket.md`, a spec-driven `tasks.md` with Phases/Waves, a TDD
|
|
68
|
+
from `workflows/create-ticket.md`, a spec-driven `tasks.md` with Phases/Waves, a TDD
|
|
69
69
|
PR-group table, or a `references/pr-task-fix.md` PR-group split), create
|
|
70
70
|
**one branch per Phase/Wave**, not one branch per task
|
|
71
71
|
and not one branch for the whole feature. All Phases/PR groups of one feature
|
|
72
72
|
share that feature's single Stage 3 delivery authorization — one go-ahead
|
|
73
73
|
covers every group's commits, pushes, and PR creation. Name the branch with the phase's Jira
|
|
74
74
|
Task key, e.g. `feat/<PHASE-KEY>-<slug>` (so `feat/SA-100-phase-1-search-split`
|
|
75
|
-
for phase SA-100). The phase key comes from `workflows/ticket.md` or the user.
|
|
75
|
+
for phase SA-100). The phase key comes from `workflows/create-ticket.md` or the user.
|
|
76
76
|
Each Task inside the phase is then one atomic commit on that branch, prefixed
|
|
77
77
|
with its own sub-task key — the commit contract is owned by
|
|
78
78
|
`workflows/commit.md`; do not restate it here. Non-phased work keeps the
|
|
@@ -22,4 +22,3 @@ Step 2 reads whatever project documentation the target repository actually has;
|
|
|
22
22
|
## Family Instantiations
|
|
23
23
|
|
|
24
24
|
- **Requirements family:** the audit report's cited Requirement Source may be treated as Step 0 — the authoritative anchor the rest of the chain verifies implementation facts against. Step 0 answers *what was required*; Steps 1-5 still govern *how the code behaves*.
|
|
25
|
-
- **Maestro:** `references/maestro/fact-ledger.md`'s Authority Order is the Maestro instantiation of this chain (official-doc → live-help → repo-convention → excluded/unverified). Do not layer the generic chain on top of it.
|
|
@@ -7,9 +7,6 @@ Mobile is a context modifier, not a primary workflow. Keep the selected workflow
|
|
|
7
7
|
- New capability -> `workflows/feature.md`
|
|
8
8
|
- Behavior-preserving structure change -> `workflows/refactor.md`
|
|
9
9
|
- Broken behavior, crashes, regressions, or device-specific failures -> `workflows/debug.md` plus `references/mobile-diagnosis.md`
|
|
10
|
-
- New Maestro mobile E2E flow implementation -> `workflows/maestro/maestro.md`
|
|
11
|
-
- Findings-only Maestro mobile E2E audit -> `workflows/maestro/maestro-audit.md`
|
|
12
|
-
- Child-only fix for saved Maestro audit findings -> `workflows/maestro/maestro-fix.md`
|
|
13
10
|
- Findings-only test coverage review -> `workflows/tests/tests-audit.md`
|
|
14
11
|
- Fix findings from a tests audit report -> `workflows/tests/tests-fix.md`
|
|
15
12
|
- Direct Android Views/Compose, UIKit/SwiftUI, or KMP Compose Multiplatform implementation from Figma or screenshot context -> `workflows/design.md`
|
|
@@ -19,11 +16,11 @@ Mobile is a context modifier, not a primary workflow. Keep the selected workflow
|
|
|
19
16
|
- Fix findings from a security audit report -> `workflows/security/security-fix.md`
|
|
20
17
|
- Broad, cross-boundary, unclear, or multi-platform implementation -> `workflows/spec-driven.md`
|
|
21
18
|
|
|
22
|
-
|
|
19
|
+
Mobile E2E test coverage, assertion quality, flakiness, or regression-risk review belongs to `workflows/tests/tests-audit.md` or `workflows/tests/tests-fix.md`, whatever the E2E tool.
|
|
23
20
|
|
|
24
21
|
## Design-Source Intake Gate
|
|
25
22
|
|
|
26
|
-
Use this gate for `feature`, `spec-driven`, `rfc`, `adr`, and `tdd` workflows when the target is Android, iOS, KMP Compose Multiplatform UI, or plausibly mobile UI. Clear backend, CLI, docs, infrastructure, or non-UI work skips the gate entirely.
|
|
23
|
+
Use this gate for `feature`, `spec-driven`, `create-rfc`, `create-adr`, and `create-tdd` workflows when the target is Android, iOS, KMP Compose Multiplatform UI, or plausibly mobile UI. Clear backend, CLI, docs, infrastructure, or non-UI work skips the gate entirely.
|
|
27
24
|
|
|
28
25
|
- Ask once for one or more Figma links, node IDs, a readable desktop selection, supplied screenshots, or explicit `none`. Treat `none` as a first-class answer: record `Figma Source: none by user choice` and do not re-ask unless the mobile UI scope changes.
|
|
29
26
|
- When Figma sources or screenshots are supplied for supported Android, iOS, or KMP Compose Multiplatform UI implementation/update work, keep the parent workflow as the lifecycle owner and invoke `workflows/design.md` only for the affected UI slice or visual feasibility context. Preserve mobile Figma routing by intent: compare/audit wording uses `workflows/mobile-figma/mobile-figma-audit.md`; saved `MFM-*` findings use `workflows/mobile-figma/mobile-figma-fix.md`.
|
|
@@ -44,7 +44,7 @@ If stacked branching is declined, unavailable, or not applicable, continue seque
|
|
|
44
44
|
|
|
45
45
|
## Jira-Key Stacked Branches
|
|
46
46
|
|
|
47
|
-
After the PR groups are stable, inspect their Jira keys. Offer stacked branch automation only when every PR group has a confirmed Jira key. Do not create Jira tickets from this reference; ticket creation remains owned by `workflows/ticket.md`.
|
|
47
|
+
After the PR groups are stable, inspect their Jira keys. Offer stacked branch automation only when every PR group has a confirmed Jira key. Do not create Jira tickets from this reference; ticket creation remains owned by `workflows/create-ticket.md`.
|
|
48
48
|
|
|
49
49
|
If every group has a Jira key, ask whether the user wants to automatically create separate stacked branches for each Jira task. If the user accepts, ask for:
|
|
50
50
|
|
|
@@ -178,7 +178,7 @@ When sub-agents are unavailable (a single agent executing the full feature), use
|
|
|
178
178
|
|
|
179
179
|
**Applies only if the harness can assign a model per sub-agent.** If it cannot, ignore this section and run everything on the default model — the workflow is correct either way. The point is to spend high-reasoning capacity where ambiguity and consequence are high, and a faster tier where the work is mechanical, instead of paying top-tier cost uniformly.
|
|
180
180
|
|
|
181
|
-
massa-ai resolves the actual model per agent through
|
|
181
|
+
massa-ai resolves the actual model per agent through the active profile in `skills/model-profiles.json` (see `CLAUDE.md` § Agent-harness surface). Most agents use the profile's per-tool default; some carry per-agent overrides. This section maps role/work characteristics onto that decision framework — it is not a separate free-floating table.
|
|
182
182
|
|
|
183
183
|
Judge the tier by the work in front of the role, not by the role's title:
|
|
184
184
|
|
|
@@ -189,13 +189,13 @@ Judge the tier by the work in front of the role, not by the role's title:
|
|
|
189
189
|
| Batch worker — mechanical phase | Entities, DTOs, config, wiring, straightforward CRUD against a settled pattern | `light` / `standard` |
|
|
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
|
-
| Read-only specialist (
|
|
193
|
-
| Scoped writer (designer,
|
|
192
|
+
| Read-only specialist (code-explorer, code-reviewer, product-manager) | 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, judge, test-engineer) | `permission: write`, narrowed by the charter's own Restrictions to one file class — UI-layer / 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 |
|
|
194
194
|
|
|
195
195
|
**Rules of thumb:**
|
|
196
196
|
|
|
197
197
|
- When unsure, size up, not down. An under-powered worker on ambiguous logic produces gaps the Verifier then has to catch — more expensive than paying for reasoning once.
|
|
198
|
-
- **The Verifier always runs on the deepest tier** —
|
|
199
|
-
- **Read-only specialists always run on the deepest tier** — this generalizes the Verifier rule: every findings-only or investigation-only charter (`permission: read-only`)
|
|
198
|
+
- **The Verifier always runs on the deepest tier** — in built-in profiles, `code-reviewer` (whose `verify` mode is the Verifier) carries no per-agent override and resolves to the profile's strongest model. A weak Verifier defeats the author ≠ verifier gate.
|
|
199
|
+
- **Read-only specialists always run on the deepest tier** — this generalizes the Verifier rule: in built-in profiles, every findings-only or investigation-only charter (`permission: read-only`) carries no per-agent override and resolves to the profile's strongest model, because there is no later implementation pass to catch what a weaker read-only pass missed. **Accepted risk:** user overlays via the Web UI Model Catalog can choose a weaker default; the UI help text documents this convention.
|
|
200
200
|
- Set the tier per batch, from that batch's phases. A feature can mix tiers across batches.
|
|
201
201
|
- Outside the Verifier's and read-only specialists' structural pins, this table is advisory metadata only — no gate, commit, or verification step depends on it.
|
|
@@ -180,7 +180,7 @@ Fix tasks follow the same format as regular tasks and can be executed with the i
|
|
|
180
180
|
|
|
181
181
|
After all checks complete, the Verifier MUST:
|
|
182
182
|
|
|
183
|
-
1. **Write the persisted report** to `.specs/features/<slug>/validation.md` (see template below). This file is the evidence artifact — it survives the session and can be referenced by CI, reviewers, or future agents.
|
|
183
|
+
1. **Write the persisted report** to `.specs/features/<slug>/validation.md` (see template below). This file is the evidence artifact — it survives the session and can be referenced by CI, reviewers, or future agents. It is the only file the Verifier writes (the `code-reviewer` `verify` carve-out); the orchestrator records in `.specs/project/STATE.md` (Decisions) that validation evidence is available at that path.
|
|
184
184
|
2. **Return a compact summary in chat** to the orchestrator (see Compact Chat Summary section below). The orchestrator surfaces it to the user and routes any ranked gaps to fix tasks.
|
|
185
185
|
|
|
186
186
|
**Deterministic backing (run it, do not eyeball it):** after writing the report, run `bun skills/massa-ai/scripts/validate_state.ts <feature> [--root .]`. It confirms the report is real — present, verdict filled to PASS, and backed by at least one `file:line` evidence citation — so a missing, hollow, placeholder, or FAIL report cannot slip through as done. A non-zero exit means the feature is NOT done: repair the report or route the FAIL gaps to fix tasks, then re-run. This is the closing gate of Execute and runs automatically, the same way the lessons layer runs at distillation — never a manual step. If no code-execution tool is available, run the same checks by reading the artifact (graceful degradation preserved).
|
|
@@ -81,6 +81,9 @@ Output contract:
|
|
|
81
81
|
- Risks and skipped checks
|
|
82
82
|
- Exact next step
|
|
83
83
|
|
|
84
|
+
Modes (only when the role owns more than one output contract):
|
|
85
|
+
- One `### Mode: <name>` section per contract (the name in backticks), holding that mode's own output; the packet `mode` field selects it.
|
|
86
|
+
|
|
84
87
|
Validation sensors:
|
|
85
88
|
- [tests, build, typecheck, lint, static search, artifact inspection, or source-location proof]
|
|
86
89
|
|
|
@@ -97,24 +100,18 @@ sets drift into three diverging shapes before the canonical section existed. Whe
|
|
|
97
100
|
workflow dispatches a reusable role, send that canonical packet, not a loose
|
|
98
101
|
instruction.
|
|
99
102
|
|
|
100
|
-
The one field this reference still names on its own is `persona`, because a
|
|
101
|
-
persona-agent-boundary guard (`.specs/features/persona-agent-boundary/spec.md`)
|
|
102
|
-
checks its clause byte-for-byte in every packet-defining file, this one included:
|
|
103
|
-
|
|
104
|
-
`persona`: optional. The cataloged persona id in effect for the parent conversation, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions. Pass the id alone, never the persona prompt.
|
|
105
|
-
|
|
106
103
|
Design-time additions this reference owns: a new role's charter must be expressible
|
|
107
104
|
as that packet (if a role needs fields the canonical list cannot carry, the role is
|
|
108
105
|
mis-scoped — split it or fix the charter, do not grow a bespoke packet silently), and
|
|
109
|
-
any deliberate bespoke specialization (judge panel, FURPS
|
|
110
|
-
worker) must declare itself a specialization in its own workflow file and map its
|
|
106
|
+
any deliberate bespoke specialization (judge panel, FURPS `product-manager` fan-out,
|
|
107
|
+
phase-batch worker) must declare itself a specialization in its own workflow file and map its
|
|
111
108
|
fields onto the canonical ones from `agent-orchestration.md`.
|
|
112
109
|
|
|
113
110
|
## Quality Checklist
|
|
114
111
|
|
|
115
112
|
Before adding or revising a reusable role:
|
|
116
113
|
|
|
117
|
-
- One responsibility; no generic "helper" roles.
|
|
114
|
+
- One responsibility; no generic "helper" roles. A role that absorbs another keeps every former output contract behind its own `Mode:` section rather than dropping one.
|
|
118
115
|
- Trigger description names when to use it and when not to use it.
|
|
119
116
|
- Scope can be represented as a bounded capability packet.
|
|
120
117
|
- Read-only by default; write permissions require disjoint ownership and verification.
|
|
@@ -44,7 +44,7 @@ Config knobs (env, read by the server, not by the agent):
|
|
|
44
44
|
|---|---|---|
|
|
45
45
|
| `SYNAPSE_ENABLED` | `true` | Master kill switch; `false` bypasses the whole pipeline, and `search` behaves statelessly even when a `sessionId` is passed. |
|
|
46
46
|
| `SYNAPSE_ATTENTION_ENABLED` | `false` | Multi-signal attention re-ranker. **Off by default** — do not attribute re-ranking to Synapse unless it is on. |
|
|
47
|
-
| `
|
|
47
|
+
| `MASSA_AI_LOG_LEVEL` | `info` | `debug` emits one pipeline log line per query (see Reading Pipeline Output). |
|
|
48
48
|
|
|
49
49
|
## MCP-First Lifecycle
|
|
50
50
|
|
|
@@ -103,7 +103,7 @@ optional. REST prefetch requires `filePath` and may include `symbols`, `chains`,
|
|
|
103
103
|
|
|
104
104
|
## Reading Pipeline Output
|
|
105
105
|
|
|
106
|
-
With `
|
|
106
|
+
With `MASSA_AI_LOG_LEVEL=debug`, the server emits one structured line per Synapse-scoped
|
|
107
107
|
query. Use it to decide whether Synapse is helping or whether the query needs
|
|
108
108
|
refining — not as evidence about the codebase.
|
|
109
109
|
|
|
@@ -50,10 +50,10 @@ Every `*-fix` workflow must execute this gate for each selected finding or coher
|
|
|
50
50
|
|
|
51
51
|
### Independent Verification Mandate (author ≠ verifier)
|
|
52
52
|
|
|
53
|
-
- At **Standard+ or Spec-driven size, or for any high/critical-severity finding**, dispatching `
|
|
53
|
+
- At **Standard+ or Spec-driven size, or for any high/critical-severity finding**, dispatching `code-reviewer` in `verify` mode is **mandatory** before closure — the author must not be the sole verifier of their own work. At Quick size, the subagent hop may be skipped, but the check itself is never skipped: run a standalone fresh-eyes re-check (re-read the finding/ACs, changed files, tests, and diff from scratch) against the same output contract.
|
|
54
54
|
- **Exception — `security-fix` dispatches the verifier unconditionally** for every finding closed `fixed`, at every tier.
|
|
55
55
|
- Fallback discipline: when the subagent is unavailable (not registered, spawning forbidden), run the standalone fresh-eyes re-check from scratch and record the skipped-delegation reason in closure evidence.
|
|
56
|
-
-
|
|
56
|
+
- `code-reviewer` in `review` and in `verify` mode both dispatching at Standard+ is intentional cost, mirroring spec-driven's always-on pair — not accidental duplication.
|
|
57
57
|
|
|
58
58
|
### Discrimination Sensor
|
|
59
59
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
*
|
|
28
28
|
* report.md Path to a saved audit report markdown file.
|
|
29
29
|
* --family One of: architecture | bugs | code-quality | security |
|
|
30
|
-
* requirements | tests |
|
|
30
|
+
* requirements | tests | mobile-figma | implementation
|
|
31
31
|
* Auto-detected from the report's `Workflow:` metadata line
|
|
32
32
|
* when omitted.
|
|
33
33
|
* --strict Treat warnings as errors.
|
|
@@ -39,7 +39,7 @@ import { existsSync, readFileSync } from "node:fs";
|
|
|
39
39
|
|
|
40
40
|
interface FamilyConfig {
|
|
41
41
|
workflow: string;
|
|
42
|
-
/** Single-lens/MFM
|
|
42
|
+
/** Single-lens/MFM prefix, or null for the implementation composite family. */
|
|
43
43
|
prefix: string | null;
|
|
44
44
|
extraMetadata: string[];
|
|
45
45
|
}
|
|
@@ -74,11 +74,6 @@ const FAMILIES: Record<string, FamilyConfig> = {
|
|
|
74
74
|
security: { workflow: "security-audit", prefix: "SEC", extraMetadata: ["Requirements Source"] },
|
|
75
75
|
requirements: { workflow: "requirements-audit", prefix: "REQ", extraMetadata: ["Requirements Source"] },
|
|
76
76
|
tests: { workflow: "tests-audit", prefix: "TST", extraMetadata: ["Requirements Source"] },
|
|
77
|
-
maestro: {
|
|
78
|
-
workflow: "maestro-audit",
|
|
79
|
-
prefix: "MST",
|
|
80
|
-
extraMetadata: ["Scenario Source", "Maestro CLI", "Device/Emulator Readiness"],
|
|
81
|
-
},
|
|
82
77
|
"mobile-figma": {
|
|
83
78
|
workflow: "mobile-figma-audit",
|
|
84
79
|
prefix: "MFM",
|
|
@@ -158,7 +153,7 @@ interface RawFinding {
|
|
|
158
153
|
}
|
|
159
154
|
|
|
160
155
|
const FINDING_HEADER_RE = /^###\s+([^:]+):/;
|
|
161
|
-
/** `<PREFIX>-<N>` (single-lens/MFM
|
|
156
|
+
/** `<PREFIX>-<N>` (single-lens/MFM) or `<Area>/<PREFIX>-<N>` (implementation composite). */
|
|
162
157
|
const SIMPLE_ID_RE = /^([A-Z][A-Z]*)-(\d+)$/;
|
|
163
158
|
const COMPOSITE_ID_RE = /^([A-Za-z][A-Za-z ]*?)\/([A-Z][A-Z]*)-(\d+)$/;
|
|
164
159
|
|
|
@@ -50,20 +50,19 @@ Findings-only: do not edit code unless the user separately asks for fixes.
|
|
|
50
50
|
- Do not report strong coupling as a defect when strength is local, stable, or cohesive and no change friction is shown.
|
|
51
51
|
- Do not recommend ports/adapters, service extraction, VSA migration, or new seams unless evidence shows real variation, volatility, external dependency pressure, or boundary friction.
|
|
52
52
|
- Drop candidates disproven by evidence, downgrade candidates with partial mitigation, and mark judgment-heavy conclusions as `suspect`.
|
|
53
|
-
- When you reject a refactor candidate, record its load-bearing reason in ruled-out candidates; if likely to be re-proposed, offer an ADR via `workflows/adr.md` so the rejection is not re-litigated next audit.
|
|
53
|
+
- When you reject a refactor candidate, record its load-bearing reason in ruled-out candidates; if likely to be re-proposed, offer an ADR via `workflows/create-adr.md` so the rejection is not re-litigated next audit.
|
|
54
54
|
8. Use agent orchestration only when it improves signal. Dispatch per `references/agent-orchestration.md`:
|
|
55
55
|
|
|
56
|
-
> **Dispatch: `
|
|
56
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `audit`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
57
57
|
> - trigger: large scope, explicit parallel/subagent request, PR subagent invocation, isolated audit slice, or independent verification of high-impact finding
|
|
58
58
|
> - scope: exact files/modules/boundaries in the audit target
|
|
59
|
-
> -
|
|
60
|
-
> - inputs: shared scope packet; lens sub-mode (`domain` for bounded-context mapping, `coupling` for dependency-graph/strength/distance/volatility, `deepening` for module-depth opportunities); recalled ADRs and rejected refactors
|
|
59
|
+
> - inputs: shared scope packet; `lens: architecture` with optional `sub-mode` (`domain` for bounded-context mapping, `coupling` for dependency-graph/strength/distance/volatility, `deepening` for module-depth opportunities); recalled ADRs and rejected refactors
|
|
61
60
|
> - sensors: `search_definitions` / `get_references` for exported surfaces and dependency direction; source inspection against current files
|
|
62
61
|
> - output: findings with lens-specific evidence, provisional severity, tradeoff, and what would disprove it
|
|
63
62
|
> - firewall: raw dependency graphs, generated reports, and broad search output summarized, not returned raw
|
|
64
63
|
> - memory: suggest-only; main agent persists accepted constraints/rejected refactors
|
|
65
64
|
|
|
66
|
-
> **Dispatch: `
|
|
65
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `verify`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
67
66
|
> - trigger: independent verification of a high-impact architecture finding
|
|
68
67
|
> - scope: the specific finding's claimed evidence and affected boundary/module
|
|
69
68
|
> - inputs: the candidate finding, its source evidence, ADRs, accepted exceptions, and the verification suggestion
|
|
@@ -63,7 +63,7 @@ Not for findings-only architecture review — route to `workflows/architecture/a
|
|
|
63
63
|
- Coupling: reduce strength before distance; replace internal model sharing with explicit contracts, remove cross-boundary knowledge of internals, invert dependencies at stable seams, keep cohesive local coupling close, and avoid cycles.
|
|
64
64
|
- Deepening: delete shallow pass-through modules, merge split concepts when locality improves, deepen useful interfaces by hiding invariants and ordering, test through the interface, and clarify seams only where variation, dependency direction, external I/O, or test substitution justifies it.
|
|
65
65
|
- When a deepening candidate has two or more viable interface shapes, load the Interface Design Method from `references/architecture-deepening-lens.md` (Design It Twice) and pick by leverage and locality before editing.
|
|
66
|
-
- When you decide not to apply a reported refactor, record the load-bearing reason; if likely to recur, offer an ADR via `workflows/adr.md` so the rejection is not re-litigated.
|
|
66
|
+
- When you decide not to apply a reported refactor, record the load-bearing reason; if likely to recur, offer an ADR via `workflows/create-adr.md` so the rejection is not re-litigated.
|
|
67
67
|
- Prefer move, merge, inline, or clarify existing seams before adding new abstractions.
|
|
68
68
|
- Use ports/adapters or anti-corruption layers only when the report evidence shows real volatility, boundary pressure, external dependency pressure, model leakage, or at least two real adapters such as production plus test.
|
|
69
69
|
- Do not turn a local code-quality concern into an architecture migration; route broad new design, VSA migration, new service boundaries, or unclear ownership to `workflows/spec-driven.md`.
|
|
@@ -73,7 +73,7 @@ Not for findings-only architecture review — route to `workflows/architecture/a
|
|
|
73
73
|
- Update tests, docs, and imports only where required by the architecture fix.
|
|
74
74
|
10. Use agent orchestration only when it improves signal — except the verifier dispatch below, which is tier-gated mandatory rather than discretionary, carved out under `references/agent-orchestration.md`'s Independent Verification Exception. Dispatch per `references/agent-orchestration.md`:
|
|
75
75
|
|
|
76
|
-
> **Dispatch: `
|
|
76
|
+
> **Dispatch: `builder`** (role: `builder`) — charter `skills/agents/builder/SKILL.md`
|
|
77
77
|
> - trigger: large/high-risk finding, disjoint implementation slice, or explicit subagent request
|
|
78
78
|
> - scope: one isolated architecture finding with a disjoint write set
|
|
79
79
|
> - permissions: write (disjoint write set)
|
|
@@ -83,17 +83,16 @@ Not for findings-only architecture review — route to `workflows/architecture/a
|
|
|
83
83
|
> - firewall: raw diffs/logs summarized
|
|
84
84
|
> - memory: suggest-only; main agent persists reusable architecture patterns
|
|
85
85
|
|
|
86
|
-
> **Dispatch: `
|
|
86
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `review`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
87
87
|
> - trigger: implementation of the architecture finding complete, before the verification gate — never optional
|
|
88
88
|
> - scope: the fix's diff surface and its task/AC context
|
|
89
|
-
> - permissions: read-only
|
|
90
89
|
> - inputs: diff, ARCH acceptance context, recalled code-quality conventions
|
|
91
90
|
> - sensors: bugs, regressions, missing edge cases, smells introduced by the diff
|
|
92
91
|
> - output: ranked findings, blocking vs advisory; blocking findings become architecture fix items before verification runs
|
|
93
92
|
> - firewall: summarized findings only, never raw diff dumps
|
|
94
93
|
> - memory: suggest-only; main agent persists review outcomes for the architecture fix
|
|
95
94
|
|
|
96
|
-
> **Dispatch: `
|
|
95
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `verify`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
97
96
|
> - trigger: mandatory at Standard+/Spec-driven-sized findings or high/critical severity, per the Independent Verification Mandate in `references/verification-ladder.md`'s Mandatory Verification Fix Gate; Quick-tier findings take the fallback below instead
|
|
98
97
|
> - scope: the fixed finding's dependency direction, seam/adapter shape, tests, imports, and report claim closure
|
|
99
98
|
> - inputs: the finding, the applied fix, the verification suggestion, dependency-direction/import-cycle evidence, and validation assets
|
|
@@ -107,7 +106,7 @@ Not for findings-only architecture review — route to `workflows/architecture/a
|
|
|
107
106
|
- If verification found a reusable signal (`ac_gap`, `surviving_mutant`, `spec_precision_gap`, `spec_deviation`, `gate_fail`), record it via `references/lessons.md`:
|
|
108
107
|
`bun skills/massa-ai/scripts/lessons.ts --root . add --feature "<slug>" --signal "<signal>" --source "<ref>" --text "<one terse lesson>"`
|
|
109
108
|
- 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 finding or coherent group.
|
|
110
|
-
- Run the sensors at the mandate's own tier gate: dispatch the
|
|
109
|
+
- Run the sensors at the mandate's own tier gate: dispatch the `code-reviewer` `verify` block above at Standard+/Spec-driven size or high/critical severity; a Quick-tier finding runs its fallback fresh-eyes self-check instead — the hop is skippable, the check never is.
|
|
111
110
|
- A surviving mutant on the discrimination sensor marks the finding's Closure Matrix row `blocked` and records a `surviving_mutant` signal via `references/lessons.md`.
|
|
112
111
|
- The fix→re-verify loop is capped per `references/verification-ladder.md`'s Bounded Fix→Re-verify Loop; exhausting it also marks the row `blocked`.
|
|
113
112
|
- A finding cannot be marked `fixed` when a target-relevant command or artifact check exists but was not attempted; if verification cannot run, mark it `blocked`, `deferred`, or `skipped` with an allowed skipped-check reason.
|
|
@@ -28,12 +28,11 @@ Findings-only: do not edit code unless the user separately asks for fixes.
|
|
|
28
28
|
- Apply the Memory Freshness Gate from `references/audit-scope.md`; recalled exceptions are leads, not proof.
|
|
29
29
|
4. Establish the investigation scope: select the scope type and build or accept the shared scope packet per `references/audit-scope.md`, which owns the supported scope types, the ask-when-vague rule, and the packet fields. Carry the packet into the report.
|
|
30
30
|
5. Resolve the selected branch's mechanics (modified files, commit range, codebase area, explicit-files/branch/symbol/feature/whole-repo, or implementation parent scope) per `references/audit-scope.md` (Lens Audit Scope Resolution Procedure, Bugs row of Per-Lens Scope Deltas).
|
|
31
|
-
6. Investigation pass. Dispatch `
|
|
31
|
+
6. Investigation pass. Dispatch `code-reviewer` (`audit` mode) per `references/agent-orchestration.md` when the scope justifies an isolated read-only subagent:
|
|
32
32
|
|
|
33
|
-
> **Dispatch: `
|
|
33
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `audit`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
34
34
|
> - trigger: large scope, explicit parallel/subagent request, PR subagent invocation, or independent verification of high-impact finding
|
|
35
35
|
> - scope: the bugs audit target — files, diffs, suspicious paths
|
|
36
|
-
> - permissions: read-only
|
|
37
36
|
> - inputs: shared scope packet; `lens: bugs`; recalled regressions, known bug patterns, accepted exceptions
|
|
38
37
|
> - sensors: trace input -> transformation -> output; check diffs, callers/callees, tests, config, migrations; prioritize correctness bugs, crashes, data loss, security regressions, broken contracts, async/race issues
|
|
39
38
|
> - output: findings with bug category, location, evidence, trigger, severity, confidence, simplest fix direction, verification suggestion
|
|
@@ -62,7 +62,7 @@ Not for findings-only bug discovery — route to `workflows/bugs/bugs-audit.md`.
|
|
|
62
62
|
- Do not weaken tests, fixtures, snapshots, types, or public contracts to make the fix pass.
|
|
63
63
|
9. Use agent orchestration only when it improves signal, except independent verification of the bug fix, which is mandated at the tiers named in `references/agent-orchestration.md`'s Independent Verification Exception. Dispatch per `references/agent-orchestration.md`:
|
|
64
64
|
|
|
65
|
-
> **Dispatch: `
|
|
65
|
+
> **Dispatch: `builder`** (role: `builder`) — charter `skills/agents/builder/SKILL.md`
|
|
66
66
|
> - trigger: large/high-risk finding, disjoint implementation slice, or explicit subagent request
|
|
67
67
|
> - scope: one isolated bug finding with a disjoint write set
|
|
68
68
|
> - permissions: write (disjoint write set)
|
|
@@ -72,17 +72,16 @@ Not for findings-only bug discovery — route to `workflows/bugs/bugs-audit.md`.
|
|
|
72
72
|
> - firewall: raw diffs/logs summarized
|
|
73
73
|
> - memory: suggest-only; main agent persists reusable bug patterns
|
|
74
74
|
|
|
75
|
-
> **Dispatch: `
|
|
75
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `review`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
76
76
|
> - trigger: implementation complete, before the verification gate — never optional
|
|
77
77
|
> - scope: the fix's diff surface and its task/AC context
|
|
78
|
-
> - permissions: read-only
|
|
79
78
|
> - inputs: diff, acceptance context, recalled code-quality conventions
|
|
80
79
|
> - sensors: bugs, regressions, missing edge cases, smells introduced by the diff
|
|
81
80
|
> - output: ranked findings, blocking vs advisory; blocking findings become fix items before verification runs
|
|
82
81
|
> - firewall: summarized findings only, never raw diff dumps
|
|
83
82
|
> - memory: suggest-only; main agent persists
|
|
84
83
|
|
|
85
|
-
> **Dispatch: `
|
|
84
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `verify`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
86
85
|
> - trigger: mandatory at Standard+/Spec-driven bug-fix size or high/critical bug severity, per the Independent Verification Mandate tier gate in `references/verification-ladder.md`
|
|
87
86
|
> - scope: the fixed bug finding's repro path, regression tests, and report claim closure
|
|
88
87
|
> - inputs: the bug finding, the applied root-cause fix, the verification suggestion, and validation assets
|
|
@@ -100,7 +99,7 @@ Not for findings-only bug discovery — route to `workflows/bugs/bugs-audit.md`.
|
|
|
100
99
|
- A finding cannot be marked `fixed` when a target-relevant command or artifact check exists but was not attempted; if verification cannot run, mark it `blocked`, `deferred`, or `skipped` with an allowed skipped-check reason.
|
|
101
100
|
- Run the report's verification suggestion when available.
|
|
102
101
|
- The red→green reproduction proves the regression test catches this bug; the discrimination sensor proves that same assertion would also discriminate against a future wrong implementation — complementary, and both required at Standard+.
|
|
103
|
-
- At the tiers named in the
|
|
102
|
+
- At the tiers named in the `code-reviewer` `verify` dispatch's trigger above, run the discrimination sensor per `references/discrimination-sensor.md` against the divergence-point fix; a surviving mutant marks the finding's closure row `blocked` and records the `surviving_mutant` lessons signal even when the reproduction test is green.
|
|
104
103
|
- The fix→re-verify cycle is capped per `references/verification-ladder.md`'s Bounded Fix→Re-verify Loop.
|
|
105
104
|
- Run focused regression tests first, then relevant lint/type/build/test commands when feasible.
|
|
106
105
|
- Confirm validation assets were not weakened.
|
|
@@ -42,12 +42,11 @@ Findings-only: do not edit code unless the user separately asks for fixes.
|
|
|
42
42
|
- Load it only for large PRs, codebase-wide audits, explicit parallel/subagent requests, or independent verification of judgment-heavy findings.
|
|
43
43
|
- Keep the audit local for small scopes, unresolved user intent, tightly coupled code without clear owners, or platforms that do not permit subagents.
|
|
44
44
|
- The main agent still owns scope, memory recall, static leads, synthesis, final report, persistence, and Evidence Gate.
|
|
45
|
-
- If delegating, dispatch `
|
|
45
|
+
- If delegating, dispatch `code-reviewer` in `audit` mode with `lens: code-quality` per `references/agent-orchestration.md`:
|
|
46
46
|
|
|
47
|
-
> **Dispatch: `
|
|
47
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `audit`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
48
48
|
> - trigger: large PR, codebase-wide audit, explicit parallel/subagent request, or independent verification of judgment-heavy finding
|
|
49
49
|
> - scope: bounded read-only slice of the audit target
|
|
50
|
-
> - permissions: read-only
|
|
51
50
|
> - inputs: shared scope packet; `lens: code-quality`; quality dimensions (SOLID, Clean Code, KISS/YAGNI, DRY, maintainability)
|
|
52
51
|
> - sensors: static scans for type-tag branches, concrete construction, half-finished surfaces; source inspection
|
|
53
52
|
> - output: findings with smell category, location, evidence, severity, confidence, and simplest fix direction
|
|
@@ -60,9 +60,9 @@ Not for findings-only SOLID, Clean Code, KISS, YAGNI, DRY, maintainability, or o
|
|
|
60
60
|
- Run or identify characterization tests before changing behavior-adjacent code.
|
|
61
61
|
- Do not weaken tests, fixtures, snapshots, types, or public contracts to make cleanup pass.
|
|
62
62
|
- Prefer small reversible edits; verify after each finding or coherent group.
|
|
63
|
-
10. Use agent orchestration only when it improves signal — except the
|
|
63
|
+
10. Use agent orchestration only when it improves signal — except the `code-reviewer` `verify` dispatch below, which `references/agent-orchestration.md`'s Independent Verification Exception mandates at the tiers named in its trigger regardless of signal improvement. Dispatch per `references/agent-orchestration.md`:
|
|
64
64
|
|
|
65
|
-
> **Dispatch: `
|
|
65
|
+
> **Dispatch: `builder`** (role: `builder`) — charter `skills/agents/builder/SKILL.md`
|
|
66
66
|
> - trigger: large/high-risk finding, disjoint implementation slice, or explicit subagent request
|
|
67
67
|
> - scope: one isolated code-quality finding or disjoint file group
|
|
68
68
|
> - permissions: write (disjoint write set)
|
|
@@ -72,17 +72,16 @@ Not for findings-only SOLID, Clean Code, KISS, YAGNI, DRY, maintainability, or o
|
|
|
72
72
|
> - firewall: raw diffs/logs summarized
|
|
73
73
|
> - memory: suggest-only; main agent persists reusable code-quality patterns
|
|
74
74
|
|
|
75
|
-
> **Dispatch: `
|
|
75
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `review`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
76
76
|
> - trigger: implementation of the CQ finding complete, before the verification gate — never optional
|
|
77
77
|
> - scope: the fix's diff surface and its task/AC context
|
|
78
|
-
> - permissions: read-only
|
|
79
78
|
> - inputs: diff, CQ acceptance context, recalled code-quality conventions
|
|
80
79
|
> - sensors: bugs, regressions, missing edge cases, smells introduced by the diff
|
|
81
80
|
> - output: ranked findings, blocking vs advisory; blocking findings become CQ fix items before verification runs
|
|
82
81
|
> - firewall: summarized findings only, never raw diff dumps
|
|
83
82
|
> - memory: suggest-only; main agent persists review outcomes for the code-quality fix
|
|
84
83
|
|
|
85
|
-
> **Dispatch: `
|
|
84
|
+
> **Dispatch: `code-reviewer`** (role: `code-reviewer`, mode: `verify`) — charter `skills/agents/code-reviewer/SKILL.md`
|
|
86
85
|
> - trigger: mandatory per the verification-ladder's Independent Verification Mandate at Standard+/Spec-driven finding size or high/critical severity; at Quick size the subagent hop is skipped and the standalone fresh-eyes check below runs instead
|
|
87
86
|
> - scope: the fixed finding's behavior-preservation claim over the moved/transformed code, its call sites/imports, and report claim closure
|
|
88
87
|
> - inputs: the finding, the applied fix, the verification suggestion, and validation assets
|
|
@@ -12,7 +12,7 @@ Use when the user wants to draft a commit message, prepare a commit, or commit c
|
|
|
12
12
|
|
|
13
13
|
Load `references/project-context.md` (intake sweep) before the first substantive read.
|
|
14
14
|
|
|
15
|
-
Not for Jira ticket creation, release notes, changelogs, PR descriptions, or history rewriting. Route Jira issue work to `workflows/ticket.md`. Route broad release documentation to the relevant feature
|
|
15
|
+
Not for Jira ticket creation, release notes, changelogs, PR descriptions, or history rewriting. Route Jira issue work to `workflows/create-ticket.md`. Route broad release documentation to the relevant feature or RFC workflow.
|
|
16
16
|
|
|
17
17
|
## Workflow
|
|
18
18
|
|
|
@@ -24,8 +24,8 @@ Not for Jira ticket creation, release notes, changelogs, PR descriptions, or his
|
|
|
24
24
|
- unstaged changed paths from `git diff --name-only`
|
|
25
25
|
- status summary from `git status --short`
|
|
26
26
|
- staged diff when anything is staged; otherwise the unstaged diff for allowed paths
|
|
27
|
-
4. Extract the first Jira key from the branch with case-insensitive regex `(?<![A-Z0-9])([A-Z][A-Z0-9]{1,9}-[0-9]+)(?![A-Z0-9])`. Normalize to uppercase. If no key is found, proceed without a prefix and do not ask. An explicit task key (from `workflows/ticket.md` for phased work, or from the user) takes precedence over the branch-derived key.
|
|
28
|
-
- **Phased work — one commit per task, prefixed with the task's sub-task key.** When committing phased work sourced from `workflows/ticket.md`, each Task inside a Phase/Wave is exactly **one atomic commit** (never batched; the one-commit-per-task cadence is owned by the Implementation Delivery Protocol, Stage 2). Prefix that commit's subject with the Task's Jira **sub-task** key as `[XXX-YYYY]`, e.g. `[SA-142] feat(auth): reject expired tokens` — same `[<KEY>] ` rule below, sub-task key replacing the generic branch key.
|
|
27
|
+
4. Extract the first Jira key from the branch with case-insensitive regex `(?<![A-Z0-9])([A-Z][A-Z0-9]{1,9}-[0-9]+)(?![A-Z0-9])`. Normalize to uppercase. If no key is found, proceed without a prefix and do not ask. An explicit task key (from `workflows/create-ticket.md` for phased work, or from the user) takes precedence over the branch-derived key.
|
|
28
|
+
- **Phased work — one commit per task, prefixed with the task's sub-task key.** When committing phased work sourced from `workflows/create-ticket.md`, each Task inside a Phase/Wave is exactly **one atomic commit** (never batched; the one-commit-per-task cadence is owned by the Implementation Delivery Protocol, Stage 2). Prefix that commit's subject with the Task's Jira **sub-task** key as `[XXX-YYYY]`, e.g. `[SA-142] feat(auth): reject expired tokens` — same `[<KEY>] ` rule below, sub-task key replacing the generic branch key.
|
|
29
29
|
5. Resolve commit scope:
|
|
30
30
|
- If files are already staged, treat staged files as the user-selected commit scope and do not stage additional files.
|
|
31
31
|
- If nothing is staged and the user explicitly asked to commit, stage only allowed changed files one path at a time with pathspec-safe commands.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: adr
|
|
3
|
-
description: "Use this workflow to record a finalized or being-finalized architecture decision; route open options to rfc and implementation planning to tdd."
|
|
2
|
+
name: create-adr
|
|
3
|
+
description: "Use this workflow to record a finalized or being-finalized architecture decision; route open options to create-rfc and implementation planning to create-tdd."
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
version: "1.1.0"
|
|
@@ -8,17 +8,17 @@ metadata:
|
|
|
8
8
|
|
|
9
9
|
### 📜 ADR (Architecture Decision Record)
|
|
10
10
|
|
|
11
|
-
Record a finalized or being-finalized architecture decision. Not for deciding among open options — route undecided proposals to `workflows/rfc.md`. Not for implementation planning — route that to `workflows/tdd.md`.
|
|
11
|
+
Record a finalized or being-finalized architecture decision. Not for deciding among open options — route undecided proposals to `workflows/create-rfc.md`. Not for implementation planning — route that to `workflows/create-tdd.md`.
|
|
12
12
|
|
|
13
13
|
Load `references/project-context.md` (intake sweep) before the first substantive read.
|
|
14
14
|
|
|
15
|
-
1. Resolve/reuse `projectId` and `workflowSessionId`: `adr-[entity]`.
|
|
15
|
+
1. Resolve/reuse `projectId` and `workflowSessionId`: `create-adr-[entity]`.
|
|
16
16
|
2. Load shared references:
|
|
17
|
-
- `references/adr
|
|
17
|
+
- `references/create-adr.md` always.
|
|
18
18
|
- `references/context-firewall.md` before reading large Markdown files, Atlassian pages, NotebookLM outputs, Figma exports, broad research, or verbose source output.
|
|
19
19
|
- `references/mobile-context.md` only when ADR context touches KMP, iOS, Android, native bridges, mobile lifecycle, offline sync, permissions, push/background behavior, local persistence, or backend-mobile contracts.
|
|
20
20
|
3. `recall` -> load previous decisions, related RFCs, PRDs, discussions, superseded ADRs, accepted constraints, rejected options, and project-specific ADR conventions for the entity.
|
|
21
|
-
4. Gather source context using `references/adr
|
|
21
|
+
4. Gather source context using `references/create-adr.md`:
|
|
22
22
|
- Use explicitly provided Markdown files and prompt context first.
|
|
23
23
|
- Use ADR templates, PRDs, and RFCs from Markdown or Atlassian MCP when provided.
|
|
24
24
|
- Use optional complementary-stack ADRs (Markdown or Atlassian MCP) as cross-stack context only when they affect contracts, constraints, dependencies, risks, or links.
|
|
@@ -27,12 +27,12 @@ Load `references/project-context.md` (intake sweep) before the first substantive
|
|
|
27
27
|
- When Figma links, nodes, desktop selections, or screenshots materially affect the decision, use `workflows/design.md` as optional child context for mobile UI implications only; the ADR still owns the decision record. Screenshots are context-only unless paired with structured Figma evidence.
|
|
28
28
|
- Use NotebookLM only when the user provides one or more notebook IDs; query each relevant notebook separately, preserve attribution, and do not assume a default notebook.
|
|
29
29
|
- Corroborate with massa-ai search, current repo docs, existing ADRs, and code when the decision depends on current project reality.
|
|
30
|
-
5. Run the ADR readiness gate from `references/adr
|
|
30
|
+
5. Run the ADR readiness gate from `references/create-adr.md`:
|
|
31
31
|
- If a needed PRD, RFC, template, decision detail, or source fact is absent, ask for the missing context instead of inventing it.
|
|
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`.
|
|
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/create-rfc.md`.
|
|
33
33
|
- Require a source-backed or user-confirmed title, date, status, context, decision, consequences, links, and supersession status before drafting.
|
|
34
|
-
6. Draft the ADR using the project's template when available; otherwise use the format selected via `references/adr
|
|
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.
|
|
34
|
+
6. Draft the ADR using the project's template when available; otherwise use the format selected via `references/create-adr.md`'s fallback questions. Tie claims to source confidence: confirmed, user-provided, recalled, inferred, or unresolved.
|
|
35
|
+
7. Run the configured Plan Challenge Gate before saving. ADR decisions require the full gate under the default policy (`create-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/create-rfc.md` rather than recording it.
|
|
36
36
|
8. Save the generated ADR using the selected output target:
|
|
37
37
|
- Default: write to the project's standard ADR directory in Default mode. In Plan Mode, propose the path and content without writing.
|
|
38
38
|
- Confluence: when requested and a parent page link is provided, write a child page through Atlassian MCP and report the resulting page link.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: create-prd
|
|
3
3
|
description: "Turn the current conversation into a PRD. Use when the user asks to create, synthesize, or convert existing discussion and codebase context into a Product Requirements Document without another interview. Do NOT use for implementation plans, architecture design docs, RFCs, TDDs, or discovery interviews that require new product questioning."
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
version: "1.2.0"
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### Create-PRD (Conversation → Product Requirements Document)
|
|
10
10
|
|
|
11
11
|
This skill takes the current conversation context and codebase understanding and produces a PRD. Do NOT interview the user — just synthesize what you already know. The PRD follows the same pattern as `references/spec-driven/specify.md`: definitions, required sections, and directions are shared so a PRD produced here is structurally consistent with a feature spec produced by spec-driven Specify.
|
|
12
12
|
|
|
@@ -180,10 +180,10 @@ Apply the `ready-for-agent` triage label — no need for additional triage.
|
|
|
180
180
|
|
|
181
181
|
## Done
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
Create-PRD is done when every requirement has an ID, acceptance criteria are testable EARS statements, edge cases are named, out-of-scope boundaries are explicit, implicit-requirement dimensions are resolved or marked `N/A because <reason>`, the Requirement Closure Gate is satisfied, and `validate_spec.ts` exits clean (or the no-code-execution-tool fallback was applied).
|
|
184
184
|
|
|
185
185
|
## Massa-ai Integration
|
|
186
186
|
|
|
187
187
|
- **Code analysis:** Use massa-ai tools first (`list_projects`, `search`, `project_map`, `optimized_context`) before `ast-grep`/`rg`/`grep` for the explore step. Current source overrides a stale index or memory (source-precedence rule).
|
|
188
|
-
- **Memory:** Persist verified outcomes worth reusing with `remember`, tagging `project:<id>`, `session:<id>`, `workflow:
|
|
188
|
+
- **Memory:** Persist verified outcomes worth reusing with `remember`, tagging `project:<id>`, `session:<id>`, `workflow:create-prd`, `entity:<slug>`, `memory:working|episodic|semantic|procedural`.
|
|
189
189
|
- **Validation:** Evidence-or-zero. Every requirement resolved and assumption logged is checked against current source.
|