@bonesofspring/ai-rules 0.2.17 → 0.2.19
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/CHANGELOG.md +63 -0
- package/README.md +6 -4
- package/bin/cli.js +111 -4
- package/package.json +6 -3
- package/presets/_shared/README.md +2 -2
- package/presets/_shared/assets/docs-specs/schemas/frontmatter-v1.schema.json +1 -1
- package/presets/_shared/core/agent-team/agent-artifact-contracts.md +41 -0
- package/presets/_shared/core/agent-team/agent-team-orchestrator.md +5 -4
- package/presets/_shared/core/architecture/feature-delivery-workflow.md +3 -2
- package/presets/_shared/core/architecture/product-specs-authoring.md +6 -3
- package/presets/_shared/core/architecture/product-specs.md +8 -3
- package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +5 -2
- package/presets/_shared/core/quality/anti-sycophancy-discipline.md +1 -1
- package/presets/_shared/core/quality/code-quality-and-refactoring.md +1 -1
- package/presets/_shared/core/quality/mcp-usage.md +84 -0
- package/presets/_shared/core/review/mockup-review.md +105 -0
- package/presets/_shared/core/review/ux-design.md +97 -0
- package/presets/claude/android-kotlin/MCP.md +20 -1
- package/presets/claude/android-kotlin/agents/README.md +2 -2
- package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +6 -0
- package/presets/claude/android-kotlin/agents/build-verifier.md +6 -0
- package/presets/claude/android-kotlin/agents/ci-investigator.md +8 -0
- package/presets/claude/android-kotlin/agents/debugger.md +8 -0
- package/presets/claude/android-kotlin/agents/feature-developer.md +29 -0
- package/presets/claude/android-kotlin/agents/migration-specialist.md +6 -0
- package/presets/claude/android-kotlin/agents/mockup-reviewer.md +59 -0
- package/presets/claude/android-kotlin/agents/performance-auditor.md +6 -0
- package/presets/claude/android-kotlin/agents/solution-architect.md +6 -0
- package/presets/claude/android-kotlin/agents/task-analyst.md +35 -1
- package/presets/claude/android-kotlin/agents/task-router.md +17 -2
- package/presets/claude/android-kotlin/commands/spec-start.md +1 -1
- package/presets/claude/android-kotlin/commands/task-continue.md +6 -4
- package/presets/claude/android-kotlin/commands/task.md +2 -0
- package/presets/claude/android-kotlin/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/android-kotlin/mcp.json +1 -1
- package/presets/claude/android-kotlin/rules/README.md +3 -0
- package/presets/claude/android-kotlin/rules/architecture/feature-delivery.md +5 -1
- package/presets/claude/android-kotlin/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/android-kotlin/rules/architecture/product-specs.md +8 -4
- package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +7 -3
- package/presets/claude/android-kotlin/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/android-kotlin/rules/tooling-and-review/mcp-usage.md +100 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/mockup-review.md +118 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/android-kotlin/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/android-kotlin/skills/README.md +4 -0
- package/presets/claude/android-kotlin/skills/ci-investigation/SKILL.md +8 -0
- package/presets/claude/android-kotlin/skills/debug-investigation/SKILL.md +8 -0
- package/presets/claude/android-kotlin/skills/feature-delivery/SKILL.md +9 -0
- package/presets/claude/android-kotlin/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/android-kotlin/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/android-kotlin/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/android-kotlin/team/README.md +8 -0
- package/presets/claude/android-kotlin/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/claude/android-kotlin/team/fixtures/feature-full.json +1 -0
- package/presets/claude/android-kotlin/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/claude/android-kotlin/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/claude/android-kotlin/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/android-kotlin/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/claude/android-kotlin/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/claude/android-kotlin/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/claude/go/MCP.md +23 -2
- package/presets/claude/go/agents/build-verifier.md +6 -0
- package/presets/claude/go/agents/ci-investigator.md +8 -0
- package/presets/claude/go/agents/debugger.md +8 -0
- package/presets/claude/go/agents/feature-developer.md +23 -0
- package/presets/claude/go/agents/migration-specialist.md +6 -0
- package/presets/claude/go/agents/performance-auditor.md +6 -0
- package/presets/claude/go/agents/solution-architect.md +6 -0
- package/presets/claude/go/agents/task-analyst.md +17 -0
- package/presets/claude/go/agents/task-router.md +7 -1
- package/presets/claude/go/commands/feature-continue.md +11 -40
- package/presets/claude/go/commands/spec-start.md +1 -1
- package/presets/claude/go/mcp.json +1 -1
- package/presets/claude/go/rules/README.md +2 -1
- package/presets/claude/go/rules/architecture/feature-delivery.md +2 -1
- package/presets/claude/go/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/go/rules/architecture/product-specs.md +8 -4
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +1 -0
- package/presets/claude/go/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/go/rules/tooling-and-review/mcp-usage.md +99 -0
- package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/go/skills/README.md +1 -1
- package/presets/claude/go/skills/ci-investigation/SKILL.md +7 -0
- package/presets/claude/go/skills/code-review/SKILL.md +1 -0
- package/presets/claude/go/skills/debug-investigation/SKILL.md +8 -0
- package/presets/claude/go/skills/feature-delivery/SKILL.md +7 -1
- package/presets/claude/go/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/go/team/README.md +8 -0
- package/presets/claude/go/team/fixtures/feature-full.json +46 -10
- package/presets/claude/go/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/ios-swift/MCP.md +20 -1
- package/presets/claude/ios-swift/agents/README.md +2 -2
- package/presets/claude/ios-swift/agents/accessibility-reviewer.md +7 -10
- package/presets/claude/ios-swift/agents/api-contract-reviewer.md +2 -11
- package/presets/claude/ios-swift/agents/build-verifier.md +6 -0
- package/presets/claude/ios-swift/agents/ci-investigator.md +10 -11
- package/presets/claude/ios-swift/agents/debugger.md +10 -11
- package/presets/claude/ios-swift/agents/feature-developer.md +29 -0
- package/presets/claude/ios-swift/agents/migration-specialist.md +8 -11
- package/presets/claude/ios-swift/agents/mockup-reviewer.md +59 -0
- package/presets/claude/ios-swift/agents/performance-auditor.md +8 -11
- package/presets/claude/ios-swift/agents/qa-tester.md +2 -11
- package/presets/claude/ios-swift/agents/security-reviewer.md +2 -11
- package/presets/claude/ios-swift/agents/solution-architect.md +6 -0
- package/presets/claude/ios-swift/agents/task-analyst.md +35 -1
- package/presets/claude/ios-swift/agents/task-router.md +17 -2
- package/presets/claude/ios-swift/agents/unit-test-generator.md +2 -11
- package/presets/claude/ios-swift/agents/unit-test-healer.md +2 -11
- package/presets/claude/ios-swift/agents/unit-test-planner.md +2 -11
- package/presets/claude/ios-swift/agents/xcuitest-test-generator.md +1 -11
- package/presets/claude/ios-swift/agents/xcuitest-test-healer.md +1 -11
- package/presets/claude/ios-swift/agents/xcuitest-test-planner.md +1 -13
- package/presets/claude/ios-swift/commands/spec-start.md +1 -1
- package/presets/claude/ios-swift/commands/task-continue.md +6 -4
- package/presets/claude/ios-swift/commands/task.md +2 -0
- package/presets/claude/ios-swift/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/ios-swift/mcp.json +1 -1
- package/presets/claude/ios-swift/rules/README.md +7 -1
- package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +4 -1
- package/presets/claude/ios-swift/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/ios-swift/rules/architecture/product-specs.md +8 -4
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +7 -3
- package/presets/claude/ios-swift/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/ios-swift/rules/tooling-and-review/mcp-usage.md +100 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/mockup-review.md +118 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/ios-swift/skills/README.md +4 -0
- package/presets/claude/ios-swift/skills/ci-investigation/SKILL.md +8 -0
- package/presets/claude/ios-swift/skills/code-review/SKILL.md +1 -1
- package/presets/claude/ios-swift/skills/debug-investigation/SKILL.md +9 -1
- package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +10 -1
- package/presets/claude/ios-swift/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/ios-swift/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/ios-swift/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/ios-swift/team/README.md +8 -0
- package/presets/claude/ios-swift/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/claude/ios-swift/team/fixtures/feature-full.json +39 -9
- package/presets/claude/ios-swift/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/claude/ios-swift/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/claude/ios-swift/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/ios-swift/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/claude/ios-swift/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/claude/ios-swift/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/claude/java/CLAUDE.md +1 -1
- package/presets/claude/java/MCP.md +21 -0
- package/presets/claude/java/agents/build-verifier.md +7 -1
- package/presets/claude/java/agents/ci-investigator.md +8 -0
- package/presets/claude/java/agents/debugger.md +8 -0
- package/presets/claude/java/agents/feature-developer.md +23 -0
- package/presets/claude/java/agents/migration-specialist.md +6 -0
- package/presets/claude/java/agents/performance-auditor.md +6 -0
- package/presets/claude/java/agents/solution-architect.md +6 -0
- package/presets/claude/java/agents/task-analyst.md +17 -0
- package/presets/claude/java/agents/task-router.md +7 -1
- package/presets/claude/java/commands/feature-continue.md +11 -40
- package/presets/claude/java/commands/spec-start.md +1 -1
- package/presets/claude/java/mcp.json +1 -1
- package/presets/claude/java/rules/README.md +1 -0
- package/presets/claude/java/rules/architecture/feature-delivery.md +2 -1
- package/presets/claude/java/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/java/rules/architecture/product-specs.md +8 -4
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +1 -0
- package/presets/claude/java/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/java/rules/tooling-and-review/mcp-usage.md +98 -0
- package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/java/skills/README.md +1 -1
- package/presets/claude/java/skills/ci-investigation/SKILL.md +7 -0
- package/presets/claude/java/skills/code-review/SKILL.md +1 -0
- package/presets/claude/java/skills/debug-investigation/SKILL.md +8 -0
- package/presets/claude/java/skills/feature-delivery/SKILL.md +7 -1
- package/presets/claude/java/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/java/team/README.md +8 -0
- package/presets/claude/java/team/fixtures/feature-full.json +46 -10
- package/presets/claude/java/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/mcp-ts/MCP.md +20 -1
- package/presets/claude/mcp-ts/agents/build-verifier.md +7 -1
- package/presets/claude/mcp-ts/agents/feature-developer.md +23 -0
- package/presets/claude/mcp-ts/agents/solution-architect.md +5 -0
- package/presets/claude/mcp-ts/agents/task-analyst.md +17 -0
- package/presets/claude/mcp-ts/agents/task-router.md +7 -1
- package/presets/claude/mcp-ts/commands/spec-start.md +1 -1
- package/presets/claude/mcp-ts/mcp.json +1 -1
- package/presets/claude/mcp-ts/rules/README.md +1 -0
- package/presets/claude/mcp-ts/rules/architecture/feature-delivery.md +3 -1
- package/presets/claude/mcp-ts/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/mcp-ts/rules/architecture/product-specs.md +8 -4
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +1 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/mcp-ts/rules/tooling-and-review/mcp-usage.md +99 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/mcp-ts/skills/README.md +2 -0
- package/presets/claude/mcp-ts/skills/code-review/SKILL.md +1 -0
- package/presets/claude/mcp-ts/skills/debug-investigation/SKILL.md +7 -0
- package/presets/claude/mcp-ts/skills/feature-delivery/SKILL.md +7 -1
- package/presets/claude/mcp-ts/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/mcp-ts/team/README.md +7 -0
- package/presets/claude/mcp-ts/team/fixtures/feature-full.json +5 -2
- package/presets/claude/mcp-ts/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/next/MCP.md +22 -0
- package/presets/claude/next/agents/README.md +2 -1
- package/presets/claude/next/agents/accessibility-reviewer.md +8 -0
- package/presets/claude/next/agents/build-verifier.md +6 -0
- package/presets/claude/next/agents/ci-investigator.md +8 -0
- package/presets/claude/next/agents/debugger.md +12 -0
- package/presets/claude/next/agents/feature-developer.md +31 -0
- package/presets/claude/next/agents/migration-specialist.md +6 -0
- package/presets/claude/next/agents/mockup-reviewer.md +59 -0
- package/presets/claude/next/agents/performance-auditor.md +8 -0
- package/presets/claude/next/agents/playwright-test-generator.md +11 -1
- package/presets/claude/next/agents/playwright-test-healer.md +8 -1
- package/presets/claude/next/agents/solution-architect.md +6 -0
- package/presets/claude/next/agents/task-analyst.md +35 -1
- package/presets/claude/next/agents/task-router.md +18 -3
- package/presets/claude/next/commands/feature-continue.md +11 -40
- package/presets/claude/next/commands/spec-start.md +1 -1
- package/presets/claude/next/commands/task-continue.md +6 -4
- package/presets/claude/next/commands/task.md +2 -0
- package/presets/claude/next/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/next/mcp.json +3 -3
- package/presets/claude/next/rules/README.md +9 -3
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +4 -1
- package/presets/claude/next/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/next/rules/architecture/product-specs.md +8 -4
- package/presets/claude/next/rules/testing/tests-unit.md +5 -0
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +7 -3
- package/presets/claude/next/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/next/rules/tooling-and-review/mcp-usage.md +101 -0
- package/presets/claude/next/rules/tooling-and-review/mockup-review.md +118 -0
- package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/next/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/next/skills/README.md +4 -0
- package/presets/claude/next/skills/ci-investigation/SKILL.md +8 -0
- package/presets/claude/next/skills/code-review/SKILL.md +1 -1
- package/presets/claude/next/skills/debug-investigation/SKILL.md +13 -1
- package/presets/claude/next/skills/feature-delivery/SKILL.md +12 -1
- package/presets/claude/next/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/next/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/next/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/next/team/README.md +11 -0
- package/presets/claude/next/team/fixtures/artifact-manifest.example.json +20 -2
- package/presets/claude/next/team/fixtures/feature-full.json +43 -9
- package/presets/claude/next/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/claude/next/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/claude/next/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/next/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/claude/next/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/claude/next/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/claude/nuxt/MCP.md +22 -0
- package/presets/claude/nuxt/agents/README.md +2 -1
- package/presets/claude/nuxt/agents/accessibility-reviewer.md +8 -0
- package/presets/claude/nuxt/agents/build-verifier.md +6 -0
- package/presets/claude/nuxt/agents/ci-investigator.md +8 -0
- package/presets/claude/nuxt/agents/debugger.md +12 -0
- package/presets/claude/nuxt/agents/feature-developer.md +31 -0
- package/presets/claude/nuxt/agents/migration-specialist.md +6 -0
- package/presets/claude/nuxt/agents/mockup-reviewer.md +59 -0
- package/presets/claude/nuxt/agents/performance-auditor.md +8 -0
- package/presets/claude/nuxt/agents/playwright-test-generator.md +11 -1
- package/presets/claude/nuxt/agents/playwright-test-healer.md +8 -1
- package/presets/claude/nuxt/agents/solution-architect.md +6 -0
- package/presets/claude/nuxt/agents/task-analyst.md +35 -1
- package/presets/claude/nuxt/agents/task-router.md +22 -7
- package/presets/claude/nuxt/commands/spec-start.md +1 -1
- package/presets/claude/nuxt/commands/task-continue.md +6 -4
- package/presets/claude/nuxt/commands/task.md +2 -0
- package/presets/claude/nuxt/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/nuxt/mcp.json +3 -3
- package/presets/claude/nuxt/rules/README.md +6 -0
- package/presets/claude/nuxt/rules/architecture/feature-delivery-workflow.md +4 -1
- package/presets/claude/nuxt/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/nuxt/rules/architecture/product-specs.md +8 -4
- package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +7 -3
- package/presets/claude/nuxt/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/nuxt/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/nuxt/rules/tooling-and-review/mcp-usage.md +106 -0
- package/presets/claude/nuxt/rules/tooling-and-review/mockup-review.md +118 -0
- package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/nuxt/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/nuxt/skills/README.md +4 -0
- package/presets/claude/nuxt/skills/ci-investigation/SKILL.md +8 -0
- package/presets/claude/nuxt/skills/code-review/SKILL.md +1 -1
- package/presets/claude/nuxt/skills/debug-investigation/SKILL.md +13 -1
- package/presets/claude/nuxt/skills/feature-delivery/SKILL.md +12 -1
- package/presets/claude/nuxt/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/nuxt/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/nuxt/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/nuxt/team/README.md +11 -0
- package/presets/claude/nuxt/team/fixtures/artifact-manifest.example.json +20 -2
- package/presets/claude/nuxt/team/fixtures/feature-full.json +43 -9
- package/presets/claude/nuxt/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/claude/nuxt/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/claude/nuxt/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/nuxt/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/claude/nuxt/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/claude/nuxt/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/claude/php-hexagonal/CLAUDE.md +1 -1
- package/presets/claude/php-hexagonal/MCP.md +20 -1
- package/presets/claude/php-hexagonal/agents/build-verifier.md +7 -1
- package/presets/claude/php-hexagonal/agents/ci-investigator.md +8 -0
- package/presets/claude/php-hexagonal/agents/debugger.md +8 -0
- package/presets/claude/php-hexagonal/agents/feature-developer.md +23 -0
- package/presets/claude/php-hexagonal/agents/migration-specialist.md +6 -0
- package/presets/claude/php-hexagonal/agents/performance-auditor.md +6 -0
- package/presets/claude/php-hexagonal/agents/solution-architect.md +6 -0
- package/presets/claude/php-hexagonal/agents/task-analyst.md +17 -0
- package/presets/claude/php-hexagonal/agents/task-router.md +7 -1
- package/presets/claude/php-hexagonal/commands/feature-continue.md +11 -40
- package/presets/claude/php-hexagonal/commands/spec-start.md +1 -1
- package/presets/claude/php-hexagonal/mcp.json +1 -1
- package/presets/claude/php-hexagonal/rules/README.md +1 -0
- package/presets/claude/php-hexagonal/rules/architecture/feature-delivery.md +2 -1
- package/presets/claude/php-hexagonal/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/php-hexagonal/rules/architecture/product-specs.md +8 -4
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +1 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/php-hexagonal/rules/tooling-and-review/mcp-usage.md +98 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/php-hexagonal/skills/README.md +1 -1
- package/presets/claude/php-hexagonal/skills/ci-investigation/SKILL.md +7 -0
- package/presets/claude/php-hexagonal/skills/code-review/SKILL.md +1 -0
- package/presets/claude/php-hexagonal/skills/debug-investigation/SKILL.md +8 -0
- package/presets/claude/php-hexagonal/skills/feature-delivery/SKILL.md +7 -1
- package/presets/claude/php-hexagonal/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/php-hexagonal/team/README.md +8 -0
- package/presets/claude/php-hexagonal/team/fixtures/feature-full.json +46 -10
- package/presets/claude/php-hexagonal/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/php-laravel/MCP.md +21 -0
- package/presets/claude/php-laravel/agents/build-verifier.md +7 -1
- package/presets/claude/php-laravel/agents/ci-investigator.md +8 -0
- package/presets/claude/php-laravel/agents/debugger.md +8 -0
- package/presets/claude/php-laravel/agents/feature-developer.md +23 -0
- package/presets/claude/php-laravel/agents/migration-specialist.md +6 -0
- package/presets/claude/php-laravel/agents/performance-auditor.md +6 -0
- package/presets/claude/php-laravel/agents/solution-architect.md +6 -0
- package/presets/claude/php-laravel/agents/task-analyst.md +17 -0
- package/presets/claude/php-laravel/agents/task-router.md +7 -1
- package/presets/claude/php-laravel/commands/feature-continue.md +11 -40
- package/presets/claude/php-laravel/commands/spec-start.md +1 -1
- package/presets/claude/php-laravel/mcp.json +1 -1
- package/presets/claude/php-laravel/rules/README.md +1 -0
- package/presets/claude/php-laravel/rules/architecture/feature-delivery.md +3 -1
- package/presets/claude/php-laravel/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/php-laravel/rules/architecture/product-specs.md +8 -4
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +1 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/php-laravel/rules/tooling-and-review/mcp-usage.md +98 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/php-laravel/skills/README.md +1 -1
- package/presets/claude/php-laravel/skills/ci-investigation/SKILL.md +7 -0
- package/presets/claude/php-laravel/skills/code-review/SKILL.md +1 -0
- package/presets/claude/php-laravel/skills/debug-investigation/SKILL.md +8 -0
- package/presets/claude/php-laravel/skills/feature-delivery/SKILL.md +7 -1
- package/presets/claude/php-laravel/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/php-laravel/team/README.md +7 -0
- package/presets/claude/php-laravel/team/fixtures/feature-full.json +38 -9
- package/presets/claude/php-laravel/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/svelte/MCP.md +22 -0
- package/presets/claude/svelte/agents/README.md +2 -1
- package/presets/claude/svelte/agents/accessibility-reviewer.md +8 -0
- package/presets/claude/svelte/agents/build-verifier.md +6 -0
- package/presets/claude/svelte/agents/ci-investigator.md +8 -0
- package/presets/claude/svelte/agents/debugger.md +12 -0
- package/presets/claude/svelte/agents/feature-developer.md +31 -0
- package/presets/claude/svelte/agents/migration-specialist.md +6 -0
- package/presets/claude/svelte/agents/mockup-reviewer.md +59 -0
- package/presets/claude/svelte/agents/performance-auditor.md +8 -0
- package/presets/claude/svelte/agents/playwright-test-generator.md +11 -1
- package/presets/claude/svelte/agents/playwright-test-healer.md +8 -1
- package/presets/claude/svelte/agents/solution-architect.md +6 -0
- package/presets/claude/svelte/agents/task-analyst.md +35 -1
- package/presets/claude/svelte/agents/task-router.md +18 -3
- package/presets/claude/svelte/commands/spec-start.md +1 -1
- package/presets/claude/svelte/commands/task-continue.md +6 -4
- package/presets/claude/svelte/commands/task.md +2 -0
- package/presets/claude/svelte/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/svelte/mcp.json +3 -3
- package/presets/claude/svelte/rules/README.md +6 -0
- package/presets/claude/svelte/rules/architecture/feature-delivery-workflow.md +4 -1
- package/presets/claude/svelte/rules/architecture/product-specs-authoring.md +6 -4
- package/presets/claude/svelte/rules/architecture/product-specs.md +8 -4
- package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +7 -3
- package/presets/claude/svelte/rules/tooling-and-review/anti-sycophancy-discipline.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/code-quality.md +1 -1
- package/presets/claude/svelte/rules/tooling-and-review/mcp-usage.md +101 -0
- package/presets/claude/svelte/rules/tooling-and-review/mockup-review.md +118 -0
- package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +5 -2
- package/presets/claude/svelte/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/svelte/skills/README.md +4 -0
- package/presets/claude/svelte/skills/ci-investigation/SKILL.md +8 -0
- package/presets/claude/svelte/skills/code-review/SKILL.md +1 -1
- package/presets/claude/svelte/skills/debug-investigation/SKILL.md +13 -1
- package/presets/claude/svelte/skills/feature-delivery/SKILL.md +12 -1
- package/presets/claude/svelte/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/svelte/skills/spec-discovery/SKILL.md +58 -0
- package/presets/claude/svelte/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/svelte/team/README.md +11 -0
- package/presets/claude/svelte/team/fixtures/artifact-manifest.example.json +20 -2
- package/presets/claude/svelte/team/fixtures/feature-full.json +43 -9
- package/presets/claude/svelte/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/claude/svelte/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/claude/svelte/team/fixtures/memlog.example.md +9 -0
- package/presets/claude/svelte/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/claude/svelte/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/claude/svelte/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/cursor/android-kotlin/MCP.md +20 -1
- package/presets/cursor/android-kotlin/agents/README.md +2 -2
- package/presets/cursor/android-kotlin/agents/accessibility-reviewer.md +6 -0
- package/presets/cursor/android-kotlin/agents/build-verifier.md +6 -0
- package/presets/cursor/android-kotlin/agents/ci-investigator.md +8 -0
- package/presets/cursor/android-kotlin/agents/debugger.md +8 -0
- package/presets/cursor/android-kotlin/agents/feature-developer.md +29 -0
- package/presets/cursor/android-kotlin/agents/migration-specialist.md +6 -0
- package/presets/cursor/android-kotlin/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/android-kotlin/agents/performance-auditor.md +6 -0
- package/presets/cursor/android-kotlin/agents/solution-architect.md +6 -0
- package/presets/cursor/android-kotlin/agents/task-analyst.md +35 -1
- package/presets/cursor/android-kotlin/agents/task-router.md +17 -2
- package/presets/cursor/android-kotlin/commands/spec-start.md +1 -1
- package/presets/cursor/android-kotlin/commands/task-continue.md +6 -4
- package/presets/cursor/android-kotlin/commands/task.md +2 -0
- package/presets/cursor/android-kotlin/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/android-kotlin/mcp.json +1 -1
- package/presets/cursor/android-kotlin/rules/README.md +6 -0
- package/presets/cursor/android-kotlin/rules/agent-team-orchestrator.mdc +7 -3
- package/presets/cursor/android-kotlin/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/android-kotlin/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/android-kotlin/rules/feature-delivery-workflow.mdc +5 -1
- package/presets/cursor/android-kotlin/rules/mcp-usage.mdc +99 -0
- package/presets/cursor/android-kotlin/rules/mockup-review.mdc +116 -0
- package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +6 -3
- package/presets/cursor/android-kotlin/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/android-kotlin/rules/product-specs.mdc +8 -4
- package/presets/cursor/android-kotlin/rules/ux-design.mdc +108 -0
- package/presets/cursor/android-kotlin/skills/README.md +4 -0
- package/presets/cursor/android-kotlin/skills/ci-investigation/SKILL.md +8 -0
- package/presets/cursor/android-kotlin/skills/debug-investigation/SKILL.md +8 -0
- package/presets/cursor/android-kotlin/skills/feature-delivery/SKILL.md +9 -0
- package/presets/cursor/android-kotlin/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/android-kotlin/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/android-kotlin/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/android-kotlin/team/README.md +8 -0
- package/presets/cursor/android-kotlin/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/cursor/android-kotlin/team/fixtures/feature-full.json +1 -0
- package/presets/cursor/android-kotlin/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/cursor/android-kotlin/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/cursor/android-kotlin/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/android-kotlin/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/cursor/android-kotlin/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/cursor/android-kotlin/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/cursor/go/MCP.md +23 -2
- package/presets/cursor/go/agents/build-verifier.md +6 -0
- package/presets/cursor/go/agents/ci-investigator.md +8 -0
- package/presets/cursor/go/agents/debugger.md +8 -0
- package/presets/cursor/go/agents/feature-developer.md +23 -0
- package/presets/cursor/go/agents/migration-specialist.md +6 -0
- package/presets/cursor/go/agents/performance-auditor.md +6 -0
- package/presets/cursor/go/agents/solution-architect.md +6 -0
- package/presets/cursor/go/agents/task-analyst.md +17 -0
- package/presets/cursor/go/agents/task-router.md +7 -1
- package/presets/cursor/go/commands/spec-start.md +1 -1
- package/presets/cursor/go/mcp.json +1 -1
- package/presets/cursor/go/rules/README.md +2 -1
- package/presets/cursor/go/rules/agent-team-orchestrator.mdc +1 -0
- package/presets/cursor/go/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/go/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/go/rules/feature-delivery-workflow.mdc +2 -1
- package/presets/cursor/go/rules/mcp-usage.mdc +98 -0
- package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/go/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/go/rules/product-specs.mdc +8 -4
- package/presets/cursor/go/skills/README.md +1 -1
- package/presets/cursor/go/skills/ci-investigation/SKILL.md +7 -0
- package/presets/cursor/go/skills/code-review/SKILL.md +1 -0
- package/presets/cursor/go/skills/debug-investigation/SKILL.md +8 -0
- package/presets/cursor/go/skills/feature-delivery/SKILL.md +7 -1
- package/presets/cursor/go/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/go/team/README.md +8 -0
- package/presets/cursor/go/team/fixtures/feature-full.json +46 -10
- package/presets/cursor/go/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/ios-swift/MCP.md +20 -1
- package/presets/cursor/ios-swift/agents/README.md +2 -2
- package/presets/cursor/ios-swift/agents/accessibility-reviewer.md +7 -10
- package/presets/cursor/ios-swift/agents/api-contract-reviewer.md +2 -11
- package/presets/cursor/ios-swift/agents/build-verifier.md +6 -0
- package/presets/cursor/ios-swift/agents/ci-investigator.md +10 -11
- package/presets/cursor/ios-swift/agents/debugger.md +10 -11
- package/presets/cursor/ios-swift/agents/feature-developer.md +29 -0
- package/presets/cursor/ios-swift/agents/migration-specialist.md +8 -11
- package/presets/cursor/ios-swift/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/ios-swift/agents/performance-auditor.md +8 -11
- package/presets/cursor/ios-swift/agents/qa-tester.md +2 -11
- package/presets/cursor/ios-swift/agents/security-reviewer.md +2 -11
- package/presets/cursor/ios-swift/agents/solution-architect.md +6 -0
- package/presets/cursor/ios-swift/agents/task-analyst.md +35 -1
- package/presets/cursor/ios-swift/agents/task-router.md +17 -2
- package/presets/cursor/ios-swift/agents/unit-test-generator.md +2 -11
- package/presets/cursor/ios-swift/agents/unit-test-healer.md +2 -11
- package/presets/cursor/ios-swift/agents/unit-test-planner.md +2 -11
- package/presets/cursor/ios-swift/agents/xcuitest-test-generator.md +1 -11
- package/presets/cursor/ios-swift/agents/xcuitest-test-healer.md +1 -11
- package/presets/cursor/ios-swift/agents/xcuitest-test-planner.md +1 -13
- package/presets/cursor/ios-swift/commands/spec-start.md +1 -1
- package/presets/cursor/ios-swift/commands/task-continue.md +6 -4
- package/presets/cursor/ios-swift/commands/task.md +2 -0
- package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/ios-swift/mcp.json +1 -1
- package/presets/cursor/ios-swift/rules/README.md +7 -1
- package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +7 -3
- package/presets/cursor/ios-swift/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +4 -1
- package/presets/cursor/ios-swift/rules/mcp-usage.mdc +99 -0
- package/presets/cursor/ios-swift/rules/mockup-review.mdc +116 -0
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/ios-swift/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/ios-swift/rules/product-specs.mdc +8 -4
- package/presets/cursor/ios-swift/rules/ux-design.mdc +108 -0
- package/presets/cursor/ios-swift/skills/README.md +4 -0
- package/presets/cursor/ios-swift/skills/ci-investigation/SKILL.md +8 -0
- package/presets/cursor/ios-swift/skills/code-review/SKILL.md +1 -1
- package/presets/cursor/ios-swift/skills/debug-investigation/SKILL.md +9 -1
- package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +10 -1
- package/presets/cursor/ios-swift/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/ios-swift/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/ios-swift/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/ios-swift/team/README.md +8 -0
- package/presets/cursor/ios-swift/team/fixtures/artifact-manifest.example.json +25 -0
- package/presets/cursor/ios-swift/team/fixtures/feature-full.json +39 -9
- package/presets/cursor/ios-swift/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/cursor/ios-swift/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/cursor/ios-swift/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/ios-swift/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/cursor/ios-swift/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/cursor/ios-swift/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/cursor/java/AGENTS.md +1 -1
- package/presets/cursor/java/MCP.md +20 -1
- package/presets/cursor/java/agents/build-verifier.md +7 -1
- package/presets/cursor/java/agents/ci-investigator.md +8 -0
- package/presets/cursor/java/agents/debugger.md +8 -0
- package/presets/cursor/java/agents/feature-developer.md +23 -0
- package/presets/cursor/java/agents/migration-specialist.md +6 -0
- package/presets/cursor/java/agents/performance-auditor.md +6 -0
- package/presets/cursor/java/agents/solution-architect.md +6 -0
- package/presets/cursor/java/agents/task-analyst.md +17 -0
- package/presets/cursor/java/agents/task-router.md +7 -1
- package/presets/cursor/java/commands/spec-start.md +1 -1
- package/presets/cursor/java/mcp.json +1 -1
- package/presets/cursor/java/rules/README.md +2 -1
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +1 -0
- package/presets/cursor/java/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/java/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/java/rules/feature-delivery-workflow.mdc +2 -1
- package/presets/cursor/java/rules/mcp-usage.mdc +97 -0
- package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/java/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/java/rules/product-specs.mdc +8 -4
- package/presets/cursor/java/skills/README.md +1 -1
- package/presets/cursor/java/skills/ci-investigation/SKILL.md +7 -0
- package/presets/cursor/java/skills/code-review/SKILL.md +1 -0
- package/presets/cursor/java/skills/debug-investigation/SKILL.md +8 -0
- package/presets/cursor/java/skills/feature-delivery/SKILL.md +7 -1
- package/presets/cursor/java/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/java/team/README.md +8 -0
- package/presets/cursor/java/team/fixtures/feature-full.json +46 -10
- package/presets/cursor/java/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/mcp-ts/MCP.md +20 -1
- package/presets/cursor/mcp-ts/agents/build-verifier.md +7 -1
- package/presets/cursor/mcp-ts/agents/feature-developer.md +23 -0
- package/presets/cursor/mcp-ts/agents/solution-architect.md +5 -0
- package/presets/cursor/mcp-ts/agents/task-analyst.md +17 -0
- package/presets/cursor/mcp-ts/agents/task-router.md +7 -1
- package/presets/cursor/mcp-ts/commands/spec-start.md +1 -1
- package/presets/cursor/mcp-ts/mcp.json +1 -1
- package/presets/cursor/mcp-ts/rules/README.md +3 -2
- package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +1 -0
- package/presets/cursor/mcp-ts/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/mcp-ts/rules/feature-delivery-workflow.mdc +2 -1
- package/presets/cursor/mcp-ts/rules/mcp-usage.mdc +98 -0
- package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/mcp-ts/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/mcp-ts/rules/product-specs.mdc +8 -4
- package/presets/cursor/mcp-ts/skills/README.md +2 -0
- package/presets/cursor/mcp-ts/skills/code-review/SKILL.md +1 -0
- package/presets/cursor/mcp-ts/skills/debug-investigation/SKILL.md +7 -0
- package/presets/cursor/mcp-ts/skills/feature-delivery/SKILL.md +7 -1
- package/presets/cursor/mcp-ts/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/mcp-ts/team/README.md +7 -0
- package/presets/cursor/mcp-ts/team/fixtures/feature-full.json +5 -2
- package/presets/cursor/mcp-ts/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/next/MCP.md +21 -1
- package/presets/cursor/next/agents/README.md +2 -1
- package/presets/cursor/next/agents/accessibility-reviewer.md +8 -0
- package/presets/cursor/next/agents/build-verifier.md +6 -0
- package/presets/cursor/next/agents/ci-investigator.md +8 -0
- package/presets/cursor/next/agents/debugger.md +12 -0
- package/presets/cursor/next/agents/feature-developer.md +31 -0
- package/presets/cursor/next/agents/migration-specialist.md +6 -0
- package/presets/cursor/next/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/next/agents/performance-auditor.md +8 -0
- package/presets/cursor/next/agents/playwright-test-generator.md +9 -1
- package/presets/cursor/next/agents/playwright-test-healer.md +9 -1
- package/presets/cursor/next/agents/playwright-test-planner.md +1 -1
- package/presets/cursor/next/agents/solution-architect.md +6 -0
- package/presets/cursor/next/agents/task-analyst.md +35 -1
- package/presets/cursor/next/agents/task-router.md +18 -3
- package/presets/cursor/next/commands/spec-start.md +1 -1
- package/presets/cursor/next/commands/task-continue.md +6 -4
- package/presets/cursor/next/commands/task.md +2 -0
- package/presets/cursor/next/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/next/mcp.json +3 -3
- package/presets/cursor/next/rules/README.md +5 -2
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +7 -3
- package/presets/cursor/next/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +4 -1
- package/presets/cursor/next/rules/mcp-usage.mdc +100 -0
- package/presets/cursor/next/rules/mockup-review.mdc +116 -0
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/next/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/next/rules/product-specs.mdc +8 -4
- package/presets/cursor/next/rules/tests-unit.mdc +5 -0
- package/presets/cursor/next/rules/ux-design.mdc +108 -0
- package/presets/cursor/next/skills/README.md +4 -0
- package/presets/cursor/next/skills/ci-investigation/SKILL.md +8 -0
- package/presets/cursor/next/skills/code-review/SKILL.md +1 -1
- package/presets/cursor/next/skills/debug-investigation/SKILL.md +13 -1
- package/presets/cursor/next/skills/feature-delivery/SKILL.md +12 -1
- package/presets/cursor/next/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/next/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/next/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/next/team/README.md +11 -0
- package/presets/cursor/next/team/fixtures/artifact-manifest.example.json +20 -2
- package/presets/cursor/next/team/fixtures/feature-full.json +1 -0
- package/presets/cursor/next/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/cursor/next/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/cursor/next/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/next/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/cursor/next/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/cursor/next/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/cursor/nuxt/MCP.md +21 -1
- package/presets/cursor/nuxt/agents/README.md +2 -1
- package/presets/cursor/nuxt/agents/accessibility-reviewer.md +8 -0
- package/presets/cursor/nuxt/agents/build-verifier.md +6 -0
- package/presets/cursor/nuxt/agents/ci-investigator.md +8 -0
- package/presets/cursor/nuxt/agents/debugger.md +12 -0
- package/presets/cursor/nuxt/agents/feature-developer.md +31 -0
- package/presets/cursor/nuxt/agents/migration-specialist.md +6 -0
- package/presets/cursor/nuxt/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/nuxt/agents/performance-auditor.md +8 -0
- package/presets/cursor/nuxt/agents/playwright-test-generator.md +9 -1
- package/presets/cursor/nuxt/agents/playwright-test-healer.md +9 -1
- package/presets/cursor/nuxt/agents/playwright-test-planner.md +1 -1
- package/presets/cursor/nuxt/agents/solution-architect.md +6 -0
- package/presets/cursor/nuxt/agents/task-analyst.md +35 -1
- package/presets/cursor/nuxt/agents/task-router.md +18 -3
- package/presets/cursor/nuxt/commands/spec-start.md +1 -1
- package/presets/cursor/nuxt/commands/task-continue.md +6 -4
- package/presets/cursor/nuxt/commands/task.md +2 -0
- package/presets/cursor/nuxt/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/nuxt/mcp.json +3 -3
- package/presets/cursor/nuxt/rules/README.md +4 -1
- package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +7 -3
- package/presets/cursor/nuxt/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/nuxt/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/nuxt/rules/feature-delivery-workflow.mdc +4 -1
- package/presets/cursor/nuxt/rules/mcp-usage.mdc +100 -0
- package/presets/cursor/nuxt/rules/mockup-review.mdc +116 -0
- package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/nuxt/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/nuxt/rules/product-specs.mdc +8 -4
- package/presets/cursor/nuxt/rules/ux-design.mdc +108 -0
- package/presets/cursor/nuxt/skills/README.md +4 -0
- package/presets/cursor/nuxt/skills/ci-investigation/SKILL.md +8 -0
- package/presets/cursor/nuxt/skills/code-review/SKILL.md +1 -1
- package/presets/cursor/nuxt/skills/debug-investigation/SKILL.md +13 -1
- package/presets/cursor/nuxt/skills/feature-delivery/SKILL.md +12 -1
- package/presets/cursor/nuxt/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/nuxt/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/nuxt/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/nuxt/team/README.md +11 -0
- package/presets/cursor/nuxt/team/fixtures/artifact-manifest.example.json +20 -2
- package/presets/cursor/nuxt/team/fixtures/feature-full.json +43 -9
- package/presets/cursor/nuxt/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/cursor/nuxt/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/cursor/nuxt/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/nuxt/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/cursor/nuxt/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/cursor/nuxt/team/fixtures/ux-design-standalone.json +15 -0
- package/presets/cursor/php-hexagonal/AGENTS.md +1 -1
- package/presets/cursor/php-hexagonal/MCP.md +20 -1
- package/presets/cursor/php-hexagonal/agents/build-verifier.md +7 -1
- package/presets/cursor/php-hexagonal/agents/ci-investigator.md +8 -0
- package/presets/cursor/php-hexagonal/agents/debugger.md +8 -0
- package/presets/cursor/php-hexagonal/agents/feature-developer.md +23 -0
- package/presets/cursor/php-hexagonal/agents/migration-specialist.md +6 -0
- package/presets/cursor/php-hexagonal/agents/performance-auditor.md +6 -0
- package/presets/cursor/php-hexagonal/agents/solution-architect.md +6 -0
- package/presets/cursor/php-hexagonal/agents/task-analyst.md +17 -0
- package/presets/cursor/php-hexagonal/agents/task-router.md +7 -1
- package/presets/cursor/php-hexagonal/commands/spec-start.md +1 -1
- package/presets/cursor/php-hexagonal/mcp.json +1 -1
- package/presets/cursor/php-hexagonal/rules/README.md +2 -1
- package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +1 -0
- package/presets/cursor/php-hexagonal/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/php-hexagonal/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/php-hexagonal/rules/feature-delivery-workflow.mdc +2 -1
- package/presets/cursor/php-hexagonal/rules/mcp-usage.mdc +97 -0
- package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/php-hexagonal/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/php-hexagonal/rules/product-specs.mdc +8 -4
- package/presets/cursor/php-hexagonal/skills/README.md +1 -1
- package/presets/cursor/php-hexagonal/skills/ci-investigation/SKILL.md +7 -0
- package/presets/cursor/php-hexagonal/skills/code-review/SKILL.md +1 -0
- package/presets/cursor/php-hexagonal/skills/debug-investigation/SKILL.md +8 -0
- package/presets/cursor/php-hexagonal/skills/feature-delivery/SKILL.md +7 -1
- package/presets/cursor/php-hexagonal/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/php-hexagonal/team/README.md +8 -0
- package/presets/cursor/php-hexagonal/team/fixtures/feature-full.json +46 -10
- package/presets/cursor/php-hexagonal/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/php-laravel/AGENTS.md +1 -1
- package/presets/cursor/php-laravel/MCP.md +21 -0
- package/presets/cursor/php-laravel/agents/build-verifier.md +7 -1
- package/presets/cursor/php-laravel/agents/ci-investigator.md +8 -0
- package/presets/cursor/php-laravel/agents/debugger.md +8 -0
- package/presets/cursor/php-laravel/agents/feature-developer.md +23 -0
- package/presets/cursor/php-laravel/agents/migration-specialist.md +6 -0
- package/presets/cursor/php-laravel/agents/performance-auditor.md +6 -0
- package/presets/cursor/php-laravel/agents/solution-architect.md +6 -0
- package/presets/cursor/php-laravel/agents/task-analyst.md +17 -0
- package/presets/cursor/php-laravel/agents/task-router.md +7 -1
- package/presets/cursor/php-laravel/commands/spec-start.md +1 -1
- package/presets/cursor/php-laravel/mcp.json +1 -1
- package/presets/cursor/php-laravel/rules/README.md +2 -1
- package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +1 -0
- package/presets/cursor/php-laravel/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/php-laravel/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/php-laravel/rules/feature-delivery-workflow.mdc +2 -1
- package/presets/cursor/php-laravel/rules/mcp-usage.mdc +97 -0
- package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/php-laravel/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/php-laravel/rules/product-specs.mdc +8 -4
- package/presets/cursor/php-laravel/skills/README.md +1 -1
- package/presets/cursor/php-laravel/skills/ci-investigation/SKILL.md +7 -0
- package/presets/cursor/php-laravel/skills/code-review/SKILL.md +1 -0
- package/presets/cursor/php-laravel/skills/debug-investigation/SKILL.md +8 -0
- package/presets/cursor/php-laravel/skills/feature-delivery/SKILL.md +7 -1
- package/presets/cursor/php-laravel/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/php-laravel/team/README.md +7 -0
- package/presets/cursor/php-laravel/team/fixtures/feature-full.json +38 -9
- package/presets/cursor/php-laravel/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/svelte/MCP.md +21 -1
- package/presets/cursor/svelte/agents/README.md +2 -1
- package/presets/cursor/svelte/agents/accessibility-reviewer.md +8 -0
- package/presets/cursor/svelte/agents/build-verifier.md +6 -0
- package/presets/cursor/svelte/agents/ci-investigator.md +8 -0
- package/presets/cursor/svelte/agents/debugger.md +12 -0
- package/presets/cursor/svelte/agents/feature-developer.md +31 -0
- package/presets/cursor/svelte/agents/migration-specialist.md +6 -0
- package/presets/cursor/svelte/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/svelte/agents/performance-auditor.md +8 -0
- package/presets/cursor/svelte/agents/playwright-test-generator.md +9 -1
- package/presets/cursor/svelte/agents/playwright-test-healer.md +9 -1
- package/presets/cursor/svelte/agents/playwright-test-planner.md +1 -1
- package/presets/cursor/svelte/agents/solution-architect.md +6 -0
- package/presets/cursor/svelte/agents/task-analyst.md +35 -1
- package/presets/cursor/svelte/agents/task-router.md +18 -3
- package/presets/cursor/svelte/commands/spec-start.md +1 -1
- package/presets/cursor/svelte/commands/task-continue.md +6 -4
- package/presets/cursor/svelte/commands/task.md +2 -0
- package/presets/cursor/svelte/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/svelte/mcp.json +3 -3
- package/presets/cursor/svelte/rules/README.md +4 -1
- package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +7 -3
- package/presets/cursor/svelte/rules/anti-sycophancy-discipline.mdc +1 -1
- package/presets/cursor/svelte/rules/code-quality-and-refactoring.mdc +1 -1
- package/presets/cursor/svelte/rules/feature-delivery-workflow.mdc +4 -1
- package/presets/cursor/svelte/rules/mcp-usage.mdc +100 -0
- package/presets/cursor/svelte/rules/mockup-review.mdc +116 -0
- package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +5 -2
- package/presets/cursor/svelte/rules/product-specs-authoring.mdc +6 -4
- package/presets/cursor/svelte/rules/product-specs.mdc +8 -4
- package/presets/cursor/svelte/rules/ux-design.mdc +108 -0
- package/presets/cursor/svelte/skills/README.md +4 -0
- package/presets/cursor/svelte/skills/ci-investigation/SKILL.md +8 -0
- package/presets/cursor/svelte/skills/code-review/SKILL.md +1 -1
- package/presets/cursor/svelte/skills/debug-investigation/SKILL.md +13 -1
- package/presets/cursor/svelte/skills/feature-delivery/SKILL.md +12 -1
- package/presets/cursor/svelte/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/svelte/skills/spec-discovery/SKILL.md +58 -0
- package/presets/cursor/svelte/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/svelte/team/README.md +11 -0
- package/presets/cursor/svelte/team/fixtures/artifact-manifest.example.json +20 -2
- package/presets/cursor/svelte/team/fixtures/feature-full.json +43 -9
- package/presets/cursor/svelte/team/fixtures/feature-with-figma-url.json +17 -0
- package/presets/cursor/svelte/team/fixtures/feature-with-ux-no-figma.json +17 -0
- package/presets/cursor/svelte/team/fixtures/memlog.example.md +9 -0
- package/presets/cursor/svelte/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
- package/presets/cursor/svelte/team/fixtures/mockup-review-standalone.json +14 -0
- package/presets/cursor/svelte/team/fixtures/ux-design-standalone.json +15 -0
- package/scripts/aggregate-agent-task-metrics.mjs +212 -0
- package/scripts/check-hook-only-lifecycle.sh +46 -0
- package/scripts/check-preset-i18n.sh +61 -0
- package/scripts/check-preset-leakage.sh +450 -0
- package/scripts/check-preset-structure.sh +70 -0
- package/scripts/check-preset-token-budget.sh +139 -0
- package/scripts/check-preset-twin-map.sh +122 -0
- package/scripts/check-product-specs.sh +90 -0
- package/scripts/check-rule-eval.mjs +149 -0
- package/scripts/check-shared-core-drift.sh +148 -0
- package/scripts/close-agent-task-human-gate.mjs +61 -0
- package/scripts/sync-dogfood-cursor.sh +70 -0
- package/scripts/sync-shared-core-embeds.sh +114 -0
- package/scripts/test-agent-task-metrics-hooks.mjs +895 -0
- package/scripts/test-cli-mcp-merge.mjs +137 -0
|
@@ -135,6 +135,7 @@ const DEFAULT_ARTIFACT_OUTPUT_IDS = {
|
|
|
135
135
|
'security-reviewer': 'security-review',
|
|
136
136
|
'accessibility-reviewer': 'a11y-review',
|
|
137
137
|
'performance-auditor': 'perf-report',
|
|
138
|
+
'mockup-reviewer': 'mockup-review',
|
|
138
139
|
'api-contract-reviewer': 'api-contract-review',
|
|
139
140
|
'tech-writer': 'documentation',
|
|
140
141
|
};
|
|
@@ -313,6 +314,8 @@ const AGENT_HANDOFF = {
|
|
|
313
314
|
`Invoke accessibility-reviewer (readonly) for slug "${s}". Review UI diff; write a11y-review.md. Upsert the owned terminal receipt in artifact-manifest.json; do not mutate status.json lifecycle fields.`,
|
|
314
315
|
'performance-auditor': (s) =>
|
|
315
316
|
`Invoke performance-auditor (readonly) for slug "${s}". Write perf-report.md. Upsert the owned terminal receipt in artifact-manifest.json; do not mutate status.json lifecycle fields.`,
|
|
317
|
+
'mockup-reviewer': (s) =>
|
|
318
|
+
`Invoke mockup-reviewer (readonly) for slug "${s}". Write mockup-review.md. Load requestable mockup-review skill/rule. Upsert the owned terminal receipt in artifact-manifest.json; do not mutate status.json lifecycle fields.`,
|
|
316
319
|
'code-reviewer': (s) =>
|
|
317
320
|
`Invoke code-reviewer subagent (readonly) for slug "${s}". Review git diff vs brief.md per code-review-mr.mdc. ` +
|
|
318
321
|
`Upsert the owned terminal receipt in artifact-manifest.json; do not mutate status.json lifecycle fields.`,
|
|
@@ -600,6 +603,18 @@ if (currentStep?.parallel && stepAgents.length > 1) {
|
|
|
600
603
|
}
|
|
601
604
|
|
|
602
605
|
const retryReviewer = stepAgents.find((agent) => outcomes[agent]?.outcome === 'changes_requested');
|
|
606
|
+
if (retryReviewer === 'mockup-reviewer') {
|
|
607
|
+
beginHumanGate();
|
|
608
|
+
writeStatus({
|
|
609
|
+
awaitingHumanGate: true,
|
|
610
|
+
state: 'awaiting_approval',
|
|
611
|
+
currentAgent: 'mockup-reviewer',
|
|
612
|
+
parallelCompleted: [],
|
|
613
|
+
parallelOutcomes: {},
|
|
614
|
+
});
|
|
615
|
+
out(`Mockup review FAIL for slug "${slug}". Read mockup-review.md. Resume only via /task-continue. Do not retry feature-developer.`);
|
|
616
|
+
process.exit(0);
|
|
617
|
+
}
|
|
603
618
|
if (retryReviewer) {
|
|
604
619
|
const retryAfterFixStepIndex = idx;
|
|
605
620
|
const predecessor = outcomes[retryReviewer]
|
|
@@ -632,6 +647,17 @@ if (status.state === 'blocked') {
|
|
|
632
647
|
process.exit(0);
|
|
633
648
|
}
|
|
634
649
|
|
|
650
|
+
if (status.state === 'changes_requested' && (completedAgent === 'mockup-reviewer' || status.currentAgent === 'mockup-reviewer')) {
|
|
651
|
+
beginHumanGate();
|
|
652
|
+
writeStatus({
|
|
653
|
+
awaitingHumanGate: true,
|
|
654
|
+
state: 'awaiting_approval',
|
|
655
|
+
currentAgent: 'mockup-reviewer',
|
|
656
|
+
});
|
|
657
|
+
out(`Mockup review FAIL for slug "${slug}". Read mockup-review.md. Resume only via /task-continue. Do not retry feature-developer.`);
|
|
658
|
+
process.exit(0);
|
|
659
|
+
}
|
|
660
|
+
|
|
635
661
|
if (status.state === 'changes_requested') {
|
|
636
662
|
const reviewer = status.currentAgent || finishedAttempt?.entry?.agent;
|
|
637
663
|
if (!reviewer) {
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"context7": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["-y", "@upstash/context7-mcp"]
|
|
5
|
+
"args": ["-y", "@upstash/context7-mcp@4.0.2"]
|
|
6
6
|
},
|
|
7
7
|
"playwright": {
|
|
8
8
|
"command": "npx",
|
|
9
|
-
"args": ["-y", "@playwright/mcp@
|
|
9
|
+
"args": ["-y", "@playwright/mcp@0.0.79"]
|
|
10
10
|
},
|
|
11
11
|
"chrome-devtools": {
|
|
12
12
|
"command": "npx",
|
|
13
|
-
"args": ["-y", "chrome-devtools-mcp@
|
|
13
|
+
"args": ["-y", "chrome-devtools-mcp@1.7.0"]
|
|
14
14
|
},
|
|
15
15
|
"figma": {
|
|
16
16
|
"url": "https://mcp.figma.com/mcp"
|
|
@@ -21,9 +21,9 @@ Special Cursor Rule format:
|
|
|
21
21
|
|
|
22
22
|
- **`alwaysApply: true`** (Cursor) / **without `paths:`** (Claude) — only base invariants (**3**):
|
|
23
23
|
- `next-app-core`, `package-manager`, `code-quality-and-refactoring`
|
|
24
|
-
- **On-demand / requestable** — `post-change-lint` (**required after code edits**, not always-on), `agent-team-intake` (via orchestrator/commands), `agent-team-orchestrator`, architecture, imports, UI, tests, feature-delivery-workflow, `design-guidance`, `anti-sycophancy-discipline`, `react-next-anti-hallucination`, reference-features, product-specs, product-specs-authoring, next-app-router, `security-next`, react-a11y-coding, `technical-retro`
|
|
24
|
+
- **On-demand / requestable** — `post-change-lint` (**required after code edits**, not always-on), `agent-team-intake` (via orchestrator/commands), `agent-team-orchestrator`, architecture, imports, UI, tests, feature-delivery-workflow, `design-guidance`, `mcp-usage`, `anti-sycophancy-discipline`, `react-next-anti-hallucination`, reference-features, product-specs, product-specs-authoring, next-app-router, `security-next`, react-a11y-coding, `technical-retro`, `mockup-review`, `ux-design`
|
|
25
25
|
- **Preset author meta** (globs `packages/ai-rules/presets/**`, never alwaysApply): `preset-layering`, `preset-twin-sync`, `preset-token-budget`, `preset-pr-checklist`, `preset-no-cross-stack-leakage`
|
|
26
|
-
- **Skills** — long procedures (`feature-delivery`, `code-review`, …)
|
|
26
|
+
- **Skills** — long procedures (`feature-delivery`, `spec-authoring`, `spec-discovery`, `code-review`, …)
|
|
27
27
|
|
|
28
28
|
### Shared core → stack mapping
|
|
29
29
|
|
|
@@ -34,6 +34,7 @@ SoT prose: `packages/ai-rules/presets/_shared/core/**` (see `_shared/README.md`)
|
|
|
34
34
|
| `quality/code-quality-and-refactoring.md` | `code-quality-and-refactoring.mdc` | Stack notes: ESLint/stylelint, CSS tokens |
|
|
35
35
|
| `quality/anti-sycophancy-discipline.md` | `anti-sycophancy-discipline.mdc` | requestable full VERIFY/discipline set; globs `app/src/**/*.{ts,tsx}` |
|
|
36
36
|
| `quality/design-guidance.md` | `design-guidance.mdc` | requestable smells/GoF; globs `app/src/**/*.{ts,tsx}` |
|
|
37
|
+
| `quality/mcp-usage.md` | `mcp-usage.mdc` | requestable Context7 + overlay MCP |
|
|
37
38
|
| `agent-team/agent-team-orchestrator.md` | `agent-team-orchestrator.mdc` | Roles (Playwright trio); preset PR pointer |
|
|
38
39
|
| `agent-team/agent-team-intake.md` | `agent-team-intake.mdc` | thin |
|
|
39
40
|
| `architecture/feature-delivery-workflow.md` | `feature-delivery-workflow.mdc` | Next layer checklist |
|
|
@@ -42,6 +43,8 @@ SoT prose: `packages/ai-rules/presets/_shared/core/**` (see `_shared/README.md`)
|
|
|
42
43
|
| `architecture/product-specs-authoring.md` | `product-specs-authoring.mdc` | Generate/Bootstrap contract; requestable |
|
|
43
44
|
| `review/code-review-mr.md` | `code-review-mr.mdc` | Next checklist refs |
|
|
44
45
|
| `review/technical-retro.md` | `technical-retro.mdc` | thin alias |
|
|
46
|
+
| `review/mockup-review.md` | `mockup-review.mdc` | Stack notes breakpoints; requestable |
|
|
47
|
+
| `review/ux-design.md` | `ux-design.mdc` | Stack notes form-factor; requestable |
|
|
45
48
|
| `meta/preset-*.md` | `preset-*.mdc` | author-only globs |
|
|
46
49
|
|
|
47
50
|
Claude twins + Cursor→Claude map: `presets/claude/next/rules/README.md`.
|
|
@@ -19,6 +19,7 @@ Work request without `/task` — see **`agent-team-intake.mdc`** (when to sugges
|
|
|
19
19
|
| `/task-continue <slug>` | After human gate or pause |
|
|
20
20
|
| `/feature-start <desc>` | Legacy: analyst-only start (no router) |
|
|
21
21
|
| `/feature-continue <slug>` | Alias of task-continue |
|
|
22
|
+
| `/spec-start [desc]` | Generate/bootstrap `docs/specs` — router intent `spec-gen` → analyst author mode → human gate |
|
|
22
23
|
| `/technical-retro [slug]` | Retro with agent team block |
|
|
23
24
|
|
|
24
25
|
## Stack notes
|
|
@@ -28,7 +29,7 @@ Work request without `/task` — see **`agent-team-intake.mdc`** (when to sugges
|
|
|
28
29
|
| Agent | App / prod writes | Typical intent |
|
|
29
30
|
|-------|-------------------|----------------|
|
|
30
31
|
| `task-router` | no (team only) | Every `/task` — writes `pipeline.json` |
|
|
31
|
-
| `task-analyst` | no (team only) | feature, refactor, test-only, a11y, docs-only, migration |
|
|
32
|
+
| `task-analyst` | no (team only) | feature, refactor, test-only, a11y, docs-only, migration, ux-design, spec-gen |
|
|
32
33
|
| `solution-architect` | no (team only) | spike, complex cross-layer feature |
|
|
33
34
|
| `migration-specialist` | no (team only) | migration — phased upgrade plan |
|
|
34
35
|
| `api-contract-reviewer` | no (team only) | new/changed backend API contracts |
|
|
@@ -38,6 +39,7 @@ Work request without `/task` — see **`agent-team-intake.mdc`** (when to sugges
|
|
|
38
39
|
| `build-verifier` | no (team only) | lint/type-check/unit gate after developer; preset-structure when editing presets |
|
|
39
40
|
| `accessibility-reviewer` | no (team only) | a11y, UI-heavy feature |
|
|
40
41
|
| `performance-auditor` | no (team only) | perf-audit, perf-sensitive feature |
|
|
42
|
+
| `mockup-reviewer` | no (team only) | mockup-review, feature/refactor/spike/spec-gen with `figma.com` |
|
|
41
43
|
| `code-reviewer` | no (team only) | most pipelines, review-only |
|
|
42
44
|
| `security-reviewer` | no (team only) | auth, forms, sensitive data |
|
|
43
45
|
| `qa-tester` | tests only | feature, bugfix, test-only |
|
|
@@ -53,6 +55,8 @@ Work request without `/task` — see **`agent-team-intake.mdc`** (when to sugges
|
|
|
53
55
|
|
|
54
56
|
Full prompts: `.cursor/agents/*.md`. Artifact conventions: `.cursor/team/README.md`; schema SoT: **agent-artifact-contracts**.
|
|
55
57
|
|
|
58
|
+
**Behavioral UX:** `task-analyst` loads requestable skill `ux-design` for standalone intent `ux-design` and embedded required-signal / advisory UI AC. No `ux-designer` agent in v1.
|
|
59
|
+
|
|
56
60
|
**Product specs:** When `/task`, `/feature-start`, or `/spec-start` touches pages/features/`docs/specs`: if INDEX exists and no generate intent → instruct next agent to load requestable **`product-specs`** (consume; soft-fail; never invent). If generate/bootstrap/`spec-gen` → load **`product-specs-authoring`** + skill **`spec-authoring`** inside **task-analyst** (not a separate pipeline step); pass created spec paths + INDEX diff in handoff; human gate must approve before feature-developer. No-op if INDEX absent and no author intent.
|
|
57
61
|
|
|
58
62
|
When editing `packages/ai-rules/presets/**`, follow **`preset-pr-checklist.mdc`** (+ twin-sync / layering / token-budget / leakage meta-rules).
|
|
@@ -147,8 +151,8 @@ On each `subagentStop`, the hook reconciles `status.state` from the completing p
|
|
|
147
151
|
2. Read `pipeline.json` before every subagent invocation.
|
|
148
152
|
3. One role per Task call — **except** parallel steps: multiple Task calls in one message.
|
|
149
153
|
4. **Never** skip `humanGates` without `/task-continue` or explicit user approval.
|
|
150
|
-
5. Persist handoffs to disk and update the producer-owned terminal receipt in `artifact-manifest.json`; Markdown remains detailed evidence.
|
|
151
|
-
6. On `changes_requested` from reviewers: hook sets `retryAfterFix` → developer → same reviewer.
|
|
154
|
+
5. Persist handoffs to disk (including `mockup-review.md` and `ux-design.md` when those producers ran) and update the producer-owned terminal receipt in `artifact-manifest.json`; Markdown remains detailed evidence.
|
|
155
|
+
6. On `changes_requested` from reviewers: hook sets `retryAfterFix` → developer → same reviewer. Exception: embedded `mockup-reviewer` FAIL → `awaiting_approval` / `/task-continue` only — do **not** retry `feature-developer`.
|
|
152
156
|
7. On `validation_failed` from `build-verifier`: hook sets `retryAfterFix: build-verifier` → developer → build-verifier.
|
|
153
157
|
8. When all steps complete, suggest `/technical-retro <slug>`.
|
|
154
158
|
9. If `autoChain: false` in pipeline, do not rely on hook — manual step only.
|
|
@@ -11,7 +11,7 @@ alwaysApply: false
|
|
|
11
11
|
|
|
12
12
|
Procedural rules for code generation and review. Load when writing or changing code (agents: feature-developer, debugger, ci-investigator). Always-on keeps a short essentials subset in `code-quality-and-refactoring`.
|
|
13
13
|
|
|
14
|
-
1. **Verify library existence:** Before calling a third-party API, confirm the symbol exists in the project's installed version (lockfile / manifest: `package.json`, `go.mod`, `Podfile.lock`, `pom.xml`, `Cargo.toml`, or equivalent). If you cannot verify, mark `// VERIFY: lib.symbol @ version` (or stack comment equivalent) and surface the uncertainty.
|
|
14
|
+
1. **Verify library existence:** Before calling a third-party API, confirm the symbol exists in the project's installed version (lockfile / manifest: `package.json`, `go.mod`, `Podfile.lock`, `pom.xml`, `Cargo.toml`, or equivalent). If that is not enough and Context7 MCP is available, load **`mcp-usage`** and query docs for the **installed major**. If you still cannot verify, mark `// VERIFY: lib.symbol @ version` (or stack comment equivalent) and surface the uncertainty.
|
|
15
15
|
2. **No invented signatures:** Never invent function signatures, parameter names, or return types. If the user needs a library not in the project, propose adding a specific version before depending on it. Silent stubs are worse than refusal.
|
|
16
16
|
3. **Enumerate edge cases before validating:** When asked "is this correct?" or "does this work?", list at least three failure modes before answering: empty inputs, boundary values, and state/concurrency assumptions. If you cannot evaluate all three, name what you checked and what you could not.
|
|
17
17
|
4. **Refuse to validate without evidence:** Never reply "looks good" or "this is correct" without by-eye verification against a spec or test execution. If no spec exists, ask for one or refuse to validate.
|
|
@@ -33,7 +33,7 @@ alwaysApply: true
|
|
|
33
33
|
|
|
34
34
|
Essentials below. Full procedural set (~17 rules) → load **`anti-sycophancy-discipline`**.
|
|
35
35
|
|
|
36
|
-
- Unverifiable third-party API → mark `// VERIFY: lib.symbol @ version` (or stack equivalent); never invent signatures.
|
|
36
|
+
- Unverifiable third-party API → if Context7 is up, load **`mcp-usage`** and query the installed major; else mark `// VERIFY: lib.symbol @ version` (or stack equivalent); never invent signatures.
|
|
37
37
|
- Before "is this correct?" — ≥3 failure modes (empty, boundary, concurrency/state) or name what you could not check.
|
|
38
38
|
- Refactor without tests → propose characterization test; if declined, label `UNTESTED`.
|
|
39
39
|
- Comments = WHY only when non-obvious; ban self-referential "added for issue Y".
|
|
@@ -9,6 +9,8 @@ alwaysApply: false
|
|
|
9
9
|
|
|
10
10
|
## Stack notes
|
|
11
11
|
|
|
12
|
+
When the prompt or `brief.md` contains a `figma.com` URL, **mockup review** (`mockup-reviewer` / skill `mockup-review`) must complete — or the user must continue past FAIL/`BLOCKED_MCP` via `/task-continue` — **before UI implementation**. Non-UI tasks no-op this gate. When required-signal and **no** `figma.com`, **`ux-design.md`** (on the analysis manifest entry) must exist and not be `INCOMPLETE` before UI work — else **blocked**, hand back to `task-analyst`. Parallel to the mockup gate.
|
|
13
|
+
|
|
12
14
|
Typical feature with backend data and shared state. Layer details — `architecture-boundaries.mdc`, `next-app-core.mdc`.
|
|
13
15
|
|
|
14
16
|
## Checklist (work order)
|
|
@@ -21,7 +23,7 @@ Typical feature with backend data and shared state. Layer details — `architect
|
|
|
21
23
|
6. **UI** — types from `@/types`, no DTOs (`react-ui.mdc`, `architecture-boundaries-ui.mdc`, `no-props-spread.mdc`).
|
|
22
24
|
7. **Mocks** — per repo layout; register in `app/src/mocks/handlers.ts` (see below).
|
|
23
25
|
8. **Tests** — unit for mappers (`tests-unit.mdc`); e2e from `*.cases.md` (`tests-e2e-structure.mdc`, `playwright-agents.mdc`).
|
|
24
|
-
9. **Completion** — **`post-change-lint.mdc`**: `lint:js` + `lint:css` + `type-check`; package manager — `package-manager.mdc`.
|
|
26
|
+
9. **Completion** — **`post-change-lint.mdc`**: `lint:js` + `lint:css` + `type-check`; package manager — `package-manager.mdc`. When the current WP spans **more than one** layer or module, `implementation.md` includes a **Code Map** (3–8 annotated paths) and **Suggested Review Order** (`concern | path:line | ≤15 word note`). Omit both for a single-file or single-layer WP.
|
|
25
27
|
|
|
26
28
|
## Data flow (orientation)
|
|
27
29
|
|
|
@@ -67,6 +69,7 @@ flowchart LR
|
|
|
67
69
|
- `{...props}` into components — `no-props-spread.mdc`.
|
|
68
70
|
- **Ubiquitous language:** Domain/type names reflect the feature’s subject domain — do not mix transport/framework terms into the domain without need.
|
|
69
71
|
- Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit.
|
|
72
|
+
- Do not mutate pipeline `status.json` / `metrics.json`; the orchestration hook is the single writer. Skills upsert the owned terminal receipt in `artifact-manifest.json`.
|
|
70
73
|
|
|
71
74
|
## Matrix: zone → rules
|
|
72
75
|
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: When to call shipped Context7 and local overlay MCP — detect presence, use if the task fits, degrade.
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- shared-core: quality/mcp-usage.md -->
|
|
7
|
+
|
|
8
|
+
# MCP usage
|
|
9
|
+
|
|
10
|
+
Requestable protocol for **shipped** and **local-overlay** MCP servers. Agents load this stem via one-liner wiring — do not copy tool schemas into prompts; discover them at runtime.
|
|
11
|
+
|
|
12
|
+
Does not replace Figma mockup-review (that checklist stays on `mockup-review`). Does not add pipeline agents or required handoff stems.
|
|
13
|
+
|
|
14
|
+
## Presence (runtime catalog is SoT)
|
|
15
|
+
|
|
16
|
+
1. Inspect the **session MCP catalog** (server names + `serverStatus`). Project `mcp.json` / `.mcp.json` is a hint, not proof the server is up (user-level and plugin servers never appear there).
|
|
17
|
+
2. Treat `error`, `needsAuth`, and `loading` as **unavailable**. Authenticate only when this task needs that server.
|
|
18
|
+
3. **Discover tool schemas before calling.** Never invent tool names or arguments from memory.
|
|
19
|
+
4. Match overlay servers by **documented aliases** or exact catalog ids. Prefer a ready `plugin-*` id over an unknown similarly named server; if several match, ask rather than guessing.
|
|
20
|
+
5. If two servers expose the same product (plugin + project entry), use the **ready** one; do not call both.
|
|
21
|
+
|
|
22
|
+
## Classes
|
|
23
|
+
|
|
24
|
+
| Class | Who adds it | Policy |
|
|
25
|
+
|-------|-------------|--------|
|
|
26
|
+
| **Shipped** | Preset `mcp.json` | Assume it should be there; call when the task fits; degrade if down (do not block unless noted below) |
|
|
27
|
+
| **Local overlay** | Consumer project or user MCP | Use only when present **and** the task fits. Never a required pipeline step |
|
|
28
|
+
|
|
29
|
+
Shipped in every preset: **Context7** (library docs). Other shipped servers are stack-specific — see adapter **Stack notes**.
|
|
30
|
+
|
|
31
|
+
## Context7 (shipped)
|
|
32
|
+
|
|
33
|
+
**When to call** (after lockfile / manifest + sibling files still do not confirm the symbol):
|
|
34
|
+
|
|
35
|
+
- Third-party API that would otherwise get `// VERIFY: lib.symbol @ version`
|
|
36
|
+
- Version-sensitive framework or SDK APIs
|
|
37
|
+
- Migrations / major upgrades
|
|
38
|
+
- Library is in the lockfile but the signature is unclear
|
|
39
|
+
|
|
40
|
+
**When not to call:** repo public API; a sibling file already imports the symbol; a trivial call already in this module.
|
|
41
|
+
|
|
42
|
+
**Flow:**
|
|
43
|
+
|
|
44
|
+
1. Discover server `context7`.
|
|
45
|
+
2. Resolve a library id, then query docs (read the live schema; typical names `resolve-library-id` then `query-docs`).
|
|
46
|
+
3. Put the **installed major** from the project manifest into the query.
|
|
47
|
+
4. Cap: **≤3 doc queries per question**.
|
|
48
|
+
5. Source priority: lockfile / sibling code **>** Context7 **>** training data. If docs disagree with the installed major, keep the installed API.
|
|
49
|
+
6. If Context7 is down: `// VERIFY` (or stack equivalent) and say MCP was unavailable. **Do not block** the task.
|
|
50
|
+
|
|
51
|
+
## Local overlay protocol
|
|
52
|
+
|
|
53
|
+
If a matching server is ready and a **task signal** fires → discover and use. Otherwise continue from files / native tools (`gh`, repo docs, source).
|
|
54
|
+
|
|
55
|
+
Absence of an overlay is **not** `BLOCKED` unless the user required that MCP as source of truth.
|
|
56
|
+
|
|
57
|
+
### Observability (Sentry, Datadog, similar)
|
|
58
|
+
|
|
59
|
+
**Signal:** production error, event/trace id, APM / latency, pasted dashboard or issue URL.
|
|
60
|
+
|
|
61
|
+
Use the **first ready** observability MCP. Do not invent metrics or stack traces. Do not require two observability servers.
|
|
62
|
+
|
|
63
|
+
### Tickets (Linear, Jira, Notion, similar)
|
|
64
|
+
|
|
65
|
+
**Signal:** ticket/page URL in the prompt or brief, or an explicit “pull from \<tracker\>”.
|
|
66
|
+
|
|
67
|
+
Read-only by default. Task-folder artifacts (`brief.md`, `decomposition.md`) remain SoT — do not replace them with a tracker page. Write back to the tracker **only** if the user asked.
|
|
68
|
+
|
|
69
|
+
### Component-library overlay
|
|
70
|
+
|
|
71
|
+
**Signal:** UI component public API, stories, controls, or explicit component-docs MCP.
|
|
72
|
+
|
|
73
|
+
If such a server is ready, use it for documented props/variants instead of inventing them. If it is down, read story/source files. **Block** only when the user required that MCP as SoT.
|
|
74
|
+
|
|
75
|
+
Usual aliases and runtime needs live in frontend **Stack notes**. Do not ship this server in preset `mcp.json`.
|
|
76
|
+
|
|
77
|
+
### GitHub MCP
|
|
78
|
+
|
|
79
|
+
Native `gh` / git remain SoT for PRs and checks. A GitHub MCP may be used when present; do not require it.
|
|
80
|
+
|
|
81
|
+
## Figma
|
|
82
|
+
|
|
83
|
+
Policy is stack-class-specific — see adapter **Stack notes**. If a Figma **plugin** and a project `figma` server are both present, use the ready one and do not duplicate calls.
|
|
84
|
+
|
|
85
|
+
## Forbidden
|
|
86
|
+
|
|
87
|
+
- Secrets in `mcp.json` / `.mcp.json`
|
|
88
|
+
- New pipeline agents or required handoffs for overlay MCP
|
|
89
|
+
- Treating overlay absence as blocked (except user-required SoT)
|
|
90
|
+
- Tracker/admin write tools without an explicit ask
|
|
91
|
+
- Calling overlay MCP “just in case” on unrelated tasks
|
|
92
|
+
|
|
93
|
+
## Stack notes
|
|
94
|
+
|
|
95
|
+
- Pipeline **`mockup-reviewer`** is the only agent that reads Figma for mockup review. See `mockup-review`.
|
|
96
|
+
- Shipped besides Context7: browser automation MCP (`playwright` / `playwright-test` / `user-playwright`) and `chrome-devtools`.
|
|
97
|
+
- **Split:** Playwright MCP → e2e agents (planner/generator/healer), selector checks, spec reproduction. Chrome DevTools MCP → `debugger` / `performance-auditor` against a **running app** (console, network, traces). Not a substitute for e2e.
|
|
98
|
+
- **Storybook overlay** (not shipped): aliases `storybook`, `user-storybook`, `plugin-storybook`, `storybook-mcp-addon`. Needs Storybook running (often `http://localhost:6006/mcp`). Discover docs/dev/testing toolsets. If down, read story/source files. Block only if the user required Storybook MCP as SoT.
|
|
99
|
+
- `init` **merges** `mcpServers`: preset keys update; extra local servers are kept. User-level MCP is never touched.
|
|
100
|
+
- If a Figma plugin is already connected, do not also require the project `figma` server.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Figma mockup review checklist (DS, coverage, viewports). On-demand — load via mockup-reviewer / skill mockup-review.
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- shared-core: review/mockup-review.md -->
|
|
7
|
+
|
|
8
|
+
# Mockup review checklist
|
|
9
|
+
|
|
10
|
+
On-demand reviewer checklist for Figma mockups. **Procedure:** skill `mockup-review`. **Agent:** `mockup-reviewer`. Do not inline this checklist into the agent prompt.
|
|
11
|
+
|
|
12
|
+
Stack-agnostic: no app-source globs, Playwright, or `xcodebuild`. Breakpoint **examples** live in adapter **Stack notes** only — do not FAIL on exact pixels.
|
|
13
|
+
|
|
14
|
+
## When to load
|
|
15
|
+
|
|
16
|
+
- Pipeline step `mockup-reviewer` (standalone intent `mockup-review` or embedded after analyst)
|
|
17
|
+
- Prompt or `brief.md` contains a `figma.com` URL on a UI-capable stack
|
|
18
|
+
- User asks to review a mockup / Figma file (not a code MR)
|
|
19
|
+
|
|
20
|
+
## Inputs
|
|
21
|
+
|
|
22
|
+
1. Task `artifact-manifest.json`, then prompt Figma URL(s); `brief.md` / `decomposition.md` when present
|
|
23
|
+
2. Skill `mockup-review` + this rule
|
|
24
|
+
3. If plugin skills `figma-use` / `figma-design-to-code` are installed: **reference** them for URL parse and MCP invocation only — do not copy their bodies; do not run design-to-code
|
|
25
|
+
|
|
26
|
+
## MCP-first
|
|
27
|
+
|
|
28
|
+
Required when MCP is up: `get_metadata`, `get_design_context`, `search_design_system`, `get_variable_defs`, `get_screenshot`. Optional: `get_libraries`, `get_code_connect_map`.
|
|
29
|
+
|
|
30
|
+
**Forbidden:** `use_figma`, `create_new_file`, `generate_*`, `weave_*`, `upload_assets`, `send_code_connect_mappings`. FigJam URL → `BLOCKED_MCP` / out of scope (do not call `get_figjam` unless the URL is a FigJam board — then still `BLOCKED_MCP`).
|
|
31
|
+
|
|
32
|
+
Cite `fileKey` + node IDs. Screenshots are supporting evidence, not a second reviewer. No screenshot-only path.
|
|
33
|
+
|
|
34
|
+
**Node caps:** ≤12 screen-level frames; `get_metadata` depth ≤3 named-frame levels; ≤3 screenshots (prefer one per small/medium/large). `search_design_system` once; `get_variable_defs` once per file. No node-id on URL: pick top-level frames matching the feature name; if still unbounded → `BLOCKED_MCP` (or `PASS_WITH_NOTES` only if MCP returned a tiny file) — do not dump the whole file.
|
|
35
|
+
|
|
36
|
+
**Degradation:** MCP unavailable or OAuth fail → verdict `BLOCKED_MCP`. Do **not** invent DS compliance claims.
|
|
37
|
+
|
|
38
|
+
## Review dimensions
|
|
39
|
+
|
|
40
|
+
### DS components (AC-4)
|
|
41
|
+
|
|
42
|
+
When an attached library is detectable (`search_design_system` / `get_metadata`): list **library component instances vs custom frames** with file/node references. Flag substitutions where a DS equivalent exists.
|
|
43
|
+
|
|
44
|
+
- Critical DS reimplementation (custom frame where an attached-library component exists) → **FAIL**
|
|
45
|
+
- One-off frame, no DS equivalent; mixed/unpublished library → WARN or notes (`PASS_WITH_NOTES`)
|
|
46
|
+
- No attached library detectable → notes only; do not invent DS claims (`PASS_WITH_NOTES`)
|
|
47
|
+
|
|
48
|
+
Confidence: `high` (MCP library match) / `low` (unpublished or mixed) — prefer `PASS_WITH_NOTES` over FAIL when confidence is low.
|
|
49
|
+
|
|
50
|
+
### Tokens (AC-5)
|
|
51
|
+
|
|
52
|
+
When variables/styles are available (`get_variable_defs`, style metadata): flag fills, strokes, spacing, or typography that use raw values instead of bound variables/styles.
|
|
53
|
+
|
|
54
|
+
- Isolated unbound values → **WARN** (`PASS_WITH_NOTES`)
|
|
55
|
+
- Wholesale token ignore on a library-attached file (systemic; treat as critical DS with AC-4) → **FAIL**
|
|
56
|
+
|
|
57
|
+
### Quality (AC-6)
|
|
58
|
+
|
|
59
|
+
Cover at minimum, each item PASS / WARN / FAIL eligible:
|
|
60
|
+
|
|
61
|
+
- Layer/frame naming hygiene
|
|
62
|
+
- Auto-layout vs absolute positioning for responsive regions
|
|
63
|
+
- Text style usage
|
|
64
|
+
- Component variant/property correctness
|
|
65
|
+
- Detached or orphaned component instances
|
|
66
|
+
|
|
67
|
+
Naming hygiene, minor detached instances, text-style drift → **WARN**. Detached **core** DS component that is a substitution → **FAIL** (same as AC-4 critical). Absolute layout on a region that is the only «responsive» evidence → WARN unless it also fails viewports.
|
|
68
|
+
|
|
69
|
+
### Feature coverage (AC-7)
|
|
70
|
+
|
|
71
|
+
Map **flows → screens/frames**, **actions → interactive elements**, and **states** (empty, loading, error, success, disabled/validation). List explicit **missing** items. Label scope **`inferred`** when only a URL is provided (no brief AC).
|
|
72
|
+
|
|
73
|
+
- Missing **core** flow or primary action from brief AC (or labeled `inferred` primary flow from the URL) → **FAIL**
|
|
74
|
+
- Missing empty/loading/error/success on a form/list called out in AC → **FAIL**
|
|
75
|
+
- Missing secondary states (disabled/validation) not in AC → **WARN**
|
|
76
|
+
|
|
77
|
+
### Viewports (AC-8)
|
|
78
|
+
|
|
79
|
+
Verify **≥3 viewport representations** (small / medium / large) via dedicated frames, Figma viewport presets, or responsive component variants.
|
|
80
|
+
|
|
81
|
+
- Fewer than 3 → **FAIL**
|
|
82
|
+
- 3 exist but sizes ≠ stack example buckets → **WARN** only (no exact pixel enforcement in core)
|
|
83
|
+
|
|
84
|
+
## Severity (v1)
|
|
85
|
+
|
|
86
|
+
Isolated **WARN** never blocks. Overall verdict = worst FAIL > BLOCKED_MCP > PASS_WITH_NOTES > PASS. Multiple WARNs without FAIL → `PASS_WITH_NOTES`, not FAIL.
|
|
87
|
+
|
|
88
|
+
## Report headings
|
|
89
|
+
|
|
90
|
+
Write `mockup-review.md` with these headings (must match the agent template):
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
# Mockup review: <slug>
|
|
94
|
+
|
|
95
|
+
## Verdict
|
|
96
|
+
PASS | PASS_WITH_NOTES | FAIL | BLOCKED_MCP
|
|
97
|
+
|
|
98
|
+
## Scope
|
|
99
|
+
- Figma fileKey / node IDs
|
|
100
|
+
- MCP: available | unavailable (reason)
|
|
101
|
+
- Feature scope source: brief AC | prompt | inferred
|
|
102
|
+
|
|
103
|
+
## Critical (must fix)
|
|
104
|
+
## Warnings (should fix)
|
|
105
|
+
## Suggestions
|
|
106
|
+
## DS compliance (AC-4, AC-5)
|
|
107
|
+
## Quality (AC-6)
|
|
108
|
+
## Feature coverage (AC-7)
|
|
109
|
+
## Viewport matrix (AC-8)
|
|
110
|
+
## AC coverage
|
|
111
|
+
| Criterion | Status | Notes |
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Stack notes
|
|
115
|
+
|
|
116
|
+
Illustrative web buckets (not enforced pixels): ~375 / ~768 / ~1280 mapped to small / medium / large.
|
|
@@ -23,6 +23,7 @@ Ban leakage of stack-specific names, paths, and handoff stems across presets.
|
|
|
23
23
|
- `go` / `java` / `php-hexagonal` / `php-laravel` / `mcp-ts` must not ship Playwright, XCUITest, Android instrumentation agents, Next lint recipes, or `xcodebuild`/`SwiftLint` as required handoffs.
|
|
24
24
|
- `mcp-ts` must not ship Go tool commands (`go test`, `go vet`, `golangci-lint`) or `integration-test-*` agents as required delivery gates.
|
|
25
25
|
- Shared core must not embed stack paths (`app/src/**`, `Features/**`, `playwright`, `xcodebuild`).
|
|
26
|
+
- Storybook / Chrome DevTools MCP must **not** be required handoffs or agent stems (`storybook-reviewer`) on backend or mobile stacks. Frontend overlay mentions in `MCP.md` / `mcp-usage` Stack notes are OK.
|
|
26
27
|
|
|
27
28
|
## Forbidden in ios-swift hooks/agents (FAIL)
|
|
28
29
|
|
|
@@ -70,7 +71,8 @@ Shared backend-stack bans (`go`, `java`, `php-hexagonal`, and `php-laravel`):
|
|
|
70
71
|
- `playwright-test-`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`
|
|
71
72
|
- Positive yarn recipes `lint:js` / `lint:css`
|
|
72
73
|
- `xcuitest-test-`, `instrumentation-test-`, `xcodebuild`, `SwiftLint` as required handoffs
|
|
73
|
-
- Agent
|
|
74
|
+
- Agent files `accessibility-reviewer`, `mockup-reviewer`, `ux-designer` (no UI surface)
|
|
75
|
+
- Required `skills/ux-design`, required `rules/ux-design`, or required pipeline handoff stem `ux-design`
|
|
74
76
|
|
|
75
77
|
Required instead: `integration-test-*`; build-verifier / `post-change-test` plus stack tooling — `go-tooling` (`go test`, `go vet`), `java-tooling` (`mvn test` / `./gradlew test`), or `php-tooling` (`php artisan test` / `composer test` / `vendor/bin/phpunit`).
|
|
76
78
|
|
|
@@ -82,7 +84,8 @@ Same UI/mobile bans as backend stacks, plus:
|
|
|
82
84
|
- Positive yarn recipes `lint:js` / `lint:css` as required gates
|
|
83
85
|
- `xcuitest-test-`, `instrumentation-test-`, `xcodebuild`, `SwiftLint` as required handoffs
|
|
84
86
|
- Go tool commands as required MCP delivery gates: `go test`, `go vet`, `golangci-lint`
|
|
85
|
-
- Agent files: `playwright-test-*`, `xcuitest-test-*`, `instrumentation-test-*`, `integration-test-*`, `accessibility-reviewer`
|
|
87
|
+
- Agent files: `playwright-test-*`, `xcuitest-test-*`, `instrumentation-test-*`, `integration-test-*`, `accessibility-reviewer`, `mockup-reviewer`, `ux-designer`
|
|
88
|
+
- Required `skills/ux-design`, required `rules/ux-design`, or required pipeline handoff stem `ux-design`
|
|
86
89
|
|
|
87
90
|
Required instead: package-manager–discovered typecheck/test (`mcp-ts-tooling`, `post-change-test`); Phase 1 gates `build-verifier` + `security-reviewer`.
|
|
88
91
|
|
|
@@ -11,6 +11,8 @@ alwaysApply: false
|
|
|
11
11
|
|
|
12
12
|
Load when **Generate** or **Bootstrap** is requested (`/spec-start`, router `spec-gen`, brief AC, or analyst author mode). Discovery-only work stays on **`product-specs`**.
|
|
13
13
|
|
|
14
|
+
**Optional prefix:** when the user or AC asks **research-before-spec**, load skill **`spec-discovery`** first (subset of methods; **claim-ledger** mandatory). Not the default `/task` consume path and not a new pipeline step.
|
|
15
|
+
|
|
14
16
|
## Modes
|
|
15
17
|
|
|
16
18
|
1. **Consume** — default; never invent INDEX/specs (see `product-specs`).
|
|
@@ -84,7 +86,7 @@ Compliant = valid frontmatter + all required headings present (non-empty prose o
|
|
|
84
86
|
|
|
85
87
|
## Templates & assets
|
|
86
88
|
|
|
87
|
-
**Package SoT:** `packages/ai-rules/presets/_shared/assets/docs-specs/` (`INDEX.md` stub, `_templates/page.md`, `_templates/feature.md`;
|
|
89
|
+
**Package SoT:** `packages/ai-rules/presets/_shared/assets/docs-specs/` (`INDEX.md` stub, `_templates/page.md`, `_templates/feature.md`; `schemas/frontmatter-v1.schema.json` is a documentation artifact — the checker does not evaluate it).
|
|
88
90
|
|
|
89
91
|
**CLI `init`:** when consumer `docs/specs/` is **absent**, copy INDEX stub + `_templates/*` (idempotent; **never overwrite** existing INDEX). When the tree already exists, skip seed entirely.
|
|
90
92
|
|
|
@@ -94,7 +96,7 @@ Compliant = valid frontmatter + all required headings present (non-empty prose o
|
|
|
94
96
|
|
|
95
97
|
| Role | Responsibility |
|
|
96
98
|
|------|----------------|
|
|
97
|
-
| **task-analyst** | Primary author (Generate + Bootstrap); INDEX bootstrap; brief **Related specs** + **Spec gaps / generation requested**; loads this stem + skill `spec-authoring` |
|
|
99
|
+
| **task-analyst** | Primary author (Generate + Bootstrap); INDEX bootstrap; brief **Related specs** + **Spec gaps / generation requested**; loads this stem + skill `spec-authoring`; optional skill `spec-discovery` when research-before-spec |
|
|
98
100
|
| **tech-writer** | Post-delivery sync where present; never invent product behavior without AC/code source |
|
|
99
101
|
| **feature-developer** | Consumes approved specs as SoT; mechanical INDEX/frontmatter fixes only on renames |
|
|
100
102
|
| **mcp-ts** | No tech-writer — author + post-sync via **task-analyst** only |
|
|
@@ -113,8 +115,8 @@ Block handoff via `open_questions` until fixed:
|
|
|
113
115
|
|
|
114
116
|
- `product-specs` — discovery / consume
|
|
115
117
|
- Skill `spec-authoring` — procedural checklist
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
+
- Skill `spec-discovery` — opt-in research-before-spec (not default)
|
|
119
|
+
- Optional consumer script `scripts/check-product-specs.sh` (ships in the npm package; WARN default; `--strict` FAIL). Bash checks INDEX links, required frontmatter keys, and body headings — it does **not** evaluate `frontmatter-v1.schema.json`
|
|
118
120
|
|
|
119
121
|
## Stack notes
|
|
120
122
|
|
|
@@ -13,6 +13,8 @@ Product page/feature **behavior** specs live under the consumer repo `docs/specs
|
|
|
13
13
|
|
|
14
14
|
**Authoring** (Generate / Bootstrap modes, INDEX/frontmatter v1, body checklist, greenfield, conflict precedence) → load **`product-specs-authoring`** when generation is requested (`/spec-start`, brief AC, or router `spec-gen`).
|
|
15
15
|
|
|
16
|
+
**Pipeline `specMode`:** `consume` (this stem) · `generate` (authoring stem) · `none` (spike/research — skip INDEX row requirement; do not invent a dummy INDEX). Primary field: `brief.md` `## Spec mode`; optional `pipeline.json` `specMode`.
|
|
17
|
+
|
|
16
18
|
## Modes (summary)
|
|
17
19
|
|
|
18
20
|
| Mode | When | Behavior |
|
|
@@ -20,19 +22,21 @@ Product page/feature **behavior** specs live under the consumer repo `docs/specs
|
|
|
20
22
|
| **Consume** (default) | INDEX exists or globs hit `docs/specs/**` without generate intent | Discover via INDEX; soft-fail on miss; **never invent** INDEX/specs |
|
|
21
23
|
| **Generate** | Explicit generate intent / AC / `/spec-start` with existing tree | Create/update page/feature specs + INDEX from stated sources |
|
|
22
24
|
| **Bootstrap** | Explicit bootstrap / `/spec-start` when tree absent | Create INDEX + templates + first domain spec |
|
|
25
|
+
| **None** (`specMode: none`) | Spike / research / preset-only | Skip INDEX requirement and author mode; no dummy INDEX row |
|
|
23
26
|
|
|
24
27
|
Greenfield: agents may create INDEX/specs **only** on explicit intent, AC, or `/spec-start`. Missing INDEX alone does **not** authorize inventing the tree.
|
|
25
28
|
|
|
26
29
|
## Presence policy
|
|
27
30
|
|
|
31
|
+
- If `specMode` is **`none`** → do **not** require an INDEX row; continue from brief/AC. Do not invent INDEX.
|
|
28
32
|
- If `docs/specs/INDEX.md` is **missing** → the tree is **optional** (greenfield OK for *consume*). Continue with code/brief discovery; do not invent an INDEX solely because this stem loaded.
|
|
29
|
-
- If INDEX **exists** → it is the **required discovery path** for work that touches a listed page, feature, route, or alias.
|
|
33
|
+
- If INDEX **exists** and `specMode` is not `none` → it is the **required discovery path** for work that touches a listed page, feature, route, or alias.
|
|
30
34
|
|
|
31
35
|
## Discovery algorithm
|
|
32
36
|
|
|
33
|
-
1. Always start at `docs/specs/INDEX.md` when present.
|
|
37
|
+
1. Always start at `docs/specs/INDEX.md` when present (skip when `specMode: none`).
|
|
34
38
|
2. Resolve the entry by: route, stable `id`, PageName / alias, or domain folder.
|
|
35
|
-
3. Read the linked page spec
|
|
39
|
+
3. Read the **linked page** spec and, when INDEX or page Related links it, the optional domain `feature.md`. Do **not** dump the whole `docs/specs/**` tree into the prompt — locator = those linked files.
|
|
36
40
|
|
|
37
41
|
## Miss policy (INDEX present, row or file missing)
|
|
38
42
|
|
|
@@ -54,10 +58,10 @@ Same-changeset INDEX updates, frontmatter v1, required body headings, templates,
|
|
|
54
58
|
## Related
|
|
55
59
|
|
|
56
60
|
- `product-specs-authoring` — generation modes, contracts, self-check.
|
|
61
|
+
- Skill `spec-discovery` — opt-in research-before-spec (author mode only; not default consume).
|
|
57
62
|
- `reference-features` — code structure mirror (how to layout files), not product behavior.
|
|
58
63
|
- Consumer `.ai/context/**` when present — review/domain glossary; cross-link, do not replace.
|
|
59
64
|
|
|
60
|
-
|
|
61
65
|
## Stack notes
|
|
62
66
|
|
|
63
67
|
- `routes`: app URL paths. `ui` / `store`: presentation + RTK/store paths (e.g. `app/src/ui/pages/...`). `e2e`: Playwright paths under `app/__tests__/e2e/**` (or repo equivalent).
|
|
@@ -74,4 +74,9 @@ it('returns empty list when guest', () => {})
|
|
|
74
74
|
|
|
75
75
|
## Correct
|
|
76
76
|
|
|
77
|
+
```ts
|
|
78
|
+
it('Возвращает пустой список. Пользователь не авторизован', () => {})
|
|
79
|
+
```
|
|
80
|
+
<!-- i18n-keep: E5 -->
|
|
81
|
+
|
|
77
82
|
- `it('Возвращает пустой список. Пользователь не авторизован', () => {})` <!-- i18n-keep: E5 -->
|