oh-my-opencode 4.13.0 → 4.14.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 (445) hide show
  1. package/.agents/skills/codex-qa/SKILL.md +15 -0
  2. package/.agents/skills/codex-qa/references/logging-debug.md +12 -0
  3. package/.agents/skills/opencode-qa/SKILL.md +17 -0
  4. package/.agents/skills/opencode-qa/references/tui-tmux.md +17 -0
  5. package/.agents/skills/work-with-pr/SKILL.md +18 -10
  6. package/.opencode/skills/work-with-pr/SKILL.md +18 -10
  7. package/README.md +2 -2
  8. package/dist/cli/doctor/checks/telemetry.d.ts +2 -0
  9. package/dist/cli/doctor/framework/constants.d.ts +1 -0
  10. package/dist/cli/doctor/framework/doctor-target.d.ts +1 -1
  11. package/dist/cli/index.js +24651 -16452
  12. package/dist/cli-node/index.js +24651 -16452
  13. package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
  14. package/dist/features/team-mode/test-support/async-test-helpers.d.ts +19 -0
  15. package/dist/hooks/atlas/final-wave-approval-gate.d.ts +1 -0
  16. package/dist/hooks/atlas/subagent-completion-reminder.d.ts +30 -0
  17. package/dist/hooks/atlas/types.d.ts +2 -0
  18. package/dist/hooks/atlas/verification-reminders.d.ts +3 -0
  19. package/dist/hooks/team-session-events/team-idle-wake-hint.d.ts +1 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.js +33232 -19559
  22. package/dist/mcp/context7.d.ts +9 -8
  23. package/dist/oh-my-opencode.schema.json +4 -0
  24. package/dist/shared/posthog.d.ts +17 -10
  25. package/dist/shared/telemetry-product-identity.d.ts +2 -0
  26. package/dist/skills/coding-agent-sessions/SKILL.md +128 -0
  27. package/dist/skills/coding-agent-sessions/agents/openai.yaml +4 -0
  28. package/dist/skills/coding-agent-sessions/references/all-platforms.md +71 -0
  29. package/dist/skills/coding-agent-sessions/references/claude.md +32 -0
  30. package/dist/skills/coding-agent-sessions/references/codex.md +30 -0
  31. package/dist/skills/coding-agent-sessions/references/opencode.md +43 -0
  32. package/dist/skills/coding-agent-sessions/references/senpi.md +17 -0
  33. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/__init__.py +1 -0
  34. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/claude.py +66 -0
  35. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +283 -0
  36. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/codex.py +105 -0
  37. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +275 -0
  38. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/jsonio.py +55 -0
  39. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/kiro_scanner.py +91 -0
  40. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/opencode.py +289 -0
  41. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +92 -0
  42. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_optional_scanners.py +203 -0
  43. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_scanners.py +177 -0
  44. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/timeparse.py +51 -0
  45. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +149 -0
  46. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/types.py +57 -0
  47. package/dist/skills/coding-agent-sessions/scripts/find-agent-sessions.py +19 -0
  48. package/dist/skills/frontend/ATTRIBUTION.md +52 -8
  49. package/dist/skills/frontend/SKILL.md +29 -8
  50. package/dist/skills/frontend/references/design/README.md +29 -12
  51. package/dist/skills/frontend/references/design/_INDEX.md +3 -3
  52. package/dist/skills/frontend/references/design/design-system-architecture.md +22 -19
  53. package/dist/skills/frontend/references/designpowers/EVIDENCE.md +89 -0
  54. package/dist/skills/frontend/references/designpowers/README.md +48 -0
  55. package/dist/skills/frontend/references/designpowers/UPSTREAM.md +80 -0
  56. package/dist/skills/frontend/references/designpowers/lane-a-direction.md +64 -0
  57. package/dist/skills/frontend/references/designpowers/lane-b-execution.md +65 -0
  58. package/dist/skills/frontend/references/designpowers/lane-c-review.md +65 -0
  59. package/dist/skills/frontend/references/designpowers/lane-d-memory.md +83 -0
  60. package/dist/skills/frontend/references/designpowers/orchestration.md +80 -0
  61. package/dist/skills/frontend/references/designpowers/routing.md +79 -0
  62. package/dist/skills/frontend/references/designpowers/vendor/LICENSE +21 -0
  63. package/dist/skills/frontend/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  64. package/dist/skills/frontend/references/designpowers/vendor/agents/content-writer.md +132 -0
  65. package/dist/skills/frontend/references/designpowers/vendor/agents/design-builder.md +109 -0
  66. package/dist/skills/frontend/references/designpowers/vendor/agents/design-critic.md +89 -0
  67. package/dist/skills/frontend/references/designpowers/vendor/agents/design-lead.md +113 -0
  68. package/dist/skills/frontend/references/designpowers/vendor/agents/design-scout.md +78 -0
  69. package/dist/skills/frontend/references/designpowers/vendor/agents/design-strategist.md +121 -0
  70. package/dist/skills/frontend/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  71. package/dist/skills/frontend/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
  72. package/dist/skills/frontend/references/designpowers/vendor/agents/motion-designer.md +120 -0
  73. package/dist/skills/frontend/references/designpowers/vendor/skills/accessible-content/SKILL.md +101 -0
  74. package/dist/skills/frontend/references/designpowers/vendor/skills/adaptive-interfaces/SKILL.md +109 -0
  75. package/dist/skills/frontend/references/designpowers/vendor/skills/cognitive-accessibility/SKILL.md +107 -0
  76. package/dist/skills/frontend/references/designpowers/vendor/skills/design-debate/SKILL.md +199 -0
  77. package/dist/skills/frontend/references/designpowers/vendor/skills/design-debt-tracker/SKILL.md +174 -0
  78. package/dist/skills/frontend/references/designpowers/vendor/skills/design-handoff/SKILL.md +125 -0
  79. package/dist/skills/frontend/references/designpowers/vendor/skills/design-md/SKILL.md +106 -0
  80. package/dist/skills/frontend/references/designpowers/vendor/skills/design-retrospective/SKILL.md +266 -0
  81. package/dist/skills/frontend/references/designpowers/vendor/skills/design-review/SKILL.md +123 -0
  82. package/dist/skills/frontend/references/designpowers/vendor/skills/design-system-alignment/SKILL.md +120 -0
  83. package/dist/skills/frontend/references/designpowers/vendor/skills/designpowers-critique/SKILL.md +164 -0
  84. package/dist/skills/frontend/references/designpowers/vendor/skills/heuristic-evaluation/SKILL.md +85 -0
  85. package/dist/skills/frontend/references/designpowers/vendor/skills/inclusive-personas/SKILL.md +98 -0
  86. package/dist/skills/frontend/references/designpowers/vendor/skills/inspiration-scouting/SKILL.md +165 -0
  87. package/dist/skills/frontend/references/designpowers/vendor/skills/interaction-design/SKILL.md +122 -0
  88. package/dist/skills/frontend/references/designpowers/vendor/skills/motion-choreography/SKILL.md +81 -0
  89. package/dist/skills/frontend/references/designpowers/vendor/skills/research-planning/SKILL.md +96 -0
  90. package/dist/skills/frontend/references/designpowers/vendor/skills/responsive-patterns/SKILL.md +77 -0
  91. package/dist/skills/frontend/references/designpowers/vendor/skills/synthetic-user-testing/SKILL.md +192 -0
  92. package/dist/skills/frontend/references/designpowers/vendor/skills/taste-feedback/SKILL.md +165 -0
  93. package/dist/skills/frontend/references/designpowers/vendor/skills/taste-report/SKILL.md +78 -0
  94. package/dist/skills/frontend/references/designpowers/vendor/skills/token-architecture/SKILL.md +75 -0
  95. package/dist/skills/frontend/references/designpowers/vendor/skills/ui-composition/SKILL.md +117 -0
  96. package/dist/skills/frontend/references/designpowers/vendor/skills/usability-testing/SKILL.md +78 -0
  97. package/dist/skills/frontend/references/designpowers/vendor/skills/verification-before-shipping/SKILL.md +125 -0
  98. package/dist/skills/frontend/references/designpowers/vendor/skills/voice-and-tone/SKILL.md +79 -0
  99. package/dist/skills/frontend/references/designpowers/vendor/skills/writing-design-plans/SKILL.md +119 -0
  100. package/dist/skills/frontend/references/ui-ux-db/scripts/core.py +0 -0
  101. package/dist/skills/git-master/SKILL.md +4 -0
  102. package/dist/skills/review-work/SKILL.md +3 -3
  103. package/dist/skills/start-work/SKILL.md +7 -5
  104. package/dist/skills/ultraresearch/SKILL.md +4 -252
  105. package/dist/skills/ulw-plan/SKILL.md +8 -6
  106. package/dist/skills/ulw-plan/references/full-workflow.md +11 -6
  107. package/dist/skills/ulw-plan/references/intent-clear.md +3 -3
  108. package/dist/skills/ulw-plan/references/intent-unclear.md +1 -1
  109. package/dist/skills/{ultraresearch → ulw-research}/ATTRIBUTION.md +1 -1
  110. package/dist/skills/ulw-research/SKILL.md +260 -0
  111. package/dist/skills/visual-qa/SKILL.md +105 -14
  112. package/dist/skills/visual-qa/scripts/skill-prompt-contract.test.ts +120 -1
  113. package/dist/testing/create-plugin-module.d.ts +2 -0
  114. package/dist/tui.js +23917 -16117
  115. package/docs/reference/github-attachment-upload.md +51 -0
  116. package/docs/reference/web-terminal-visual-qa.md +81 -0
  117. package/package.json +20 -14
  118. package/packages/lsp-core/src/lsp/process.ts +4 -1
  119. package/packages/lsp-core/src/mcp.ts +1 -0
  120. package/packages/lsp-daemon/dist/cli.js +5 -1
  121. package/packages/lsp-daemon/dist/index.js +5 -1
  122. package/packages/lsp-daemon/dist/proxy.js +1 -0
  123. package/packages/lsp-tools-mcp/dist/cli.js +5 -1
  124. package/packages/lsp-tools-mcp/dist/lsp/manager.js +4 -1
  125. package/packages/lsp-tools-mcp/dist/mcp.js +5 -1
  126. package/packages/lsp-tools-mcp/dist/tools.js +4 -1
  127. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  128. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +323 -62
  129. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  130. package/packages/omo-codex/plugin/components/bootstrap/scripts/bootstrap.ps1 +37 -68
  131. package/packages/omo-codex/plugin/components/bootstrap/scripts/node-dispatch.ps1 +75 -0
  132. package/packages/omo-codex/plugin/components/bootstrap/src/cli.ts +1 -1
  133. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +2 -18
  134. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +575 -334
  135. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +204 -39
  136. package/packages/omo-codex/plugin/components/codegraph/package.json +2 -2
  137. package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +7 -1
  138. package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +103 -3
  139. package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +114 -0
  140. package/packages/omo-codex/plugin/components/codegraph/src/serve-invocation.ts +29 -0
  141. package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +31 -57
  142. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +7 -4
  143. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +43 -9
  144. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +146 -0
  145. package/packages/omo-codex/plugin/components/codegraph/test/serve.test.ts +12 -7
  146. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +71 -1
  147. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  148. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  149. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  150. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +4 -1
  151. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  152. package/packages/omo-codex/plugin/components/rules/dist/cli.js +2 -2
  153. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  154. package/packages/omo-codex/plugin/components/rules/src/sparkshell-awareness.ts +2 -2
  155. package/packages/omo-codex/plugin/components/rules/test/sparkshell-awareness.test.ts +11 -2
  156. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +6 -6
  157. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  158. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +23 -0
  159. package/packages/omo-codex/plugin/components/teammode/dist/cli.js +22 -4
  160. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  161. package/packages/omo-codex/plugin/components/teammode/skills/teammode/SKILL.md +40 -2
  162. package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team-guide.mjs +32 -5
  163. package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team.mjs +7 -3
  164. package/packages/omo-codex/plugin/components/teammode/src/codex-hook.ts +19 -4
  165. package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +32 -2
  166. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  167. package/packages/omo-codex/plugin/components/ultrawork/README.md +1 -1
  168. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -1
  169. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
  170. package/packages/omo-codex/plugin/components/ultrawork/directive.md +23 -7
  171. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +1 -1
  172. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  173. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +6 -4
  174. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +11 -6
  175. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +3 -3
  176. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +1 -1
  177. package/packages/omo-codex/plugin/components/ultrawork/src/codex-hook.ts +1 -1
  178. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +24 -0
  179. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +6 -1
  180. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
  181. package/packages/omo-codex/plugin/components/ulw-loop/README.md +25 -21
  182. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +1 -1
  183. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +381 -0
  184. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +14 -1
  185. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +145 -14
  186. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.d.ts +6 -3
  187. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +16 -6
  188. package/packages/omo-codex/plugin/components/ulw-loop/dist/ultrawork-directive.d.ts +5 -0
  189. package/packages/omo-codex/plugin/components/ulw-loop/dist/ultrawork-directive.js +104 -0
  190. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +1 -1
  191. package/packages/omo-codex/plugin/components/ulw-loop/package.json +2 -1
  192. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +19 -11
  193. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +14 -1
  194. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +4 -2
  195. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +28 -6
  196. package/packages/omo-codex/plugin/components/ulw-loop/src/ultrawork-directive.ts +113 -0
  197. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +33 -2
  198. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-kind-guidance.test.ts +31 -0
  199. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +13 -0
  200. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +36 -0
  201. package/packages/omo-codex/plugin/components/ulw-loop/test/skill-contract.test.ts +12 -0
  202. package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +64 -0
  203. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +2 -1
  204. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +2 -1
  205. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +2 -1
  206. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +2 -1
  207. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +2 -1
  208. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +2 -1
  209. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +2 -1
  210. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +2 -1
  211. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +2 -1
  212. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +2 -1
  213. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +2 -1
  214. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +2 -1
  215. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +2 -1
  216. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +2 -1
  217. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +2 -1
  218. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +2 -1
  219. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +2 -1
  220. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +2 -1
  221. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +2 -1
  222. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +2 -1
  223. package/packages/omo-codex/plugin/package-lock.json +13 -13
  224. package/packages/omo-codex/plugin/package.json +1 -1
  225. package/packages/omo-codex/plugin/scripts/auto-update.mjs +9 -5
  226. package/packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs +1 -0
  227. package/packages/omo-codex/plugin/scripts/migrate-codex-config/context7-placeholder-guard.mjs +131 -0
  228. package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-mode-guard.mjs +60 -0
  229. package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +3 -10
  230. package/packages/omo-codex/plugin/scripts/migrate-codex-config/root-settings.mjs +31 -1
  231. package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +73 -0
  232. package/packages/omo-codex/plugin/scripts/migrate-codex-config.mjs +20 -3
  233. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +30 -8
  234. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +128 -0
  235. package/packages/omo-codex/plugin/skills/coding-agent-sessions/agents/openai.yaml +4 -0
  236. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +71 -0
  237. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/claude.md +32 -0
  238. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/codex.md +30 -0
  239. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/opencode.md +43 -0
  240. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +17 -0
  241. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/__init__.py +1 -0
  242. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/claude.py +66 -0
  243. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +283 -0
  244. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/codex.py +105 -0
  245. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +275 -0
  246. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/jsonio.py +55 -0
  247. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/kiro_scanner.py +91 -0
  248. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/opencode.py +289 -0
  249. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +92 -0
  250. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_optional_scanners.py +203 -0
  251. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_scanners.py +177 -0
  252. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/timeparse.py +51 -0
  253. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +149 -0
  254. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/types.py +57 -0
  255. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/find-agent-sessions.py +19 -0
  256. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +52 -8
  257. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +29 -8
  258. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +29 -12
  259. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +3 -3
  260. package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +22 -19
  261. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/EVIDENCE.md +89 -0
  262. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +48 -0
  263. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/UPSTREAM.md +80 -0
  264. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +64 -0
  265. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +65 -0
  266. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-c-review.md +65 -0
  267. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +83 -0
  268. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +80 -0
  269. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +79 -0
  270. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/LICENSE +21 -0
  271. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  272. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/content-writer.md +132 -0
  273. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-builder.md +109 -0
  274. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-critic.md +89 -0
  275. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-lead.md +113 -0
  276. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-scout.md +78 -0
  277. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-strategist.md +121 -0
  278. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  279. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
  280. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/motion-designer.md +120 -0
  281. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/accessible-content/SKILL.md +101 -0
  282. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/adaptive-interfaces/SKILL.md +109 -0
  283. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/cognitive-accessibility/SKILL.md +107 -0
  284. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-debate/SKILL.md +199 -0
  285. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-debt-tracker/SKILL.md +174 -0
  286. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-handoff/SKILL.md +125 -0
  287. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-md/SKILL.md +106 -0
  288. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-retrospective/SKILL.md +266 -0
  289. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-review/SKILL.md +123 -0
  290. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-system-alignment/SKILL.md +120 -0
  291. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/designpowers-critique/SKILL.md +164 -0
  292. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/heuristic-evaluation/SKILL.md +85 -0
  293. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/inclusive-personas/SKILL.md +98 -0
  294. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/inspiration-scouting/SKILL.md +165 -0
  295. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/interaction-design/SKILL.md +122 -0
  296. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/motion-choreography/SKILL.md +81 -0
  297. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/research-planning/SKILL.md +96 -0
  298. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/responsive-patterns/SKILL.md +77 -0
  299. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/synthetic-user-testing/SKILL.md +192 -0
  300. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/taste-feedback/SKILL.md +165 -0
  301. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/taste-report/SKILL.md +78 -0
  302. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/token-architecture/SKILL.md +75 -0
  303. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/ui-composition/SKILL.md +117 -0
  304. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/usability-testing/SKILL.md +78 -0
  305. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/verification-before-shipping/SKILL.md +125 -0
  306. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/voice-and-tone/SKILL.md +79 -0
  307. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/writing-design-plans/SKILL.md +119 -0
  308. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/scripts/core.py +0 -0
  309. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +4 -0
  310. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +4 -0
  311. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +4 -0
  312. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +4 -0
  313. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +12 -4
  314. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +14 -8
  315. package/packages/omo-codex/plugin/skills/teammode/SKILL.md +40 -2
  316. package/packages/omo-codex/plugin/skills/teammode/scripts/team-guide.mjs +32 -5
  317. package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +7 -3
  318. package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +4 -250
  319. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +19 -11
  320. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +6 -4
  321. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +11 -6
  322. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +3 -3
  323. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +1 -1
  324. package/packages/{shared-skills/skills/ultraresearch → omo-codex/plugin/skills/ulw-research}/ATTRIBUTION.md +1 -1
  325. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +262 -0
  326. package/packages/omo-codex/plugin/skills/ulw-research/agents/openai.yaml +2 -0
  327. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +109 -14
  328. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +23 -0
  329. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +1 -0
  330. package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +1 -0
  331. package/packages/omo-codex/plugin/test/auto-update-restart-notice.test.mjs +24 -1
  332. package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +23 -5
  333. package/packages/omo-codex/plugin/test/bootstrap-hooks.test.mjs +38 -0
  334. package/packages/omo-codex/plugin/test/bootstrap-ps-guard.test.mjs +25 -0
  335. package/packages/omo-codex/plugin/test/bootstrap-setup.test.mjs +1 -7
  336. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +206 -6
  337. package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +44 -0
  338. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +50 -1
  339. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +10 -7
  340. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +28 -2
  341. package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +20 -0
  342. package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +117 -0
  343. package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +5 -2
  344. package/packages/omo-codex/plugin/test/ulw-research-skill-contract.test.mjs +285 -0
  345. package/packages/omo-codex/scripts/install-bin-links.test.mjs +6 -1
  346. package/packages/omo-codex/scripts/install-cache-copy.test.mjs +51 -0
  347. package/packages/omo-codex/scripts/install-config.test.mjs +198 -17
  348. package/packages/omo-codex/scripts/install-dist/install-local.mjs +701 -282
  349. package/packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs +24 -15
  350. package/packages/omo-codex/scripts/install-local.test.mjs +5 -1
  351. package/packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs +84 -0
  352. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +128 -0
  353. package/packages/shared-skills/skills/coding-agent-sessions/agents/openai.yaml +4 -0
  354. package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +71 -0
  355. package/packages/shared-skills/skills/coding-agent-sessions/references/claude.md +32 -0
  356. package/packages/shared-skills/skills/coding-agent-sessions/references/codex.md +30 -0
  357. package/packages/shared-skills/skills/coding-agent-sessions/references/opencode.md +43 -0
  358. package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +17 -0
  359. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/__init__.py +1 -0
  360. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/claude.py +66 -0
  361. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +283 -0
  362. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/codex.py +105 -0
  363. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +275 -0
  364. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/jsonio.py +55 -0
  365. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/kiro_scanner.py +91 -0
  366. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/opencode.py +289 -0
  367. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +92 -0
  368. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_optional_scanners.py +203 -0
  369. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_scanners.py +177 -0
  370. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/timeparse.py +51 -0
  371. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +149 -0
  372. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/types.py +57 -0
  373. package/packages/shared-skills/skills/coding-agent-sessions/scripts/find-agent-sessions.py +19 -0
  374. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +52 -8
  375. package/packages/shared-skills/skills/frontend/SKILL.md +29 -8
  376. package/packages/shared-skills/skills/frontend/references/design/README.md +29 -12
  377. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +3 -3
  378. package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +22 -19
  379. package/packages/shared-skills/skills/frontend/references/designpowers/EVIDENCE.md +89 -0
  380. package/packages/shared-skills/skills/frontend/references/designpowers/README.md +48 -0
  381. package/packages/shared-skills/skills/frontend/references/designpowers/UPSTREAM.md +80 -0
  382. package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +64 -0
  383. package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +65 -0
  384. package/packages/shared-skills/skills/frontend/references/designpowers/lane-c-review.md +65 -0
  385. package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +83 -0
  386. package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +80 -0
  387. package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +79 -0
  388. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/LICENSE +21 -0
  389. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  390. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/content-writer.md +132 -0
  391. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-builder.md +109 -0
  392. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-critic.md +89 -0
  393. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-lead.md +113 -0
  394. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-scout.md +78 -0
  395. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-strategist.md +121 -0
  396. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  397. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
  398. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/motion-designer.md +120 -0
  399. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/accessible-content/SKILL.md +101 -0
  400. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/adaptive-interfaces/SKILL.md +109 -0
  401. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/cognitive-accessibility/SKILL.md +107 -0
  402. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-debate/SKILL.md +199 -0
  403. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-debt-tracker/SKILL.md +174 -0
  404. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-handoff/SKILL.md +125 -0
  405. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-md/SKILL.md +106 -0
  406. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-retrospective/SKILL.md +266 -0
  407. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-review/SKILL.md +123 -0
  408. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-system-alignment/SKILL.md +120 -0
  409. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/designpowers-critique/SKILL.md +164 -0
  410. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/heuristic-evaluation/SKILL.md +85 -0
  411. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/inclusive-personas/SKILL.md +98 -0
  412. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/inspiration-scouting/SKILL.md +165 -0
  413. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/interaction-design/SKILL.md +122 -0
  414. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/motion-choreography/SKILL.md +81 -0
  415. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/research-planning/SKILL.md +96 -0
  416. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/responsive-patterns/SKILL.md +77 -0
  417. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/synthetic-user-testing/SKILL.md +192 -0
  418. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/taste-feedback/SKILL.md +165 -0
  419. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/taste-report/SKILL.md +78 -0
  420. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/token-architecture/SKILL.md +75 -0
  421. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/ui-composition/SKILL.md +117 -0
  422. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/usability-testing/SKILL.md +78 -0
  423. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/verification-before-shipping/SKILL.md +125 -0
  424. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/voice-and-tone/SKILL.md +79 -0
  425. package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/writing-design-plans/SKILL.md +119 -0
  426. package/packages/shared-skills/skills/frontend/references/ui-ux-db/scripts/core.py +0 -0
  427. package/packages/shared-skills/skills/git-master/SKILL.md +4 -0
  428. package/packages/shared-skills/skills/review-work/SKILL.md +3 -3
  429. package/packages/shared-skills/skills/start-work/SKILL.md +7 -5
  430. package/packages/shared-skills/skills/ultraresearch/SKILL.md +4 -252
  431. package/packages/shared-skills/skills/ulw-plan/SKILL.md +8 -6
  432. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +11 -6
  433. package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +3 -3
  434. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +1 -1
  435. package/packages/{omo-codex/plugin/skills/ultraresearch → shared-skills/skills/ulw-research}/ATTRIBUTION.md +1 -1
  436. package/packages/shared-skills/skills/ulw-research/SKILL.md +260 -0
  437. package/packages/shared-skills/skills/visual-qa/SKILL.md +105 -14
  438. package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +120 -1
  439. package/script/qa/web-terminal-redaction.d.mts +13 -0
  440. package/script/qa/web-terminal-redaction.mjs +43 -0
  441. package/script/qa/web-terminal-renderer.mjs +218 -0
  442. package/script/qa/web-terminal-visual-qa.mjs +264 -0
  443. package/packages/omo-codex/plugin/skills/ultimate-browsing/scripts/tests/test_cookie_domain_filter.py +0 -110
  444. package/packages/omo-codex/plugin/skills/ultimate-browsing/scripts/tests/test_extract_cookies.py +0 -245
  445. package/packages/omo-codex/plugin/test/ultraresearch-skill-contract.test.mjs +0 -204
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: inspiration-scouting
3
+ description: "Use when the team needs aesthetic references, interaction examples, or visual inspiration beyond competitive research — finds design patterns, UI references, and creative approaches that match the brief and taste profile"
4
+ ---
5
+
6
+ # Inspiration Scouting
7
+
8
+ The design-scout does competitive research — who else solves this problem and how. Inspiration scouting is different. It finds aesthetic and interaction references that shape the *feel* of the design, even when they come from completely different domains. A banking app can be inspired by a meditation app's calm. A children's education tool can borrow pacing from a well-designed game.
9
+
10
+ ## When to Use
11
+
12
+ - After design-discovery and design-strategy, before visual design begins
13
+ - When the design-lead needs a visual direction and wants reference material
14
+ - When the user says "show me some inspiration" or "what could this look like?"
15
+ - When the taste profile exists but the project needs a fresh direction within it
16
+ - When the team is stuck and needs outside input to break a creative block
17
+
18
+ ## Do Not Use When
19
+
20
+ - The user has already provided specific visual references — use those directly
21
+ - The design system is locked and visual direction is predetermined
22
+ - The task is a fix or iteration, not a new direction
23
+
24
+ ## Process
25
+
26
+ ### Step 1: Define the Inspiration Brief
27
+
28
+ Before searching, define what you're looking for:
29
+
30
+ ```markdown
31
+ ## Inspiration Brief
32
+
33
+ **Project:** [Name and one-line description]
34
+ **Feel we're going for:** [2-3 adjectives — e.g., "calm, confident, playful"]
35
+ **Feel we're avoiding:** [2-3 adjectives — e.g., "clinical, childish, corporate"]
36
+ **Taste constraints:** [From taste profile — known preferences and anti-patterns]
37
+ **Domain:** [The project's domain — e.g., "pet care", "fintech", "education"]
38
+ **Cross-domain openness:** [How far outside the domain to look — same domain / adjacent / anywhere]
39
+ **Specific needs:** [e.g., "onboarding flow inspiration", "dashboard layout patterns", "empty state ideas"]
40
+ ```
41
+
42
+ ### Step 2: Search Across Layers
43
+
44
+ Inspiration operates at multiple layers. Search each:
45
+
46
+ #### Visual Layer
47
+ - **Colour:** Palette approaches, colour psychology, brand colour usage
48
+ - **Typography:** Type pairing, scale, weight distribution, editorial vs UI
49
+ - **Layout:** Grid systems, density, whitespace philosophy, asymmetry
50
+ - **Imagery:** Photography style, illustration approach, iconography
51
+ - **Surface:** Texture, depth, glassmorphism, neumorphism, flat — what's appropriate
52
+
53
+ #### Interaction Layer
54
+ - **Navigation:** Patterns, transitions between views, wayfinding
55
+ - **Feedback:** How the interface responds — micro-interactions, loading, success, error
56
+ - **Onboarding:** First-run experiences, progressive disclosure, tutorials
57
+ - **Data entry:** Form patterns, input methods, validation approaches
58
+ - **Empty states:** What the app feels like before there's content
59
+
60
+ #### Emotional Layer
61
+ - **Personality:** How the interface expresses character through details
62
+ - **Pacing:** Fast and efficient vs slow and contemplative
63
+ - **Trust signals:** How the interface builds confidence
64
+ - **Delight moments:** Where and how the interface surprises positively
65
+ - **Restraint:** What the interface deliberately does *not* do
66
+
67
+ ### Step 3: Curate a Mood Board
68
+
69
+ Compile findings into a structured mood board. Quality over quantity — 5 excellent references beat 20 mediocre ones.
70
+
71
+ For each reference:
72
+
73
+ ```markdown
74
+ ### [Reference Name]
75
+ **Source:** [App/site/product name and what it does]
76
+ **Why it's relevant:** [1-2 sentences connecting this to the project brief]
77
+ **What to take:** [The specific element or quality to learn from]
78
+ **What to leave:** [What doesn't apply — this prevents wholesale copying]
79
+ **Taste alignment:** [How it connects to the user's taste profile]
80
+ **Layer:** Visual / Interaction / Emotional
81
+ ```
82
+
83
+ ### Step 4: Cross-Domain Connections
84
+
85
+ The best inspiration often comes from outside the project's domain. Actively seek cross-domain references:
86
+
87
+ | Project Domain | Look At |
88
+ |---------------|---------|
89
+ | Healthcare | Meditation apps (calm), fitness apps (motivation), journaling apps (reflection) |
90
+ | Finance | Productivity tools (clarity), weather apps (data viz), news apps (hierarchy) |
91
+ | Education | Games (engagement), music apps (progression), social apps (community) |
92
+ | E-commerce | Editorial sites (storytelling), gallery apps (browsing), travel apps (discovery) |
93
+ | Enterprise | Consumer apps (polish), design tools (power + clarity), documentation sites (wayfinding) |
94
+
95
+ Don't force connections — but don't limit yourself to competitors either.
96
+
97
+ ### Step 5: Present the Board
98
+
99
+ Present inspiration to the user and the design-lead as a curated collection:
100
+
101
+ ```
102
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
103
+ INSPIRATION BOARD
104
+ For: [Project Name]
105
+ Feel: [target adjectives]
106
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
107
+
108
+ VISUAL DIRECTION
109
+ ◆ [Reference 1] — [what to take]
110
+ ◆ [Reference 2] — [what to take]
111
+
112
+ INTERACTION PATTERNS
113
+ ◆ [Reference 3] — [what to take]
114
+ ◆ [Reference 4] — [what to take]
115
+
116
+ EMOTIONAL TONE
117
+ ◆ [Reference 5] — [what to take]
118
+
119
+ CROSS-DOMAIN WILD CARD
120
+ ◆ [Reference 6] — [unexpected connection]
121
+
122
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
123
+ Does any of this resonate? I can dig deeper
124
+ into any direction or find more references.
125
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
126
+ ```
127
+
128
+ ### Step 6: Refine Based on Response
129
+
130
+ The user's reaction to inspiration is a powerful taste signal:
131
+
132
+ | Reaction | What to Do | Taste Signal |
133
+ |----------|-----------|--------------|
134
+ | "Love that" | Dig deeper into similar references | Strong positive — record in design-memory |
135
+ | "Not quite" | Ask what's off — too bold? too safe? wrong tone? | Soft negative — refine search |
136
+ | "That but calmer" | The direction is right, the intensity is wrong | Record the adjustment as a taste nuance |
137
+ | "None of these" | Go back to Step 1 and redefine the feel | The inspiration brief needs rewriting |
138
+ | "Number 3, but for the layout, not the colour" | User is compositing — they see the design in pieces | Record which layers resonate separately |
139
+
140
+ After refinement, update the inspiration brief with what resonated and pass it to design-lead as part of their brief.
141
+
142
+ ## Integration With Taste Profile
143
+
144
+ Inspiration is driven by **this project's** direction — the brief and the live taste calibration from `design-taste` — not by the cross-project design record. The `design-memory` record is observational and is **not** used to pre-filter or steer references; doing so would silently apply one project's habits to another. (If the user themselves says "I usually avoid gradients," that's live direction for this project — honour it because they said it now, not because a record predicted it.)
145
+
146
+ You may still **record** new signals into `design-memory` as observations after the fact (see below) — that's watching, not steering.
147
+
148
+ ## Integration
149
+
150
+ - **Called by:** `design-discovery` (to set visual direction), `design-strategy` (for positioning references), `using-designpowers` (when user requests inspiration)
151
+ - **Calls:** `design-memory` (only to record new observations after the fact — never to read constraints that steer the scouting)
152
+ - **Hands off to:** `design-lead` (with curated references as visual brief), `design-strategist` (with emotional/UX references)
153
+ - **Pairs with:** `design-memory`, `design-debate` (inspiration can trigger a debate on direction)
154
+ - **Updated by:** User reactions — every "love it" or "not for me" is a taste data point
155
+
156
+ ## Anti-Patterns
157
+
158
+ | Pattern | Why It Fails |
159
+ |---------|-------------|
160
+ | Dumping 20 references without curation | Overwhelms. 5 excellent references with clear "what to take" beats 20 screenshots |
161
+ | Only looking at competitors | Competitors solve the same problem the same way. Cross-domain references unlock fresh approaches |
162
+ | Showing inspiration that violates accessibility | A beautiful reference with 2:1 contrast ratios is not inspiration — it's a cautionary tale. Flag accessibility issues in references |
163
+ | Copying instead of being inspired | Inspiration means "take the quality, not the pixels." Always specify what to take and what to leave |
164
+ | Ignoring this project's stated direction | If the user has said (now) they want a calm, gradient-free look, showing gradient-heavy references wastes their time. Drive from `design-taste`, not from the cross-project record |
165
+ | Presenting without "what to take" | A reference without a clear lesson is decoration. Every reference needs a reason |
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: interaction-design
3
+ description: "Use when designing states, transitions, animations, error handling, loading patterns, feedback, or any behaviour that responds to user action — ensures interactions are perceivable, operable, and inclusive"
4
+ ---
5
+
6
+ # Interaction Design
7
+
8
+ Interactions are promises. Every button says "click me and something will happen." Every loading spinner says "wait, it is coming." This skill ensures those promises are kept for everyone, regardless of how they interact with the interface.
9
+
10
+ ## When to Use
11
+
12
+ - Designing component states (default, hover, active, focus, disabled, error)
13
+ - Creating transitions or animations
14
+ - Handling errors, empty states, or edge cases
15
+ - Designing loading and progress patterns
16
+ - Defining feedback mechanisms (success, warning, error confirmations)
17
+ - Designing gesture or touch interactions
18
+
19
+ ## Process
20
+
21
+ ### Step 1: Map All States
22
+
23
+ For every interactive element, define:
24
+
25
+ | State | Visual | Screen Reader | Keyboard | Touch |
26
+ |-------|--------|--------------|----------|-------|
27
+ | Default | [appearance] | [announcement] | [behaviour] | [behaviour] |
28
+ | Hover | [appearance] | n/a | n/a | n/a |
29
+ | Focus | [appearance + focus ring] | [announcement] | [how to reach] | n/a |
30
+ | Active/Pressed | [appearance] | [announcement] | [trigger key] | [gesture] |
31
+ | Disabled | [appearance, not just greyed] | [announcement + reason] | [skip in tab order?] | [behaviour] |
32
+ | Error | [appearance + message] | [announcement + guidance] | [focus moved?] | [behaviour] |
33
+ | Loading | [appearance] | [live region update] | [interaction blocked?] | [behaviour] |
34
+ | Success | [appearance] | [announcement] | [next focus target] | [behaviour] |
35
+
36
+ ### Step 2: Design Feedback Patterns
37
+
38
+ Every user action deserves a response. Map the feedback:
39
+
40
+ **Immediate feedback (< 100ms):**
41
+ - Visual state change on interaction (button press, toggle flip)
42
+ - Must be perceivable without relying on colour alone
43
+
44
+ **Short wait feedback (100ms - 1s):**
45
+ - Loading indicator or skeleton screen
46
+ - ARIA live region announcement: "Loading..."
47
+
48
+ **Long wait feedback (> 1s):**
49
+ - Progress indicator with estimated time or progress percentage
50
+ - Ability to cancel or navigate away
51
+ - ARIA live region updates at intervals
52
+
53
+ **Completion feedback:**
54
+ - Clear success or error state
55
+ - Screen reader announcement of outcome
56
+ - Logical next focus target
57
+
58
+ ### Step 3: Error Handling
59
+
60
+ Errors are not edge cases — they are guaranteed states. Design for them:
61
+
62
+ 1. **Prevention first** — inline validation, clear constraints, sensible defaults
63
+ 2. **Clear identification** — what went wrong, in plain language
64
+ 3. **Specific guidance** — what the person should do next
65
+ 4. **Accessible delivery** — errors announced to screen readers, focus moved to the error, not just a colour change
66
+ 5. **Recovery path** — preserve user input, allow correction without starting over
67
+
68
+ Error message format: **[What happened] + [What to do about it]**
69
+ - Yes: "That email address is already registered. Try signing in instead, or use a different email."
70
+ - No: "Error: invalid input"
71
+
72
+ ### Step 4: Animation and Motion
73
+
74
+ Animations serve a purpose or they serve nobody:
75
+
76
+ **When to animate:**
77
+ - To show a relationship between elements (a panel sliding in from its trigger)
78
+ - To maintain spatial orientation (a page transition showing direction)
79
+ - To provide feedback (a subtle bounce on a successful action)
80
+
81
+ **When NOT to animate:**
82
+ - Decoration without function
83
+ - Anything that delays the user from completing their task
84
+ - Anything that loops indefinitely
85
+
86
+ **Inclusive motion:**
87
+ - Respect `prefers-reduced-motion` — always provide a reduced or no-motion alternative
88
+ - Keep durations short: 150-300ms for micro-interactions, 300-500ms for transitions
89
+ - Avoid parallax, auto-playing video, flashing content (3 flashes per second maximum per WCAG)
90
+ - Provide pause/stop controls for any animation longer than 5 seconds
91
+
92
+ ### Step 5: Gesture and Input Design
93
+
94
+ If the design includes gesture interactions:
95
+ - Every gesture must have a non-gesture alternative (button, keyboard shortcut)
96
+ - Swipe actions must be discoverable without trial-and-error
97
+ - Drag-and-drop must have a keyboard-accessible alternative
98
+ - Touch targets: 44x44px minimum, with adequate spacing between targets
99
+
100
+ ### Step 6: Document the Interaction Spec
101
+
102
+ For each interaction, document:
103
+ - Trigger (what initiates the interaction)
104
+ - Behaviour (what happens, step by step)
105
+ - States (all states the element passes through)
106
+ - Feedback (what the user perceives at each stage)
107
+ - Accessibility (screen reader announcements, keyboard behaviour, motion reduction)
108
+
109
+ ## Integration
110
+
111
+ - **Called by:** `writing-design-plans` (as part of plan execution)
112
+ - **Pairs with:** `ui-composition` (visual states), `cognitive-accessibility` (interaction complexity), `accessible-content` (error messages)
113
+ - **Reviewed by:** `designpowers-critique`
114
+
115
+ ## Red Flags
116
+
117
+ | Flag | Response |
118
+ |------|----------|
119
+ | Component with only default and hover states | Map ALL states including focus, error, loading, disabled |
120
+ | Animation without prefers-reduced-motion support | Add motion reduction. This is not optional |
121
+ | Error state that only changes colour | Add text, icon, and screen reader announcement |
122
+ | Gesture without alternative input method | Add keyboard and/or button alternative |
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: motion-choreography
3
+ description: "Use when designing animation sequences, page transitions, micro-interactions, loading states, or any motion that communicates meaning — ensures motion is purposeful, performant, and safe for motion-sensitive users"
4
+ ---
5
+
6
+ # Motion Choreography
7
+
8
+ Motion is communication. Every animation answers a question the user didn't know they had. If it doesn't answer one, cut it.
9
+
10
+ ## The Three Questions
11
+
12
+ Before adding any animation:
13
+ 1. **What changed?** — the animation makes it visible
14
+ 2. **What should I look at next?** — directs attention
15
+ 3. **How are these related?** — shows spatial/hierarchical relationship
16
+
17
+ Can't answer at least one? The animation is decoration. Cut it.
18
+
19
+ ## Duration Guide
20
+
21
+ | Context | Duration |
22
+ |---------|----------|
23
+ | Micro-interaction (button, toggle) | 100-200ms |
24
+ | State change (card expand, tab) | 200-300ms |
25
+ | Screen transition | 250-400ms |
26
+ | Complex choreography | 400-700ms total |
27
+
28
+ Nothing over 1 second unless it's a loading indicator.
29
+
30
+ ## Easing Reference
31
+
32
+ | Context | Easing |
33
+ |---------|--------|
34
+ | Entering | ease-out (decelerate) |
35
+ | Leaving | ease-in (accelerate) |
36
+ | State change | ease-in-out |
37
+ | Micro-interaction | spring (stiffness 300-500) |
38
+
39
+ ## Stagger Patterns
40
+
41
+ - 50-80ms delay between items
42
+ - Maximum 5 items staggered, rest appear instantly
43
+ - Follow reading order
44
+ - Reveal hierarchy — important items first
45
+
46
+ ## Reduced Motion
47
+
48
+ `prefers-reduced-motion: reduce` means reduce, not remove.
49
+
50
+ | Standard | Reduced alternative |
51
+ |----------|-------------------|
52
+ | Slide in | Fade in |
53
+ | Scale with bounce | Instant appearance |
54
+ | Parallax scroll | Static |
55
+ | Staggered reveal | Simultaneous fade |
56
+ | Continuous pulse | Static state |
57
+
58
+ **Every animation must have a reduced-motion alternative. No exceptions.**
59
+
60
+ ## What NOT to Animate
61
+
62
+ - Text colour changes (photosensitive risk)
63
+ - Layout properties in performance paths (use transform)
64
+ - Anything that delays task completion
65
+ - Decorative loops without user control
66
+
67
+ ## Performance
68
+
69
+ Only animate: `transform`, `opacity`, `filter`. These are GPU-composited.
70
+
71
+ ## What You Deliver
72
+
73
+ - Animation specs with durations, easings, triggers
74
+ - Reduced-motion alternatives for every animation
75
+ - Performance annotations
76
+ - Sequence diagrams for complex choreography
77
+
78
+ ## Integration
79
+
80
+ - **Informed by:** `design-lead`, `interaction-design`
81
+ - **Feeds into:** `motion-designer` agent, `accessibility-reviewer`, `design-builder`
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: research-planning
3
+ description: "Use when user needs are unclear, assumptions need validation, or the design brief identifies gaps in understanding — plans what to learn, which methods to use, and from whom"
4
+ ---
5
+
6
+ # Research Planning
7
+
8
+ Research is how we replace assumptions with evidence. This skill structures what you need to learn before committing to a design direction.
9
+
10
+ ## When to Use
11
+
12
+ - The design brief identifies unknowns about users, context, or behaviour
13
+ - The team is making decisions based on assumptions rather than evidence
14
+ - A design is being created for a new audience or unfamiliar context
15
+ - Stakeholders disagree about user needs
16
+
17
+ ## Process
18
+
19
+ ### Step 1: Identify Knowledge Gaps
20
+
21
+ Review the design brief and list:
22
+ - What do we **know** about the people who will use this? (Evidence-backed)
23
+ - What do we **assume**? (Believed but unverified)
24
+ - What do we **not know**? (Acknowledged gaps)
25
+
26
+ Present this to the user. Assumptions and unknowns become research questions.
27
+
28
+ ### Step 2: Frame Research Questions
29
+
30
+ Convert gaps into answerable questions. Good research questions are:
31
+ - **Specific** — "How do users with screen readers navigate multi-step forms?" not "Is the form accessible?"
32
+ - **Observable** — focused on behaviour, not opinion
33
+ - **Actionable** — the answer will change a design decision
34
+
35
+ Aim for 3-5 research questions. More than that means you need to narrow scope.
36
+
37
+ ### Step 3: Select Methods
38
+
39
+ Match methods to questions:
40
+
41
+ | Question Type | Recommended Methods |
42
+ |--------------|-------------------|
43
+ | "What do people currently do?" | Journey mapping, diary studies, contextual inquiry |
44
+ | "Why do people struggle with X?" | Usability testing, think-aloud protocols |
45
+ | "What do people need?" | Interviews, jobs-to-be-done analysis |
46
+ | "Which approach works better?" | A/B testing, preference testing, card sorting |
47
+ | "How does our offering compare?" | Competitive analysis, heuristic evaluation |
48
+ | "Who are we designing for?" | Persona development, ability spectrum mapping |
49
+
50
+ ### Step 4: Plan for Inclusion
51
+
52
+ Every research plan must address:
53
+ - **Participant diversity** — include people with disabilities, different ages, different technical literacy, different languages
54
+ - **Method accessibility** — ensure research methods themselves are accessible (e.g., interview formats that work for people with communication differences)
55
+ - **Situational contexts** — include scenarios of stress, distraction, low bandwidth, unfamiliar environments
56
+
57
+ ### Step 5: Write the Research Plan
58
+
59
+ ```markdown
60
+ # Research Plan: [Topic]
61
+
62
+ ## Research Questions
63
+ 1. [Question]
64
+ 2. [Question]
65
+ 3. [Question]
66
+
67
+ ## Methods
68
+ | Method | Questions Addressed | Participants | Timeline |
69
+ |--------|-------------------|-------------|----------|
70
+ | [Method] | Q1, Q2 | [Who and how many] | [When] |
71
+
72
+ ## Inclusion Considerations
73
+ [How participant diversity and method accessibility will be ensured]
74
+
75
+ ## Expected Outputs
76
+ [What deliverables this research will produce — personas, journey maps, findings report]
77
+
78
+ ## Decision Points
79
+ [Which design decisions this research will inform]
80
+ ```
81
+
82
+ Save to: `docs/designpowers/research/YYYY-MM-DD-<topic>-plan.md`
83
+
84
+ ### Step 6: User Review
85
+
86
+ Present the plan. Confirm scope, methods, and timeline are realistic.
87
+
88
+ ## Integration
89
+
90
+ - **Called by:** `design-discovery`
91
+ - **Calls:** `inclusive-personas` (when persona development is a research output)
92
+ - **Pairs with:** `design-strategy` (research informs strategy)
93
+
94
+ ## What This Skill Does NOT Do
95
+
96
+ This skill plans research — it does not execute it. Execution happens with real people in the real world. The plan ensures that when research happens, it is structured, inclusive, and actionable.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: responsive-patterns
3
+ description: "Use when designing complex responsive layouts — breakpoint strategy, layout shifts, content reflow, responsive typography, container queries, and ensuring the experience works across the full device spectrum"
4
+ ---
5
+
6
+ # Responsive Patterns
7
+
8
+ Responsive design is not "make it fit on a phone." It is designing for every context — one-handed on a bus, zoomed to 200% on a desktop, on a tablet in sunlight.
9
+
10
+ ## When to Use
11
+
12
+ - When `ui-composition` defines a layout that spans breakpoints
13
+ - When the design-critic flags responsive issues
14
+ - When building anything more complex than single-column
15
+
16
+ ## Breakpoint Strategy
17
+
18
+ Content drives breakpoints, not devices. Do not use 768px because "that's tablet." Use the width where your content breaks.
19
+
20
+ 1. Start at 320px
21
+ 2. Widen slowly
22
+ 3. When the layout looks wrong — that's a breakpoint
23
+ 4. Name by behaviour, not device
24
+
25
+ ```css
26
+ --bp-stack: 0;
27
+ --bp-sidebar: 640px;
28
+ --bp-columns: 900px;
29
+ --bp-wide: 1200px;
30
+ ```
31
+
32
+ ## Content Priority Shifting
33
+
34
+ At narrow widths, decide what gets:
35
+ - **Kept** — essential for the task
36
+ - **Collapsed** — behind a toggle
37
+ - **Deferred** — lower in scroll order
38
+ - **Hidden** — removed (last resort)
39
+
40
+ Document these decisions.
41
+
42
+ ## Responsive Typography
43
+
44
+ ```css
45
+ --font-size-body: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
46
+ --font-size-h1: clamp(1.75rem, 1.5rem + 1.25vw, 2.5rem);
47
+ ```
48
+
49
+ Body text minimum 16px. Line length 45-75 characters. At 200% zoom, no horizontal scroll (WCAG 1.4.10).
50
+
51
+ ## Container Queries vs Media Queries
52
+
53
+ | Use case | Use |
54
+ |----------|-----|
55
+ | Page-level layout | `@media` |
56
+ | Component adaptation | `@container` |
57
+
58
+ ## Touch Targets
59
+
60
+ 44x44px minimum at mobile. 8px minimum gap between adjacent targets.
61
+
62
+ ## Testing
63
+
64
+ Test at: 320px, one pixel below each breakpoint, 200% zoom at 1280px, landscape phone, and real devices.
65
+
66
+ ## What You Deliver
67
+
68
+ - Breakpoint definitions with rationale
69
+ - Layout behaviour at each breakpoint
70
+ - Content priority decisions
71
+ - Typography scale with clamp() values
72
+ - Touch target verification
73
+
74
+ ## Integration
75
+
76
+ - **Informed by:** `ui-composition`, `design-discovery`
77
+ - **Feeds into:** `design-builder`, `accessibility-reviewer`