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
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-system-alignment
|
|
3
|
+
description: "Use when working with or building design systems — tokens, components, naming conventions, theming, or pattern libraries — ensures consistency, accessibility compliance, and systematic thinking"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design System Alignment
|
|
7
|
+
|
|
8
|
+
A design system is a shared language. When components are consistent, accessible, and well-documented, every new screen starts from a strong foundation. This skill ensures design work aligns with existing systems or builds new ones with the right properties.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- A design system already exists and new work must align with it
|
|
13
|
+
- Building new components for an existing system
|
|
14
|
+
- Creating a new design system from scratch
|
|
15
|
+
- Auditing an existing system for consistency or accessibility
|
|
16
|
+
- Defining or modifying design tokens
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### Step 1: Inventory the Existing System
|
|
21
|
+
|
|
22
|
+
If a design system exists, catalogue:
|
|
23
|
+
- **Tokens:** colours, spacing, typography, shadows, borders, motion
|
|
24
|
+
- **Components:** what exists, what states are covered, accessibility status
|
|
25
|
+
- **Patterns:** common layouts, form patterns, navigation patterns
|
|
26
|
+
- **Documentation:** what is documented, what is tribal knowledge
|
|
27
|
+
- **Gaps:** what is missing, inconsistent, or broken
|
|
28
|
+
|
|
29
|
+
If no system exists, document what patterns are already in use (even informally).
|
|
30
|
+
|
|
31
|
+
### Step 2: Token Architecture
|
|
32
|
+
|
|
33
|
+
Design tokens are the atoms of the system. Structure them in layers:
|
|
34
|
+
|
|
35
|
+
**Global tokens** — raw values
|
|
36
|
+
```
|
|
37
|
+
color-blue-500: #3B82F6
|
|
38
|
+
spacing-4: 16px
|
|
39
|
+
font-size-base: 1rem
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Semantic tokens** — purpose-driven aliases
|
|
43
|
+
```
|
|
44
|
+
color-primary: {color-blue-500}
|
|
45
|
+
color-error: {color-red-600}
|
|
46
|
+
spacing-element: {spacing-4}
|
|
47
|
+
font-size-body: {font-size-base}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Component tokens** — component-specific overrides
|
|
51
|
+
```
|
|
52
|
+
button-background: {color-primary}
|
|
53
|
+
button-padding: {spacing-3} {spacing-4}
|
|
54
|
+
input-border-color: {color-neutral-300}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Every token must meet accessibility requirements at the semantic level — if `color-primary` is used for text, it must have sufficient contrast against its background token.
|
|
58
|
+
|
|
59
|
+
### Step 3: Component Specification
|
|
60
|
+
|
|
61
|
+
For each component, document:
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
## [Component Name]
|
|
65
|
+
|
|
66
|
+
**Purpose:** [What this component is for]
|
|
67
|
+
|
|
68
|
+
**Variants:** [e.g., primary, secondary, ghost, destructive]
|
|
69
|
+
|
|
70
|
+
**States:** [default, hover, focus, active, disabled, error, loading]
|
|
71
|
+
|
|
72
|
+
**Accessibility:**
|
|
73
|
+
- Role: [ARIA role if not implicit]
|
|
74
|
+
- Label: [How it is labelled — visible text, aria-label, aria-labelledby]
|
|
75
|
+
- Keyboard: [How to interact via keyboard]
|
|
76
|
+
- Screen reader: [What is announced in each state]
|
|
77
|
+
- Focus: [Focus indicator style, focus order]
|
|
78
|
+
|
|
79
|
+
**Tokens used:** [Which design tokens this component references]
|
|
80
|
+
|
|
81
|
+
**Do:** [Correct usage examples]
|
|
82
|
+
**Do not:** [Incorrect usage examples]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Step 4: Naming Conventions
|
|
86
|
+
|
|
87
|
+
Consistent naming makes a system learnable:
|
|
88
|
+
|
|
89
|
+
- **Components:** PascalCase for components, kebab-case for tokens
|
|
90
|
+
- **Descriptive names:** `AlertDialog` not `Modal2` or `PopupThing`
|
|
91
|
+
- **State modifiers:** consistent pattern (e.g., `--disabled`, `--error`, `--active`)
|
|
92
|
+
- **Size modifiers:** use a scale (sm, md, lg) or semantic names (compact, comfortable, spacious)
|
|
93
|
+
|
|
94
|
+
### Step 5: Accessibility Audit
|
|
95
|
+
|
|
96
|
+
For every component in the system, verify:
|
|
97
|
+
|
|
98
|
+
| Check | Requirement |
|
|
99
|
+
|-------|------------|
|
|
100
|
+
| Colour contrast | All text/background pairings meet WCAG AA minimum |
|
|
101
|
+
| Keyboard access | Every interactive component is reachable and operable via keyboard |
|
|
102
|
+
| Screen reader | Every component announces its role, name, state, and value correctly |
|
|
103
|
+
| Focus indicator | Every focusable element has a visible focus ring |
|
|
104
|
+
| Touch targets | All interactive elements meet 44x44px minimum |
|
|
105
|
+
| Motion | All animations respect prefers-reduced-motion |
|
|
106
|
+
| Resize | Components function at 200% zoom |
|
|
107
|
+
|
|
108
|
+
### Step 6: Document and Communicate
|
|
109
|
+
|
|
110
|
+
A design system only works if people use it. Ensure:
|
|
111
|
+
- Every component has usage documentation with examples
|
|
112
|
+
- Accessibility requirements are documented per component, not in a separate "accessibility section"
|
|
113
|
+
- Migration guides exist for any changes to existing components
|
|
114
|
+
- The system is versioned so consumers know when changes occur
|
|
115
|
+
|
|
116
|
+
## Integration
|
|
117
|
+
|
|
118
|
+
- **Called by:** `ui-composition` (when components need to align with a system)
|
|
119
|
+
- **Pairs with:** `ui-composition` (visual decisions), `accessible-content` (content patterns within components)
|
|
120
|
+
- **Reviewed by:** `designpowers-critique`
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: designpowers-critique
|
|
3
|
+
description: "Use when reviewing design work against a plan, design principles, or quality standards — provides structured critique covering design intent, accessibility, consistency, and user impact. This is the Designpowers critique skill — use this instead of the Superpowers design-critique when working within a Designpowers workflow"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Critique
|
|
7
|
+
|
|
8
|
+
Critique is a structured evaluation of whether the design achieves what it set out to do, for the people it set out to serve — and whether it does so with the craft quality the project demands. This skill ensures review is rigorous, specific, and constructive. When a taste profile exists, critique includes aesthetic evaluation against that profile — not arbitrary personal preference, but the specific emotional target, craft standards, and quality bar the team agreed on.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- After completing a design task or set of tasks
|
|
13
|
+
- Before handoff to engineering
|
|
14
|
+
- When a design decision feels uncertain
|
|
15
|
+
- At scheduled review points in a design plan
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
### Step 1: Gather Review Inputs
|
|
20
|
+
|
|
21
|
+
Before critiquing, assemble:
|
|
22
|
+
- The design brief (from design-discovery)
|
|
23
|
+
- The design plan (from writing-design-plans)
|
|
24
|
+
- The design principles (from design-strategy)
|
|
25
|
+
- The personas (from inclusive-personas)
|
|
26
|
+
- The current design artefacts (mockups, code, prototypes)
|
|
27
|
+
|
|
28
|
+
### Step 2: Evaluate Against Intent
|
|
29
|
+
|
|
30
|
+
For each design decision, ask:
|
|
31
|
+
1. **Does it solve the stated problem?** Refer to the design brief
|
|
32
|
+
2. **Does it serve the identified personas?** All of them, not just the primary user
|
|
33
|
+
3. **Does it follow the design principles?** Specifically which principles it upholds or violates
|
|
34
|
+
4. **Does it align with the design system?** If applicable
|
|
35
|
+
|
|
36
|
+
### Step 3: Craft and Taste Evaluation
|
|
37
|
+
|
|
38
|
+
If a taste profile exists (from `design-taste`), evaluate the design against it:
|
|
39
|
+
|
|
40
|
+
**Emotional target:**
|
|
41
|
+
- [ ] Does the design evoke the intended feeling? (Reference the taste profile's emotional target)
|
|
42
|
+
- [ ] Would the user describe this experience with the words in the emotional target?
|
|
43
|
+
|
|
44
|
+
**Craft standards:**
|
|
45
|
+
- [ ] Spacing has intentional rhythm — not just "correct," but considered
|
|
46
|
+
- [ ] Colour usage follows the restraint/vibrancy rules in the taste profile
|
|
47
|
+
- [ ] Shadows, borders, and radii use a consistent vocabulary
|
|
48
|
+
- [ ] Typography choices serve both readability and personality
|
|
49
|
+
- [ ] The overall composition feels cohesive — like one designer, not a committee
|
|
50
|
+
|
|
51
|
+
**Reference benchmark:**
|
|
52
|
+
- [ ] This design would sit comfortably next to the taste references
|
|
53
|
+
- [ ] The quality level matches what was agreed (prototype/production/flagship)
|
|
54
|
+
|
|
55
|
+
**Craft findings format:**
|
|
56
|
+
| Element | Taste expectation | Current state | Gap |
|
|
57
|
+
|---------|------------------|---------------|-----|
|
|
58
|
+
| [Element] | [What the taste profile calls for] | [What exists] | [Specific difference] |
|
|
59
|
+
|
|
60
|
+
If no taste profile exists, note this as an observation: "No taste profile was created for this project. Craft evaluation is based on general quality standards only."
|
|
61
|
+
|
|
62
|
+
### Step 4: Accessibility Review
|
|
63
|
+
|
|
64
|
+
Every critique includes an accessibility evaluation:
|
|
65
|
+
|
|
66
|
+
**Perceivable:**
|
|
67
|
+
- [ ] All content is available to screen readers
|
|
68
|
+
- [ ] Colour is not the sole indicator of meaning
|
|
69
|
+
- [ ] Contrast ratios meet WCAG AA minimum
|
|
70
|
+
- [ ] Text is resizable to 200% without loss of function
|
|
71
|
+
- [ ] Alt text is present and appropriate
|
|
72
|
+
|
|
73
|
+
**Operable:**
|
|
74
|
+
- [ ] All interactions are keyboard accessible
|
|
75
|
+
- [ ] Focus order is logical
|
|
76
|
+
- [ ] Focus indicators are visible
|
|
77
|
+
- [ ] Touch targets meet 44x44px minimum
|
|
78
|
+
- [ ] Motion respects prefers-reduced-motion
|
|
79
|
+
- [ ] No keyboard traps
|
|
80
|
+
|
|
81
|
+
**Understandable:**
|
|
82
|
+
- [ ] Language is plain and clear
|
|
83
|
+
- [ ] Navigation is consistent
|
|
84
|
+
- [ ] Error messages explain the problem and the solution
|
|
85
|
+
- [ ] Form labels are visible and associated
|
|
86
|
+
- [ ] Behaviour is predictable
|
|
87
|
+
|
|
88
|
+
**Robust:**
|
|
89
|
+
- [ ] Semantic HTML is used correctly
|
|
90
|
+
- [ ] ARIA is used only when necessary and correctly
|
|
91
|
+
- [ ] The design works across supported browsers and assistive technology
|
|
92
|
+
|
|
93
|
+
### Step 5: Classify Issues
|
|
94
|
+
|
|
95
|
+
Rate each finding:
|
|
96
|
+
|
|
97
|
+
| Severity | Definition | Action |
|
|
98
|
+
|----------|-----------|--------|
|
|
99
|
+
| **Critical** | Blocks access for some users or violates the design intent | Must fix before proceeding |
|
|
100
|
+
| **Major** | Degrades experience significantly but does not block access | Should fix before handoff |
|
|
101
|
+
| **Minor** | Improvement opportunity, does not block or significantly degrade | Fix if time allows |
|
|
102
|
+
| **Note** | Observation or suggestion for future iteration | Document for next cycle |
|
|
103
|
+
|
|
104
|
+
### Step 6: Write the Critique
|
|
105
|
+
|
|
106
|
+
```markdown
|
|
107
|
+
# Design Critique: [Feature/Task Name]
|
|
108
|
+
|
|
109
|
+
**Reviewed against:** [Design brief, plan, principles — with references]
|
|
110
|
+
|
|
111
|
+
**Date:** [YYYY-MM-DD]
|
|
112
|
+
|
|
113
|
+
## Summary
|
|
114
|
+
[2-3 sentences: overall assessment]
|
|
115
|
+
|
|
116
|
+
## Craft Assessment
|
|
117
|
+
[Does the design meet the taste profile's quality bar? Emotional target alignment? Reference benchmark?]
|
|
118
|
+
|
|
119
|
+
## Findings
|
|
120
|
+
|
|
121
|
+
### Critical
|
|
122
|
+
- [Finding]: [Explanation] → [Recommended action]
|
|
123
|
+
|
|
124
|
+
### Major
|
|
125
|
+
- [Finding]: [Explanation] → [Recommended action]
|
|
126
|
+
|
|
127
|
+
### Minor
|
|
128
|
+
- [Finding]: [Explanation] → [Recommended action]
|
|
129
|
+
|
|
130
|
+
### Notes
|
|
131
|
+
- [Observation]
|
|
132
|
+
|
|
133
|
+
## Accessibility Status
|
|
134
|
+
[Pass/Fail against WCAG AA with specific gaps]
|
|
135
|
+
|
|
136
|
+
## Recommendation
|
|
137
|
+
[Proceed / Revise and re-review / Rethink approach]
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Step 7: Present and Discuss
|
|
141
|
+
|
|
142
|
+
Present findings to the user. For each critical or major issue, explain:
|
|
143
|
+
- What the issue is
|
|
144
|
+
- Who it affects (reference specific personas)
|
|
145
|
+
- What the recommended fix is
|
|
146
|
+
- Why it matters
|
|
147
|
+
|
|
148
|
+
Critical issues block progress. They must be resolved before moving to handoff.
|
|
149
|
+
|
|
150
|
+
### Step 8: Record Design Debt
|
|
151
|
+
|
|
152
|
+
After the critique is complete and the fix round is determined:
|
|
153
|
+
|
|
154
|
+
1. Identify all **Minor** and **Note** severity findings that will NOT be fixed in this round
|
|
155
|
+
2. Invoke `design-debt-tracker` to capture these as debt items in the Design Debt Register
|
|
156
|
+
3. Each deferred item must include: who is affected, suggested fix, and why it was deferred
|
|
157
|
+
|
|
158
|
+
Do not silently drop Minor findings. They either get fixed or they get tracked.
|
|
159
|
+
|
|
160
|
+
## Integration
|
|
161
|
+
|
|
162
|
+
- **Called by:** `writing-design-plans` (at review checkpoints)
|
|
163
|
+
- **Reviews output from:** `ui-composition`, `interaction-design`, `accessible-content`, `cognitive-accessibility`, `adaptive-interfaces`, `design-system-alignment`
|
|
164
|
+
- **Calls:** Relevant design skills for fixes, `design-debt-tracker` for deferred findings, then `design-handoff` when critique passes
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: heuristic-evaluation
|
|
3
|
+
description: "Use after a build to evaluate usability against Nielsen's 10 heuristics and run cognitive walkthroughs of every key task. Dispatches the heuristic-evaluator agent in parallel with design-critic and accessibility-reviewer, then feeds findings into the reconciliation protocol. This is the usability lens — \"will people actually be able to use this?\" — distinct from craft critique and accessibility audit"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Heuristic Evaluation
|
|
7
|
+
|
|
8
|
+
Heuristic evaluation is the usability lens on a build. Where `designpowers-critique` asks "does this match the plan?" and the accessibility review asks "can everyone access this?", heuristic evaluation asks "will people actually be able to use this without getting lost, confused, or stuck?" This skill dispatches the **heuristic-evaluator** agent and integrates its findings with the other reviewers.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- **After `design-builder` completes a build** — run alongside `designpowers-critique` and the accessibility review, not after them
|
|
13
|
+
- Before a fix round, so usability findings are reconciled with craft and accessibility findings together
|
|
14
|
+
- When a flow feels confusing but you can't articulate why — the heuristics name the problem
|
|
15
|
+
- When evaluating an existing design (see `using-designpowers` → Review Mode), not just freshly built work
|
|
16
|
+
|
|
17
|
+
This skill is **not optional after a build.** Skipping it is a Red Flag (see `using-designpowers`). Usability problems that craft critique and accessibility audits both miss are exactly what this catches.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### Step 1: Confirm Inputs Exist
|
|
22
|
+
|
|
23
|
+
Before dispatching, assemble:
|
|
24
|
+
- The **build** to evaluate (running app, prototype, or screenshots — test what was built, not the spec)
|
|
25
|
+
- The **design brief** (from `design-discovery`) — for the key tasks to walk through
|
|
26
|
+
- The **personas** (from `inclusive-personas`) — each persona's primary task gets a cognitive walkthrough
|
|
27
|
+
- `design-state.md` — the shared state the agent will read and update
|
|
28
|
+
|
|
29
|
+
If there is no brief or no list of key tasks, the cognitive walkthrough has nothing to walk through. Go back and capture the key tasks first.
|
|
30
|
+
|
|
31
|
+
### Step 2: Dispatch the heuristic-evaluator Agent
|
|
32
|
+
|
|
33
|
+
Dispatch the `heuristic-evaluator` agent (see `agents/heuristic-evaluator.md`). It will:
|
|
34
|
+
|
|
35
|
+
1. Evaluate the interface against **Nielsen's 10 heuristics**, citing specific violations with evidence (H1–H10)
|
|
36
|
+
2. Run a **cognitive walkthrough** of every key task — four questions per step
|
|
37
|
+
3. Analyse **error paths**, not just happy paths — recovery, undo, back navigation, dead ends
|
|
38
|
+
4. Assess **learnability** (first-time user) and **efficiency** (repeat user)
|
|
39
|
+
5. Acknowledge what works well, not only what fails
|
|
40
|
+
|
|
41
|
+
The agent narrates at three moments (arrival, working, departure) per the Agent Transparency protocol in `using-designpowers`.
|
|
42
|
+
|
|
43
|
+
### Step 3: Run in Parallel and Reconcile
|
|
44
|
+
|
|
45
|
+
Per the **Reconciliation Protocol** in `using-designpowers`, the heuristic-evaluator runs **simultaneously** with `design-critic` and the accessibility-reviewer:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
design-builder finishes
|
|
49
|
+
|
|
|
50
|
+
┌────┼────────┐
|
|
51
|
+
v v v
|
|
52
|
+
critic reviewer heuristic (run simultaneously)
|
|
53
|
+
| | |
|
|
54
|
+
└────┼────────┘
|
|
55
|
+
v
|
|
56
|
+
reconciliation
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
When findings overlap or conflict, classify them (Aligned / Complementary / Conflicting) and resolve using the protocol's priority rules. Remember: **usability wins over style** — a beautiful interface that confuses people has failed.
|
|
60
|
+
|
|
61
|
+
### Step 4: Honour the Auto-Mode Safeguard
|
|
62
|
+
|
|
63
|
+
Even in auto mode, the pipeline **must pause** if the heuristic-evaluator finds a critical **H3 violation** (no undo on a destructive action) or **H1 violation** (user is completely lost). These indicate structural problems, not polish issues, and the user should decide how to resolve them.
|
|
64
|
+
|
|
65
|
+
> ⚠️ **Auto paused:** heuristic-evaluator found a critical usability issue (H3 — no undo on delete) that needs your decision. [details]
|
|
66
|
+
|
|
67
|
+
### Step 5: Feed the Fix Round
|
|
68
|
+
|
|
69
|
+
After reconciliation:
|
|
70
|
+
1. The agent's findings join the single prioritised fix list (critical first)
|
|
71
|
+
2. Note which findings the heuristic-evaluator sourced and whether any were reconciled with other reviewers
|
|
72
|
+
3. **Record deferred Minor findings** in the Design Debt Register via `design-debt-tracker` — promises don't disappear because severity is low
|
|
73
|
+
4. Re-run the heuristic-evaluator only on critical fixes after the build round, not the full evaluation
|
|
74
|
+
|
|
75
|
+
## What You Get
|
|
76
|
+
|
|
77
|
+
A structured heuristic evaluation report (see the agent definition for the full format): a heuristic findings table (H1–H10 with verdicts), cognitive walkthrough results per task, findings grouped by severity, what works well, and a recommendation (Proceed / Revise / Rethink).
|
|
78
|
+
|
|
79
|
+
## Integration
|
|
80
|
+
|
|
81
|
+
- **Runs after:** `design-builder` (build complete) — or against an existing design in Review Mode
|
|
82
|
+
- **Runs alongside:** `designpowers-critique`, accessibility review (parallel, then reconciled)
|
|
83
|
+
- **Feeds:** the reconciliation protocol → `design-builder` fix round → `synthetic-user-testing`
|
|
84
|
+
- **Calls:** `design-debt-tracker` for deferred Minor findings
|
|
85
|
+
- **Records to:** `design-state.md` (Decisions Log, Handoff Chain, Open Questions)
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: inclusive-personas
|
|
3
|
+
description: "Use when defining who a design serves — creating personas, user stories, or scenarios — ensures the full ability spectrum and situational contexts are represented from the start, not retrofitted"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Inclusive Personas
|
|
7
|
+
|
|
8
|
+
Personas shape every design decision that follows. If your personas only represent able-bodied, neurotypical, tech-savvy adults with fast internet, your design will only work for those people. This skill ensures the full range of human experience is represented from the beginning.
|
|
9
|
+
|
|
10
|
+
## The Principle
|
|
11
|
+
|
|
12
|
+
"Nothing About Us Without Us." Design for the margins and the centre benefits. Design for the centre and the margins get excluded.
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
### Step 1: Map the Ability Spectrum
|
|
17
|
+
|
|
18
|
+
For the design context, identify the relevant spectrum across:
|
|
19
|
+
|
|
20
|
+
**Permanent conditions:**
|
|
21
|
+
- Vision: blind, low vision, colour blind
|
|
22
|
+
- Hearing: deaf, hard of hearing
|
|
23
|
+
- Motor: limited fine motor, limited reach, tremor, paralysis
|
|
24
|
+
- Cognitive: learning differences, memory challenges, attention differences
|
|
25
|
+
- Speech: non-verbal, speech differences
|
|
26
|
+
|
|
27
|
+
**Temporary conditions:**
|
|
28
|
+
- Broken arm, ear infection, concussion, medication effects, post-surgery
|
|
29
|
+
|
|
30
|
+
**Situational conditions:**
|
|
31
|
+
- Bright sunlight, noisy environment, one hand occupied, driving, multitasking, emotional distress, unfamiliar language, slow connection
|
|
32
|
+
|
|
33
|
+
### Step 2: Identify Relevant Personas
|
|
34
|
+
|
|
35
|
+
Not every project needs every persona. Select 4-6 personas that represent:
|
|
36
|
+
- **2-3 primary users** — the most common use cases
|
|
37
|
+
- **1-2 edge case users** — people at the margins whose needs reveal design weaknesses
|
|
38
|
+
- **1 stress case user** — someone using the design under difficult circumstances
|
|
39
|
+
|
|
40
|
+
### Step 3: Build Each Persona
|
|
41
|
+
|
|
42
|
+
For each persona, document:
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
## [Name]
|
|
46
|
+
|
|
47
|
+
**Context:** [Who they are, what they do, their relationship to this product]
|
|
48
|
+
|
|
49
|
+
**Abilities and conditions:** [Permanent, temporary, or situational factors that affect how they interact with interfaces]
|
|
50
|
+
|
|
51
|
+
**Technology:** [Devices, assistive technology, connection speed, technical confidence]
|
|
52
|
+
|
|
53
|
+
**Goals:** [What they need to accomplish]
|
|
54
|
+
|
|
55
|
+
**Frustrations:** [What typically goes wrong for them with similar products]
|
|
56
|
+
|
|
57
|
+
**Environment:** [Where and when they use this — lighting, noise, distractions, time pressure]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Step 4: Write Inclusive User Stories
|
|
61
|
+
|
|
62
|
+
For each persona, write stories that capture:
|
|
63
|
+
- The standard path: "As [persona], I want to [goal] so that [outcome]"
|
|
64
|
+
- The assisted path: "As [persona] using [assistive technology], I want to [goal] so that [outcome]"
|
|
65
|
+
- The stress path: "As [persona] under [stressful condition], I need to [goal] without [negative outcome]"
|
|
66
|
+
|
|
67
|
+
### Step 5: Identify Scenario Intersections
|
|
68
|
+
|
|
69
|
+
Map where personas overlap in unexpected ways:
|
|
70
|
+
- A sighted user in bright sunlight has similar needs to a low-vision user
|
|
71
|
+
- A stressed parent holding a baby has similar motor constraints to someone with limited hand mobility
|
|
72
|
+
- A non-native speaker has similar needs to someone with a cognitive processing difference
|
|
73
|
+
|
|
74
|
+
These intersections reveal universal design opportunities.
|
|
75
|
+
|
|
76
|
+
### Step 6: Present and Validate
|
|
77
|
+
|
|
78
|
+
Present personas to the user. Ask:
|
|
79
|
+
- Who is missing from this set?
|
|
80
|
+
- Do these feel like real people or cardboard cutouts?
|
|
81
|
+
- Which persona makes you most uncomfortable? (That one probably needs the most attention)
|
|
82
|
+
|
|
83
|
+
Save to: `docs/designpowers/personas/YYYY-MM-DD-<project>-personas.md`
|
|
84
|
+
|
|
85
|
+
## Integration
|
|
86
|
+
|
|
87
|
+
- **Called by:** `research-planning`, `design-discovery`
|
|
88
|
+
- **Informs:** Every subsequent design skill — personas should be referenced when making any design decision
|
|
89
|
+
- **Pairs with:** `cognitive-accessibility`, `adaptive-interfaces`
|
|
90
|
+
|
|
91
|
+
## Anti-Patterns
|
|
92
|
+
|
|
93
|
+
| Pattern | Problem |
|
|
94
|
+
|---------|---------|
|
|
95
|
+
| "Our users are everyone" | If everyone is your user, nobody is. Define specific people |
|
|
96
|
+
| Personas without disabilities | You have excluded a quarter of the population |
|
|
97
|
+
| Edge cases treated as afterthoughts | Edge cases reveal the quality of your design. They come first, not last |
|
|
98
|
+
| Personas based on demographics alone | Age and job title do not determine how someone uses an interface. Focus on behaviour, ability, and context |
|
|
@@ -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 |
|