@bonesofspring/ai-rules 0.2.16 → 0.2.18
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 +41 -0
- package/README.md +19 -2
- package/bin/cli.js +39 -0
- package/package.json +3 -1
- package/presets/_shared/README.md +3 -3
- package/presets/_shared/assets/docs-specs/INDEX.md +9 -0
- package/presets/_shared/assets/docs-specs/_templates/feature.md +32 -0
- package/presets/_shared/assets/docs-specs/_templates/page.md +47 -0
- package/presets/_shared/assets/docs-specs/schemas/frontmatter-v1.schema.json +22 -0
- package/presets/_shared/core/agent-team/agent-artifact-contracts.md +3 -0
- package/presets/_shared/core/agent-team/agent-team-orchestrator.md +4 -4
- package/presets/_shared/core/architecture/feature-delivery-workflow.md +1 -1
- package/presets/_shared/core/architecture/product-specs-authoring.md +107 -0
- package/presets/_shared/core/architecture/product-specs.md +49 -0
- package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +4 -2
- 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/agents/README.md +2 -2
- package/presets/claude/android-kotlin/agents/build-verifier.md +9 -0
- package/presets/claude/android-kotlin/agents/code-reviewer.md +2 -0
- package/presets/claude/android-kotlin/agents/feature-developer.md +13 -0
- package/presets/claude/android-kotlin/agents/mockup-reviewer.md +59 -0
- package/presets/claude/android-kotlin/agents/task-analyst.md +37 -1
- package/presets/claude/android-kotlin/agents/task-router.md +22 -2
- package/presets/claude/android-kotlin/agents/tech-writer.md +5 -0
- package/presets/claude/android-kotlin/commands/feature-continue.md +4 -0
- package/presets/claude/android-kotlin/commands/feature-start.md +8 -0
- package/presets/claude/android-kotlin/commands/spec-start.md +29 -0
- package/presets/claude/android-kotlin/commands/task-continue.md +11 -6
- 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/rules/README.md +4 -0
- package/presets/claude/android-kotlin/rules/architecture/feature-delivery.md +6 -0
- package/presets/claude/android-kotlin/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/android-kotlin/rules/architecture/product-specs.md +62 -0
- package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +8 -3
- 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 +4 -3
- package/presets/claude/android-kotlin/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/android-kotlin/skills/README.md +2 -0
- package/presets/claude/android-kotlin/skills/feature-delivery/SKILL.md +8 -4
- package/presets/claude/android-kotlin/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/android-kotlin/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/android-kotlin/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/android-kotlin/team/fixtures/artifact-manifest.example.json +25 -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/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 +1 -1
- package/presets/claude/go/agents/build-verifier.md +9 -0
- package/presets/claude/go/agents/code-reviewer.md +2 -0
- package/presets/claude/go/agents/feature-developer.md +7 -0
- package/presets/claude/go/agents/task-analyst.md +19 -0
- package/presets/claude/go/agents/task-router.md +12 -1
- package/presets/claude/go/agents/tech-writer.md +5 -0
- package/presets/claude/go/commands/feature-continue.md +1 -0
- package/presets/claude/go/commands/feature-start.md +8 -0
- package/presets/claude/go/commands/spec-start.md +29 -0
- package/presets/claude/go/commands/task-continue.md +6 -3
- package/presets/claude/go/rules/README.md +2 -0
- package/presets/claude/go/rules/architecture/feature-delivery.md +4 -0
- package/presets/claude/go/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/go/rules/architecture/product-specs.md +63 -0
- package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
- package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +4 -2
- package/presets/claude/go/skills/feature-delivery/SKILL.md +5 -4
- package/presets/claude/go/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/ios-swift/agents/README.md +2 -2
- package/presets/claude/ios-swift/agents/build-verifier.md +9 -0
- package/presets/claude/ios-swift/agents/code-reviewer.md +2 -0
- package/presets/claude/ios-swift/agents/feature-developer.md +13 -0
- package/presets/claude/ios-swift/agents/mockup-reviewer.md +59 -0
- package/presets/claude/ios-swift/agents/task-analyst.md +37 -1
- package/presets/claude/ios-swift/agents/task-router.md +22 -2
- package/presets/claude/ios-swift/agents/tech-writer.md +2 -15
- package/presets/claude/ios-swift/commands/feature-continue.md +4 -0
- package/presets/claude/ios-swift/commands/feature-start.md +8 -0
- package/presets/claude/ios-swift/commands/spec-start.md +29 -0
- package/presets/claude/ios-swift/commands/task-continue.md +11 -6
- 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/rules/README.md +7 -0
- package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +6 -0
- package/presets/claude/ios-swift/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/ios-swift/rules/architecture/product-specs.md +62 -0
- package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +8 -3
- 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 +4 -2
- package/presets/claude/ios-swift/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/ios-swift/skills/README.md +2 -0
- package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +8 -4
- package/presets/claude/ios-swift/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/ios-swift/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/ios-swift/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/ios-swift/team/fixtures/artifact-manifest.example.json +25 -0
- 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/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/agents/build-verifier.md +10 -1
- package/presets/claude/java/agents/code-reviewer.md +2 -0
- package/presets/claude/java/agents/feature-developer.md +7 -0
- package/presets/claude/java/agents/task-analyst.md +19 -0
- package/presets/claude/java/agents/task-router.md +12 -1
- package/presets/claude/java/agents/tech-writer.md +5 -0
- package/presets/claude/java/commands/feature-continue.md +1 -0
- package/presets/claude/java/commands/feature-start.md +8 -0
- package/presets/claude/java/commands/spec-start.md +29 -0
- package/presets/claude/java/commands/task-continue.md +6 -3
- package/presets/claude/java/rules/README.md +2 -0
- package/presets/claude/java/rules/architecture/feature-delivery.md +4 -0
- package/presets/claude/java/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/java/rules/architecture/product-specs.md +63 -0
- package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
- package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +4 -2
- package/presets/claude/java/skills/feature-delivery/SKILL.md +5 -4
- package/presets/claude/java/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/mcp-ts/agents/build-verifier.md +10 -1
- package/presets/claude/mcp-ts/agents/feature-developer.md +7 -0
- package/presets/claude/mcp-ts/agents/task-analyst.md +21 -0
- package/presets/claude/mcp-ts/agents/task-router.md +12 -1
- package/presets/claude/mcp-ts/commands/feature-continue.md +4 -0
- package/presets/claude/mcp-ts/commands/feature-start.md +8 -0
- package/presets/claude/mcp-ts/commands/spec-start.md +29 -0
- package/presets/claude/mcp-ts/commands/task-continue.md +6 -3
- package/presets/claude/mcp-ts/rules/README.md +2 -0
- package/presets/claude/mcp-ts/rules/architecture/feature-delivery.md +4 -0
- package/presets/claude/mcp-ts/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/mcp-ts/rules/architecture/product-specs.md +63 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
- package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +4 -2
- package/presets/claude/mcp-ts/skills/feature-delivery/SKILL.md +4 -3
- package/presets/claude/mcp-ts/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/next/agents/README.md +2 -1
- package/presets/claude/next/agents/build-verifier.md +9 -0
- package/presets/claude/next/agents/code-reviewer.md +1 -0
- package/presets/claude/next/agents/feature-developer.md +13 -0
- package/presets/claude/next/agents/mockup-reviewer.md +59 -0
- package/presets/claude/next/agents/task-analyst.md +37 -1
- package/presets/claude/next/agents/task-router.md +23 -3
- package/presets/claude/next/agents/tech-writer.md +5 -0
- package/presets/claude/next/commands/feature-continue.md +1 -0
- package/presets/claude/next/commands/feature-start.md +8 -0
- package/presets/claude/next/commands/spec-start.md +29 -0
- package/presets/claude/next/commands/task-continue.md +11 -6
- package/presets/claude/next/commands/task.md +2 -0
- package/presets/claude/next/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/next/rules/README.md +8 -1
- package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +6 -0
- package/presets/claude/next/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/next/rules/architecture/product-specs.md +63 -0
- package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +8 -3
- 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 +4 -2
- package/presets/claude/next/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/next/skills/README.md +2 -0
- package/presets/claude/next/skills/feature-delivery/SKILL.md +7 -3
- package/presets/claude/next/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/next/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/next/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/next/team/fixtures/artifact-manifest.example.json +20 -2
- 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/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/agents/README.md +2 -1
- package/presets/claude/nuxt/agents/build-verifier.md +9 -0
- package/presets/claude/nuxt/agents/code-reviewer.md +2 -0
- package/presets/claude/nuxt/agents/feature-developer.md +13 -0
- package/presets/claude/nuxt/agents/mockup-reviewer.md +59 -0
- package/presets/claude/nuxt/agents/task-analyst.md +37 -1
- package/presets/claude/nuxt/agents/task-router.md +23 -3
- package/presets/claude/nuxt/agents/tech-writer.md +5 -0
- package/presets/claude/nuxt/commands/feature-continue.md +4 -0
- package/presets/claude/nuxt/commands/feature-start.md +8 -0
- package/presets/claude/nuxt/commands/spec-start.md +29 -0
- package/presets/claude/nuxt/commands/task-continue.md +11 -6
- package/presets/claude/nuxt/commands/task.md +2 -0
- package/presets/claude/nuxt/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/nuxt/rules/README.md +7 -0
- package/presets/claude/nuxt/rules/architecture/feature-delivery-workflow.md +6 -0
- package/presets/claude/nuxt/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/nuxt/rules/architecture/product-specs.md +62 -0
- package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +8 -3
- 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 +4 -2
- package/presets/claude/nuxt/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/nuxt/skills/README.md +2 -0
- package/presets/claude/nuxt/skills/feature-delivery/SKILL.md +7 -3
- package/presets/claude/nuxt/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/nuxt/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/nuxt/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/nuxt/team/fixtures/artifact-manifest.example.json +20 -2
- 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/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/agents/build-verifier.md +10 -1
- package/presets/claude/php-hexagonal/agents/code-reviewer.md +2 -0
- package/presets/claude/php-hexagonal/agents/feature-developer.md +7 -0
- package/presets/claude/php-hexagonal/agents/task-analyst.md +19 -0
- package/presets/claude/php-hexagonal/agents/task-router.md +12 -1
- package/presets/claude/php-hexagonal/agents/tech-writer.md +5 -0
- package/presets/claude/php-hexagonal/commands/feature-continue.md +1 -0
- package/presets/claude/php-hexagonal/commands/feature-start.md +8 -0
- package/presets/claude/php-hexagonal/commands/spec-start.md +29 -0
- package/presets/claude/php-hexagonal/commands/task-continue.md +6 -3
- package/presets/claude/php-hexagonal/rules/README.md +2 -0
- package/presets/claude/php-hexagonal/rules/architecture/feature-delivery.md +4 -0
- package/presets/claude/php-hexagonal/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/php-hexagonal/rules/architecture/product-specs.md +63 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
- package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +4 -2
- package/presets/claude/php-hexagonal/skills/feature-delivery/SKILL.md +5 -4
- package/presets/claude/php-hexagonal/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/php-laravel/agents/build-verifier.md +10 -1
- package/presets/claude/php-laravel/agents/code-reviewer.md +2 -0
- package/presets/claude/php-laravel/agents/feature-developer.md +7 -0
- package/presets/claude/php-laravel/agents/task-analyst.md +19 -0
- package/presets/claude/php-laravel/agents/task-router.md +12 -1
- package/presets/claude/php-laravel/agents/tech-writer.md +5 -0
- package/presets/claude/php-laravel/commands/feature-continue.md +1 -0
- package/presets/claude/php-laravel/commands/feature-start.md +8 -0
- package/presets/claude/php-laravel/commands/spec-start.md +29 -0
- package/presets/claude/php-laravel/commands/task-continue.md +6 -3
- package/presets/claude/php-laravel/rules/README.md +2 -0
- package/presets/claude/php-laravel/rules/architecture/feature-delivery.md +4 -0
- package/presets/claude/php-laravel/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/php-laravel/rules/architecture/product-specs.md +63 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +2 -0
- package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +4 -2
- package/presets/claude/php-laravel/skills/feature-delivery/SKILL.md +5 -4
- package/presets/claude/php-laravel/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/svelte/agents/README.md +2 -1
- package/presets/claude/svelte/agents/build-verifier.md +9 -0
- package/presets/claude/svelte/agents/code-reviewer.md +2 -0
- package/presets/claude/svelte/agents/feature-developer.md +13 -0
- package/presets/claude/svelte/agents/mockup-reviewer.md +59 -0
- package/presets/claude/svelte/agents/task-analyst.md +37 -1
- package/presets/claude/svelte/agents/task-router.md +23 -3
- package/presets/claude/svelte/agents/tech-writer.md +5 -0
- package/presets/claude/svelte/commands/feature-continue.md +4 -0
- package/presets/claude/svelte/commands/feature-start.md +8 -0
- package/presets/claude/svelte/commands/spec-start.md +29 -0
- package/presets/claude/svelte/commands/task-continue.md +11 -6
- package/presets/claude/svelte/commands/task.md +2 -0
- package/presets/claude/svelte/hooks/chain-team-phases.sh +26 -0
- package/presets/claude/svelte/rules/README.md +7 -0
- package/presets/claude/svelte/rules/architecture/feature-delivery-workflow.md +6 -0
- package/presets/claude/svelte/rules/architecture/product-specs-authoring.md +121 -0
- package/presets/claude/svelte/rules/architecture/product-specs.md +62 -0
- package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +8 -3
- 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 +4 -2
- package/presets/claude/svelte/rules/tooling-and-review/ux-design.md +110 -0
- package/presets/claude/svelte/skills/README.md +2 -0
- package/presets/claude/svelte/skills/feature-delivery/SKILL.md +7 -3
- package/presets/claude/svelte/skills/mockup-review/SKILL.md +29 -0
- package/presets/claude/svelte/skills/spec-authoring/SKILL.md +26 -0
- package/presets/claude/svelte/skills/ux-design/SKILL.md +36 -0
- package/presets/claude/svelte/team/fixtures/artifact-manifest.example.json +20 -2
- 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/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/agents/README.md +2 -2
- package/presets/cursor/android-kotlin/agents/build-verifier.md +9 -0
- package/presets/cursor/android-kotlin/agents/code-reviewer.md +2 -0
- package/presets/cursor/android-kotlin/agents/feature-developer.md +13 -0
- package/presets/cursor/android-kotlin/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/android-kotlin/agents/task-analyst.md +37 -1
- package/presets/cursor/android-kotlin/agents/task-router.md +22 -2
- package/presets/cursor/android-kotlin/agents/tech-writer.md +5 -0
- package/presets/cursor/android-kotlin/commands/feature-continue.md +4 -0
- package/presets/cursor/android-kotlin/commands/feature-start.md +8 -0
- package/presets/cursor/android-kotlin/commands/spec-start.md +29 -0
- package/presets/cursor/android-kotlin/commands/task-continue.md +11 -6
- 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/rules/README.md +7 -0
- package/presets/cursor/android-kotlin/rules/agent-team-orchestrator.mdc +8 -3
- package/presets/cursor/android-kotlin/rules/feature-delivery-workflow.mdc +6 -0
- package/presets/cursor/android-kotlin/rules/mockup-review.mdc +116 -0
- package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +4 -3
- package/presets/cursor/android-kotlin/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/android-kotlin/rules/product-specs.mdc +64 -0
- package/presets/cursor/android-kotlin/rules/ux-design.mdc +108 -0
- package/presets/cursor/android-kotlin/skills/README.md +2 -0
- package/presets/cursor/android-kotlin/skills/feature-delivery/SKILL.md +8 -4
- package/presets/cursor/android-kotlin/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/android-kotlin/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/android-kotlin/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/android-kotlin/team/fixtures/artifact-manifest.example.json +25 -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/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 +1 -1
- package/presets/cursor/go/agents/build-verifier.md +9 -0
- package/presets/cursor/go/agents/code-reviewer.md +2 -0
- package/presets/cursor/go/agents/feature-developer.md +7 -0
- package/presets/cursor/go/agents/task-analyst.md +19 -0
- package/presets/cursor/go/agents/task-router.md +12 -1
- package/presets/cursor/go/agents/tech-writer.md +5 -0
- package/presets/cursor/go/commands/feature-continue.md +4 -0
- package/presets/cursor/go/commands/feature-start.md +8 -0
- package/presets/cursor/go/commands/spec-start.md +29 -0
- package/presets/cursor/go/commands/task-continue.md +6 -3
- package/presets/cursor/go/rules/README.md +4 -1
- package/presets/cursor/go/rules/agent-team-orchestrator.mdc +2 -0
- package/presets/cursor/go/rules/feature-delivery-workflow.mdc +4 -0
- package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/go/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/go/rules/product-specs.mdc +65 -0
- package/presets/cursor/go/skills/feature-delivery/SKILL.md +5 -4
- package/presets/cursor/go/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/ios-swift/agents/README.md +2 -2
- package/presets/cursor/ios-swift/agents/build-verifier.md +9 -0
- package/presets/cursor/ios-swift/agents/code-reviewer.md +2 -0
- package/presets/cursor/ios-swift/agents/feature-developer.md +13 -0
- package/presets/cursor/ios-swift/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/ios-swift/agents/task-analyst.md +37 -1
- package/presets/cursor/ios-swift/agents/task-router.md +22 -2
- package/presets/cursor/ios-swift/agents/tech-writer.md +2 -15
- package/presets/cursor/ios-swift/commands/feature-continue.md +4 -0
- package/presets/cursor/ios-swift/commands/feature-start.md +8 -0
- package/presets/cursor/ios-swift/commands/spec-start.md +29 -0
- package/presets/cursor/ios-swift/commands/task-continue.md +11 -6
- 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/rules/README.md +8 -1
- package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +8 -3
- package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +6 -0
- package/presets/cursor/ios-swift/rules/mockup-review.mdc +116 -0
- package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/ios-swift/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/ios-swift/rules/product-specs.mdc +64 -0
- package/presets/cursor/ios-swift/rules/ux-design.mdc +108 -0
- package/presets/cursor/ios-swift/skills/README.md +2 -0
- package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +8 -4
- package/presets/cursor/ios-swift/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/ios-swift/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/ios-swift/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/ios-swift/team/fixtures/artifact-manifest.example.json +25 -0
- 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/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/build-verifier.md +10 -1
- package/presets/cursor/java/agents/code-reviewer.md +2 -0
- package/presets/cursor/java/agents/feature-developer.md +7 -0
- package/presets/cursor/java/agents/task-analyst.md +19 -0
- package/presets/cursor/java/agents/task-router.md +12 -1
- package/presets/cursor/java/agents/tech-writer.md +5 -0
- package/presets/cursor/java/commands/feature-continue.md +4 -0
- package/presets/cursor/java/commands/feature-start.md +8 -0
- package/presets/cursor/java/commands/spec-start.md +29 -0
- package/presets/cursor/java/commands/task-continue.md +6 -3
- package/presets/cursor/java/rules/README.md +4 -1
- package/presets/cursor/java/rules/agent-team-orchestrator.mdc +2 -0
- package/presets/cursor/java/rules/feature-delivery-workflow.mdc +4 -0
- package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/java/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/java/rules/product-specs.mdc +65 -0
- package/presets/cursor/java/skills/feature-delivery/SKILL.md +5 -4
- package/presets/cursor/java/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/mcp-ts/agents/build-verifier.md +10 -1
- package/presets/cursor/mcp-ts/agents/feature-developer.md +7 -0
- package/presets/cursor/mcp-ts/agents/task-analyst.md +21 -0
- package/presets/cursor/mcp-ts/agents/task-router.md +12 -1
- package/presets/cursor/mcp-ts/commands/feature-continue.md +4 -0
- package/presets/cursor/mcp-ts/commands/feature-start.md +8 -0
- package/presets/cursor/mcp-ts/commands/spec-start.md +29 -0
- package/presets/cursor/mcp-ts/commands/task-continue.md +6 -3
- package/presets/cursor/mcp-ts/rules/README.md +2 -0
- package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +2 -0
- package/presets/cursor/mcp-ts/rules/feature-delivery-workflow.mdc +4 -0
- package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/mcp-ts/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/mcp-ts/rules/product-specs.mdc +65 -0
- package/presets/cursor/mcp-ts/skills/feature-delivery/SKILL.md +4 -3
- package/presets/cursor/mcp-ts/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/next/agents/README.md +2 -1
- package/presets/cursor/next/agents/build-verifier.md +9 -0
- package/presets/cursor/next/agents/code-reviewer.md +1 -0
- package/presets/cursor/next/agents/feature-developer.md +13 -0
- package/presets/cursor/next/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/next/agents/task-analyst.md +37 -1
- package/presets/cursor/next/agents/task-router.md +23 -3
- package/presets/cursor/next/agents/tech-writer.md +5 -0
- package/presets/cursor/next/commands/feature-continue.md +4 -0
- package/presets/cursor/next/commands/feature-start.md +8 -0
- package/presets/cursor/next/commands/spec-start.md +29 -0
- package/presets/cursor/next/commands/task-continue.md +11 -6
- package/presets/cursor/next/commands/task.md +2 -0
- package/presets/cursor/next/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/next/rules/README.md +5 -1
- package/presets/cursor/next/rules/agent-team-orchestrator.mdc +8 -3
- package/presets/cursor/next/rules/feature-delivery-workflow.mdc +6 -0
- package/presets/cursor/next/rules/mockup-review.mdc +116 -0
- package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/next/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/next/rules/product-specs.mdc +65 -0
- package/presets/cursor/next/rules/ux-design.mdc +108 -0
- package/presets/cursor/next/skills/README.md +2 -0
- package/presets/cursor/next/skills/feature-delivery/SKILL.md +7 -3
- package/presets/cursor/next/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/next/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/next/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/next/team/fixtures/artifact-manifest.example.json +20 -2
- 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/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/agents/README.md +2 -1
- package/presets/cursor/nuxt/agents/build-verifier.md +9 -0
- package/presets/cursor/nuxt/agents/code-reviewer.md +2 -0
- package/presets/cursor/nuxt/agents/feature-developer.md +13 -0
- package/presets/cursor/nuxt/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/nuxt/agents/task-analyst.md +37 -1
- package/presets/cursor/nuxt/agents/task-router.md +23 -3
- package/presets/cursor/nuxt/agents/tech-writer.md +5 -0
- package/presets/cursor/nuxt/commands/feature-continue.md +4 -0
- package/presets/cursor/nuxt/commands/feature-start.md +8 -0
- package/presets/cursor/nuxt/commands/spec-start.md +29 -0
- package/presets/cursor/nuxt/commands/task-continue.md +11 -6
- package/presets/cursor/nuxt/commands/task.md +2 -0
- package/presets/cursor/nuxt/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/nuxt/rules/README.md +5 -1
- package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +8 -3
- package/presets/cursor/nuxt/rules/feature-delivery-workflow.mdc +6 -0
- package/presets/cursor/nuxt/rules/mockup-review.mdc +116 -0
- package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/nuxt/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/nuxt/rules/product-specs.mdc +64 -0
- package/presets/cursor/nuxt/rules/ux-design.mdc +108 -0
- package/presets/cursor/nuxt/skills/README.md +2 -0
- package/presets/cursor/nuxt/skills/feature-delivery/SKILL.md +7 -3
- package/presets/cursor/nuxt/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/nuxt/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/nuxt/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/nuxt/team/fixtures/artifact-manifest.example.json +20 -2
- 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/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/build-verifier.md +10 -1
- package/presets/cursor/php-hexagonal/agents/code-reviewer.md +2 -0
- package/presets/cursor/php-hexagonal/agents/feature-developer.md +7 -0
- package/presets/cursor/php-hexagonal/agents/task-analyst.md +19 -0
- package/presets/cursor/php-hexagonal/agents/task-router.md +12 -1
- package/presets/cursor/php-hexagonal/agents/tech-writer.md +5 -0
- package/presets/cursor/php-hexagonal/commands/feature-continue.md +4 -0
- package/presets/cursor/php-hexagonal/commands/feature-start.md +8 -0
- package/presets/cursor/php-hexagonal/commands/spec-start.md +29 -0
- package/presets/cursor/php-hexagonal/commands/task-continue.md +6 -3
- package/presets/cursor/php-hexagonal/rules/README.md +4 -1
- package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +2 -0
- package/presets/cursor/php-hexagonal/rules/feature-delivery-workflow.mdc +4 -0
- package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/php-hexagonal/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/php-hexagonal/rules/product-specs.mdc +65 -0
- package/presets/cursor/php-hexagonal/skills/feature-delivery/SKILL.md +5 -4
- package/presets/cursor/php-hexagonal/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/php-laravel/agents/build-verifier.md +10 -1
- package/presets/cursor/php-laravel/agents/code-reviewer.md +2 -0
- package/presets/cursor/php-laravel/agents/feature-developer.md +7 -0
- package/presets/cursor/php-laravel/agents/task-analyst.md +19 -0
- package/presets/cursor/php-laravel/agents/task-router.md +12 -1
- package/presets/cursor/php-laravel/agents/tech-writer.md +5 -0
- package/presets/cursor/php-laravel/commands/feature-continue.md +4 -0
- package/presets/cursor/php-laravel/commands/feature-start.md +8 -0
- package/presets/cursor/php-laravel/commands/spec-start.md +29 -0
- package/presets/cursor/php-laravel/commands/task-continue.md +6 -3
- package/presets/cursor/php-laravel/rules/README.md +4 -1
- package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +2 -0
- package/presets/cursor/php-laravel/rules/feature-delivery-workflow.mdc +4 -0
- package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/php-laravel/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/php-laravel/rules/product-specs.mdc +65 -0
- package/presets/cursor/php-laravel/skills/feature-delivery/SKILL.md +5 -4
- package/presets/cursor/php-laravel/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/svelte/agents/README.md +2 -1
- package/presets/cursor/svelte/agents/build-verifier.md +9 -0
- package/presets/cursor/svelte/agents/code-reviewer.md +2 -0
- package/presets/cursor/svelte/agents/feature-developer.md +13 -0
- package/presets/cursor/svelte/agents/mockup-reviewer.md +60 -0
- package/presets/cursor/svelte/agents/task-analyst.md +37 -1
- package/presets/cursor/svelte/agents/task-router.md +23 -3
- package/presets/cursor/svelte/agents/tech-writer.md +5 -0
- package/presets/cursor/svelte/commands/feature-continue.md +4 -0
- package/presets/cursor/svelte/commands/feature-start.md +8 -0
- package/presets/cursor/svelte/commands/spec-start.md +29 -0
- package/presets/cursor/svelte/commands/task-continue.md +11 -6
- package/presets/cursor/svelte/commands/task.md +2 -0
- package/presets/cursor/svelte/hooks/chain-team-phases.sh +26 -0
- package/presets/cursor/svelte/rules/README.md +5 -1
- package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +8 -3
- package/presets/cursor/svelte/rules/feature-delivery-workflow.mdc +6 -0
- package/presets/cursor/svelte/rules/mockup-review.mdc +116 -0
- package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +4 -2
- package/presets/cursor/svelte/rules/product-specs-authoring.mdc +123 -0
- package/presets/cursor/svelte/rules/product-specs.mdc +64 -0
- package/presets/cursor/svelte/rules/ux-design.mdc +108 -0
- package/presets/cursor/svelte/skills/README.md +2 -0
- package/presets/cursor/svelte/skills/feature-delivery/SKILL.md +7 -3
- package/presets/cursor/svelte/skills/mockup-review/SKILL.md +29 -0
- package/presets/cursor/svelte/skills/spec-authoring/SKILL.md +26 -0
- package/presets/cursor/svelte/skills/ux-design/SKILL.md +36 -0
- package/presets/cursor/svelte/team/fixtures/artifact-manifest.example.json +20 -2
- 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/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
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mockup-review
|
|
3
|
+
description: Reviews a Figma mockup for design-system compliance, feature coverage, and viewport matrix via Figma MCP. Use for standalone mockup-review intent or when a feature/refactor/spike/spec-gen task includes a figma.com URL.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Mockup review
|
|
7
|
+
|
|
8
|
+
Requestable procedure for agent `mockup-reviewer`. Checklist lives in rule `mockup-review` — do not duplicate it here.
|
|
9
|
+
|
|
10
|
+
## When to run
|
|
11
|
+
|
|
12
|
+
- Standalone `/task` intent `mockup-review` (report-only; profile `light`; steps only `mockup-reviewer`).
|
|
13
|
+
- Embedded: `feature` / `refactor` / `spike` / `spec-gen` whose prompt or `brief.md` contains a `figma.com` URL on a UI stack — after `task-analyst` (when present), before architect and developer.
|
|
14
|
+
|
|
15
|
+
## MCP OAuth preflight
|
|
16
|
+
|
|
17
|
+
Confirm Figma MCP is configured (see `MCP.md`). Do not ship secrets. If MCP is down or auth fails, write `mockup-review.md` with verdict `BLOCKED_MCP` and receipt `blocked`. Do not invent DS claims. Embedded skip-forward is `/task-continue` (explicit «proceed without MCP»).
|
|
18
|
+
|
|
19
|
+
## Plugin skills
|
|
20
|
+
|
|
21
|
+
If plugin skills `figma-design-to-code` / `figma-use` are installed, load them for MCP invocation recipes; do not paste their bodies; do not run design-to-code. Preset owns the checklist, agent, and routing; plugin owns MCP recipes.
|
|
22
|
+
|
|
23
|
+
## Load the checklist
|
|
24
|
+
|
|
25
|
+
Load requestable rule `mockup-review` and follow its review dimensions, node caps, and report headings.
|
|
26
|
+
|
|
27
|
+
## Output
|
|
28
|
+
|
|
29
|
+
Write `.claude/team/tasks/<slug>/mockup-review.md` and upsert manifest entry id `mockup-review` (producer `mockup-reviewer`). Receipt mapping is in the agent prompt.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-authoring
|
|
3
|
+
description: Author or bootstrap consumer docs/specs (INDEX, page/feature templates, frontmatter v1). Use with task-analyst author mode, /spec-start, or when brief AC requests Generate/Bootstrap.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec authoring
|
|
7
|
+
|
|
8
|
+
Requestable — not always-on. Load **`product-specs`** + **`product-specs-authoring`** first.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
1. **Resolve mode** — Generate (tree exists) vs Bootstrap (create INDEX + templates + first spec). Refuse inventing INDEX without explicit intent/AC/`/spec-start`.
|
|
13
|
+
2. **Ensure templates** — if consumer `docs/specs/_templates/` missing, copy from package SoT `presets/_shared/assets/docs-specs/_templates/` (or seeded init assets).
|
|
14
|
+
3. **Fill frontmatter v1** — all array keys present (may be `[]`); prefer `type: feature` on backend/MCP; default `status: draft`.
|
|
15
|
+
4. **Fill required body headings** — page: Overview, Entry/actors, Primary flows, States, Acceptance criteria; feature: Overview, Shared behavior/constraints, Related pages. Use `N/A` explicitly when needed.
|
|
16
|
+
5. **Update INDEX** in the **same change set** (columns: id, type, domain, title, path, optional routes/aliases/status).
|
|
17
|
+
6. **Self-check** against `product-specs-authoring` checklist; put blockers in `open_questions`.
|
|
18
|
+
7. **Handoff** — list created/updated paths + INDEX diff for human gate (`after:task-analyst`). Approve before feature-developer.
|
|
19
|
+
|
|
20
|
+
## Sources
|
|
21
|
+
|
|
22
|
+
Cite AC / user / Figma / labeled code inference. Do not invent product behavior.
|
|
23
|
+
|
|
24
|
+
## mcp-ts
|
|
25
|
+
|
|
26
|
+
Analyst-only path (no tech-writer). `routes` = tool names; `ui`/`store` = `[]`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ux-design
|
|
3
|
+
description: Behavioral UX synthesis and review for task-analyst. Modes synthesize|review. Standalone intent ux-design or embedded required-signal / advisory UI AC. No Figma MCP; no DESIGN.md.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UX design
|
|
7
|
+
|
|
8
|
+
Requestable procedure for **task-analyst** (not a pipeline agent). Checklist lives in rule `ux-design` — do not duplicate it here.
|
|
9
|
+
|
|
10
|
+
**Not** a Figma workflow: do not call Figma MCP; do not write `DESIGN.md`. Visual/DS/viewport audit stays with `mockup-reviewer` / skill `mockup-review`.
|
|
11
|
+
|
|
12
|
+
## When to run
|
|
13
|
+
|
|
14
|
+
- Standalone `/task` intent `ux-design` (report-only; profile `light`; steps only `task-analyst`; modes `synthesize` | `review`; `humanGates: []`).
|
|
15
|
+
- Embedded: `feature` / `refactor` / `spike` / `spec-gen` on a UI stack when required-signal or advisory UI AC fires — inside the analyst step (no new pipeline agent). Required-signal: user asked UX, or AC require flows/states, or spec-gen page/feature.
|
|
16
|
+
|
|
17
|
+
## Modes
|
|
18
|
+
|
|
19
|
+
- `synthesize` — elicit IA, named primary flows, empty/error/loading matrix from the brief/AC.
|
|
20
|
+
- `review` — critique a brief/wireframe/description **without** Figma. A `figma.com` URL with review-not-implement language is intent `mockup-review`, not this skill.
|
|
21
|
+
|
|
22
|
+
## Order
|
|
23
|
+
|
|
24
|
+
UX synthesis **before** skill `spec-authoring` / author mode when both apply. Analyst remains the only INDEX writer. Map headings via the rule's Spec feed table; do not paste the whole UX file into `docs/specs`.
|
|
25
|
+
|
|
26
|
+
## Forbidden Figma MCP
|
|
27
|
+
|
|
28
|
+
Do not call `get_metadata`, `get_design_context`, `get_screenshot`, `search_design_system`, `get_variable_defs`, `use_figma`, `create_new_file`, `generate_*`. Only `mockup-reviewer` reads Figma.
|
|
29
|
+
|
|
30
|
+
## Load the checklist
|
|
31
|
+
|
|
32
|
+
Load requestable rule `ux-design` and follow its required-signal vs advisory rules, forbidden MCP list, verdicts, surface-closure, and report headings.
|
|
33
|
+
|
|
34
|
+
## Output
|
|
35
|
+
|
|
36
|
+
Write `.claude/team/tasks/<slug>/ux-design.md` and append that path to the **`analysis`** manifest entry (`authoritativePaths` / `evidencePaths`). Do **not** create a new producer row. Receipt stays on `analysis`: required `INCOMPLETE` (missing primary flows or empty/error/loading matrix) → DoR not met; advisory `INCOMPLETE` → notes only. Never copy the mockup FAIL-only hook.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"id": "analysis",
|
|
26
26
|
"producer": "task-analyst",
|
|
27
27
|
"status": "completed",
|
|
28
|
-
"authoritativePaths": ["brief.md", "decomposition.md"],
|
|
28
|
+
"authoritativePaths": ["brief.md", "decomposition.md", "ux-design.md"],
|
|
29
29
|
"acceptanceCriteriaIds": ["AC-1", "AC-2"],
|
|
30
30
|
"taskIds": ["T1", "T2"],
|
|
31
31
|
"timestamps": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"receipt": {
|
|
37
37
|
"outcome": "completed",
|
|
38
38
|
"summary": "The acceptance criteria and implementation tasks are ready.",
|
|
39
|
-
"evidencePaths": ["brief.md", "decomposition.md"]
|
|
39
|
+
"evidencePaths": ["brief.md", "decomposition.md", "ux-design.md"]
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
{
|
|
@@ -56,6 +56,24 @@
|
|
|
56
56
|
"summary": "Implementation and focused unit coverage are complete.",
|
|
57
57
|
"evidencePaths": ["implementation.md"]
|
|
58
58
|
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "mockup-review",
|
|
62
|
+
"producer": "mockup-reviewer",
|
|
63
|
+
"status": "completed",
|
|
64
|
+
"authoritativePaths": ["mockup-review.md"],
|
|
65
|
+
"acceptanceCriteriaIds": ["AC-4", "AC-5", "AC-6", "AC-7", "AC-8"],
|
|
66
|
+
"taskIds": [],
|
|
67
|
+
"timestamps": {
|
|
68
|
+
"createdAt": "2026-07-31T12:05:30.000Z",
|
|
69
|
+
"updatedAt": "2026-07-31T12:05:45.000Z",
|
|
70
|
+
"completedAt": "2026-07-31T12:05:45.000Z"
|
|
71
|
+
},
|
|
72
|
+
"receipt": {
|
|
73
|
+
"outcome": "completed",
|
|
74
|
+
"summary": "Mockup review completed with verdict PASS_WITH_NOTES.",
|
|
75
|
+
"evidencePaths": ["mockup-review.md"]
|
|
76
|
+
}
|
|
59
77
|
}
|
|
60
78
|
]
|
|
61
79
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-feature-with-figma",
|
|
3
|
+
"intent": "feature",
|
|
4
|
+
"profile": "full",
|
|
5
|
+
"summary": "Feature with Figma mockup URL — mockup-reviewer after analyst, before architect and developer",
|
|
6
|
+
"steps": [
|
|
7
|
+
{ "agent": "task-analyst", "label": "Clarify and decompose" },
|
|
8
|
+
{ "agent": "mockup-reviewer", "label": "Figma mockup review", "model": "strong" },
|
|
9
|
+
{ "agent": "solution-architect", "label": "Design boundaries", "model": "strong" },
|
|
10
|
+
{ "agent": "feature-developer", "label": "Implement" },
|
|
11
|
+
{ "agent": "build-verifier", "label": "Validation gate", "model": "cheap" },
|
|
12
|
+
{ "agent": "code-reviewer", "label": "Code review", "model": "cheap" }
|
|
13
|
+
],
|
|
14
|
+
"humanGates": ["after:task-analyst"],
|
|
15
|
+
"autoChain": true,
|
|
16
|
+
"skipped": []
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-feature-with-ux-no-figma",
|
|
3
|
+
"intent": "feature",
|
|
4
|
+
"profile": "standard",
|
|
5
|
+
"summary": "Feature with required-signal UX and no Figma URL — task-analyst loads skill ux-design; no mockup-reviewer step",
|
|
6
|
+
"steps": [
|
|
7
|
+
{ "agent": "task-analyst", "label": "Clarify, UX design, decompose" },
|
|
8
|
+
{ "agent": "feature-developer", "label": "Implement" },
|
|
9
|
+
{ "agent": "build-verifier", "label": "Validation gate", "model": "cheap" },
|
|
10
|
+
{ "agent": "code-reviewer", "label": "Code review", "model": "cheap" }
|
|
11
|
+
],
|
|
12
|
+
"humanGates": ["after:task-analyst"],
|
|
13
|
+
"autoChain": true,
|
|
14
|
+
"skipped": [
|
|
15
|
+
{ "agent": "mockup-reviewer", "reason": "No figma.com URL; analyst skill ux-design covers behavioral UX" }
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-mockup-fail-gate",
|
|
3
|
+
"state": "awaiting_approval",
|
|
4
|
+
"currentAgent": "mockup-reviewer",
|
|
5
|
+
"awaitingHumanGate": true,
|
|
6
|
+
"retryAfterFix": null,
|
|
7
|
+
"note": "Embedded mockup FAIL: hook must NOT set retryAfterFix to feature-developer. Resume only via /task-continue."
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-mockup-review-standalone",
|
|
3
|
+
"intent": "mockup-review",
|
|
4
|
+
"profile": "light",
|
|
5
|
+
"summary": "Standalone Figma mockup review (report-only)",
|
|
6
|
+
"steps": [
|
|
7
|
+
{ "agent": "mockup-reviewer", "label": "Figma mockup review", "model": "strong" }
|
|
8
|
+
],
|
|
9
|
+
"humanGates": [],
|
|
10
|
+
"autoChain": true,
|
|
11
|
+
"skipped": [
|
|
12
|
+
{ "agent": "feature-developer", "reason": "Standalone mockup-review is report-only" }
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "example-ux-design-standalone",
|
|
3
|
+
"intent": "ux-design",
|
|
4
|
+
"profile": "light",
|
|
5
|
+
"summary": "Standalone behavioral UX design (analyst + skill ux-design; report-only; no developer)",
|
|
6
|
+
"steps": [
|
|
7
|
+
{ "agent": "task-analyst", "label": "UX design (skill ux-design)" }
|
|
8
|
+
],
|
|
9
|
+
"humanGates": [],
|
|
10
|
+
"autoChain": true,
|
|
11
|
+
"skipped": [
|
|
12
|
+
{ "agent": "feature-developer", "reason": "Standalone ux-design is report-only" },
|
|
13
|
+
{ "agent": "mockup-reviewer", "reason": "No figma.com URL; not a mockup review" }
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -35,6 +35,7 @@ Role subagents for the Claude Code team pipeline.
|
|
|
35
35
|
| A11y reviewer | `accessibility-reviewer.md` | no |
|
|
36
36
|
| Security reviewer | `security-reviewer.md` | no |
|
|
37
37
|
| Performance auditor | `performance-auditor.md` | no |
|
|
38
|
+
| Mockup reviewer | `mockup-reviewer.md` | no |
|
|
38
39
|
|
|
39
40
|
## Testing
|
|
40
41
|
|
|
@@ -70,7 +71,7 @@ Default SoT — YAML `model` in each agent file. Optional `steps[].model` (`chea
|
|
|
70
71
|
|------|---------------------|--------|
|
|
71
72
|
| **cheap** | `fast` | `task-router`, `task-analyst`, `build-verifier`, `code-reviewer`, `tech-writer`, `codebase-analyzer` |
|
|
72
73
|
| **standard** | `inherit` | `feature-developer`, `debugger`, `ci-investigator`, `api-contract-reviewer`, `accessibility-reviewer`, `qa-tester`, `unit-test-*`, `playwright-test-*` |
|
|
73
|
-
| **strong** | `claude-opus-4-8[effort=high]` | `solution-architect`, `migration-specialist`, `security-reviewer`, `performance-auditor` |
|
|
74
|
+
| **strong** | `claude-opus-4-8[effort=high]` | `solution-architect`, `migration-specialist`, `security-reviewer`, `performance-auditor`, `mockup-reviewer` |
|
|
74
75
|
|
|
75
76
|
**Notes**
|
|
76
77
|
|
|
@@ -45,6 +45,15 @@ When validating **preset packaging** changes (paths under `packages/ai-rules/pre
|
|
|
45
45
|
11. **No vue-performance on ios/go/java:** skill directory / required handoff must be absent under ios-swift, go, java, mcp-ts, php-hexagonal, and php-laravel → **FAIL** (leakage). Prefer `check:preset-leakage`.
|
|
46
46
|
12. **Rule eval (WARN):** `scripts/check-rule-eval.mjs` / `yarn check:rule-eval` should exist for maintainers; smoke optional. Hard fail only when the opt-in eval job runs — not part of default `check:preset-structure`.
|
|
47
47
|
|
|
48
|
+
13. **Product-specs assets (FAIL):** package must ship `presets/_shared/assets/docs-specs/INDEX.md`, `_templates/page.md`, `_templates/feature.md`. Cursor+Claude twins for `product-specs` and `product-specs-authoring` must embed matching shared-core markers; both stems **requestable** (`alwaysApply: false` / Claude `paths: docs/specs/**`) — never session-start.
|
|
49
|
+
14. **Optional consumer check (WARN default):** `scripts/check-product-specs.sh` + schema stub may exist for opt-in consumer CI; **FAIL** only with `--strict` or AC that requires named specs — do not force consumer CI.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
**mockup-reviewer (UI):** `agents/mockup-reviewer.md` and `skills/mockup-review/` must exist (Cursor + Claude). Missing → **FAIL**. Backend stacks must **not** ship that agent file or a required `mockup-reviewer` chain handoff → **FAIL** if present.
|
|
53
|
+
|
|
54
|
+
**ux-design (UI):** `skills/ux-design/` and requestable rule `ux-design` (`ux-design.mdc` / `tooling-and-review/ux-design.md`) must exist (Cursor + Claude). Missing → **FAIL**. Do **not** require `agents/ux-designer.md`. Backend stacks must **not** ship that agent file or a required `ux-design` skill/rule/handoff → **FAIL** if present.
|
|
55
|
+
|
|
56
|
+
|
|
48
57
|
### Soft notes
|
|
49
58
|
|
|
50
59
|
- Thin aliases may be <15 body lines.
|
|
@@ -22,6 +22,8 @@ Apply the **`code-review` skill** and **`rules/tooling-and-review/code-review-mr
|
|
|
22
22
|
|
|
23
23
|
## Review artifact
|
|
24
24
|
|
|
25
|
+
- If the MR touches `docs/specs/**`, load **`product-specs`** (+ **`product-specs-authoring`** when new/changed specs): **WARN** code/spec drift; **FAIL** broken INDEX `path` link or missing required frontmatter keys/arrays on touched spec files; required body headings missing → **FAIL** on touched files. Do not invent missing product behavior.
|
|
26
|
+
|
|
25
27
|
Write `.claude/team/tasks/<slug>/review.md` with this format:
|
|
26
28
|
|
|
27
29
|
```markdown
|
|
@@ -51,6 +51,19 @@ Do not perform formal code review — that is the code-reviewer subagent's job.
|
|
|
51
51
|
|
|
52
52
|
- When editing `pages|components|stores|api|composables/**/*.{vue,ts}`, load / follow rule `vue-nuxt-anti-hallucination`.
|
|
53
53
|
|
|
54
|
+
## UX design (behavioral)
|
|
55
|
+
|
|
56
|
+
Read order when present: manifest → `brief.md` / `decomposition.md` → **`ux-design.md`** (when listed on `analysis`) → approved `docs/specs` (behavior SoT) → **`mockup-review.md`** when Figma was in scope → `architecture.md`.
|
|
57
|
+
|
|
58
|
+
If required-signal fired (user asked UX, AC require flows/states, or spec-gen page/feature) and there is **no** `figma.com` URL, and `ux-design.md` is absent or verdict `INCOMPLETE` without user continue → emit **`blocked`** and hand back to `task-analyst`. Do not invent flows/states. Advisory / no UI AC / Figma-only visual tweak with mockup PASS → proceed from brief + mockup-review; do not demand a UX file.
|
|
59
|
+
|
|
60
|
+
## Product specs (docs/specs)
|
|
61
|
+
|
|
62
|
+
When work touches a page/feature/route/alias: if `docs/specs/INDEX.md` exists (or brief lists approved specs), load **`product-specs`** and treat **approved** specs from brief/handoff as **behavior SoT**. Soft-fail on miss (`open_questions` + code / `.ai/context` fallback); **never invent** product behavior.
|
|
63
|
+
|
|
64
|
+
Mechanical INDEX/frontmatter fixes only when implementation renames routes/ids. Substantive behavior edits → hand back to task-analyst (or tech-writer where present). If INDEX is absent and generation was not approved, treat specs as optional (greenfield).
|
|
65
|
+
|
|
66
|
+
|
|
54
67
|
## Artifact contract
|
|
55
68
|
|
|
56
69
|
- **Authoritative inputs:** read `.claude/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for `brief.md`, `decomposition.md`, current scope, and applicable prior findings.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mockup-reviewer
|
|
3
|
+
description: Figma mockup review specialist. Audits design-system usage, tokens, mockup quality, feature coverage, and viewport matrix. Writes mockup-review.md only; never edits production code or Figma.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a Figma mockup reviewer for a Nuxt 3 Vue frontend.
|
|
8
|
+
|
|
9
|
+
You write **only** `.claude/team/tasks/<slug>/mockup-review.md` (and the owned manifest receipt). Never edit production code, `packages/**`, app sources, or Figma (no `use_figma` writes).
|
|
10
|
+
|
|
11
|
+
## Inputs
|
|
12
|
+
|
|
13
|
+
1. `.claude/team/tasks/<slug>/artifact-manifest.json`.
|
|
14
|
+
2. Prompt Figma URL(s); `brief.md` / `decomposition.md` when present.
|
|
15
|
+
3. Requestable skill `mockup-review` and rule `mockup-review` (core checklist — do not inline it here).
|
|
16
|
+
4. 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.
|
|
17
|
+
|
|
18
|
+
## MCP tools
|
|
19
|
+
|
|
20
|
+
**Required when MCP is up:** `get_metadata`, `get_design_context`, `search_design_system`, `get_variable_defs`, `get_screenshot`.
|
|
21
|
+
|
|
22
|
+
**Optional:** `get_libraries`, `get_code_connect_map`.
|
|
23
|
+
|
|
24
|
+
**Forbidden:** `use_figma`, `create_new_file`, `generate_*`, `weave_*`, `upload_assets`, `send_code_connect_mappings`. FigJam URL → `BLOCKED_MCP`.
|
|
25
|
+
|
|
26
|
+
Cite `fileKey` + node IDs. Screenshot is supporting evidence, not a second reviewer.
|
|
27
|
+
|
|
28
|
+
**Node caps:** ≤12 screen-level frames; `get_metadata` depth ≤3; ≤3 screenshots (prefer one per small/medium/large). `search_design_system` once; `get_variable_defs` once per file. Unbounded file without a frame link → `BLOCKED_MCP` (do not dump the whole file).
|
|
29
|
+
|
|
30
|
+
MCP unavailable or OAuth fail → verdict `BLOCKED_MCP`. Do not invent DS claims.
|
|
31
|
+
|
|
32
|
+
## Review dimensions
|
|
33
|
+
|
|
34
|
+
Follow the requestable `mockup-review` checklist (DS components, tokens, quality, coverage, viewports). Do not duplicate that checklist here.
|
|
35
|
+
|
|
36
|
+
## Output
|
|
37
|
+
|
|
38
|
+
Write `.claude/team/tasks/<slug>/mockup-review.md` using the report headings in the `mockup-review` rule.
|
|
39
|
+
|
|
40
|
+
## Verdicts and receipts
|
|
41
|
+
|
|
42
|
+
Report verdict: `PASS | PASS_WITH_NOTES | FAIL | BLOCKED_MCP`.
|
|
43
|
+
|
|
44
|
+
| Verdict | Standalone receipt | Embedded receipt | Artifact `status` |
|
|
45
|
+
|---------|--------------------|------------------|-------------------|
|
|
46
|
+
| `PASS` / `PASS_WITH_NOTES` | `completed` | `completed` | `completed` |
|
|
47
|
+
| `FAIL` | `completed` (report-only, like `perf-audit`) | `changes_requested` | `blocked` |
|
|
48
|
+
| `BLOCKED_MCP` | `blocked` | `blocked` | `blocked` |
|
|
49
|
+
|
|
50
|
+
Standalone FAIL must **not** set `changes_requested`. Embedded FAIL is a FAIL-only hook gate — resume **only** via `/task-continue` (hook must not `scheduleRetry('feature-developer')`).
|
|
51
|
+
|
|
52
|
+
## Artifact contract
|
|
53
|
+
|
|
54
|
+
- **Authoritative inputs:** read `.claude/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for routing + analysis when present (standalone may have only the prompt + URL).
|
|
55
|
+
- **Owned outputs:** `mockup-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `mockup-review`) and preserve all foreign entries.
|
|
56
|
+
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed`, `changes_requested`, or `blocked` per the table above. Bind it to the supplied `attemptId` when present.
|
|
57
|
+
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
58
|
+
|
|
59
|
+
Do not modify production code or tests.
|
|
@@ -101,9 +101,45 @@ Do not invoke the developer or any implementation subagent.
|
|
|
101
101
|
|
|
102
102
|
- Optional: Load `design-guidance` (rule stem) when assessing structure, smells, or pattern fit — only when decomposing refactor/architecture tasks (not default).
|
|
103
103
|
|
|
104
|
+
## Product specs (docs/specs)
|
|
105
|
+
|
|
106
|
+
**Consume (default):** When work touches a page/feature/route/alias and `docs/specs/INDEX.md` exists, load **`product-specs`**, resolve the linked page/feature spec, and cite it under **Related specs** in `brief.md`. Soft-fail on miss (`open_questions` + code / `.ai/context` fallback); **never invent** product behavior. If INDEX is absent, treat specs as optional unless author mode applies.
|
|
107
|
+
|
|
108
|
+
**Author mode (Generate / Bootstrap):** When the user runs `/spec-start`, router intent is `spec-gen` / bootstrap, or brief/AC requests generation: load **`product-specs`** + **`product-specs-authoring`** and skill **`spec-authoring`**. You are the **primary author** (INDEX bootstrap included). Follow frontmatter v1 + required headings; update INDEX in the **same change set**; default `status: draft`. Block handoff via `open_questions` until the authoring self-check passes.
|
|
109
|
+
|
|
110
|
+
### Brief sections (when author mode or INDEX exists)
|
|
111
|
+
|
|
112
|
+
Add to `brief.md`:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Related specs
|
|
116
|
+
- path or id (or N/A)
|
|
117
|
+
|
|
118
|
+
## Spec gaps / generation requested
|
|
119
|
+
- [ ] none | generate | bootstrap — sources: …
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
## UX design (behavioral)
|
|
124
|
+
|
|
125
|
+
Load requestable skill **`ux-design`** and rule **`ux-design`** when:
|
|
126
|
+
- standalone router intent `ux-design`, or
|
|
127
|
+
- **required-signal:** the user asked for UX, **or** AC explicitly require flows/states, **or** `spec-gen` / `/spec-start` for a **page/feature**, or
|
|
128
|
+
- advisory UI AC on this UI stack (notes only; skip if no UI surface).
|
|
129
|
+
|
|
130
|
+
**Order:** write `ux-design.md` **before** author mode / skill `spec-authoring` when both apply. You remain the only INDEX writer.
|
|
131
|
+
|
|
132
|
+
Write `.claude/team/tasks/<slug>/ux-design.md` with the headings in rule `ux-design` (Mode, Verdict, Scope, IA, Entry/actors, Primary flows, States, Interaction notes, Microcopy direction, Accessibility floor, Spec feed, Open probes). Modes: `synthesize` | `review`.
|
|
133
|
+
|
|
134
|
+
**Required vs advisory:** required-signal + missing named primary flows **or** empty/error/loading matrix → DoR not met (`open_questions` / blocked analysis). Isolated missing microcopy never blocks. Advisory `INCOMPLETE` → notes only. Do **not** copy the mockup FAIL-only hook.
|
|
135
|
+
|
|
136
|
+
**Forbidden:** Figma MCP tools (`get_metadata`, `get_design_context`, `get_screenshot`, `search_design_system`, `get_variable_defs`, `use_figma`, `create_new_file`, `generate_*`). When Figma is present and required-signal fires, emit a **thin** `ux-design.md` from AC only (no visual claims). Only `mockup-reviewer` reads Figma.
|
|
137
|
+
|
|
138
|
+
When produced, append `ux-design.md` to this step's **`analysis`** `authoritativePaths` / `evidencePaths`. No new manifest producer row.
|
|
139
|
+
|
|
104
140
|
## Artifact contract
|
|
105
141
|
|
|
106
142
|
- **Authoritative inputs:** read `.claude/team/tasks/<slug>/artifact-manifest.json` first; consume `pipeline.json`, the manifest routing entry, user-approved decisions, and any authoritative architecture/approval entries.
|
|
107
|
-
- **Owned outputs:** `brief.md` and `decomposition.md
|
|
143
|
+
- **Owned outputs:** `brief.md` and `decomposition.md` (plus `ux-design.md` when produced); upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign entries.
|
|
108
144
|
- **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
|
|
109
145
|
- **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
|
|
@@ -22,6 +22,8 @@ You are a task router for a Nuxt 3 frontend agent team. You **do not** implement
|
|
|
22
22
|
| `migration` | «миграция» (migration), «upgrade», «обнови Nuxt» (upgrade Nuxt), «переход на» (move to), major version | task-analyst → migration-specialist → feature-developer → build-verifier → code-reviewer → qa-tester (regression) | <!-- i18n-keep: E4 -->
|
|
23
23
|
| `perf-audit` | «производительность» (performance), «perf», «bundle», «LCP», «медленно» (slow), «waterfall» | performance-auditor | <!-- i18n-keep: E4 -->
|
|
24
24
|
| `a11y` | «a11y», «доступность» (accessibility), «accessibility», «WCAG», «screen reader», «клавиатура» (keyboard) | task-analyst → feature-developer → build-verifier → accessibility-reviewer → code-reviewer | <!-- i18n-keep: E4 -->
|
|
25
|
+
| `mockup-review` | «ревью макета» (mockup review), «mockup review», «проверь Figma» (check Figma), «figma review», «макет» (mockup) + review verb, `figma.com` + review-not-implement <!-- i18n-keep: E4 --> | mockup-reviewer |
|
|
26
|
+
| `ux-design` | «разработай UX» (design UX), «спроектируй» (design/plan) flows, «journey», «IA», «state matrix», «ревью UX» (UX review) without Figma <!-- i18n-keep: E4 --> | task-analyst |
|
|
25
27
|
| `review-only` | «ревью» (review), «review MR», «проверь diff» (check diff), «code review» | code-reviewer | <!-- i18n-keep: E4 -->
|
|
26
28
|
| `test-only` | «покрой тестами» (cover with tests), «напиши тесты» (write tests) (mixed unit+e2e, no impl) | task-analyst → qa-tester | <!-- i18n-keep: E4 -->
|
|
27
29
|
| `unit-only` | «unit», «юнит» (unit), «mapper tests», «покрой маппер» (cover mapper), «почини unit» (fix unit) | unit-test-planner → unit-test-generator, or unit-test-healer | <!-- i18n-keep: E4 -->
|
|
@@ -33,7 +35,7 @@ You are a task router for a Nuxt 3 frontend agent team. You **do not** implement
|
|
|
33
35
|
|
|
34
36
|
## Pipeline profiles
|
|
35
37
|
|
|
36
|
-
Set optional top-level `"profile": "full" | "standard" | "light"` in `pipeline.json`. Default when omitted: **`standard`** for `feature`/`refactor`/`bugfix`; **`light`** for `review-only`, `perf-audit`; **`full`** when cross-layer or e2e AC required.
|
|
38
|
+
Set optional top-level `"profile": "full" | "standard" | "light"` in `pipeline.json`. Default when omitted: **`standard`** for `feature`/`refactor`/`bugfix`; **`light`** for `review-only`, `perf-audit`, `mockup-review`, `ux-design`; **`full`** when cross-layer or e2e AC required.
|
|
37
39
|
|
|
38
40
|
| Profile | When | Typical `feature` steps |
|
|
39
41
|
|---------|------|------------------------|
|
|
@@ -50,6 +52,8 @@ Set optional top-level `"profile": "full" | "standard" | "light"` in `pipeline.j
|
|
|
50
52
|
| `feature` | developer → build-verifier |
|
|
51
53
|
| `bugfix` | debugger → build-verifier (`skipIf: debugger.fixed` on developer) |
|
|
52
54
|
| `review-only` | code-reviewer |
|
|
55
|
+
| `mockup-review` | mockup-reviewer |
|
|
56
|
+
| `ux-design` | task-analyst |
|
|
53
57
|
| `docs-only` | tech-writer (skip analyst if brief exists) |
|
|
54
58
|
| `ci-fix` | ci-investigator → build-verifier (`skipIf: ci-investigator.resolved`) |
|
|
55
59
|
|
|
@@ -78,6 +82,9 @@ Keep top-level `profile` and emit this top-level object in every new `pipeline.j
|
|
|
78
82
|
|
|
79
83
|
## Adjust steps (when context is clear)
|
|
80
84
|
|
|
85
|
+
- If prompt or `brief.md` contains `figma.com` on `feature` / `refactor` / `spike` / `spec-gen`, insert **mockup-reviewer** after **task-analyst** (when present) and before **solution-architect** and **feature-developer**. Set `model: "strong"` on that step. Do not add static `humanGates: ["after:mockup-reviewer"]` (FAIL-only hook exception). Never put `mockup-reviewer` in a `parallel: true` step (FAIL-only gate is serial).
|
|
86
|
+
- Classify intent `mockup-review` **before** `ux-design` **before** `review-only`. A `figma.com` URL with review-not-implement language is `mockup-review` even without the word «макет», including when the user said «ревью UX». <!-- i18n-keep: E4 -->
|
|
87
|
+
- If UI stack and (required-signal or advisory UI AC), instruct **task-analyst** to load skill `ux-design` (no new pipeline step; analyst default model, not `strong`). Required-signal: user asked UX, or AC require flows/states, or spec-gen page/feature.
|
|
81
88
|
- Skip **task-analyst** if AC/scope fully specified → document in `skipped`.
|
|
82
89
|
- Add **solution-architect** for cross-layer / new public APIs — after analyst, before developer.
|
|
83
90
|
- Add **api-contract-reviewer** for new/changed backend contracts — before developer.
|
|
@@ -92,11 +99,11 @@ Optional per-step field: `"model": "cheap" | "standard" | "strong"`. Omit → ag
|
|
|
92
99
|
|
|
93
100
|
| When | What to write |
|
|
94
101
|
|------|----------------|
|
|
95
|
-
| `profile: light` | set `cheap` on **all** steps (
|
|
102
|
+
| `profile: light` | set `cheap` on **all** steps (exceptions: unclear bug root cause on `debugger` → `strong`; `mockup-reviewer` always `strong`) |
|
|
96
103
|
| `profile: standard` | omit (frontmatter defaults) |
|
|
97
104
|
| `profile: full` | set `strong` on `solution-architect`, `migration-specialist`, `security-reviewer`, `performance-auditor` when present; omit others |
|
|
98
105
|
| `intent: spike` | set `strong` on `solution-architect` (and analyst may stay default/`cheap`) |
|
|
99
|
-
| `intent: perf-audit` / security-heavy feature | `strong` on auditor/reviewer step |
|
|
106
|
+
| `intent: perf-audit` / `mockup-review` / security-heavy feature | `strong` on auditor/reviewer step (`mockup-reviewer` never `cheap`) |
|
|
100
107
|
| Always | **never** `strong` on `build-verifier`, `tech-writer`, `task-router` |
|
|
101
108
|
|
|
102
109
|
Cursor mapping when orchestrator invokes Task: `cheap` → pass `model: "fast"` if the tool accepts it; `standard`/`strong` → **do not** pass `fast` (rely on agent frontmatter pin / inherit).
|
|
@@ -113,6 +120,8 @@ Cursor mapping when orchestrator invokes Task: `cheap` → pass `model: "fast"`
|
|
|
113
120
|
| `bugfix`, `review-only`, `ci-fix` | `[]` |
|
|
114
121
|
| `spike` | `["after:solution-architect"]` |
|
|
115
122
|
| `perf-audit` | `[]` |
|
|
123
|
+
| `mockup-review` | `[]` |
|
|
124
|
+
| `ux-design` | `[]` |
|
|
116
125
|
|
|
117
126
|
## Output
|
|
118
127
|
|
|
@@ -128,6 +137,17 @@ Write `.cursor/team/tasks/<slug>/pipeline.json` and initialize the routing entry
|
|
|
128
137
|
|
|
129
138
|
Do not invoke implementation agents yourself.
|
|
130
139
|
|
|
140
|
+
## Spec generation intents
|
|
141
|
+
|
|
142
|
+
Detect and set routing reasons when the user asks to **generate / bootstrap product specs**, mentions `docs/specs`, or runs `/spec-start`:
|
|
143
|
+
|
|
144
|
+
| Signal | Intent | Steps |
|
|
145
|
+
|--------|--------|-------|
|
|
146
|
+
| `/spec-start`, "bootstrap docs/specs", "generate product spec" | `spec-gen` | task-analyst (**author mode**) → human gate → stop (or continue to feature-developer only if implement-after) |
|
|
147
|
+
| Feature/task with AC "generate specs" / missing INDEX + bootstrap AC | `spec-gen` inside feature profile | task-analyst author mode first; **not** a separate agent step |
|
|
148
|
+
|
|
149
|
+
Do **not** add a dedicated `spec-author` agent. Do not require solution-architect for routine spec authoring.
|
|
150
|
+
|
|
131
151
|
## Runtime initialization
|
|
132
152
|
|
|
133
153
|
Return the routing receipt to the orchestrator. The orchestration runtime/hook exclusively initializes and updates `status.json`, `metrics.json`, attempt identities, and gate lifecycle; the router does not write those shared runtime files.
|
|
@@ -42,6 +42,11 @@ Conventional commit / release note snippet.
|
|
|
42
42
|
- Do not duplicate entire decomposition — summarize outcomes and how to use/extend.
|
|
43
43
|
- May create or update files under `docs/**` when the task explicitly requests it; otherwise keep primary output in team artifacts.
|
|
44
44
|
|
|
45
|
+
## Product specs (docs/specs)
|
|
46
|
+
|
|
47
|
+
Post-delivery: when behavior or public docs changed and `docs/specs/` is in play, load **`product-specs`** (+ **`product-specs-authoring`** if updating specs). Sync page/feature specs + INDEX in the **same change set**. **Never invent** product behavior without AC/code source; label inferred lines `status: draft`. Soft-fail on miss; no-op if INDEX absent and sync not requested.
|
|
48
|
+
|
|
49
|
+
|
|
45
50
|
## Artifact contract
|
|
46
51
|
|
|
47
52
|
- **Authoritative inputs:** read `.claude/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition and available architecture/migration/review artifacts.
|
|
@@ -17,3 +17,7 @@ Continue after a human gate. Full logic — in **`task-continue.md`**.
|
|
|
17
17
|
4. The hook continues the chain when `autoChain: true`.
|
|
18
18
|
|
|
19
19
|
See `task-continue.md` for details and the handoff table.
|
|
20
|
+
|
|
21
|
+
## Product specs (docs/specs)
|
|
22
|
+
|
|
23
|
+
When the next agent is **feature-developer** (or other implementer): if `docs/specs/INDEX.md` exists, instruct them to load **`product-specs`** and honor **Related specs** from `brief.md` (behavior SoT). Soft-fail on miss; never invent product behavior. No-op if INDEX is absent.
|
|
@@ -19,11 +19,19 @@ Starts the **analysis phase** without the router. The parent agent acts as orche
|
|
|
19
19
|
6. Invoke subagent **task-analyst** (Task tool) with the full task description and artifact paths.
|
|
20
20
|
7. Wait for the analyst to finish. **Do not invoke the developer** at this stage.
|
|
21
21
|
|
|
22
|
+
## Product specs (docs/specs)
|
|
23
|
+
|
|
24
|
+
When invoking **task-analyst**: if `docs/specs/INDEX.md` exists, instruct consume via **`product-specs`** and cite **Related specs**. Soft-fail on miss; never invent behavior.
|
|
25
|
+
|
|
26
|
+
If the user/AC requests generation or bootstrap, or INDEX is missing **with** bootstrap AC / `/spec-start` intent: instruct **author mode** inside the same analyst step — load **`product-specs-authoring`** + skill **`spec-authoring`**. Authoring is **not** a separate pipeline agent. Handoff must list created paths + INDEX diff; human gate must approve generated specs before feature-developer.
|
|
27
|
+
|
|
28
|
+
|
|
22
29
|
## Human gate
|
|
23
30
|
|
|
24
31
|
After the analyst:
|
|
25
32
|
|
|
26
33
|
- Show the user links to `brief.md` and `decomposition.md`.
|
|
34
|
+
- Also ask them to check **Related specs** in `brief.md` when `docs/specs/INDEX.md` exists.
|
|
27
35
|
- Ask them to review and approve or send edits.
|
|
28
36
|
- To continue: `/task-continue <slug>` or `/feature-continue <slug>`.
|
|
29
37
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-start
|
|
3
|
+
description: Bootstrap or generate docs/specs (INDEX + page/feature) via task-analyst author mode. Optional docs-only path with human gate.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Spec start — generate / bootstrap product specs
|
|
7
|
+
|
|
8
|
+
Routes intent **`spec-gen`** (or bootstrap) → **task-analyst** in **author mode** → human gate (`after:task-analyst`) → stop, or continue to feature-developer if the user asked to implement after.
|
|
9
|
+
|
|
10
|
+
## What to do
|
|
11
|
+
|
|
12
|
+
1. Extract description from arguments after `/spec-start` (domain, page/feature ids, sources).
|
|
13
|
+
2. Generate a **slug** (kebab-case, ≤48 chars), e.g. `spec-<domain>-<id>`.
|
|
14
|
+
3. Ensure `.claude/team/tasks/<slug>/` exists (Write artifacts; not Shell mkdir).
|
|
15
|
+
4. Write `.claude/team/active-task.json` → `{ "slug": "<slug>" }`.
|
|
16
|
+
5. Write minimal `pipeline.json`: task-analyst → (optional stop) → feature-developer only if user asked implement-after. **No separate spec-author agent.**
|
|
17
|
+
6. Invoke **task-analyst** with: author mode; load **`product-specs`** + **`product-specs-authoring`** + skill **`spec-authoring`**; Bootstrap if `docs/specs/` absent, else Generate.
|
|
18
|
+
7. Wait for analyst. **Do not** invoke feature-developer until human gate passes.
|
|
19
|
+
|
|
20
|
+
## Human gate
|
|
21
|
+
|
|
22
|
+
- Show created/updated spec paths and INDEX diff.
|
|
23
|
+
- Ask user to approve drafts (`status: draft` → promote) or send edits.
|
|
24
|
+
- Continue: `/task-continue <slug>` only after approval when implementation follows; otherwise stop after docs.
|
|
25
|
+
|
|
26
|
+
## Notes
|
|
27
|
+
|
|
28
|
+
- Greenfield invent of INDEX is allowed **only** via this command, explicit ask, or AC bootstrap language.
|
|
29
|
+
- mcp-ts: analyst-only author/sync (no tech-writer).
|
|
@@ -32,19 +32,24 @@ printf '%s\n' '{"status":"completed","action":"end_human_gate","activateNext":tr
|
|
|
32
32
|
|
|
33
33
|
3. Re-read `status.json` (and the hook `followup_message`).
|
|
34
34
|
4. Invoke the subagent named in `status.currentAgent` / followup — do **not** advance the pipeline a second time.
|
|
35
|
-
3. **Review `changes_requested`** (not a human gate): set `currentAgent` to `feature-developer` (same index / find developer in steps), `state: in_progress`, then invoke developer. Do **not** call `end_human_gate` unless `activeHumanGateEventId` is set.
|
|
36
|
-
4.
|
|
37
|
-
5.
|
|
35
|
+
3. **Review `changes_requested`** (not a human gate): if `currentAgent` is **`mockup-reviewer`**, this is the FAIL-only mockup gate — do **not** retry `feature-developer`. Read `mockup-review.md` and resume via the human-gate path (`end_human_gate` / `activateNext`). Otherwise: set `currentAgent` to `feature-developer` (same index / find developer in steps), `state: in_progress`, then invoke developer. Do **not** call `end_human_gate` unless `activeHumanGateEventId` is set.
|
|
36
|
+
4. **`blocked` + `currentAgent: mockup-reviewer`** (`BLOCKED_MCP`): skip-forward via the same `end_human_gate`/`activateNext` path (explicit «proceed without MCP»). Do not invent DS claims.
|
|
37
|
+
5. **Other resume**: restore `pipelineIndex` / `currentAgent` from status and invoke that agent.
|
|
38
|
+
6. After the invoked agent completes, `chain-team-phases.sh` on `subagentStop` continues the chain when `autoChain: true`.
|
|
38
39
|
|
|
39
40
|
## Artifacts for handoff
|
|
40
41
|
|
|
41
42
|
| Agent | Read |
|
|
42
43
|
|-------|------|
|
|
43
|
-
| feature-developer | brief.md, decomposition.md, validation-report.md (if retry), review.md (if retry), architecture.md |
|
|
44
|
+
| feature-developer | brief.md (incl. **Related specs**), decomposition.md, ux-design.md (if present), mockup-review.md (if present), validation-report.md (if retry), review.md (if retry), architecture.md; if `docs/specs/INDEX.md` exists → load **`product-specs`** |
|
|
44
45
|
| build-verifier | git diff, decomposition.md |
|
|
45
46
|
| code-reviewer | brief.md, validation-report.md, git diff |
|
|
47
|
+
| mockup-reviewer | mockup-review.md |
|
|
46
48
|
| qa-tester | brief.md, decomposition.md, scope from pipeline step |
|
|
47
49
|
|
|
48
|
-
##
|
|
50
|
+
## Product specs (docs/specs)
|
|
51
|
+
|
|
52
|
+
When the next agent is **feature-developer** (or other implementer): if `docs/specs/INDEX.md` exists or brief lists approved specs, instruct them to load **`product-specs`** and honor **Related specs** / approved generated specs as behavior SoT. Soft-fail on miss; never invent product behavior.
|
|
53
|
+
|
|
54
|
+
If analyst ran **author mode**, confirm human approved drafts before developer. Pass spec paths + INDEX diff in the handoff. No-op if INDEX is absent and no approved specs.
|
|
49
55
|
|
|
50
|
-
On human-gate resume, the hook action above appends `human_gate_ended` under the per-task lock **before** any new `attempt_started`. Agents must not calculate durations.
|
|
@@ -22,6 +22,8 @@ Examples:
|
|
|
22
22
|
- `/task Write a changelog for the filters release`
|
|
23
23
|
- `/task Review my changes in store/orders`
|
|
24
24
|
- `/task Write e2e for the payment scenario`
|
|
25
|
+
- `/task Review mockup https://figma.com/design/...`
|
|
26
|
+
- `/task Design UX flows for Order History` (no Figma)
|
|
25
27
|
|
|
26
28
|
## Algorithm
|
|
27
29
|
|