oh-my-opencode 4.13.0 → 4.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/codex-qa/SKILL.md +15 -0
- package/.agents/skills/codex-qa/references/isolation.md +1 -1
- package/.agents/skills/codex-qa/references/logging-debug.md +12 -0
- package/.agents/skills/opencode-qa/SKILL.md +17 -0
- package/.agents/skills/opencode-qa/references/tui-tmux.md +17 -0
- package/.agents/skills/work-with-pr/SKILL.md +18 -10
- package/.opencode/skills/work-with-pr/SKILL.md +18 -10
- package/README.md +3 -3
- package/dist/cli/doctor/checks/telemetry.d.ts +2 -0
- package/dist/cli/doctor/framework/constants.d.ts +1 -0
- package/dist/cli/doctor/framework/doctor-target.d.ts +1 -1
- package/dist/cli/doctor/framework/types.d.ts +2 -0
- package/dist/cli/index.js +24779 -17857
- package/dist/cli-node/index.js +24779 -17857
- package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
- package/dist/features/team-mode/test-support/async-test-helpers.d.ts +19 -0
- package/dist/hooks/atlas/final-wave-approval-gate.d.ts +1 -0
- package/dist/hooks/atlas/subagent-completion-reminder.d.ts +30 -0
- package/dist/hooks/atlas/types.d.ts +2 -0
- package/dist/hooks/atlas/verification-reminders.d.ts +3 -0
- package/dist/hooks/team-session-events/team-idle-wake-hint.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +43845 -26631
- package/dist/mcp/context7.d.ts +9 -8
- package/dist/oh-my-opencode.schema.json +4 -0
- package/dist/plugin/native-skills.d.ts +9 -0
- package/dist/plugin/system-transform.d.ts +1 -1
- package/dist/shared/posthog.d.ts +17 -10
- package/dist/shared/telemetry-product-identity.d.ts +2 -0
- package/dist/skills/coding-agent-sessions/SKILL.md +128 -0
- package/dist/skills/coding-agent-sessions/agents/openai.yaml +4 -0
- package/dist/skills/coding-agent-sessions/references/all-platforms.md +71 -0
- package/dist/skills/coding-agent-sessions/references/claude.md +32 -0
- package/dist/skills/coding-agent-sessions/references/codex.md +30 -0
- package/dist/skills/coding-agent-sessions/references/opencode.md +43 -0
- package/dist/skills/coding-agent-sessions/references/senpi.md +17 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/__init__.py +1 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/claude.py +66 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +283 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/codex.py +105 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +275 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/jsonio.py +55 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/kiro_scanner.py +91 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/opencode.py +289 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +92 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_optional_scanners.py +203 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_scanners.py +177 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/timeparse.py +51 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +149 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/types.py +57 -0
- package/dist/skills/coding-agent-sessions/scripts/find-agent-sessions.py +19 -0
- package/dist/skills/frontend/ATTRIBUTION.md +52 -8
- package/dist/skills/frontend/SKILL.md +29 -8
- package/dist/skills/frontend/references/design/README.md +29 -12
- package/dist/skills/frontend/references/design/_INDEX.md +3 -3
- package/dist/skills/frontend/references/design/design-system-architecture.md +22 -19
- package/dist/skills/frontend/references/designpowers/EVIDENCE.md +89 -0
- package/dist/skills/frontend/references/designpowers/README.md +48 -0
- package/dist/skills/frontend/references/designpowers/UPSTREAM.md +80 -0
- package/dist/skills/frontend/references/designpowers/lane-a-direction.md +64 -0
- package/dist/skills/frontend/references/designpowers/lane-b-execution.md +65 -0
- package/dist/skills/frontend/references/designpowers/lane-c-review.md +65 -0
- package/dist/skills/frontend/references/designpowers/lane-d-memory.md +83 -0
- package/dist/skills/frontend/references/designpowers/orchestration.md +80 -0
- package/dist/skills/frontend/references/designpowers/routing.md +79 -0
- package/dist/skills/frontend/references/designpowers/vendor/LICENSE +21 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/content-writer.md +132 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/design-builder.md +109 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/design-critic.md +89 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/design-lead.md +113 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/design-scout.md +78 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/design-strategist.md +121 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
- package/dist/skills/frontend/references/designpowers/vendor/agents/motion-designer.md +120 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/accessible-content/SKILL.md +101 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/adaptive-interfaces/SKILL.md +109 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/cognitive-accessibility/SKILL.md +107 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/design-debate/SKILL.md +199 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/design-debt-tracker/SKILL.md +174 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/design-handoff/SKILL.md +125 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/design-md/SKILL.md +106 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/design-retrospective/SKILL.md +266 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/design-review/SKILL.md +123 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/design-system-alignment/SKILL.md +120 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/designpowers-critique/SKILL.md +164 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/heuristic-evaluation/SKILL.md +85 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/inclusive-personas/SKILL.md +98 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/inspiration-scouting/SKILL.md +165 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/interaction-design/SKILL.md +122 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/motion-choreography/SKILL.md +81 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/research-planning/SKILL.md +96 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/responsive-patterns/SKILL.md +77 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/synthetic-user-testing/SKILL.md +192 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/taste-feedback/SKILL.md +165 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/taste-report/SKILL.md +78 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/token-architecture/SKILL.md +75 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/ui-composition/SKILL.md +117 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/usability-testing/SKILL.md +78 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/verification-before-shipping/SKILL.md +125 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/voice-and-tone/SKILL.md +79 -0
- package/dist/skills/frontend/references/designpowers/vendor/skills/writing-design-plans/SKILL.md +119 -0
- package/dist/skills/frontend/references/ui-ux-db/scripts/core.py +0 -0
- package/dist/skills/git-master/SKILL.md +4 -0
- package/dist/skills/lcx-contribute-bug-fix/SKILL.md +44 -13
- package/dist/skills/lcx-contribute-bug-fix/agents/openai.yaml +1 -1
- package/dist/skills/lcx-doctor/SKILL.md +48 -13
- package/dist/skills/lcx-doctor/agents/openai.yaml +1 -1
- package/dist/skills/lcx-report-bug/SKILL.md +44 -13
- package/dist/skills/lcx-report-bug/agents/openai.yaml +1 -1
- package/dist/skills/review-work/SKILL.md +3 -3
- package/dist/skills/start-work/SKILL.md +7 -5
- package/dist/skills/ultraresearch/SKILL.md +4 -252
- package/dist/skills/ulw-plan/SKILL.md +8 -6
- package/dist/skills/ulw-plan/references/full-workflow.md +11 -6
- package/dist/skills/ulw-plan/references/intent-clear.md +3 -3
- package/dist/skills/ulw-plan/references/intent-unclear.md +1 -1
- package/{packages/shared-skills/skills/ultraresearch → dist/skills/ulw-research}/ATTRIBUTION.md +1 -1
- package/dist/skills/ulw-research/SKILL.md +260 -0
- package/dist/skills/visual-qa/SKILL.md +109 -18
- package/dist/skills/visual-qa/references/agent-browser-setup.md +5 -4
- package/dist/skills/visual-qa/scripts/cli.test.ts +7 -2
- package/dist/skills/visual-qa/scripts/skill-prompt-contract.test.ts +130 -3
- package/dist/skills/visual-qa/scripts/visual-qa.mjs +530 -0
- package/dist/testing/create-plugin-module.d.ts +2 -0
- package/dist/tools/delegate-task/skill-resolver.d.ts +1 -0
- package/dist/tools/delegate-task/types.d.ts +2 -0
- package/dist/tools/skill/types.d.ts +1 -0
- package/dist/tui.js +23917 -16117
- package/docs/reference/github-attachment-upload.md +51 -0
- package/docs/reference/web-terminal-visual-qa.md +81 -0
- package/package.json +33 -14
- package/packages/git-bash-mcp/dist/cli.js +2 -0
- package/packages/lsp-core/src/lsp/process.ts +4 -1
- package/packages/lsp-core/src/mcp.ts +1 -0
- package/packages/lsp-daemon/dist/cli.js +20 -5
- package/packages/lsp-daemon/dist/ensure-daemon.d.ts +1 -0
- package/packages/lsp-daemon/dist/ensure-daemon.js +9 -3
- package/packages/lsp-daemon/dist/index.js +20 -5
- package/packages/lsp-daemon/dist/paths.d.ts +1 -0
- package/packages/lsp-daemon/dist/paths.js +6 -1
- package/packages/lsp-daemon/dist/proxy.js +1 -0
- package/packages/lsp-tools-mcp/dist/cli.js +5 -1
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +4 -1
- package/packages/lsp-tools-mcp/dist/mcp.js +5 -1
- package/packages/lsp-tools-mcp/dist/tools.js +4 -1
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +327 -69
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/scripts/bootstrap.ps1 +37 -68
- package/packages/omo-codex/plugin/components/bootstrap/scripts/node-dispatch.ps1 +75 -0
- package/packages/omo-codex/plugin/components/bootstrap/src/cli.ts +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +3 -19
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +688 -334
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +317 -39
- package/packages/omo-codex/plugin/components/codegraph/package.json +2 -2
- package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +7 -1
- package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +103 -3
- package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +231 -0
- package/packages/omo-codex/plugin/components/codegraph/src/serve-invocation.ts +29 -0
- package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +31 -57
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +7 -4
- package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +43 -9
- package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +287 -0
- package/packages/omo-codex/plugin/components/codegraph/test/serve.test.ts +12 -7
- package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +71 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +94 -26
- package/packages/omo-codex/plugin/components/lsp/dist/codex-hook.js +2 -0
- package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.d.ts +2 -0
- package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +56 -0
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/src/cli.ts +2 -5
- package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +2 -0
- package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +65 -0
- package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +6 -1
- package/packages/omo-codex/plugin/components/rules/dist/cli.js +8 -106
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -17
- package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +6 -6
- package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +23 -0
- package/packages/omo-codex/plugin/components/teammode/dist/cli.js +22 -4
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/SKILL.md +57 -7
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team-guide.mjs +32 -5
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team-state.mjs +63 -1
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team.mjs +87 -53
- package/packages/omo-codex/plugin/components/teammode/src/codex-hook.ts +19 -4
- package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +32 -2
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/README.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +18 -10
- package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +6 -4
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +11 -6
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +3 -3
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/src/codex-hook.ts +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +24 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +7 -28
- package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/README.md +25 -21
- package/packages/omo-codex/plugin/components/ulw-loop/biome.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +373 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +14 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +145 -14
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.d.ts +6 -3
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +16 -6
- package/packages/omo-codex/plugin/components/ulw-loop/dist/ultrawork-directive.d.ts +5 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/ultrawork-directive.js +104 -0
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +5 -2
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +22 -14
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +14 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +28 -6
- package/packages/omo-codex/plugin/components/ulw-loop/src/ultrawork-directive.ts +113 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +33 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-kind-guidance.test.ts +31 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +13 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-quality-gate.json +7 -7
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +39 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-doc.test.ts +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +7 -6
- package/packages/omo-codex/plugin/components/ulw-loop/test/skill-contract.test.ts +12 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +64 -0
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +2 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +2 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +2 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +2 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +2 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +2 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +2 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +2 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +2 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +2 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +2 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +2 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +2 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +2 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +2 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +2 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +2 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +2 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +2 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +2 -1
- package/packages/omo-codex/plugin/package-lock.json +16 -56
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/auto-update.mjs +9 -5
- package/packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs +1 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/context7-placeholder-guard.mjs +131 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-mode-guard.mjs +60 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +3 -10
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/root-settings.mjs +31 -1
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +73 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config.mjs +20 -3
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +30 -8
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +128 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/agents/openai.yaml +4 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +71 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/claude.md +32 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/codex.md +30 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/opencode.md +43 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +17 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/__init__.py +1 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/claude.py +66 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +283 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/codex.py +105 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +275 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/jsonio.py +55 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/kiro_scanner.py +91 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/opencode.py +289 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +92 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_optional_scanners.py +203 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_scanners.py +177 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/timeparse.py +51 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +149 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/types.py +57 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/find-agent-sessions.py +19 -0
- package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +52 -8
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +29 -8
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +29 -12
- package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +3 -3
- package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +22 -19
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/EVIDENCE.md +89 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +48 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/UPSTREAM.md +80 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +64 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +65 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-c-review.md +65 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +83 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +80 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +79 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/LICENSE +21 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/content-writer.md +132 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-builder.md +109 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-critic.md +89 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-lead.md +113 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-scout.md +78 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/design-strategist.md +121 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/agents/motion-designer.md +120 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/accessible-content/SKILL.md +101 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/adaptive-interfaces/SKILL.md +109 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/cognitive-accessibility/SKILL.md +107 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-debate/SKILL.md +199 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-debt-tracker/SKILL.md +174 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-handoff/SKILL.md +125 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-md/SKILL.md +106 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-retrospective/SKILL.md +266 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-review/SKILL.md +123 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/design-system-alignment/SKILL.md +120 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/designpowers-critique/SKILL.md +164 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/heuristic-evaluation/SKILL.md +85 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/inclusive-personas/SKILL.md +98 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/inspiration-scouting/SKILL.md +165 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/interaction-design/SKILL.md +122 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/motion-choreography/SKILL.md +81 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/research-planning/SKILL.md +96 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/responsive-patterns/SKILL.md +77 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/synthetic-user-testing/SKILL.md +192 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/taste-feedback/SKILL.md +165 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/taste-report/SKILL.md +78 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/token-architecture/SKILL.md +75 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/ui-composition/SKILL.md +117 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/usability-testing/SKILL.md +78 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/verification-before-shipping/SKILL.md +125 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/voice-and-tone/SKILL.md +79 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/vendor/skills/writing-design-plans/SKILL.md +119 -0
- package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/scripts/core.py +0 -0
- package/packages/omo-codex/plugin/skills/git-master/SKILL.md +4 -0
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +4 -0
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +44 -13
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/lcx-doctor/SKILL.md +48 -13
- package/packages/omo-codex/plugin/skills/lcx-doctor/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +44 -13
- package/packages/omo-codex/plugin/skills/lcx-report-bug/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +4 -0
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +4 -0
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +12 -4
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +14 -8
- package/packages/omo-codex/plugin/skills/teammode/SKILL.md +57 -7
- package/packages/omo-codex/plugin/skills/teammode/scripts/team-guide.mjs +32 -5
- package/packages/omo-codex/plugin/skills/teammode/scripts/team-state.mjs +63 -1
- package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +87 -53
- package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +4 -250
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +22 -14
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +6 -4
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +11 -6
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +3 -3
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +1 -1
- package/{dist/skills/ultraresearch → packages/omo-codex/plugin/skills/ulw-research}/ATTRIBUTION.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +262 -0
- package/packages/omo-codex/plugin/skills/ulw-research/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +113 -18
- package/packages/omo-codex/plugin/skills/visual-qa/references/agent-browser-setup.md +5 -4
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/visual-qa.mjs +530 -0
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +23 -0
- package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +1 -0
- package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +1 -0
- package/packages/omo-codex/plugin/test/auto-update-restart-notice.test.mjs +24 -1
- package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +61 -7
- package/packages/omo-codex/plugin/test/bootstrap-hooks.test.mjs +38 -0
- package/packages/omo-codex/plugin/test/bootstrap-ps-guard.test.mjs +25 -0
- package/packages/omo-codex/plugin/test/bootstrap-setup.test.mjs +1 -7
- package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +12 -11
- package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +99 -1
- package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +62 -8
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +206 -6
- package/packages/omo-codex/plugin/test/node-install-surface.test.mjs +1 -0
- package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +44 -0
- package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +50 -1
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +10 -7
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +28 -2
- package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +102 -0
- package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +20 -0
- package/packages/omo-codex/plugin/test/teammode-safety-fixture.mjs +41 -1
- package/packages/omo-codex/plugin/test/teammode-safety.test.mjs +93 -0
- package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +117 -0
- package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +5 -2
- package/packages/omo-codex/plugin/test/ulw-research-skill-contract.test.mjs +285 -0
- package/packages/omo-codex/scripts/install-bin-links.test.mjs +12 -1
- package/packages/omo-codex/scripts/install-cache-copy.test.mjs +79 -0
- package/packages/omo-codex/scripts/install-config-autonomous-features.test.mjs +43 -3
- package/packages/omo-codex/scripts/install-config.test.mjs +198 -17
- package/packages/omo-codex/scripts/install-delegated-command.test.mjs +93 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +803 -309
- package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +21 -2
- package/packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs +24 -15
- package/packages/omo-codex/scripts/install-local.test.mjs +5 -2
- package/packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs +84 -0
- package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +128 -0
- package/packages/shared-skills/skills/coding-agent-sessions/agents/openai.yaml +4 -0
- package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +71 -0
- package/packages/shared-skills/skills/coding-agent-sessions/references/claude.md +32 -0
- package/packages/shared-skills/skills/coding-agent-sessions/references/codex.md +30 -0
- package/packages/shared-skills/skills/coding-agent-sessions/references/opencode.md +43 -0
- package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +17 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/__init__.py +1 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/claude.py +66 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +283 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/codex.py +105 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +275 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/jsonio.py +55 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/kiro_scanner.py +91 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/opencode.py +289 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +92 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_optional_scanners.py +203 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_scanners.py +177 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/timeparse.py +51 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +149 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/types.py +57 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/find-agent-sessions.py +19 -0
- package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +52 -8
- package/packages/shared-skills/skills/frontend/SKILL.md +29 -8
- package/packages/shared-skills/skills/frontend/references/design/README.md +29 -12
- package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +3 -3
- package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +22 -19
- package/packages/shared-skills/skills/frontend/references/designpowers/EVIDENCE.md +89 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/README.md +48 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/UPSTREAM.md +80 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +64 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +65 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-c-review.md +65 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +83 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +80 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +79 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/LICENSE +21 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/content-writer.md +132 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-builder.md +109 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-critic.md +89 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-lead.md +113 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-scout.md +78 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/design-strategist.md +121 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/motion-designer.md +120 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/accessible-content/SKILL.md +101 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/adaptive-interfaces/SKILL.md +109 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/cognitive-accessibility/SKILL.md +107 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-debate/SKILL.md +199 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-debt-tracker/SKILL.md +174 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-handoff/SKILL.md +125 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-md/SKILL.md +106 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-retrospective/SKILL.md +266 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-review/SKILL.md +123 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/design-system-alignment/SKILL.md +120 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/designpowers-critique/SKILL.md +164 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/heuristic-evaluation/SKILL.md +85 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/inclusive-personas/SKILL.md +98 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/inspiration-scouting/SKILL.md +165 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/interaction-design/SKILL.md +122 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/motion-choreography/SKILL.md +81 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/research-planning/SKILL.md +96 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/responsive-patterns/SKILL.md +77 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/synthetic-user-testing/SKILL.md +192 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/taste-feedback/SKILL.md +165 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/taste-report/SKILL.md +78 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/token-architecture/SKILL.md +75 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/ui-composition/SKILL.md +117 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/usability-testing/SKILL.md +78 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/verification-before-shipping/SKILL.md +125 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/voice-and-tone/SKILL.md +79 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/writing-design-plans/SKILL.md +119 -0
- package/packages/shared-skills/skills/frontend/references/ui-ux-db/scripts/core.py +0 -0
- package/packages/shared-skills/skills/git-master/SKILL.md +4 -0
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/SKILL.md +44 -13
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/agents/openai.yaml +1 -1
- package/packages/shared-skills/skills/lcx-doctor/SKILL.md +48 -13
- package/packages/shared-skills/skills/lcx-doctor/agents/openai.yaml +1 -1
- package/packages/shared-skills/skills/lcx-report-bug/SKILL.md +44 -13
- package/packages/shared-skills/skills/lcx-report-bug/agents/openai.yaml +1 -1
- package/packages/shared-skills/skills/review-work/SKILL.md +3 -3
- package/packages/shared-skills/skills/start-work/SKILL.md +7 -5
- package/packages/shared-skills/skills/ultraresearch/SKILL.md +4 -252
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +8 -6
- package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +11 -6
- package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +3 -3
- package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +1 -1
- package/packages/{omo-codex/plugin/skills/ultraresearch → shared-skills/skills/ulw-research}/ATTRIBUTION.md +1 -1
- package/packages/shared-skills/skills/ulw-research/SKILL.md +260 -0
- package/packages/shared-skills/skills/visual-qa/SKILL.md +109 -18
- package/packages/shared-skills/skills/visual-qa/references/agent-browser-setup.md +5 -4
- package/packages/shared-skills/skills/visual-qa/scripts/cli.test.ts +7 -2
- package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +130 -3
- package/packages/shared-skills/skills/visual-qa/scripts/visual-qa.mjs +530 -0
- package/script/qa/web-terminal-redaction.d.mts +13 -0
- package/script/qa/web-terminal-redaction.mjs +43 -0
- package/script/qa/web-terminal-renderer.mjs +218 -0
- package/script/qa/web-terminal-visual-qa.mjs +264 -0
- package/dist/cli/sparkshell-appserver-websocket.d.ts +0 -4
- package/dist/cli/sparkshell-appserver.d.ts +0 -16
- package/dist/cli/sparkshell-condense.d.ts +0 -10
- package/dist/cli/sparkshell-parse.d.ts +0 -24
- package/dist/cli/sparkshell-session-context.d.ts +0 -20
- package/dist/cli/sparkshell-spark.d.ts +0 -23
- package/dist/cli/sparkshell.d.ts +0 -33
- package/dist/shared/sparkshell-awareness.d.ts +0 -5
- package/packages/omo-codex/plugin/components/rules/src/sparkshell-awareness.ts +0 -106
- package/packages/omo-codex/plugin/components/rules/test/sparkshell-awareness.test.ts +0 -346
- package/packages/omo-codex/plugin/skills/ultimate-browsing/scripts/tests/test_cookie_domain_filter.py +0 -110
- package/packages/omo-codex/plugin/skills/ultimate-browsing/scripts/tests/test_extract_cookies.py +0 -245
- package/packages/omo-codex/plugin/test/ultraresearch-skill-contract.test.mjs +0 -204
package/dist/skills/frontend/references/designpowers/vendor/skills/inspiration-scouting/SKILL.md
ADDED
|
@@ -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 |
|
package/dist/skills/frontend/references/designpowers/vendor/skills/interaction-design/SKILL.md
ADDED
|
@@ -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 |
|
package/dist/skills/frontend/references/designpowers/vendor/skills/motion-choreography/SKILL.md
ADDED
|
@@ -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.
|
package/dist/skills/frontend/references/designpowers/vendor/skills/responsive-patterns/SKILL.md
ADDED
|
@@ -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`
|