devrites 5.10.1 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +24 -10
  3. package/bin/devrites.mjs +2 -0
  4. package/docs/cli.md +4 -1
  5. package/docs/command-map.md +7 -5
  6. package/docs/engine/commands.md +7 -5
  7. package/docs/orchestration.md +5 -2
  8. package/docs/skills.md +10 -4
  9. package/docs/usage.md +3 -1
  10. package/engine/commands.go +3 -0
  11. package/engine/help.go +190 -0
  12. package/engine/help_test.go +98 -0
  13. package/engine/internal/devritespaths/paths.go +2 -0
  14. package/engine/internal/hostpack/hostpack.go +39 -5
  15. package/engine/internal/hostpack/hostpack_test.go +27 -13
  16. package/engine/internal/install/apply.go +17 -4
  17. package/engine/internal/install/install.go +9 -2
  18. package/engine/internal/install/install_test.go +15 -2
  19. package/engine/internal/install/preflight.go +8 -2
  20. package/engine/internal/install/update.go +1 -1
  21. package/engine/internal/parallel/cli.go +90 -32
  22. package/engine/internal/parallel/cli_test.go +32 -0
  23. package/engine/main.go +15 -8
  24. package/engine/root_routing_test.go +4 -0
  25. package/install.sh +4 -1
  26. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  27. package/pack/.claude/skills/rite-autocomplete/SKILL.md +10 -5
  28. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +12 -7
  29. package/pack/.claude/skills/rite-build/SKILL.md +3 -1
  30. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +4 -3
  31. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +3 -1
  32. package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
  33. package/pack/generated/README.md +4 -2
  34. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  35. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +10 -5
  36. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +12 -7
  37. package/pack/generated/claude/skills/rite-build/SKILL.md +3 -1
  38. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +4 -3
  39. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +3 -1
  40. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
  41. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  42. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +10 -5
  43. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +12 -7
  44. package/pack/generated/codex/skills/rite-build/SKILL.md +3 -1
  45. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +4 -3
  46. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +3 -1
  47. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
  48. package/pack/generated/devin/AGENTS.md +23 -0
  49. package/pack/generated/devin/agents/devrites-code-reviewer.md +145 -0
  50. package/pack/generated/devin/agents/devrites-devex-reviewer.md +126 -0
  51. package/pack/generated/devin/agents/devrites-doubt-reviewer.md +91 -0
  52. package/pack/generated/devin/agents/devrites-evidence-scout.md +77 -0
  53. package/pack/generated/devin/agents/devrites-frontend-reviewer.md +119 -0
  54. package/pack/generated/devin/agents/devrites-performance-reviewer.md +117 -0
  55. package/pack/generated/devin/agents/devrites-plan-drafter.md +102 -0
  56. package/pack/generated/devin/agents/devrites-plan-reviewer.md +144 -0
  57. package/pack/generated/devin/agents/devrites-proof-runner.md +76 -0
  58. package/pack/generated/devin/agents/devrites-retrospector.md +64 -0
  59. package/pack/generated/devin/agents/devrites-security-auditor.md +112 -0
  60. package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +97 -0
  61. package/pack/generated/devin/agents/devrites-slice-wright.md +219 -0
  62. package/pack/generated/devin/agents/devrites-spec-reviewer.md +99 -0
  63. package/pack/generated/devin/agents/devrites-strategy-reviewer.md +102 -0
  64. package/pack/generated/devin/agents/devrites-test-analyst.md +97 -0
  65. package/pack/generated/devin/agents/devrites-upgrade-planner.md +91 -0
  66. package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +64 -0
  67. package/pack/generated/devin/skills/devrites-audit/SKILL.md +51 -0
  68. package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +77 -0
  69. package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  70. package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  71. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +97 -0
  72. package/pack/generated/devin/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  73. package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
  74. package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
  75. package/pack/generated/devin/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  76. package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
  77. package/pack/generated/devin/skills/devrites-debug-recovery/reference/trace.md +25 -0
  78. package/pack/generated/devin/skills/devrites-doubt/SKILL.md +80 -0
  79. package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +87 -0
  80. package/pack/generated/devin/skills/devrites-frontend-craft/reference/craft.md +63 -0
  81. package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +116 -0
  82. package/pack/generated/devin/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
  83. package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
  84. package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
  85. package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +56 -0
  86. package/pack/generated/devin/skills/devrites-interview/SKILL.md +103 -0
  87. package/pack/generated/devin/skills/devrites-lib/SKILL.md +57 -0
  88. package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +42 -0
  89. package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +64 -0
  90. package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +27 -0
  91. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +73 -0
  92. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +88 -0
  93. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +60 -0
  94. package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  95. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +415 -0
  96. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +99 -0
  97. package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +48 -0
  98. package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +24 -0
  99. package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +50 -0
  100. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +43 -0
  101. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +108 -0
  102. package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +48 -0
  103. package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +109 -0
  104. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +167 -0
  105. package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +118 -0
  106. package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +28 -0
  107. package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +19 -0
  108. package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +31 -0
  109. package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
  110. package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +29 -0
  111. package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +43 -0
  112. package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +92 -0
  113. package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +85 -0
  114. package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +47 -0
  115. package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +49 -0
  116. package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +25 -0
  117. package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +102 -0
  118. package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
  119. package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +88 -0
  120. package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +97 -0
  121. package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +68 -0
  122. package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +51 -0
  123. package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +42 -0
  124. package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +123 -0
  125. package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +8 -0
  126. package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +80 -0
  127. package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +12 -0
  128. package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +25 -0
  129. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +202 -0
  130. package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +209 -0
  131. package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +197 -0
  132. package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +13 -0
  133. package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +212 -0
  134. package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +92 -0
  135. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +427 -0
  136. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
  137. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
  138. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
  139. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
  140. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
  141. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
  142. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
  143. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
  144. package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
  145. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +267 -0
  146. package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +74 -0
  147. package/pack/generated/devin/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
  148. package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +131 -0
  149. package/pack/generated/devin/skills/devrites-prose-craft/reference/structures.md +196 -0
  150. package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +53 -0
  151. package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +135 -0
  152. package/pack/generated/devin/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  153. package/pack/generated/devin/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
  154. package/pack/generated/devin/skills/rite/SKILL.md +148 -0
  155. package/pack/generated/devin/skills/rite/reference/menu.md +48 -0
  156. package/pack/generated/devin/skills/rite-adopt/SKILL.md +51 -0
  157. package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +19 -0
  158. package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +19 -0
  159. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +142 -0
  160. package/pack/generated/devin/skills/rite-autocomplete/reference/decision-policy.md +43 -0
  161. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +151 -0
  162. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +97 -0
  163. package/pack/generated/devin/skills/rite-build/SKILL.md +102 -0
  164. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +148 -0
  165. package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +27 -0
  166. package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +120 -0
  167. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +56 -0
  168. package/pack/generated/devin/skills/rite-build/reference/frontend-trigger.md +39 -0
  169. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +51 -0
  170. package/pack/generated/devin/skills/rite-build/reference/output.md +33 -0
  171. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +214 -0
  172. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +89 -0
  173. package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +84 -0
  174. package/pack/generated/devin/skills/rite-build/reference/tdd.md +27 -0
  175. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +96 -0
  176. package/pack/generated/devin/skills/rite-clarify/SKILL.md +98 -0
  177. package/pack/generated/devin/skills/rite-clarify/reference/anti-patterns.md +24 -0
  178. package/pack/generated/devin/skills/rite-clarify/reference/decision-coverage.md +55 -0
  179. package/pack/generated/devin/skills/rite-converge/SKILL.md +144 -0
  180. package/pack/generated/devin/skills/rite-converge/reference/anti-patterns.md +35 -0
  181. package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +65 -0
  182. package/pack/generated/devin/skills/rite-customize/SKILL.md +60 -0
  183. package/pack/generated/devin/skills/rite-define/SKILL.md +168 -0
  184. package/pack/generated/devin/skills/rite-define/reference/anti-patterns.md +26 -0
  185. package/pack/generated/devin/skills/rite-define/reference/gates.md +159 -0
  186. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +149 -0
  187. package/pack/generated/devin/skills/rite-doctor/SKILL.md +68 -0
  188. package/pack/generated/devin/skills/rite-dogfood/SKILL.md +55 -0
  189. package/pack/generated/devin/skills/rite-explain/SKILL.md +152 -0
  190. package/pack/generated/devin/skills/rite-explain/reference/intake.md +89 -0
  191. package/pack/generated/devin/skills/rite-frame/SKILL.md +114 -0
  192. package/pack/generated/devin/skills/rite-frame/reference/failure-modes.md +66 -0
  193. package/pack/generated/devin/skills/rite-handoff/SKILL.md +97 -0
  194. package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +44 -0
  195. package/pack/generated/devin/skills/rite-learn/SKILL.md +72 -0
  196. package/pack/generated/devin/skills/rite-plan/SKILL.md +185 -0
  197. package/pack/generated/devin/skills/rite-plan/reference/anti-patterns.md +34 -0
  198. package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +48 -0
  199. package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +105 -0
  200. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +168 -0
  201. package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +42 -0
  202. package/pack/generated/devin/skills/rite-polish/SKILL.md +105 -0
  203. package/pack/generated/devin/skills/rite-polish/reference/adr-promotion.md +11 -0
  204. package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +187 -0
  205. package/pack/generated/devin/skills/rite-polish/reference/anti-patterns.md +30 -0
  206. package/pack/generated/devin/skills/rite-polish/reference/backend-polish.md +80 -0
  207. package/pack/generated/devin/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
  208. package/pack/generated/devin/skills/rite-polish/reference/code.md +82 -0
  209. package/pack/generated/devin/skills/rite-polish/reference/design-memory.md +117 -0
  210. package/pack/generated/devin/skills/rite-polish/reference/design-system-discovery.md +8 -0
  211. package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +109 -0
  212. package/pack/generated/devin/skills/rite-polish/reference/ledger.md +65 -0
  213. package/pack/generated/devin/skills/rite-polish/reference/ui.md +137 -0
  214. package/pack/generated/devin/skills/rite-pov/SKILL.md +57 -0
  215. package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +54 -0
  216. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +66 -0
  217. package/pack/generated/devin/skills/rite-prototype/SKILL.md +104 -0
  218. package/pack/generated/devin/skills/rite-prove/SKILL.md +122 -0
  219. package/pack/generated/devin/skills/rite-prove/reference/acceptance-proof.md +88 -0
  220. package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +25 -0
  221. package/pack/generated/devin/skills/rite-prove/reference/browser-proof.md +51 -0
  222. package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +43 -0
  223. package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +28 -0
  224. package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +30 -0
  225. package/pack/generated/devin/skills/rite-quick/SKILL.md +81 -0
  226. package/pack/generated/devin/skills/rite-resolve/SKILL.md +98 -0
  227. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +118 -0
  228. package/pack/generated/devin/skills/rite-review/SKILL.md +171 -0
  229. package/pack/generated/devin/skills/rite-review/reference/anti-patterns.md +32 -0
  230. package/pack/generated/devin/skills/rite-review/reference/cognitive-load.md +90 -0
  231. package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +26 -0
  232. package/pack/generated/devin/skills/rite-review/reference/five-axis-review.md +66 -0
  233. package/pack/generated/devin/skills/rite-review/reference/nielsen-heuristics.md +126 -0
  234. package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +80 -0
  235. package/pack/generated/devin/skills/rite-review/reference/performance-review.md +14 -0
  236. package/pack/generated/devin/skills/rite-review/reference/security-review.md +42 -0
  237. package/pack/generated/devin/skills/rite-seal/SKILL.md +74 -0
  238. package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +29 -0
  239. package/pack/generated/devin/skills/rite-seal/reference/final-evidence.md +41 -0
  240. package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +29 -0
  241. package/pack/generated/devin/skills/rite-seal/reference/output.md +5 -0
  242. package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +47 -0
  243. package/pack/generated/devin/skills/rite-seal/reference/risk-and-rollback.md +56 -0
  244. package/pack/generated/devin/skills/rite-seal/reference/seal-template.md +27 -0
  245. package/pack/generated/devin/skills/rite-ship/SKILL.md +87 -0
  246. package/pack/generated/devin/skills/rite-ship/reference/anti-patterns.md +28 -0
  247. package/pack/generated/devin/skills/rite-ship/reference/close-out.md +68 -0
  248. package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +120 -0
  249. package/pack/generated/devin/skills/rite-ship/reference/rollout.md +62 -0
  250. package/pack/generated/devin/skills/rite-ship/reference/ship-template.md +39 -0
  251. package/pack/generated/devin/skills/rite-spec/SKILL.md +149 -0
  252. package/pack/generated/devin/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  253. package/pack/generated/devin/skills/rite-spec/reference/ai-spec-template.md +40 -0
  254. package/pack/generated/devin/skills/rite-spec/reference/anti-patterns.md +27 -0
  255. package/pack/generated/devin/skills/rite-spec/reference/interview-patterns.md +56 -0
  256. package/pack/generated/devin/skills/rite-spec/reference/investigation.md +83 -0
  257. package/pack/generated/devin/skills/rite-spec/reference/question-protocol.md +36 -0
  258. package/pack/generated/devin/skills/rite-spec/reference/references-intake.md +62 -0
  259. package/pack/generated/devin/skills/rite-spec/reference/spec-checklists.md +89 -0
  260. package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +154 -0
  261. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +227 -0
  262. package/pack/generated/devin/skills/rite-status/SKILL.md +57 -0
  263. package/pack/generated/devin/skills/rite-temper/SKILL.md +129 -0
  264. package/pack/generated/devin/skills/rite-temper/reference/anti-patterns.md +30 -0
  265. package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +66 -0
  266. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +53 -0
  267. package/pack/generated/devin/skills/rite-temper/reference/significance.md +46 -0
  268. package/pack/generated/devin/skills/rite-temper/reference/strategy-template.md +90 -0
  269. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +121 -0
  270. package/pack/generated/devin/skills/rite-vet/SKILL.md +192 -0
  271. package/pack/generated/devin/skills/rite-vet/reference/anti-patterns.md +43 -0
  272. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +202 -0
  273. package/pack/generated/devin/skills/rite-vet/reference/cross-model.md +19 -0
  274. package/pack/generated/devin/skills/rite-vet/reference/depth.md +59 -0
  275. package/pack/generated/devin/skills/rite-vet/reference/eng-lenses.md +48 -0
  276. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +201 -0
  277. package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +84 -0
  278. package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +69 -0
  279. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  280. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +10 -5
  281. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +12 -7
  282. package/pack/generated/omp/skills/rite-build/SKILL.md +3 -1
  283. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +4 -3
  284. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +3 -1
  285. package/pack/generated/omp/skills/rite-define/reference/plan-template.md +1 -1
  286. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
  287. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +10 -5
  288. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +12 -7
  289. package/pack/generated/pi/skills/rite-build/SKILL.md +3 -1
  290. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +4 -3
  291. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +3 -1
  292. package/pack/generated/pi/skills/rite-define/reference/plan-template.md +1 -1
  293. package/package.json +4 -2
  294. package/scripts/build-host-artifacts.sh +48 -5
  295. package/scripts/devin-generate.sh +222 -0
  296. package/update.sh +2 -1
@@ -0,0 +1,196 @@
1
+ # Structures to avoid
2
+
3
+ The sentence- and paragraph-level shapes that mark machine-written prose. Each row is a
4
+ pattern and its fix. Calibrated: the slop is the *decorative* version; the genuine structural
5
+ version (a real enumeration, a real contrast that carries information) stays.
6
+
7
+ ## Negative parallelism — the "not X, it's Y" family
8
+
9
+ The single most recognizable tell. It mimics insight by manufacturing a contrast.
10
+
11
+ | Pattern | Fix |
12
+ |---|---|
13
+ | "It's not X, it's Y." / "It isn't X. It's Y." | State Y. "Y is the cause." |
14
+ | "Not just X, but Y." / "Not only X but also Y." | State both plainly, or just Y if X is filler. |
15
+ | "The question isn't X. It's Y." | Ask the real question once, or state the answer. |
16
+ | "This isn't about X. It's about Y." | "This is about Y." |
17
+ | "X isn't the problem. Y is." | "Y is the problem." |
18
+ | "No X. No Y. Just Z." | "Z." or a normal sentence naming Z. |
19
+ | Negation chain: "No fluff, no filler, no jargon." / "It didn't ask. It didn't wait." | Say what the thing is. One negation earns its place when the reader would assume the opposite; a drumroll of them does not. Carve-out: factual inventories ("takes no arguments, no headers, and no body") stay. |
20
+
21
+ Drop the negation; lead with the thing you actually mean.
22
+
23
+ ## Rule of three / decorative tricolon
24
+
25
+ AI defaults to three-item adjective or benefit triplets. The fix depends on whether the three
26
+ items are *real*.
27
+
28
+ - **Decorative triad** — "innovative, transformative, and groundbreaking", "fast, reliable, and
29
+ scalable" as a flourish → cut to the one that's true and provable, or delete.
30
+ - **Real enumeration** — three acceptance criteria, three slices, three status codes the
31
+ endpoint returns → **keep all three.** This is precision, not slop. The technical register
32
+ needs the complete list.
33
+
34
+ Test: if removing one item loses information a reader needs, it's a real list — keep it. If the
35
+ three are interchangeable adjectives, it's a triad — cut it.
36
+
37
+ ## Importance inflation
38
+
39
+ Announcing significance instead of showing it. Let the reader judge weight.
40
+
41
+ | Pattern | Fix |
42
+ |---|---|
43
+ | "a pivotal moment", "a broader movement" | Describe what happened; drop the significance label. |
44
+ | "The implications are significant." | Name the specific implication. |
45
+ | "This is a critical step." | Show why it's required (the dependency, the gate, the risk). |
46
+
47
+ ## Vague attribution — cite the source or drop it
48
+
49
+ The prose twin of DevRites's evidence discipline (`devrites-source-driven`, `evidence.md`). An
50
+ unnamed authority is not a source; it inflates one person's claim into consensus.
51
+
52
+ | Pattern | Fix |
53
+ |---|---|
54
+ | "Experts believe…", "Studies show…", "Research suggests…" | Name the study/doc/benchmark, or cut the appeal and state the claim on its own merits. |
55
+ | "Best practice says…", "The community recommends…", "It's widely agreed…" | Link the source (an RFC, the framework docs, a measured result), or make the call yourself and own it in `decisions.md`. |
56
+
57
+ If you can't name who holds the view, you don't have a source — you have a guess. State it as one.
58
+
59
+ ## Abstract category nouns — name the specific items
60
+
61
+ "Various factors", "several considerations", "a number of issues" say nothing. Replace the
62
+ category word with the actual items.
63
+
64
+ | Pattern | Fix |
65
+ |---|---|
66
+ | "improvements across various metrics" | "cuts p95 latency 120ms→80ms and halves the query count" |
67
+ | "there are several considerations" | List the considerations, or name the one that matters. |
68
+ | "performance issues", "some edge cases" | Name the N+1 query; name the empty-input and the 10k-row cases. |
69
+
70
+ Offender words to catch: factors, aspects, considerations, issues, elements, things, areas,
71
+ metrics (unnamed). In a spec or `decisions.md`, the specific item is the whole point.
72
+
73
+ ## False agency — name who acts
74
+
75
+ Giving inanimate things human verbs. Common in machine prose because it avoids naming the actor.
76
+
77
+ | Pattern | Fix |
78
+ |---|---|
79
+ | "the data tells us" | "the grader reads X and returns Y" |
80
+ | "the decision emerges" | "we chose X because…" |
81
+ | "the complaint becomes a fix" | "the team fixed it in slice 3" |
82
+ | "the test ensures correctness" | "the test asserts `total === 42`" |
83
+
84
+ Front the actor: the script, the gate, the function, the engineer, or "you".
85
+
86
+ ## Dramatic fragmentation & rhetorical setups
87
+
88
+ | Pattern | Fix |
89
+ |---|---|
90
+ | "[Noun]. That's it. That's the [thing]." | One complete sentence. |
91
+ | "X. And Y. And Z." (staccato for drama) | Join into normal sentences; vary length. |
92
+ | "The result? Devastating." (self-posed Q&A) | Fold into a statement. |
93
+ | "What if [reframe]?" as a hook | Make the point directly. |
94
+ | "Think about it:" / "Here's what I mean:" | Delete; the next sentence already does the work. |
95
+ | Performed insight: "that's not nothing", "the punchline is", "sit with that", "that's the whole point", "Turns out…" | State the claim the phrase was gesturing at. One hit can be voice; several in one piece is a tell. |
96
+
97
+ ## Inflated constructions
98
+
99
+ Three small tells that pad a plain sentence into something that sounds weightier than it is.
100
+
101
+ | Pattern | Fix |
102
+ |---|---|
103
+ | **Copula-dodge** — "X serves as / functions as / stands as / boasts / features…" | Use the plain verb. "The gateway **is** the entry point", "the module **has** three handlers". |
104
+ | **Participle tail** — "…, highlighting its importance", "…, reflecting broader trends", "…, underscoring its role as a dynamic hub" | Cut the trailing `-ing` clause; it adds fake depth, not information. |
105
+ | **Aphorism formula** — "X is the Y of Z" ("caching is the heartbeat of the system"), "X is not a tool but a Y" | State the actual property. "The cache holds the hot rows so the DB isn't hit on every request." |
106
+ | **Invented concept label** — coining a pseudo-term as if it's established: "the N+1 tax", "the supervision paradox", "the abstraction trap" | Name the concrete thing and skip the coined label, or define it once if it genuinely recurs. |
107
+
108
+ ## Passive voice (prose register)
109
+
110
+ Every prose sentence wants a subject doing something. Passive hides the actor and drains energy.
111
+
112
+ | Pattern | Fix |
113
+ |---|---|
114
+ | "It was decided that…" | "We decided…" |
115
+ | "Mistakes were made." | Name who, and what. |
116
+ | "The endpoint is called by the client." | "The client calls the endpoint." |
117
+
118
+ Calibration: passive is fine when the actor is genuinely unknown or irrelevant ("the row is
119
+ deleted on cascade"). Don't contort a sentence to name an actor that doesn't matter.
120
+
121
+ ## Rhythm
122
+
123
+ - Don't run three same-length sentences in a row; don't stack three short fragments for effect.
124
+ - Don't end every paragraph on a punchy one-liner. Vary where the weight lands.
125
+ - **Em-dashes:** at most one per paragraph, used where a comma or period won't do. Multiple per
126
+ paragraph is the tell. (Catch both the em-dash `—` and the `--` substitute.)
127
+ - Don't open consecutive sentences with the same Wh- word ("What makes this… What this means…")
128
+ as a crutch; lead with the subject.
129
+
130
+ ## Formatting tells
131
+
132
+ - **No "Bold term: explanation" bullet lists** as the default structure for prose — the most
133
+ recognizable AI formatting pattern. Use real prose, or a plain bullet, unless the document's
134
+ existing style genuinely uses definition lists (a glossary, an API reference).
135
+ - No emoji in headings or section titles (artifacts and code both).
136
+ - Don't over-bold. Bold the one load-bearing term, not every noun.
137
+
138
+ ## Reasoning-chain scaffolding
139
+
140
+ Internal monologue leaking into published prose. The reader needs the conclusion and the
141
+ evidence, not the tour of how the model thought.
142
+
143
+ | Pattern | Fix |
144
+ |---|---|
145
+ | "Let me think step by step", "Breaking this down", "To approach this systematically" | State the conclusion, then the evidence. |
146
+ | "Here's my thought process", "Working through this logically", "Step 1:" as inner narration | Numbered *argument* stays; numbered *self-talk* goes. |
147
+
148
+ A `review.md` finding that walks error paths in order is an argument. A chat reply that
149
+ announces "First, let's consider…" is scaffolding.
150
+
151
+ ## Narrated candor
152
+
153
+ Announcing that you are about to be honest, instead of being honest.
154
+
155
+ | Pattern | Fix |
156
+ |---|---|
157
+ | "I want to be upfront:", "To be fully transparent:", "Two caveats I would rather flag than let you discover later:" | "Two caveats:" plus the caveats. |
158
+ | "Rather than bury this, I'll say it plainly:" | Say it. |
159
+
160
+ **Deletion test.** Cut the frame. If nothing is lost, it was never content.
161
+
162
+ **Keep:** the disclosure itself ("I haven't tested this on Windows"), and a real
163
+ conflict-of-interest label ("I own shares in the company discussed here").
164
+
165
+ ## Prompt restatement and recap-flattery
166
+
167
+ | Pattern | Fix |
168
+ |---|---|
169
+ | "You're asking about…", "To answer your question…", "That's a great question. The…" | Answer. The reader knows what they asked. |
170
+ | Recap-flattery: restating the other person's own work back at them as praise before the point | Substance first. If thanks is warranted: one plain clause, no recap. |
171
+
172
+ Distinct from sycophancy ("Great question!"), which validates the reader without recapping
173
+ their work.
174
+
175
+ ## Self-labeling significance
176
+
177
+ After listing items, pointing back and labeling one as contrarian / clever / the real story.
178
+
179
+ | Pattern | Fix |
180
+ |---|---|
181
+ | "That last move is the contrarian one." / "This is the interesting part." / "The third bullet is the real story." | Put the load-bearing item first, or expand it with specifics, and cut the label. |
182
+
183
+ If the move is actually contrarian, the description already shows it. The label is unearned
184
+ when the reader cannot see the contrast without it.
185
+
186
+ ## Diff-anchored writing
187
+
188
+ Docs or comments narrating the edit instead of describing the thing as it is.
189
+
190
+ | Pattern | Fix |
191
+ |---|---|
192
+ | "This function was added to replace the previous approach of iterating through all items." | "This function uses a hash map for O(1) lookups." |
193
+
194
+ **Carve-out:** changelogs, release notes, migration guides, and `decisions.md` narrate
195
+ change on purpose. Leave them. The tell is a README, comment, or spec overview written as
196
+ archaeology of the last diff.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: devrites-source-driven
3
+ description: Verify uncertain framework or library behavior in installed source or official docs. Use for unfamiliar APIs; not internal code.
4
+ triggers:
5
+ - model
6
+ ---
7
+
8
+ # devrites-source-driven: verify, don't guess
9
+
10
+ When library behavior matters and is uncertain, verify it against installed source or
11
+ authoritative documentation before relying on it.
12
+
13
+ ## When to trigger
14
+ - You're about to rely on an API signature, default, config key, or behavior you're not
15
+ sure of.
16
+ - The docs in memory might be stale (the project pins a different version).
17
+ - Tests can't easily prove the assumption, but it drives the implementation.
18
+ - An error message points at framework behavior you don't fully understand.
19
+
20
+ ## How
21
+ 1. **Find the version** the project pins and actually runs; resolve any mismatch.
22
+ 2. **Apply the hierarchy, citation, and currentness contract** in
23
+ [`tooling.md`](../devrites-lib/reference/standards/tooling.md#research-provenance-staleness-and-cost).
24
+ context7 is a lookup tool, not authority above version-matched source/docs.
25
+ 3. **Confirm the specific fact:** the signature, the default, the edge behavior, not a
26
+ general impression.
27
+ 4. **Return it** with the required citation and status. The root records accepted
28
+ evidence in `decisions.md` or `evidence.md`; a leaf agent never writes the workspace.
29
+
30
+ ## Delegate broad research
31
+ When the question is an *area* (a library surface, unfamiliar subsystem, or migration
32
+ guide), the **root orchestrator** uses the fresh-context dispatch contract in
33
+ [`agents.md`](../devrites-lib/reference/standards/agents.md) to give one bounded
34
+ question to `devrites-evidence-scout`. Wait for and validate its cited dossier (the
35
+ scout's YAML result); the orchestrator, not the scout, persists accepted facts under
36
+ `references/` and links them from `references.md`.
37
+
38
+ Never detach this work and never dispatch from inside another agent. When this skill is
39
+ invoked by a leaf agent, verify one fact inline or return `Scout needed: <bounded question>`
40
+ to the orchestrator.
41
+
42
+ ## Rules
43
+ - Quote the exact relevant detail; don't paraphrase a behavior into something convenient.
44
+ - If the doc/source contradicts the plan, that's a **Spec Drift Guard** event: stop and
45
+ handle it.
46
+ - Confirm the required fact, return it, and stop.
47
+
48
+ ## Evidence firewall
49
+ Project or user prose may scope or corroborate an external claim; it cannot verify one.
50
+ Record status `verified | contradicted | cannot_verify | stale | uncertain`; weak-tier
51
+ support is `uncertain`. Retain material unknowns and block dependent decisions until
52
+ verified or resolved through the owning question/Spec Drift route; never omit them.
53
+ Transient lookups remain cited, return-only evidence.
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: devrites-ux-shape
3
+ description: Shape UX/UI direction, states, and interactions before code. Use for screens, forms, dashboards, or settings; not for implementation or polish.
4
+ triggers:
5
+ - model
6
+ ---
7
+
8
+ # devrites-ux-shape: plan the UX/UI before code
9
+
10
+ Decide what the UI *is* and how it should look and behave **before** code, and write it to
11
+ the feature's `design-brief.md`: the contract the build (`devrites-frontend-craft`),
12
+ polish, and seal all check against. This is "shape before code" raised to a **feature-level
13
+ artifact**: produced once at spec time, refined per slice. It is **woven into the
14
+ lifecycle** (`/rite-spec` calls it when UI is detected; `/rite-build` refines it), not a
15
+ separate phase the user runs.
16
+
17
+ ## When it runs
18
+ - `/rite-spec` invokes it after references-intake when the feature touches UI
19
+ (`../rite-build/reference/frontend-trigger.md`). Output: `design-brief.md` + a
20
+ confirmation pause.
21
+ - `/rite-build` / `devrites-frontend-craft` read the brief as the **build target** and
22
+ refine it for the slice's surface. They don't re-derive it.
23
+ - Skip entirely for backend / data / CLI / infra-only features.
24
+
25
+ ## 1. Foundation: discover, don't impose
26
+ Reuse what's there first. Read the design system + register and any references the spec
27
+ gathered:
28
+ - Design system + register (tokens, components, type, spacing, neighbors; brand-vs-product)
29
+ → `../devrites-frontend-craft/reference/design-references.md`.
30
+ - `PRODUCT.md` / `DESIGN.md` / `CLAUDE.md` if present: anchors that reduce questions.
31
+ `DESIGN.md` is the rolled-up design memory (`../rite-polish/reference/design-memory.md`;
32
+ see `../devrites-frontend-craft/reference/design-references.md`) — read it before
33
+ re-discovering, depart only on signal.
34
+ - `references.md` + `references/`: the screenshots / Figma / video / links the human
35
+ supplied. Honor each recorded role: **target** = fidelity contract, **constraint** =
36
+ required rule, **inspiration** = extract only the cited principle.
37
+
38
+ ## 2. Discovery: one round, assert-then-confirm
39
+ Understand the feature deeply enough to make excellent design calls: **no code, no
40
+ markup**. Use the `devrites-interview` cadence: one question per turn (≤3 per pass),
41
+ best-guess attached, stop when answers converge. One round is the default; add a second only for
42
+ material gaps. When `PRODUCT.md` + the spec already pin an answer, **assert it and ask to
43
+ confirm** ("reads as Restrained: confirm?"), don't offer a four-option menu. Cover:
44
+ - **Purpose & user:** who, in what state of mind (rushed / exploring / anxious / focused).
45
+ - **Content & data:** realistic ranges (0 / typical / many), dynamic content, real
46
+ media/assets the surface needs.
47
+ - **Preserve + anti-goals:** identity, IA, behavior, content voice, SEO/analytics hooks,
48
+ existing accessibility wins, or assets that must survive; what this must NOT become;
49
+ the biggest risk of getting it wrong.
50
+
51
+ ## 3. Design direction: the direction set (commit, don't hedge)
52
+ One deliberate visual decision on five fronts, each anchored in an existing reference so
53
+ the call is checkable, not taste:
54
+ - **Scene sentence:** who / where / ambient light / mood, per
55
+ `../devrites-frontend-craft/reference/design-references.md`. Forces dark-vs-light and
56
+ tone from the scene, not the category.
57
+ - **Color strategy:** Restrained / Committed / Multi-role / Saturated, per the
58
+ color-commitment table in `../devrites-frontend-craft/reference/quality-standards.md`.
59
+ Pick from the scene; register doesn't decide it.
60
+ - **Calibration:** density (Airy / Balanced / Dense) and motion (Minimal / Standard /
61
+ Expressive), per the calibration table in the same quality-standards file. Set both from
62
+ the scene so the build targets a calibration, not a guess (a 2am SRE → Dense + Minimal; a
63
+ launch hero → Airy + Expressive).
64
+ - **Named anchor references:** 2-3 *specific* products / brands / objects to steer toward
65
+ (not adjectives like "modern" or "clean"), plus the saved `references/` files.
66
+ - **Visual thesis:** the focal point and hierarchy in one sentence, plus one memorable
67
+ move (or `none — system continuity`) and the obvious-but-wrong direction rejected. This
68
+ creates intentional distinction without forcing novelty into product UI.
69
+
70
+ Respect the existing identity (default, ~90%); depart only on an explicit signal.
71
+
72
+ ## 4. Scope: task-scoped, never persisted
73
+ Name the output target so sketch-vs-ship isn't guessed: **fidelity** (sketch / mid-fi /
74
+ high-fi / production. DevRites default is production), **breadth** (one screen / a flow /
75
+ a surface), **interactivity**, **time intent**. These ride in the brief only; they do not
76
+ change the project's design system, and never get written to `PRODUCT.md` / `DESIGN.md`.
77
+
78
+ ## 5. Key states + interaction model
79
+ List every state the feature needs and what the user must see/feel in each (default,
80
+ loading initial+subsequent, empty→next-action, error→recovery, success, disabled/
81
+ no-permission, long-content/overflow), the information hierarchy (what's seen 1st / 2nd /
82
+ 3rd; primary action unmistakable), responsive reflow, a11y must-haves, and the interaction
83
+ model (inline vs navigated vs (rarely) modal; optimistic vs pending; feedback). Name the
84
+ representative states, viewports, input modes, and target R-ids that will prove the result;
85
+ "looks polished" is not a proof target. Canonical state list:
86
+ `../devrites-frontend-craft/reference/shape.md`.
87
+
88
+ ## 6. Visual-direction probe: capability-gated
89
+ When the work is net-new or directionally ambiguous and fidelity ≥ mid-fi, pressure-test
90
+ the lane with something concrete instead of words: pull Figma context, generate image
91
+ probes, screenshot reference sites, or route a code-fidelity question to `/rite-prototype`.
92
+ **Capability-gated**: announce the skip in one line if no tool is available. Flow:
93
+ [reference/visual-direction-probe.md](reference/visual-direction-probe.md).
94
+
95
+ ## 7. AI-slop pre-check
96
+ Run the two-altitude category-reflex check (`../rite-polish/reference/anti-ai-slop.md`) on
97
+ the chosen direction *before* writing the brief, if the palette/theme is guessable from
98
+ the category, rework the scene sentence and color strategy. Cheaper to catch the slop in
99
+ the brief than in the build.
100
+
101
+ ## 8. Write the brief + gate
102
+ Write `design-brief.md` ([reference/brief-template.md](reference/brief-template.md)):
103
+ **compact** (3-5 bullets) when discovery was crisp, **full** when the surface is ambiguous
104
+ or multi-screen. Don't pad a clear brief to look thorough; don't skip the pause to look
105
+ fast. Then honor the run mode (`../devrites-lib/reference/standards/afk-hitl.md`):
106
+ - **HITL:** present the brief and **STOP for explicit confirmation**. The pause is the
107
+ point: shape ends at the user's "go", not at your own certainty. Disagreement → revisit
108
+ the relevant discovery question.
109
+ - **AFK:** assert the best-guess direction, record it in `decisions.md` + an advisory
110
+ `questions.md` entry, and proceed. A direction touching the irreversible-risk list still
111
+ pauses.
112
+
113
+ Completion: the smallest useful brief exists; primary action, states, interaction, proof
114
+ targets, and reference role/usage are explicit; the run-mode gate is resolved. Only then may
115
+ UI code start.
116
+
117
+ ## Output
118
+ ```
119
+ UX/UI shaped: <slug>
120
+ Direction: <color strategy> · density <airy|balanced|dense>/motion <minimal|standard|expressive> · "<scene sentence>" · anchors: <ref A, ref B>
121
+ States: <n listed> Probe: <figma | images | prototype | skipped — no tool>
122
+ Brief: design-brief.md (<compact | full>)
123
+ Gate: <confirmed | awaiting confirmation | AFK-asserted>
124
+ Next: /rite-define (UI slices map to the brief's states) — or /rite-build refines it per slice
125
+ ```
126
+
127
+ ## NEVER (ux-shape)
128
+ - Never write code, markup, or a component here: produce the thinking, not the UI.
129
+ - Never finalize the brief without naming the **primary action** and the **full state set**
130
+ (not just the happy path).
131
+ - Never decide visual direction by taste when the project has a system: discover first.
132
+ - Never treat an **inspiration** reference as a fidelity target: honor its recorded role.
133
+ - Never skip the HITL confirmation pause "because the brief is obviously right": ask once,
134
+ wait.
135
+ - Never re-derive the brief from scratch in `/rite-build`: refine the existing one.
@@ -0,0 +1,108 @@
1
+ # `design-brief.md` template: the UX/UI contract
2
+
3
+ The feature-level design decision, produced **before** code by `devrites-ux-shape` (at
4
+ `/rite-spec` when UI is detected) and the **target** the build, polish, and seal check
5
+ against. `devrites-frontend-craft` refines it per slice and appends build-time decisions;
6
+ it is never re-derived from scratch.
7
+
8
+ Pick the shape by how clear the answers are. **Compact** is the default for a crisp prompt;
9
+ **full** when the surface is ambiguous, multi-screen, or the user asked to shape it as a
10
+ step. Don't pad a clear brief into a long one to look thorough.
11
+
12
+ ## Compact form (default)
13
+ ```markdown
14
+ # Design brief: <feature>
15
+ Slug: <kebab> Shaped: <iso> Register: brand | product Fidelity: <sketch|mid-fi|high-fi|production>
16
+
17
+ - **Building**: <one line — what + who it's for + the primary action>
18
+ - **Thesis**: <focal point + hierarchy> · memorable move: <one move | none — system continuity> · preserve/avoid: <identity + anti-goal>
19
+ - **Direction**: <color strategy> · density <airy|balanced|dense>/motion <minimal|standard|expressive> · "<scene sentence>" · targets: <R-ids> · constraints: <R-ids> · inspiration: <R-ids>
20
+ - **Locks**: accent <token> · radius <scale> · theme <light|dark>
21
+ - **States**: <the states this surface needs, comma-listed>
22
+ - **Interaction**: <inline / navigated / modal · feedback · entry→completion in a phrase>
23
+ - **Proof**: <states × viewports × input modes; target R-ids; zero material visual mismatches>
24
+ - **Confirm or override?** <the one or two things you still want the user to confirm>
25
+ ```
26
+
27
+ ## Full form
28
+ ```markdown
29
+ # Design brief: <feature>
30
+ Slug: <kebab> Shaped: <iso> Register: brand | product
31
+
32
+ ## 1. Summary
33
+ What this is, who it's for, what it must accomplish, what existing identity/behavior must
34
+ survive — including IA, content voice, SEO/analytics hooks, and accessibility wins — and
35
+ the anti-goal (2-3 sentences).
36
+
37
+ ## 2. Primary action
38
+ The single most important thing the user does or understands here. Everything else is secondary.
39
+
40
+ ## 3. Design direction
41
+ - Color strategy: Restrained | Committed | Multi-role | Saturated — why (from the scene, not the category).
42
+ - Calibration: density Airy | Balanced | Dense · motion Minimal | Standard | Expressive — from the scene (`../../devrites-frontend-craft/reference/quality-standards.md` — Calibration).
43
+ - Scene sentence: "<who uses it, where, under what light, in what mood>".
44
+ - Visual thesis: <focal point + 1st/2nd/3rd hierarchy> · memorable move: <one | none — system continuity>.
45
+ - References by role: targets <R-ids> · constraints <R-ids> · inspiration <R-ids>.
46
+ - Locks: one accent <token> · one radius scale · one theme — held page-wide
47
+ (`../../devrites-frontend-craft/reference/quality-standards.md` — Consistency locks).
48
+ - Rejected direction: <the obvious-but-wrong direction + why>.
49
+ - Departure: default (preserve identity) | departing because <explicit signal>.
50
+
51
+ ## 4. Scope *(task-scoped — not persisted to PRODUCT.md / DESIGN.md)*
52
+ Fidelity · breadth · interactivity · time intent.
53
+
54
+ ## 5. Layout & hierarchy
55
+ What gets emphasis; what's seen 1st / 2nd / 3rd; how information flows. Hierarchy, not CSS.
56
+
57
+ ## 6. Key states
58
+ Every state + what the user needs to see and feel:
59
+ | State | User sees / feels | Notes |
60
+ |---|---|---|
61
+ | default / populated | | |
62
+ | loading | | initial + subsequent |
63
+ | empty | | welcoming + the next action |
64
+ | error | | what happened + how to recover |
65
+ | success | | |
66
+ | disabled / no-permission | | |
67
+ | long-content / overflow / many items | | |
68
+
69
+ ## 7. Interaction model
70
+ Inline vs navigated vs (rarely) modal; optimistic vs pending; focus & keyboard; feedback on
71
+ every action; the flow from entry to completion.
72
+
73
+ ## 8. Content & copy
74
+ Labels, empty/error messages, microcopy in the product's voice. Realistic dynamic ranges.
75
+ For image-led surfaces: required media roles + likely source (project asset / generated /
76
+ SVG-CSS / icon library / accepted omission) and the shippable provenance/usage recorded in
77
+ `references.md`.
78
+
79
+ ## 9. Responsive & a11y
80
+ Reflow 320→1440 (what stacks / collapses / scrolls); focus order, labels, contrast,
81
+ keyboard, target size. Floor: `../../devrites-frontend-craft/reference/quality-standards.md`.
82
+
83
+ ## 10. Visual-direction probe
84
+ Which probe ran (figma / images / prototype / skipped — no tool), which direction won, what
85
+ changed in the brief because of it. Artifacts saved under `references/`.
86
+
87
+ ## 11. Proof targets
88
+ Representative states × viewports × input modes, the target R-ids or brief rules each
89
+ render is compared with, and the exact interaction/accessibility checks. A visual pass
90
+ requires zero unresolved **material** mismatch; accepted departures are recorded below.
91
+
92
+ ## 12. Open questions
93
+ Genuinely unresolved only. If you'd write "Recommend: X", decide X instead.
94
+
95
+ ## Build-time refinements *(appended by devrites-frontend-craft per slice)*
96
+ - SLICE-001: <decision made while building this surface + why>.
97
+ ```
98
+
99
+ ## How downstream phases use it
100
+ - `/rite-define`: UI slices map to the **Key states**, **Interaction model**, and **Proof
101
+ targets**; each UI slice names the visual acceptance it proves.
102
+ - `/rite-build` + `devrites-frontend-craft`: build **to** the brief; refine per slice;
103
+ append refinements above instead of re-deriving.
104
+ - `/rite-prove` + `browser-evidence.md`: render the proof targets, compare against the
105
+ brief + target references, and close material deltas.
106
+ - `/rite-polish`: Phase 4 reads the brief so polish honors the agreed direction.
107
+ - `/rite-seal` + `devrites-frontend-reviewer`: check the UI matches the brief (states
108
+ covered, direction held, references matched).
@@ -0,0 +1,48 @@
1
+ # Visual-direction probe: test the lane before the brief locks
2
+
3
+ Before finalizing `design-brief.md`, pressure-test the visual direction with something
4
+ concrete instead of words, *when it will clarify the brief*. This is the
5
+ DevRites-native answer to "build it according to the design (Figma, images)": show a
6
+ direction, get a reaction, then write the brief.
7
+
8
+ ## When to run (all true)
9
+ - The work is **net-new** or directionally **ambiguous**. An existing surface or an
10
+ approved reference classified **target** already fixes the direction → skip.
11
+ - Fidelity is **mid-fi or higher**. Sketch-only planning → skip.
12
+ - A probe tool is available (below). **Capability-gated**: never ask the user to
13
+ install APIs or tooling. If none is available, **announce the skip in one line** and
14
+ proceed to the brief. The one-line announcement is required; it forces a conscious choice
15
+ instead of letting the step quietly evaporate.
16
+
17
+ ## Pick the probe by what's available (first match)
18
+ 1. **Figma reference supplied** → pull design context with the Figma integration (frames,
19
+ tokens, components, a screenshot of the target). Record what it dictates. A Figma frame
20
+ that conflicts with the project's design system is a **question for the user**, not a
21
+ silent choice.
22
+ 2. **Native image generation available** (Figma Make, an image-gen MCP, computer-use, or
23
+ similar) → generate **2-4 distinct direction probes** from the discovery answers (color
24
+ strategy, scene sentence, anchors). They must differ in **primary direction**:
25
+ hierarchy, density, typographic voice, topology, not just palette tweaks. Treat them as
26
+ *direction tests*, not final UI.
27
+ 3. **A code-fidelity question** ("which of these layouts works in our stack") →
28
+ route to **`/rite-prototype`** (2-4 real UI variations on one throwaway route). Prototype
29
+ is DevRites' existing tool for this; don't rebuild it here.
30
+ 4. **Reference sites / links only** → screenshot them (`devrites-browser-proof` tooling)
31
+ and read the relevant intent (tone, density, interaction).
32
+ 5. **Nothing available** → one-line skip, proceed.
33
+
34
+ ## How to use the result
35
+ - Ask which direction feels closest, what's off, what carries forward. Don't treat
36
+ generated imagery as final UX, copy, or accessibility behavior.
37
+ - If the probe reveals a mismatch, revise the **discovery inputs** (scene sentence, color
38
+ strategy, anchors) *before* writing the brief. That's the whole point of probing.
39
+ - Save probe artifacts (generated images, Figma exports, screenshots) into
40
+ `.devrites/work/<slug>/references/`, index them in `references.md` with what each shows,
41
+ and note the winning direction in the brief's **Visual-direction probe** section.
42
+
43
+ ## Limits
44
+ - Don't skip discovery because image generation is available.
45
+ - Don't run a probe for a minor refinement of existing work. It's for shaping a new
46
+ surface or a big directional choice.
47
+ - Don't block the brief on a slow or failing tool: try once, then skip with the one-line
48
+ note.