godpowers 0.15.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 (444) hide show
  1. package/AGENTS.md +37 -0
  2. package/CHANGELOG.md +639 -0
  3. package/INSPIRATION.md +52 -0
  4. package/LICENSE +21 -0
  5. package/README.md +232 -0
  6. package/SKILL.md +500 -0
  7. package/agents/god-archaeologist.md +139 -0
  8. package/agents/god-architect.md +92 -0
  9. package/agents/god-auditor.md +150 -0
  10. package/agents/god-browser-tester.md +144 -0
  11. package/agents/god-context-writer.md +137 -0
  12. package/agents/god-coordinator.md +138 -0
  13. package/agents/god-debt-assessor.md +132 -0
  14. package/agents/god-debugger.md +77 -0
  15. package/agents/god-deploy-engineer.md +87 -0
  16. package/agents/god-deps-auditor.md +111 -0
  17. package/agents/god-design-reviewer.md +137 -0
  18. package/agents/god-designer.md +171 -0
  19. package/agents/god-docs-writer.md +102 -0
  20. package/agents/god-executor.md +76 -0
  21. package/agents/god-explorer.md +110 -0
  22. package/agents/god-harden-auditor.md +163 -0
  23. package/agents/god-incident-investigator.md +144 -0
  24. package/agents/god-launch-strategist.md +103 -0
  25. package/agents/god-migration-strategist.md +126 -0
  26. package/agents/god-observability-engineer.md +76 -0
  27. package/agents/god-orchestrator.md +728 -0
  28. package/agents/god-org-context-loader.md +124 -0
  29. package/agents/god-planner.md +73 -0
  30. package/agents/god-pm.md +105 -0
  31. package/agents/god-quality-reviewer.md +74 -0
  32. package/agents/god-reconciler.md +230 -0
  33. package/agents/god-reconstructor.md +124 -0
  34. package/agents/god-repo-scaffolder.md +60 -0
  35. package/agents/god-retrospective.md +109 -0
  36. package/agents/god-roadmap-reconciler.md +123 -0
  37. package/agents/god-roadmap-updater.md +89 -0
  38. package/agents/god-roadmapper.md +82 -0
  39. package/agents/god-spec-reviewer.md +70 -0
  40. package/agents/god-spike-runner.md +119 -0
  41. package/agents/god-stack-selector.md +93 -0
  42. package/agents/god-standards-check.md +132 -0
  43. package/agents/god-storyteller.md +116 -0
  44. package/agents/god-updater.md +174 -0
  45. package/bin/install.js +514 -0
  46. package/extensions/data-pack/README.md +33 -0
  47. package/extensions/data-pack/agents/god-dashboard-builder.md +66 -0
  48. package/extensions/data-pack/agents/god-etl-engineer.md +64 -0
  49. package/extensions/data-pack/agents/god-ml-feature-engineer.md +66 -0
  50. package/extensions/data-pack/manifest.yaml +39 -0
  51. package/extensions/data-pack/package.json +42 -0
  52. package/extensions/data-pack/skills/god-dashboard.md +28 -0
  53. package/extensions/data-pack/skills/god-etl.md +28 -0
  54. package/extensions/data-pack/skills/god-ml-feature.md +28 -0
  55. package/extensions/data-pack/workflows/dashboard-arc.yaml +13 -0
  56. package/extensions/data-pack/workflows/etl-arc.yaml +13 -0
  57. package/extensions/data-pack/workflows/ml-feature-arc.yaml +13 -0
  58. package/extensions/launch-pack/README.md +36 -0
  59. package/extensions/launch-pack/agents/god-indie-hackers-strategist.md +128 -0
  60. package/extensions/launch-pack/agents/god-oss-release-strategist.md +125 -0
  61. package/extensions/launch-pack/agents/god-product-hunt-strategist.md +118 -0
  62. package/extensions/launch-pack/agents/god-show-hn-strategist.md +113 -0
  63. package/extensions/launch-pack/manifest.yaml +45 -0
  64. package/extensions/launch-pack/package.json +41 -0
  65. package/extensions/launch-pack/skills/god-indie-hackers.md +39 -0
  66. package/extensions/launch-pack/skills/god-oss-release.md +43 -0
  67. package/extensions/launch-pack/skills/god-product-hunt.md +41 -0
  68. package/extensions/launch-pack/skills/god-show-hn.md +40 -0
  69. package/extensions/launch-pack/workflows/indie-hackers.yaml +13 -0
  70. package/extensions/launch-pack/workflows/oss-release.yaml +13 -0
  71. package/extensions/launch-pack/workflows/product-hunt.yaml +13 -0
  72. package/extensions/launch-pack/workflows/show-hn.yaml +13 -0
  73. package/extensions/security-pack/README.md +48 -0
  74. package/extensions/security-pack/agents/god-hipaa-auditor.md +117 -0
  75. package/extensions/security-pack/agents/god-pci-auditor.md +100 -0
  76. package/extensions/security-pack/agents/god-soc2-auditor.md +107 -0
  77. package/extensions/security-pack/manifest.yaml +39 -0
  78. package/extensions/security-pack/package.json +42 -0
  79. package/extensions/security-pack/skills/god-hipaa-audit.md +41 -0
  80. package/extensions/security-pack/skills/god-pci-audit.md +40 -0
  81. package/extensions/security-pack/skills/god-soc2-audit.md +42 -0
  82. package/extensions/security-pack/workflows/hipaa-arc.yaml +15 -0
  83. package/extensions/security-pack/workflows/pci-arc.yaml +15 -0
  84. package/extensions/security-pack/workflows/soc2-arc.yaml +15 -0
  85. package/hooks/pre-tool-use.sh +40 -0
  86. package/hooks/session-start.sh +74 -0
  87. package/lib/README.md +28 -0
  88. package/lib/agent-browser-driver.js +215 -0
  89. package/lib/agent-cache.js +194 -0
  90. package/lib/agent-validator.js +275 -0
  91. package/lib/artifact-diff.js +168 -0
  92. package/lib/artifact-linter.js +142 -0
  93. package/lib/awesome-design.js +312 -0
  94. package/lib/browser-bridge.js +209 -0
  95. package/lib/budget.js +215 -0
  96. package/lib/checkpoint.js +390 -0
  97. package/lib/code-scanner.js +262 -0
  98. package/lib/context-budget.js +170 -0
  99. package/lib/context-writer.js +348 -0
  100. package/lib/cost-tracker.js +325 -0
  101. package/lib/cross-artifact-impact.js +162 -0
  102. package/lib/cross-repo-linkage.js +150 -0
  103. package/lib/design-detector.js +167 -0
  104. package/lib/design-spec.js +348 -0
  105. package/lib/drift-detector.js +212 -0
  106. package/lib/event-reader.js +174 -0
  107. package/lib/events.js +183 -0
  108. package/lib/extensions.js +257 -0
  109. package/lib/have-nots-validator.js +647 -0
  110. package/lib/impact.js +314 -0
  111. package/lib/impeccable-bridge.js +139 -0
  112. package/lib/intent.js +177 -0
  113. package/lib/linkage.js +232 -0
  114. package/lib/meta-linter.js +263 -0
  115. package/lib/multi-repo-detector.js +182 -0
  116. package/lib/otel-exporter.js +308 -0
  117. package/lib/recipes.js +186 -0
  118. package/lib/reverse-sync.js +332 -0
  119. package/lib/review-required.js +224 -0
  120. package/lib/router.js +278 -0
  121. package/lib/runtime-audit.js +455 -0
  122. package/lib/runtime-test.js +309 -0
  123. package/lib/skillui-bridge.js +216 -0
  124. package/lib/state-lock.js +201 -0
  125. package/lib/state.js +142 -0
  126. package/lib/story-validator.js +301 -0
  127. package/lib/suite-state.js +220 -0
  128. package/lib/workflow-parser.js +109 -0
  129. package/lib/workflow-runner.js +221 -0
  130. package/package.json +63 -0
  131. package/references/HAVE-NOTS.md +573 -0
  132. package/references/building/BUILD-ANTIPATTERNS.md +102 -0
  133. package/references/building/BUILD-VERTICAL-SLICES.md +75 -0
  134. package/references/building/BUILD-WAVES.md +61 -0
  135. package/references/building/README.md +17 -0
  136. package/references/design/COLOR.md +122 -0
  137. package/references/design/DESIGN-ANATOMY.md +121 -0
  138. package/references/design/DESIGN-ANTIPATTERNS.md +108 -0
  139. package/references/design/INTERACTION.md +148 -0
  140. package/references/design/MOTION.md +120 -0
  141. package/references/design/RESPONSIVE.md +157 -0
  142. package/references/design/SPATIAL.md +109 -0
  143. package/references/design/TYPOGRAPHY.md +121 -0
  144. package/references/design/UX-WRITING.md +135 -0
  145. package/references/orchestration/MODE-DETECTION.md +74 -0
  146. package/references/orchestration/README.md +18 -0
  147. package/references/orchestration/SCALE-DETECTION.md +81 -0
  148. package/references/planning/ARCH-ANATOMY.md +143 -0
  149. package/references/planning/ARCH-ANTIPATTERNS.md +52 -0
  150. package/references/planning/PRD-ANATOMY.md +117 -0
  151. package/references/planning/PRD-ANTIPATTERNS.md +138 -0
  152. package/references/planning/README.md +16 -0
  153. package/references/planning/ROADMAP-ANATOMY.md +43 -0
  154. package/references/planning/ROADMAP-ANTIPATTERNS.md +94 -0
  155. package/references/planning/STACK-ANATOMY.md +60 -0
  156. package/references/planning/STACK-ANTIPATTERNS.md +95 -0
  157. package/references/shared/GLOSSARY.md +80 -0
  158. package/references/shared/ORCHESTRATORS.md +76 -0
  159. package/references/shared/README.md +14 -0
  160. package/references/shipping/DEPLOY-ANTIPATTERNS.md +64 -0
  161. package/references/shipping/DEPLOY-PATTERNS.md +110 -0
  162. package/references/shipping/HARDEN-ANTIPATTERNS.md +66 -0
  163. package/references/shipping/HARDEN-OWASP-WORKSHEETS.md +89 -0
  164. package/references/shipping/LAUNCH-ANTIPATTERNS.md +68 -0
  165. package/references/shipping/OBSERVE-ANTIPATTERNS.md +62 -0
  166. package/references/shipping/OBSERVE-SLO-EXAMPLES.md +107 -0
  167. package/references/shipping/README.md +18 -0
  168. package/routing/god-add-backlog.yaml +24 -0
  169. package/routing/god-add-tests.yaml +27 -0
  170. package/routing/god-add-todo.yaml +24 -0
  171. package/routing/god-agent-audit.yaml +24 -0
  172. package/routing/god-arch.yaml +46 -0
  173. package/routing/god-archaeology.yaml +28 -0
  174. package/routing/god-audit.yaml +32 -0
  175. package/routing/god-budget.yaml +24 -0
  176. package/routing/god-build-agent.yaml +24 -0
  177. package/routing/god-build.yaml +46 -0
  178. package/routing/god-cache-clear.yaml +24 -0
  179. package/routing/god-check-todos.yaml +24 -0
  180. package/routing/god-context-scan.yaml +24 -0
  181. package/routing/god-context.yaml +44 -0
  182. package/routing/god-cost.yaml +24 -0
  183. package/routing/god-debug.yaml +28 -0
  184. package/routing/god-deploy.yaml +34 -0
  185. package/routing/god-design-impact.yaml +25 -0
  186. package/routing/god-design.yaml +67 -0
  187. package/routing/god-discuss.yaml +27 -0
  188. package/routing/god-docs.yaml +33 -0
  189. package/routing/god-doctor.yaml +27 -0
  190. package/routing/god-explore.yaml +27 -0
  191. package/routing/god-extension-add.yaml +24 -0
  192. package/routing/god-extension-info.yaml +24 -0
  193. package/routing/god-extension-list.yaml +24 -0
  194. package/routing/god-extension-remove.yaml +24 -0
  195. package/routing/god-extract-learnings.yaml +24 -0
  196. package/routing/god-fast.yaml +27 -0
  197. package/routing/god-feature.yaml +34 -0
  198. package/routing/god-graph.yaml +24 -0
  199. package/routing/god-harden.yaml +41 -0
  200. package/routing/god-help.yaml +27 -0
  201. package/routing/god-hotfix.yaml +34 -0
  202. package/routing/god-hygiene.yaml +28 -0
  203. package/routing/god-init.yaml +37 -0
  204. package/routing/god-intel.yaml +24 -0
  205. package/routing/god-launch.yaml +41 -0
  206. package/routing/god-lifecycle.yaml +27 -0
  207. package/routing/god-link.yaml +24 -0
  208. package/routing/god-lint.yaml +24 -0
  209. package/routing/god-list-assumptions.yaml +27 -0
  210. package/routing/god-locate.yaml +24 -0
  211. package/routing/god-logs.yaml +24 -0
  212. package/routing/god-map-codebase.yaml +24 -0
  213. package/routing/god-metrics.yaml +24 -0
  214. package/routing/god-mode.yaml +31 -0
  215. package/routing/god-next.yaml +27 -0
  216. package/routing/god-note.yaml +24 -0
  217. package/routing/god-observe.yaml +34 -0
  218. package/routing/god-org-context.yaml +28 -0
  219. package/routing/god-party.yaml +24 -0
  220. package/routing/god-pause-work.yaml +27 -0
  221. package/routing/god-plant-seed.yaml +24 -0
  222. package/routing/god-postmortem.yaml +34 -0
  223. package/routing/god-pr-branch.yaml +25 -0
  224. package/routing/god-prd.yaml +49 -0
  225. package/routing/god-quick.yaml +28 -0
  226. package/routing/god-reconcile.yaml +48 -0
  227. package/routing/god-reconstruct.yaml +36 -0
  228. package/routing/god-redo.yaml +27 -0
  229. package/routing/god-refactor.yaml +36 -0
  230. package/routing/god-repair.yaml +27 -0
  231. package/routing/god-repo.yaml +35 -0
  232. package/routing/god-restore.yaml +27 -0
  233. package/routing/god-resume-work.yaml +27 -0
  234. package/routing/god-review-changes.yaml +25 -0
  235. package/routing/god-review.yaml +28 -0
  236. package/routing/god-roadmap-check.yaml +39 -0
  237. package/routing/god-roadmap-update.yaml +37 -0
  238. package/routing/god-roadmap.yaml +42 -0
  239. package/routing/god-rollback.yaml +27 -0
  240. package/routing/god-scan.yaml +24 -0
  241. package/routing/god-set-profile.yaml +24 -0
  242. package/routing/god-settings.yaml +24 -0
  243. package/routing/god-skip.yaml +27 -0
  244. package/routing/god-smite.yaml +29 -0
  245. package/routing/god-spike.yaml +35 -0
  246. package/routing/god-sprint.yaml +25 -0
  247. package/routing/god-stack.yaml +41 -0
  248. package/routing/god-standards.yaml +24 -0
  249. package/routing/god-status.yaml +27 -0
  250. package/routing/god-stories.yaml +24 -0
  251. package/routing/god-story-build.yaml +25 -0
  252. package/routing/god-story-close.yaml +25 -0
  253. package/routing/god-story-verify.yaml +25 -0
  254. package/routing/god-story.yaml +24 -0
  255. package/routing/god-suite-init.yaml +24 -0
  256. package/routing/god-suite-patch.yaml +25 -0
  257. package/routing/god-suite-release.yaml +25 -0
  258. package/routing/god-suite-status.yaml +25 -0
  259. package/routing/god-suite-sync.yaml +25 -0
  260. package/routing/god-sync.yaml +33 -0
  261. package/routing/god-tech-debt.yaml +32 -0
  262. package/routing/god-test-extension.yaml +24 -0
  263. package/routing/god-test-runtime.yaml +25 -0
  264. package/routing/god-thread.yaml +24 -0
  265. package/routing/god-trace.yaml +24 -0
  266. package/routing/god-undo.yaml +27 -0
  267. package/routing/god-update-deps.yaml +39 -0
  268. package/routing/god-upgrade.yaml +33 -0
  269. package/routing/god-version.yaml +24 -0
  270. package/routing/god-workstream.yaml +24 -0
  271. package/routing/god.yaml +24 -0
  272. package/routing/recipes/add-feature-defer-current-milestone.yaml +21 -0
  273. package/routing/recipes/add-feature-future-conditional.yaml +21 -0
  274. package/routing/recipes/add-feature-mid-arc-pause.yaml +33 -0
  275. package/routing/recipes/add-feature-next-milestone.yaml +23 -0
  276. package/routing/recipes/add-feature-parallel.yaml +29 -0
  277. package/routing/recipes/add-feature-prd-update.yaml +21 -0
  278. package/routing/recipes/add-feature-small.yaml +24 -0
  279. package/routing/recipes/add-feature-tiny.yaml +24 -0
  280. package/routing/recipes/bluefield-org-aware.yaml +27 -0
  281. package/routing/recipes/broken-install.yaml +22 -0
  282. package/routing/recipes/brownfield-onboarding.yaml +32 -0
  283. package/routing/recipes/bug-no-urgency.yaml +21 -0
  284. package/routing/recipes/capture-idea.yaml +22 -0
  285. package/routing/recipes/capture-todo.yaml +21 -0
  286. package/routing/recipes/clean-pr.yaml +21 -0
  287. package/routing/recipes/code-cleanup.yaml +23 -0
  288. package/routing/recipes/docs-drift.yaml +21 -0
  289. package/routing/recipes/existing-codebase-onboarding.yaml +32 -0
  290. package/routing/recipes/extract-learnings.yaml +22 -0
  291. package/routing/recipes/greenfield-fast.yaml +25 -0
  292. package/routing/recipes/greenfield-manual.yaml +32 -0
  293. package/routing/recipes/greenfield-with-ideation.yaml +29 -0
  294. package/routing/recipes/incident-postmortem.yaml +24 -0
  295. package/routing/recipes/major-framework-upgrade.yaml +23 -0
  296. package/routing/recipes/monthly-deps.yaml +22 -0
  297. package/routing/recipes/multi-repo-suite.yaml +56 -0
  298. package/routing/recipes/parallel-engineers.yaml +26 -0
  299. package/routing/recipes/pause-handoff.yaml +21 -0
  300. package/routing/recipes/production-broken.yaml +26 -0
  301. package/routing/recipes/rerun-tier.yaml +21 -0
  302. package/routing/recipes/returning-after-break.yaml +31 -0
  303. package/routing/recipes/state-drift.yaml +21 -0
  304. package/routing/recipes/undo-last.yaml +21 -0
  305. package/routing/recipes/weekly-health-check.yaml +24 -0
  306. package/routing/recipes/whats-next.yaml +22 -0
  307. package/routing/recipes/where-am-i.yaml +21 -0
  308. package/schema/events.v1.json +63 -0
  309. package/schema/extension-manifest.v1.json +84 -0
  310. package/schema/intent.v1.yaml.json +116 -0
  311. package/schema/recipe.v1.json +120 -0
  312. package/schema/routing.v1.json +163 -0
  313. package/schema/state.v1.json +146 -0
  314. package/schema/workflow.v1.json +96 -0
  315. package/skills/god-add-backlog.md +40 -0
  316. package/skills/god-add-tests.md +53 -0
  317. package/skills/god-add-todo.md +32 -0
  318. package/skills/god-agent-audit.md +87 -0
  319. package/skills/god-arch.md +81 -0
  320. package/skills/god-archaeology.md +48 -0
  321. package/skills/god-audit.md +65 -0
  322. package/skills/god-budget.md +103 -0
  323. package/skills/god-build-agent.md +91 -0
  324. package/skills/god-build.md +90 -0
  325. package/skills/god-cache-clear.md +75 -0
  326. package/skills/god-check-todos.md +42 -0
  327. package/skills/god-context-scan.md +125 -0
  328. package/skills/god-context.md +147 -0
  329. package/skills/god-cost.md +118 -0
  330. package/skills/god-debug.md +30 -0
  331. package/skills/god-deploy.md +76 -0
  332. package/skills/god-design-impact.md +86 -0
  333. package/skills/god-design.md +275 -0
  334. package/skills/god-discuss.md +46 -0
  335. package/skills/god-docs.md +81 -0
  336. package/skills/god-doctor.md +94 -0
  337. package/skills/god-explore.md +50 -0
  338. package/skills/god-export-otel.md +87 -0
  339. package/skills/god-extension-add.md +79 -0
  340. package/skills/god-extension-info.md +75 -0
  341. package/skills/god-extension-list.md +55 -0
  342. package/skills/god-extension-remove.md +66 -0
  343. package/skills/god-extract-learnings.md +60 -0
  344. package/skills/god-fast.md +47 -0
  345. package/skills/god-feature.md +114 -0
  346. package/skills/god-graph.md +56 -0
  347. package/skills/god-harden.md +106 -0
  348. package/skills/god-help.md +66 -0
  349. package/skills/god-hotfix.md +139 -0
  350. package/skills/god-hygiene.md +104 -0
  351. package/skills/god-init.md +161 -0
  352. package/skills/god-intel.md +36 -0
  353. package/skills/god-launch.md +86 -0
  354. package/skills/god-lifecycle.md +119 -0
  355. package/skills/god-link.md +90 -0
  356. package/skills/god-lint.md +128 -0
  357. package/skills/god-list-assumptions.md +56 -0
  358. package/skills/god-locate.md +97 -0
  359. package/skills/god-logs.md +57 -0
  360. package/skills/god-map-codebase.md +45 -0
  361. package/skills/god-metrics.md +51 -0
  362. package/skills/god-mode.md +159 -0
  363. package/skills/god-next.md +257 -0
  364. package/skills/god-note.md +39 -0
  365. package/skills/god-observe.md +76 -0
  366. package/skills/god-org-context.md +81 -0
  367. package/skills/god-party.md +87 -0
  368. package/skills/god-pause-work.md +64 -0
  369. package/skills/god-plant-seed.md +59 -0
  370. package/skills/god-postmortem.md +103 -0
  371. package/skills/god-pr-branch.md +50 -0
  372. package/skills/god-prd.md +90 -0
  373. package/skills/god-quick.md +50 -0
  374. package/skills/god-reconcile.md +90 -0
  375. package/skills/god-reconstruct.md +72 -0
  376. package/skills/god-redo.md +73 -0
  377. package/skills/god-refactor.md +137 -0
  378. package/skills/god-repair.md +82 -0
  379. package/skills/god-repo.md +49 -0
  380. package/skills/god-restore.md +91 -0
  381. package/skills/god-resume-work.md +42 -0
  382. package/skills/god-review-changes.md +93 -0
  383. package/skills/god-review.md +52 -0
  384. package/skills/god-roadmap-check.md +66 -0
  385. package/skills/god-roadmap-update.md +64 -0
  386. package/skills/god-roadmap.md +77 -0
  387. package/skills/god-rollback.md +88 -0
  388. package/skills/god-scan.md +106 -0
  389. package/skills/god-set-profile.md +58 -0
  390. package/skills/god-settings.md +44 -0
  391. package/skills/god-skip.md +78 -0
  392. package/skills/god-smite.md +86 -0
  393. package/skills/god-spike.md +120 -0
  394. package/skills/god-sprint.md +77 -0
  395. package/skills/god-stack.md +74 -0
  396. package/skills/god-standards.md +62 -0
  397. package/skills/god-status.md +99 -0
  398. package/skills/god-stories.md +60 -0
  399. package/skills/god-story-build.md +76 -0
  400. package/skills/god-story-close.md +82 -0
  401. package/skills/god-story-verify.md +71 -0
  402. package/skills/god-story.md +55 -0
  403. package/skills/god-suite-init.md +75 -0
  404. package/skills/god-suite-patch.md +64 -0
  405. package/skills/god-suite-release.md +58 -0
  406. package/skills/god-suite-status.md +63 -0
  407. package/skills/god-suite-sync.md +49 -0
  408. package/skills/god-sync.md +102 -0
  409. package/skills/god-tech-debt.md +56 -0
  410. package/skills/god-test-extension.md +87 -0
  411. package/skills/god-test-runtime.md +144 -0
  412. package/skills/god-thread.md +39 -0
  413. package/skills/god-trace.md +50 -0
  414. package/skills/god-undo.md +68 -0
  415. package/skills/god-update-deps.md +134 -0
  416. package/skills/god-upgrade.md +139 -0
  417. package/skills/god-version.md +37 -0
  418. package/skills/god-workstream.md +61 -0
  419. package/skills/god.md +207 -0
  420. package/templates/ARCH.md +99 -0
  421. package/templates/DEPS-AUDIT.md +66 -0
  422. package/templates/DESIGN.md +71 -0
  423. package/templates/DOCS-UPDATE-LOG.md +64 -0
  424. package/templates/HARDEN-FINDINGS.md +69 -0
  425. package/templates/MIGRATION.md +86 -0
  426. package/templates/POSTMORTEM.md +88 -0
  427. package/templates/PRD.md +80 -0
  428. package/templates/PROGRESS.md +49 -0
  429. package/templates/ROADMAP.md +47 -0
  430. package/templates/SPIKE.md +72 -0
  431. package/templates/STACK-DECISION.md +61 -0
  432. package/workflows/audit-only.yaml +22 -0
  433. package/workflows/bluefield-arc.yaml +87 -0
  434. package/workflows/brownfield-arc.yaml +44 -0
  435. package/workflows/deps-audit.yaml +56 -0
  436. package/workflows/docs-arc.yaml +22 -0
  437. package/workflows/feature-arc.yaml +59 -0
  438. package/workflows/full-arc.yaml +84 -0
  439. package/workflows/hotfix-arc.yaml +59 -0
  440. package/workflows/hygiene.yaml +43 -0
  441. package/workflows/migration-arc.yaml +73 -0
  442. package/workflows/postmortem.yaml +31 -0
  443. package/workflows/refactor-arc.yaml +59 -0
  444. package/workflows/spike.yaml +23 -0
@@ -0,0 +1,120 @@
1
+ # Motion
2
+
3
+ > Godpowers' baseline guidance for animation and transition.
4
+ > Shallower than
5
+ > [Impeccable's motion-design reference](https://github.com/pbakaus/impeccable/blob/main/skill/reference/motion-design.md).
6
+
7
+ ## Three durations, three easings
8
+
9
+ Most products need only this:
10
+
11
+ | Duration | Use |
12
+ |---|---|
13
+ | `100ms` | Hover states, focus rings, color shifts |
14
+ | `200ms` | Element appear/disappear, expand/collapse |
15
+ | `400ms` | Page transitions, route changes, modals |
16
+
17
+ ```css
18
+ :root {
19
+ --motion-fast: 100ms;
20
+ --motion-default: 200ms;
21
+ --motion-slow: 400ms;
22
+ }
23
+ ```
24
+
25
+ Anything longer than 500ms feels broken or theatrical (unless it's a
26
+ page transition with intentional staging).
27
+
28
+ ## Easings
29
+
30
+ | Curve | When |
31
+ |---|---|
32
+ | `ease-out` (cubic-bezier(0.16, 1, 0.3, 1)) | Default for most things |
33
+ | `ease-in-out` (cubic-bezier(0.65, 0, 0.35, 1)) | Both ends matter (modals, drawers) |
34
+ | `linear` | Loading bars, scroll progress, durations the user controls |
35
+
36
+ Avoid:
37
+
38
+ - **Bounce** (cubic-bezier with overshoot): feels dated, mid-2010s
39
+ - **Elastic** / spring with too much stiffness: distracting in product UI
40
+ - **ease-in alone**: feels heavy, fights user attention
41
+
42
+ ## Anti-patterns
43
+
44
+ - **Animating everything.** Page-level animations on every interaction
45
+ are exhausting. Restrict to: state changes, navigation, gating.
46
+ - **Slow exits.** When something should leave the screen (modal close,
47
+ toast dismiss), use `100ms`. Slow exits make the user wait.
48
+ - **Motion without intent.** A spinning logo, ambient particles,
49
+ hover pulses on every card. Decoration that doesn't serve.
50
+ - **Ignoring `prefers-reduced-motion`.** Always honor.
51
+ - **Bounce on production UI.** Acceptable in marketing/illustration;
52
+ in product UI it reads as toy.
53
+
54
+ ## prefers-reduced-motion
55
+
56
+ Always respect:
57
+
58
+ ```css
59
+ @media (prefers-reduced-motion: reduce) {
60
+ *, *::before, *::after {
61
+ animation-duration: 0.01ms !important;
62
+ animation-iteration-count: 1 !important;
63
+ transition-duration: 0.01ms !important;
64
+ scroll-behavior: auto !important;
65
+ }
66
+ }
67
+ ```
68
+
69
+ Or in JS via `window.matchMedia('(prefers-reduced-motion: reduce)')`.
70
+ Disable nonessential motion entirely; keep essential transitions
71
+ near-instant.
72
+
73
+ ## Staggering
74
+
75
+ When multiple elements animate together (e.g., a list rendering),
76
+ stagger by 30-50ms per item, max 8-10 items before the cascade feels
77
+ like a wait.
78
+
79
+ ```js
80
+ items.forEach((item, i) => {
81
+ item.style.transitionDelay = `${i * 40}ms`;
82
+ });
83
+ ```
84
+
85
+ Beyond 10 items: animate the container, not each child.
86
+
87
+ ## Scroll-driven motion
88
+
89
+ Use sparingly. One scroll-tied animation per long page is plenty.
90
+
91
+ Acceptable:
92
+ - Hero parallax (subtle, < 30% velocity ratio)
93
+ - Progress indicator at the top
94
+ - Reveal-on-scroll for hero sections
95
+
96
+ Not acceptable:
97
+ - Every section parallax
98
+ - Counter-scroll text
99
+ - Multiple scroll-pinned sections
100
+
101
+ ## Loading patterns
102
+
103
+ | Wait | Pattern |
104
+ |---|---|
105
+ | < 200ms | No indicator |
106
+ | 200-1000ms | Subtle skeleton or muted spinner |
107
+ | > 1000ms | Skeleton with shape, optional progress bar |
108
+ | > 5000ms | Status text + progress bar |
109
+ | User-initiated long task | Indeterminate -> determinate progress, ETA if known |
110
+
111
+ ## Have-Nots
112
+
113
+ You fail motion if:
114
+
115
+ - `prefers-reduced-motion` not honored
116
+ - Bounce/elastic easing on production UI
117
+ - Animation duration > 500ms for non-page-level transitions
118
+ - Slow exits (> 200ms) on dismissable elements
119
+ - Decorative motion without intent
120
+ - Stagger applied to > 10 items
@@ -0,0 +1,157 @@
1
+ # Responsive Design
2
+
3
+ > Godpowers' baseline guidance for breakpoints, fluid design, and mobile.
4
+ > Shallower than
5
+ > [Impeccable's responsive-design reference](https://github.com/pbakaus/impeccable/blob/main/skill/reference/responsive-design.md).
6
+
7
+ ## Mobile-first, always
8
+
9
+ Write the smallest screen first. Add media queries to scale up.
10
+
11
+ ```css
12
+ /* default: mobile */
13
+ .container { padding: 16px; font-size: 1rem; }
14
+
15
+ @media (min-width: 768px) {
16
+ .container { padding: 32px; font-size: 1.125rem; }
17
+ }
18
+
19
+ @media (min-width: 1280px) {
20
+ .container { padding: 64px; font-size: 1.25rem; }
21
+ }
22
+ ```
23
+
24
+ Don't default to desktop and reverse. Mobile-first compresses better
25
+ for the small majority.
26
+
27
+ ## Breakpoints
28
+
29
+ Pick three. More than three is decoration; fewer is a missed
30
+ opportunity.
31
+
32
+ | Name | Min | Targets |
33
+ |---|---|---|
34
+ | `sm` | 640px | Large phones, small tablets |
35
+ | `md` | 768px | Tablets |
36
+ | `lg` | 1024px | Small laptops |
37
+ | `xl` | 1280px | Most laptops, monitors |
38
+ | `2xl` | 1536px | Large monitors |
39
+
40
+ Recommended starter trio: `768px`, `1024px`, `1280px`. Add others only
41
+ when content demands.
42
+
43
+ ## Container queries (when supported)
44
+
45
+ Modern browsers support `@container`. Use when components need to
46
+ adapt based on their parent's width, not the viewport's:
47
+
48
+ ```css
49
+ .card-list { container-type: inline-size; }
50
+
51
+ @container (min-width: 600px) {
52
+ .card { display: grid; grid-template-columns: 200px 1fr; }
53
+ }
54
+ ```
55
+
56
+ Better than viewport queries for component libraries that ship in
57
+ varied contexts.
58
+
59
+ ## Fluid type and spacing
60
+
61
+ Use `clamp()` to interpolate between breakpoints:
62
+
63
+ ```css
64
+ .heading {
65
+ font-size: clamp(1.5rem, 1rem + 2vw, 3rem);
66
+ /* min 1.5rem, scales with viewport, caps at 3rem */
67
+ }
68
+ ```
69
+
70
+ This collapses three media queries into one declaration. Type stops
71
+ being staircased.
72
+
73
+ ## Touch targets
74
+
75
+ iOS HIG: 44x44px minimum.
76
+ Android Material: 48x48px minimum.
77
+
78
+ Use 48x48px or larger for primary actions. Smaller targets fail tap
79
+ tests for users with motor impairments.
80
+
81
+ ```css
82
+ .button { min-height: 48px; min-width: 48px; padding: 0 16px; }
83
+ ```
84
+
85
+ Apply to icon-only buttons especially. A 24px icon + 12px padding all
86
+ sides = 48x48 hit target.
87
+
88
+ ## Anti-patterns
89
+
90
+ - **Hover-only interactions.** Touch devices have no hover. Anything
91
+ triggered by hover must also be reachable by tap.
92
+ - **Hidden mobile content.** "Show on desktop only" loses critical
93
+ information. If desktop has it, mobile needs it (possibly
94
+ reorganized, never disappeared).
95
+ - **Tiny text scales.** `font-size: 11px` on body is unreadable on
96
+ mobile. Minimum 14px, typically 16px.
97
+ - **Horizontal scroll on mobile.** Always a bug unless explicitly
98
+ designed (carousel).
99
+ - **Fixed pixel widths.** Use rems, percentages, or CSS Grid. Fixed
100
+ px breaks at unusual viewports.
101
+
102
+ ## Common layouts that adapt
103
+
104
+ ### Grid that flows
105
+
106
+ ```css
107
+ .grid {
108
+ display: grid;
109
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
110
+ gap: 24px;
111
+ }
112
+ ```
113
+
114
+ This auto-collapses to fewer columns as the viewport narrows. No media
115
+ queries needed.
116
+
117
+ ### Hero that re-flows
118
+
119
+ ```css
120
+ .hero {
121
+ display: flex;
122
+ flex-direction: column; /* mobile: stacked */
123
+ gap: 32px;
124
+ }
125
+
126
+ @media (min-width: 768px) {
127
+ .hero { flex-direction: row; align-items: center; }
128
+ }
129
+ ```
130
+
131
+ ### Navigation that collapses
132
+
133
+ Mobile: hamburger or bottom-tab bar.
134
+ Tablet: condensed top nav.
135
+ Desktop: full top nav with all items visible.
136
+
137
+ Use `<nav>` with semantic markup; let CSS hide/show variants. Avoid
138
+ duplicating navigation structure for breakpoints.
139
+
140
+ ## Dark mode + responsive
141
+
142
+ Test both: dark mode on mobile and dark mode on desktop. Light
143
+ backgrounds at small sizes can be glaring; dark variants tend to feel
144
+ more natural on phones at night.
145
+
146
+ ## Have-Nots
147
+
148
+ You fail responsive if:
149
+
150
+ - Body font < 14px on mobile
151
+ - Hover-only interactions exist
152
+ - Touch targets < 44x44px
153
+ - Horizontal scroll appears on screens >= 320px
154
+ - Mobile loses content that desktop has
155
+ - Breakpoints scattered randomly (not on the chosen scale)
156
+ - Components use viewport queries when container queries are appropriate
157
+ - Fixed-px widths in layout containers
@@ -0,0 +1,109 @@
1
+ # Spatial Design
2
+
3
+ > Godpowers' baseline guidance for spacing, grids, and rhythm.
4
+ > Shallower than
5
+ > [Impeccable's spatial-design reference](https://github.com/pbakaus/impeccable/blob/main/skill/reference/spatial-design.md).
6
+
7
+ ## Pick one spacing scale, use it everywhere
8
+
9
+ Match the typography ratio. If your type uses 1.25 (Major Third), use
10
+ the same for spacing:
11
+
12
+ ```yaml
13
+ spacing:
14
+ xs: 8px
15
+ sm: 12px # 8 * 1.25^1
16
+ md: 16px # 8 * 1.25^2 (rounded)
17
+ lg: 24px # 8 * 1.25^3.5 (rounded to grid)
18
+ xl: 32px
19
+ 2xl: 48px
20
+ 3xl: 64px
21
+ ```
22
+
23
+ Powers-of-2 friendly values (8, 16, 24, 32, 48, 64) are good defaults
24
+ because they hit common breakpoints and feel anchored.
25
+
26
+ ## Anti-patterns
27
+
28
+ - **Random px values** (13px, 17px, 22px). The reader can't tell, but
29
+ the system feels noisy. Stick to the scale.
30
+ - **Cards-in-cards-in-cards.** Wrap once. Twice if structurally needed.
31
+ Three times means you're nesting visual containers to hide a layout
32
+ problem.
33
+ - **Same padding everywhere.** Buttons, cards, and sections need
34
+ different breathing room. Tokenize: `padding-button: md`,
35
+ `padding-card: lg`, `padding-section: 3xl`.
36
+ - **Cramped touch targets.** Mobile minimum: 44x44px. UI buttons under
37
+ that fail accessibility heuristics.
38
+ - **Inconsistent vertical rhythm.** All baselines should snap to a
39
+ multiple of 4px or 8px.
40
+
41
+ ## Grid
42
+
43
+ Pick a grid that matches content density:
44
+
45
+ | Density | Columns | Gutter | Use |
46
+ |---|---|---|---|
47
+ | Marketing | 12 | 24-32px | Long-form, varied content |
48
+ | Product | 8-10 | 16-24px | Tables, dashboards, lists |
49
+ | Editorial | 6 | 24-40px | Reading, articles |
50
+ | Single-column | 1 | n/a | Narrow product, mobile-first |
51
+
52
+ Containers cap at:
53
+
54
+ - 1280-1440px for product UI
55
+ - 720-960px for reading content
56
+ - 480-640px for forms, focused tasks
57
+
58
+ Wider than 1440px feels theatrical. Narrower than 480px crowds.
59
+
60
+ ## Whitespace philosophy
61
+
62
+ Whitespace is a primary layout tool, not "what's left over."
63
+
64
+ - **Breathing room around blocks**: 2-4x the line-height
65
+ - **Adjacent unrelated sections**: 4-8x the line-height
66
+ - **Tight related elements**: 0.5-1x the line-height (icon + label,
67
+ caption + image)
68
+ - **Padding inside containers**: matches the outer rhythm; 16-32px is
69
+ the typical band
70
+
71
+ The eye reads grouped elements as related. Gestalt's law of proximity
72
+ does layout for you if you let it.
73
+
74
+ ## Container padding
75
+
76
+ Default rule: container padding equals or exceeds the largest gap
77
+ between children. If children sit 24px apart, container padding is at
78
+ least 24px.
79
+
80
+ ```css
81
+ .section { padding: 64px 32px; } /* 64 vert, 32 horiz */
82
+ .card { padding: 24px; }
83
+ .cta-box { padding: 32px 24px; }
84
+ .button { padding: 12px 20px; }
85
+ ```
86
+
87
+ ## Vertical rhythm
88
+
89
+ Section spacing dominates the page feel:
90
+
91
+ ```
92
+ Tight: 32-48px between sections
93
+ Default: 64-96px
94
+ Generous: 96-160px
95
+ ```
96
+
97
+ Mismatched section spacing reads as "designed in pieces." Keep it
98
+ consistent within a page.
99
+
100
+ ## Have-Nots
101
+
102
+ You fail spatial if:
103
+
104
+ - Random px values not on the scale (e.g., 13, 17, 21, 27)
105
+ - Touch targets < 44x44px
106
+ - Cards nested 3+ levels deep
107
+ - Section spacing inconsistent within a page (>20% variance)
108
+ - Container padding < largest inner gap
109
+ - More than 3 distinct grid systems in one project
@@ -0,0 +1,121 @@
1
+ # Typography
2
+
3
+ > Godpowers' baseline guidance for type. Shallower than
4
+ > [Impeccable's typography reference](https://github.com/pbakaus/impeccable/blob/main/skill/reference/typography.md);
5
+ > use this when Impeccable isn't installed. Our opinions, not theirs.
6
+
7
+ ## Pick at most two type families
8
+
9
+ Most projects need exactly two: a **display** family for headlines and a
10
+ **body** family for paragraphs and UI. A third, monospace family for
11
+ code or numerics is fine. Beyond three, the system fragments.
12
+
13
+ ### Recommended pairings
14
+
15
+ | Register | Display | Body | Why |
16
+ |---|---|---|---|
17
+ | Editorial / serious | Fraunces, Newsreader, Instrument Serif | Inter, Söhne, system-ui | Serif gravity + sans clarity |
18
+ | Software / product | Geist, Söhne, Inter | Inter, system-ui | Single sans family at varying weights |
19
+ | Brand / playful | Cabinet Grotesk, Mona Sans | Inter, Söhne | Geometric display + neutral body |
20
+ | Technical / docs | IBM Plex Sans / Mono | IBM Plex Sans | One family across roles |
21
+
22
+ ## Anti-patterns
23
+
24
+ - **Inter for everything.** It's a fine body face; using it for display
25
+ flattens hierarchy. Pair it with a display face you actually pick.
26
+ - **System default fallback chains in production.** `system-ui` is fine
27
+ in dev; ship a real loaded face for display.
28
+ - **Five weights of one family used randomly.** Pick three weights:
29
+ body (400), strong (500/600), display (600/700). Stop there.
30
+ - **Letter-spacing larger than 0.05em on body text.** Reads like a
31
+ headline; tires the eye.
32
+ - **Italic for emphasis on UI elements.** Use weight (or color); italic
33
+ belongs in editorial copy.
34
+
35
+ ## Modular scale
36
+
37
+ Use a ratio, not arbitrary px values. Common ratios:
38
+
39
+ | Ratio | Name | Feel |
40
+ |---|---|---|
41
+ | 1.125 | Major Second | Very tight, technical |
42
+ | 1.200 | Minor Third | Compact, dense UI |
43
+ | 1.250 | Major Third | Balanced, common default |
44
+ | 1.333 | Perfect Fourth | Editorial, generous |
45
+ | 1.500 | Perfect Fifth | Marketing, dramatic |
46
+
47
+ Pick one. Apply to your spacing scale too (Spatial reference).
48
+
49
+ ### Practical scale (1.250)
50
+
51
+ ```
52
+ xs: 0.75rem 12px
53
+ sm: 0.875rem 14px
54
+ base: 1rem 16px
55
+ lg: 1.25rem 20px
56
+ xl: 1.5rem 24px
57
+ 2xl: 1.875rem 30px
58
+ 3xl: 2.5rem 40px
59
+ 4xl: 3.75rem 60px
60
+ ```
61
+
62
+ ## Line height
63
+
64
+ | Use | Line height |
65
+ |---|---|
66
+ | Display (>32px) | 1.05-1.15 |
67
+ | Headline (24-32px) | 1.2-1.3 |
68
+ | Body (14-18px) | 1.5-1.65 |
69
+ | Dense UI / labels | 1.3-1.4 |
70
+
71
+ Display lines look broken at 1.5; body lines look cramped at 1.2.
72
+
73
+ ## Tabular numerals
74
+
75
+ Always enable for numeric columns and tables:
76
+
77
+ ```css
78
+ font-feature-settings: "tnum";
79
+ ```
80
+
81
+ Or in your DESIGN.md typography token:
82
+
83
+ ```yaml
84
+ typography:
85
+ numeric:
86
+ fontFamily: Inter
87
+ fontSize: 2.5rem
88
+ fontFeature: tnum
89
+ ```
90
+
91
+ Without `tnum`, columns of numbers wobble.
92
+
93
+ ## OpenType features worth using
94
+
95
+ | Feature | When |
96
+ |---|---|
97
+ | `tnum` | Tables, columns, dashboards |
98
+ | `case` | All-caps text; aligns punctuation |
99
+ | `salt` | Designer-chosen alternates (single-storey 'a', etc.) |
100
+ | `liga` | Standard ligatures (default in most browsers) |
101
+ | `kern` | Pair kerning (default in modern browsers) |
102
+
103
+ ## Loading
104
+
105
+ - Self-host `.woff2` whenever possible. Google Fonts is fine; their
106
+ CDN adds latency and a third-party request.
107
+ - `font-display: swap` for body, `optional` for display (avoid FOIT).
108
+ - Subset to the characters you actually use. A full Latin face is
109
+ ~100KB; a subset can be 20KB.
110
+
111
+ ## Have-Nots
112
+
113
+ You fail typography if:
114
+
115
+ - More than 2 families in use (3 if monospace counts; do not exceed 3)
116
+ - Letter-spacing > 0.05em on body
117
+ - Italic used for UI emphasis
118
+ - No tabular numerals on table columns
119
+ - Body line-height < 1.4 or > 1.7
120
+ - Display line-height > 1.2
121
+ - All five weights of the same family in active use
@@ -0,0 +1,135 @@
1
+ # UX Writing
2
+
3
+ > Godpowers' baseline guidance for product copy. Shallower than
4
+ > [Impeccable's ux-writing reference](https://github.com/pbakaus/impeccable/blob/main/skill/reference/ux-writing.md).
5
+
6
+ ## Write for the person doing the task
7
+
8
+ Every word in the UI should serve the next action. If a button says
9
+ "Submit," the user has to translate that to "submit what?" If it says
10
+ "Send invoice," they don't.
11
+
12
+ ## Buttons: verb-noun, never "click here"
13
+
14
+ | Bad | Better |
15
+ |---|---|
16
+ | Click Here | View invoice |
17
+ | OK | Save changes |
18
+ | Submit | Send invitation |
19
+ | Cancel | Discard changes |
20
+ | Yes | Confirm delete |
21
+
22
+ The button labels its outcome, not the user's gesture.
23
+
24
+ ## Empty states: name the next action
25
+
26
+ | Bad | Better |
27
+ |---|---|
28
+ | No data. | No invoices yet. Connect Stripe to import. |
29
+ | Empty list. | Nothing in your queue. Add a task to get started. |
30
+ | Loading... | Loading your dashboard... |
31
+
32
+ Empty states are onboarding opportunities, not error states.
33
+
34
+ ## Error messages: 3 rules
35
+
36
+ 1. **Be specific.** "Invalid input" is useless. "Email needs an @
37
+ symbol" is actionable.
38
+ 2. **Be forward-looking.** Tell them what to do, not what they
39
+ did wrong. "Try a longer password" beats "Password too short."
40
+ 3. **Avoid blame.** "We couldn't reach Stripe" is better than "You
41
+ entered an invalid Stripe key."
42
+
43
+ ### Status codes by user-facing severity
44
+
45
+ | Code | User sees |
46
+ |---|---|
47
+ | 4xx (user error) | Specific, fixable, actionable |
48
+ | 5xx (our error) | "Something went wrong on our end. Try again, or contact support." |
49
+ | Network failure | "Lost connection. Check your network and retry." |
50
+ | Validation | Inline, near the field |
51
+
52
+ Never show a stack trace or raw error code in production UI.
53
+
54
+ ## Numbers and dates
55
+
56
+ - **Dates**: relative for recent ("3 days ago"), absolute for far
57
+ ("March 15, 2026").
58
+ - **Times**: include timezone unless the user's local context is
59
+ obvious. "9:00 AM ET" not "9:00 AM."
60
+ - **Money**: always with currency symbol AND code on first reference
61
+ ("$50 USD"). Subsequent refs can drop the code.
62
+ - **Counts**: pluralize correctly. "1 invoice" / "12 invoices."
63
+ Internationalize for non-English locales.
64
+
65
+ ## Pronouns
66
+
67
+ - **Second person ("you")** for instructions: "Click here to verify
68
+ your email."
69
+ - **First person ("I", "we")** for product voice or reflective
70
+ statements: "We'll send you a receipt." / "I want to delete this."
71
+ - **Avoid third person** in product UI: "The user can configure..."
72
+ feels like a manual.
73
+
74
+ ## Tone calibration
75
+
76
+ | Project type | Tone |
77
+ |---|---|
78
+ | Productivity / serious | Direct, terse, no exclamation marks |
79
+ | Creative / playful | Conversational, occasional warmth, light wit |
80
+ | Healthcare / financial | Calm, precise, never urgent unless truly is |
81
+ | Developer tools | Technical, dense, can use jargon if appropriate |
82
+
83
+ Pick one. Mismatched tone within a single product reads as
84
+ inconsistent.
85
+
86
+ ## Anti-patterns
87
+
88
+ - **Exclamation overload.** "Welcome! Sign in! Get started!" reads as
89
+ fake enthusiasm. Use exclamations sparingly: success messages,
90
+ achievements, intentional surprise.
91
+ - **"Awesome" / "Sweet" / "Boom".** Friendly tone gone too casual.
92
+ Tells the reader the team is trying too hard.
93
+ - **All caps for emphasis.** Reads as shouting. Use weight or color.
94
+ - **Jargon without explanation.** "OAuth flow failed" means nothing to
95
+ most users. "We couldn't connect to Stripe; please try logging in
96
+ again."
97
+ - **Long form labels.** "What is your favorite color?" inside a label
98
+ is a question, not a label. Use "Favorite color" + helper text below.
99
+
100
+ ## Microcopy templates
101
+
102
+ ### Confirmation
103
+
104
+ > Delete invoice? This cannot be undone.
105
+ > [Cancel] [Delete]
106
+
107
+ ### Destructive action
108
+
109
+ > You're about to delete the production database.
110
+ > Type `delete-production` to confirm.
111
+
112
+ ### Success
113
+
114
+ > Saved. (toast, dismisses after 4s)
115
+
116
+ ### Loading (long task)
117
+
118
+ > Generating your report. We'll email you when it's ready.
119
+
120
+ ### Onboarding
121
+
122
+ > Welcome to MRR Tracker. Let's connect your first Stripe account.
123
+ > [Connect Stripe]
124
+
125
+ ## Have-Nots
126
+
127
+ You fail UX writing if:
128
+
129
+ - Buttons say "Click here," "Submit," "OK," "Cancel" generically
130
+ - Error messages don't tell the user what to do
131
+ - Empty states don't suggest a next action
132
+ - Dates have no timezone
133
+ - Money values lack currency code on first reference
134
+ - Stack traces or raw error codes shown in production
135
+ - Tone shifts within the same product (jokey signup, terse settings)