oh-my-opencode 4.13.0 → 4.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/codex-qa/SKILL.md +15 -0
- 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 +2 -2
- 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/index.js +24651 -16452
- package/dist/cli-node/index.js +24651 -16452
- 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 +33232 -19559
- package/dist/mcp/context7.d.ts +9 -8
- package/dist/oh-my-opencode.schema.json +4 -0
- 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/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/dist/skills/{ultraresearch → ulw-research}/ATTRIBUTION.md +1 -1
- package/dist/skills/ulw-research/SKILL.md +260 -0
- package/dist/skills/visual-qa/SKILL.md +105 -14
- package/dist/skills/visual-qa/scripts/skill-prompt-contract.test.ts +120 -1
- package/dist/testing/create-plugin-module.d.ts +2 -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 +20 -14
- 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 +5 -1
- package/packages/lsp-daemon/dist/index.js +5 -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 +323 -62
- 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 +2 -18
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +575 -334
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +204 -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 +114 -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 +146 -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 +4 -1
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/dist/cli.js +2 -2
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/src/sparkshell-awareness.ts +2 -2
- package/packages/omo-codex/plugin/components/rules/test/sparkshell-awareness.test.ts +11 -2
- 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 +40 -2
- 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.mjs +7 -3
- 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 +23 -7
- 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 +6 -1
- 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 +381 -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 +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +19 -11
- 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/package-smoke.test.ts +36 -0
- 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 +13 -13
- 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/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 +40 -2
- package/packages/omo-codex/plugin/skills/teammode/scripts/team-guide.mjs +32 -5
- package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +7 -3
- package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +4 -250
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +19 -11
- 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/packages/{shared-skills/skills/ultraresearch → 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 +109 -14
- 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 +23 -5
- 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/migrate-codex-config.test.mjs +206 -6
- 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-communication.test.mjs +20 -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 +6 -1
- package/packages/omo-codex/scripts/install-cache-copy.test.mjs +51 -0
- package/packages/omo-codex/scripts/install-config.test.mjs +198 -17
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +701 -282
- package/packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs +24 -15
- package/packages/omo-codex/scripts/install-local.test.mjs +5 -1
- 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/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 +105 -14
- package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +120 -1
- 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/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,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: accessible-content
|
|
3
|
+
description: "Use when writing or structuring any user-facing content — interface copy, labels, error messages, help text, headings, alt text, link text, or form instructions — ensures content is readable, navigable, and meaningful for everyone"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Accessible Content
|
|
7
|
+
|
|
8
|
+
Words are interface. Every label, every heading, every error message is a design decision. This skill ensures content works for screen readers, for people reading in a second language, for people under stress, and for people who just need things to be clear.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Writing interface labels, button text, or form instructions
|
|
13
|
+
- Structuring headings and page hierarchy
|
|
14
|
+
- Writing error messages or help text
|
|
15
|
+
- Creating alt text for images
|
|
16
|
+
- Writing link text
|
|
17
|
+
- Structuring data tables
|
|
18
|
+
- Any time words appear on screen
|
|
19
|
+
|
|
20
|
+
## Process
|
|
21
|
+
|
|
22
|
+
### Step 1: Plain Language First
|
|
23
|
+
|
|
24
|
+
Every piece of content should meet these criteria:
|
|
25
|
+
- **Reading level:** aim for a reading age of 12-14 (roughly 6th-8th grade). Use short sentences and common words
|
|
26
|
+
- **One idea per sentence.** If a sentence has "and" in the middle, consider splitting it
|
|
27
|
+
- **Active voice.** "We sent your confirmation" not "Your confirmation has been sent"
|
|
28
|
+
- **Specific over vague.** "Save your changes" not "Submit" or "OK"
|
|
29
|
+
- **No jargon** unless the audience demonstrably uses it. When jargon is necessary, provide a plain explanation
|
|
30
|
+
|
|
31
|
+
### Step 2: Heading Structure
|
|
32
|
+
|
|
33
|
+
Headings are navigation for screen readers. Get the structure right:
|
|
34
|
+
|
|
35
|
+
- **One H1 per page** — describes the page purpose
|
|
36
|
+
- **Headings follow a logical hierarchy** — H1 → H2 → H3, never skip levels
|
|
37
|
+
- **Headings are descriptive** — a screen reader user scanning headings alone should understand the page structure
|
|
38
|
+
- **Do not use headings for visual styling** — if you need big bold text that is not a heading, use CSS
|
|
39
|
+
|
|
40
|
+
### Step 3: Form Labels and Instructions
|
|
41
|
+
|
|
42
|
+
Every form input must have:
|
|
43
|
+
- **A visible label** — placeholders are not labels (they disappear on focus)
|
|
44
|
+
- **Programmatic association** — `<label for="id">` or `aria-labelledby`
|
|
45
|
+
- **Required field indication** — visible and announced, not just an asterisk
|
|
46
|
+
- **Format hints** — "DD/MM/YYYY" before the input, not after
|
|
47
|
+
- **Error association** — `aria-describedby` linking the input to its error message
|
|
48
|
+
|
|
49
|
+
### Step 4: Alt Text
|
|
50
|
+
|
|
51
|
+
Alt text is content, not metadata:
|
|
52
|
+
|
|
53
|
+
| Image Type | Alt Text Approach |
|
|
54
|
+
|-----------|------------------|
|
|
55
|
+
| Informative image | Describe the information the image conveys, not the image itself |
|
|
56
|
+
| Decorative image | Empty alt (`alt=""`) — do not describe decorative images |
|
|
57
|
+
| Functional image (button/link) | Describe the action, not the image ("Search", not "magnifying glass") |
|
|
58
|
+
| Complex image (chart/graph) | Brief alt + detailed description in surrounding text or `<details>` |
|
|
59
|
+
| Image of text | Reproduce the full text content |
|
|
60
|
+
|
|
61
|
+
### Step 5: Link Text
|
|
62
|
+
|
|
63
|
+
Links must make sense out of context (screen reader users often navigate by links alone):
|
|
64
|
+
|
|
65
|
+
- Yes: "Read the accessibility guidelines"
|
|
66
|
+
- No: "Click here" or "Read more" or "Learn more"
|
|
67
|
+
- If multiple "Read more" links exist on a page, each must be distinguishable (via `aria-label` or visible text)
|
|
68
|
+
|
|
69
|
+
### Step 6: Error Messages
|
|
70
|
+
|
|
71
|
+
Follow the pattern: **[What happened] + [What to do]**
|
|
72
|
+
|
|
73
|
+
- Keep the language neutral — never blame the user
|
|
74
|
+
- Be specific about what needs to change
|
|
75
|
+
- Place the error message adjacent to the relevant field
|
|
76
|
+
- Announce errors to screen readers via `aria-live="assertive"` or by moving focus
|
|
77
|
+
|
|
78
|
+
### Step 7: Tables
|
|
79
|
+
|
|
80
|
+
Data tables need:
|
|
81
|
+
- `<caption>` describing the table's purpose
|
|
82
|
+
- `<th>` elements with `scope="col"` or `scope="row"`
|
|
83
|
+
- No layout tables — use CSS Grid or Flexbox for layout
|
|
84
|
+
- If a table is complex, provide a text summary
|
|
85
|
+
|
|
86
|
+
### Step 8: Content Review
|
|
87
|
+
|
|
88
|
+
Before finalising any content, verify:
|
|
89
|
+
- [ ] Every interactive element has a visible, descriptive label
|
|
90
|
+
- [ ] Heading hierarchy is logical and complete
|
|
91
|
+
- [ ] Link text makes sense out of context
|
|
92
|
+
- [ ] Error messages explain both the problem and the solution
|
|
93
|
+
- [ ] Alt text is present and appropriate for every image
|
|
94
|
+
- [ ] Reading level is appropriate for the audience
|
|
95
|
+
- [ ] Content works when translated (avoid idioms, cultural references that do not travel)
|
|
96
|
+
|
|
97
|
+
## Integration
|
|
98
|
+
|
|
99
|
+
- **Called by:** `writing-design-plans`, `ui-composition`, `interaction-design`
|
|
100
|
+
- **Pairs with:** `cognitive-accessibility` (reading load), `inclusive-personas` (audience awareness)
|
|
101
|
+
- **Reviewed by:** `designpowers-critique`
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: adaptive-interfaces
|
|
3
|
+
description: "Use when designing for user preferences — motion sensitivity, contrast needs, colour schemes, text sizing, information density, or any interface behaviour that should adapt to individual needs"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Adaptive Interfaces
|
|
7
|
+
|
|
8
|
+
Good design does not force everyone through the same experience. It adapts. This skill ensures interfaces respect user preferences, system settings, and individual needs — not as optional extras, but as fundamental design requirements.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Designing themes (dark mode, high contrast, custom colour schemes)
|
|
13
|
+
- Implementing motion or animation
|
|
14
|
+
- Building flexible typography or layout systems
|
|
15
|
+
- Designing for varying information density needs
|
|
16
|
+
- Any time the interface could benefit from adapting to the user
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### Step 1: Identify Adaptable Properties
|
|
21
|
+
|
|
22
|
+
Review the design and map what should adapt:
|
|
23
|
+
|
|
24
|
+
| Property | User Preference | CSS/System Signal |
|
|
25
|
+
|----------|----------------|------------------|
|
|
26
|
+
| Colour scheme | Light/dark/custom | `prefers-color-scheme` |
|
|
27
|
+
| Contrast | Standard/high | `prefers-contrast` |
|
|
28
|
+
| Motion | Full/reduced/none | `prefers-reduced-motion` |
|
|
29
|
+
| Text size | System font size settings | `rem`/`em` units, viewport scaling |
|
|
30
|
+
| Information density | Compact/comfortable/spacious | User setting or breakpoint |
|
|
31
|
+
| Transparency | Standard/reduced | `prefers-reduced-transparency` |
|
|
32
|
+
|
|
33
|
+
### Step 2: Motion Sensitivity
|
|
34
|
+
|
|
35
|
+
Motion is the most commonly harmful interface property. Handle it rigorously:
|
|
36
|
+
|
|
37
|
+
**Default behaviour:**
|
|
38
|
+
- All animations and transitions are wrapped in a motion preference check
|
|
39
|
+
- `prefers-reduced-motion: reduce` disables non-essential animation
|
|
40
|
+
- Essential motion (e.g., a progress bar filling) uses reduced, simpler alternatives
|
|
41
|
+
|
|
42
|
+
**Implementation pattern:**
|
|
43
|
+
```css
|
|
44
|
+
/* Full motion (default) */
|
|
45
|
+
.element { transition: transform 300ms ease-out; }
|
|
46
|
+
|
|
47
|
+
/* Reduced motion */
|
|
48
|
+
@media (prefers-reduced-motion: reduce) {
|
|
49
|
+
.element { transition: none; }
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Never autoplay:**
|
|
54
|
+
- Video, carousel, or animated content must not play automatically
|
|
55
|
+
- If autoplay is a business requirement, provide immediate pause/stop controls AND respect prefers-reduced-motion
|
|
56
|
+
|
|
57
|
+
### Step 3: Colour Scheme Adaptation
|
|
58
|
+
|
|
59
|
+
Dark mode is not "invert the colours." It is a separate design exercise:
|
|
60
|
+
|
|
61
|
+
- **Backgrounds:** dark grey (not pure black) reduces eye strain
|
|
62
|
+
- **Text:** off-white (not pure white) on dark backgrounds
|
|
63
|
+
- **Elevation:** lighter shades indicate higher elevation in dark mode (opposite of light mode shadows)
|
|
64
|
+
- **Semantic colours:** error red, success green — these may need different shades in dark mode to maintain contrast
|
|
65
|
+
- **Images and illustrations:** may need dark-mode variants or reduced brightness
|
|
66
|
+
|
|
67
|
+
### Step 4: Typography Flexibility
|
|
68
|
+
|
|
69
|
+
Text must be resizable without breaking the layout:
|
|
70
|
+
|
|
71
|
+
- Use `rem` or `em` units, never fixed `px` for font sizes
|
|
72
|
+
- Test at 200% browser zoom — content must remain usable
|
|
73
|
+
- Support system-level large text settings
|
|
74
|
+
- Line spacing, letter spacing, and word spacing should be adjustable (WCAG 1.4.12)
|
|
75
|
+
- Do not clip or overflow text when sizes change
|
|
76
|
+
|
|
77
|
+
### Step 5: Information Density
|
|
78
|
+
|
|
79
|
+
Different users need different densities:
|
|
80
|
+
|
|
81
|
+
- **Spacious:** more whitespace, larger touch targets, fewer items visible — beneficial for motor impairments, cognitive load, mobile use
|
|
82
|
+
- **Comfortable:** balanced — the default for most users
|
|
83
|
+
- **Compact:** denser information, smaller elements — beneficial for power users, large dataset work
|
|
84
|
+
|
|
85
|
+
If offering density controls:
|
|
86
|
+
- Persist the user's choice across sessions
|
|
87
|
+
- Ensure all density levels maintain accessibility requirements (touch targets, contrast, readability)
|
|
88
|
+
|
|
89
|
+
### Step 6: Respect and Persist Preferences
|
|
90
|
+
|
|
91
|
+
- **System-level preferences** (via media queries) should be respected automatically with no opt-in required
|
|
92
|
+
- **Application-level preferences** (density, layout) should be easy to find, easy to change, and persisted
|
|
93
|
+
- **Never override system preferences** without explicit user action
|
|
94
|
+
- **Never require users to justify** their preferences (no "Are you sure you want dark mode?")
|
|
95
|
+
|
|
96
|
+
### Step 7: Document Adaptive Behaviour
|
|
97
|
+
|
|
98
|
+
For each adaptive property, document:
|
|
99
|
+
- What adapts and why
|
|
100
|
+
- The default behaviour
|
|
101
|
+
- The adapted behaviour for each preference
|
|
102
|
+
- How the preference is detected and respected
|
|
103
|
+
- Fallback behaviour when preference detection is unavailable
|
|
104
|
+
|
|
105
|
+
## Integration
|
|
106
|
+
|
|
107
|
+
- **Called by:** `ui-composition`, `interaction-design`
|
|
108
|
+
- **Pairs with:** `cognitive-accessibility` (density and simplification), `inclusive-personas` (preference awareness)
|
|
109
|
+
- **Reviewed by:** `designpowers-critique`
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cognitive-accessibility
|
|
3
|
+
description: "Use when evaluating mental load, wayfinding, focus management, memory demands, or decision complexity in any interface — ensures designs work for people with cognitive differences, under stress, or managing divided attention"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Cognitive Accessibility
|
|
7
|
+
|
|
8
|
+
The hardest accessibility barriers to see are cognitive ones. A screen reader user encounters a missing label and knows immediately. A person with a processing difference encounters an interface that demands too much of their working memory and just... leaves. This skill makes cognitive demands visible and manageable.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Designing multi-step processes or forms
|
|
13
|
+
- Creating navigation structures or information architecture
|
|
14
|
+
- Evaluating whether an interface asks too much of the user
|
|
15
|
+
- Designing for contexts of stress, distraction, or time pressure
|
|
16
|
+
- Reviewing any interface for cognitive load
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### Step 1: Assess Cognitive Load
|
|
21
|
+
|
|
22
|
+
For each screen or flow, evaluate three types of load:
|
|
23
|
+
|
|
24
|
+
**Intrinsic load** — complexity inherent to the task
|
|
25
|
+
- How many concepts must the user understand simultaneously?
|
|
26
|
+
- How many decisions must they make per screen?
|
|
27
|
+
- Can the task be simplified without losing essential function?
|
|
28
|
+
|
|
29
|
+
**Extraneous load** — complexity added by poor design
|
|
30
|
+
- Is information organised logically or scattered?
|
|
31
|
+
- Are instructions clear and visible, or must the user remember them?
|
|
32
|
+
- Is the interface consistent, or do similar things work differently in different places?
|
|
33
|
+
|
|
34
|
+
**Germane load** — effort spent learning the system
|
|
35
|
+
- Can the user build a mental model from the interface structure?
|
|
36
|
+
- Are patterns consistent so that learning one part teaches the next?
|
|
37
|
+
- Does the interface reward exploration or punish mistakes?
|
|
38
|
+
|
|
39
|
+
### Step 2: Reduce Extraneous Load
|
|
40
|
+
|
|
41
|
+
Extraneous load is design debt. Reduce it:
|
|
42
|
+
|
|
43
|
+
- **Show, do not ask people to remember.** If a user needs information from Step 2 in Step 5, display it — do not expect them to recall it
|
|
44
|
+
- **Progressive disclosure.** Show only what is needed now. Reveal complexity as it becomes relevant
|
|
45
|
+
- **Consistent patterns.** Same action, same appearance, same location, every time
|
|
46
|
+
- **Clear defaults.** Sensible pre-selections reduce decisions. Make the safe choice the easy choice
|
|
47
|
+
- **Chunking.** Break long forms into sections of 3-5 related fields. Break long content into scannable sections
|
|
48
|
+
|
|
49
|
+
### Step 3: Wayfinding
|
|
50
|
+
|
|
51
|
+
People need to know three things at all times:
|
|
52
|
+
1. **Where am I?** (clear page titles, breadcrumbs, highlighted navigation)
|
|
53
|
+
2. **Where can I go?** (visible navigation, clear calls to action)
|
|
54
|
+
3. **Where have I been?** (visited link styles, progress indicators, history)
|
|
55
|
+
|
|
56
|
+
For multi-step processes:
|
|
57
|
+
- Show progress (step 3 of 5)
|
|
58
|
+
- Allow backward navigation without data loss
|
|
59
|
+
- Show a summary of previous steps' inputs
|
|
60
|
+
- Allow saving progress and returning later
|
|
61
|
+
|
|
62
|
+
### Step 4: Focus Management
|
|
63
|
+
|
|
64
|
+
Attention is a limited resource. Protect it:
|
|
65
|
+
|
|
66
|
+
- **One primary action per screen.** If everything is important, nothing is
|
|
67
|
+
- **Visual hierarchy guides attention.** The most important element should be the most visually prominent
|
|
68
|
+
- **Minimise interruptions.** Notifications, pop-ups, and auto-updates break concentration
|
|
69
|
+
- **Support return from interruption.** If the user is interrupted, the interface should help them resume where they left off
|
|
70
|
+
- **Timed actions are hostile.** If a timeout is necessary, warn before it expires and allow extension
|
|
71
|
+
|
|
72
|
+
### Step 5: Error Recovery
|
|
73
|
+
|
|
74
|
+
Cognitive accessibility means mistakes are cheap:
|
|
75
|
+
|
|
76
|
+
- **Undo everything.** Every action should be reversible
|
|
77
|
+
- **Confirm destructive actions.** "Delete all items?" with a clear way to cancel
|
|
78
|
+
- **Preserve input.** If a form submission fails, do not clear the fields
|
|
79
|
+
- **Forgive formatting.** Accept phone numbers with or without dashes, dates in multiple formats
|
|
80
|
+
- **Provide clear recovery paths.** After an error, the next step should be obvious
|
|
81
|
+
|
|
82
|
+
### Step 6: Document Cognitive Considerations
|
|
83
|
+
|
|
84
|
+
For each screen or flow, note:
|
|
85
|
+
- **Decisions required:** how many, how complex
|
|
86
|
+
- **Memory demands:** what the user must remember vs. what is displayed
|
|
87
|
+
- **Wayfinding cues:** how the user knows where they are
|
|
88
|
+
- **Recovery paths:** how the user corrects mistakes
|
|
89
|
+
- **Simplification opportunities:** what could be removed or deferred
|
|
90
|
+
|
|
91
|
+
## Integration
|
|
92
|
+
|
|
93
|
+
- **Called by:** Any design skill, especially `ui-composition` and `interaction-design`
|
|
94
|
+
- **Pairs with:** `accessible-content` (language complexity), `adaptive-interfaces` (personalisation), `inclusive-personas` (cognitive diversity)
|
|
95
|
+
- **Reviewed by:** `designpowers-critique`
|
|
96
|
+
|
|
97
|
+
## Quick Reference: COGA Guidelines
|
|
98
|
+
|
|
99
|
+
| Guideline | Implementation |
|
|
100
|
+
|-----------|---------------|
|
|
101
|
+
| Provide help and support | Contextual help adjacent to complex interactions |
|
|
102
|
+
| Use clear language | Plain language, no jargon, short sentences |
|
|
103
|
+
| Make it easy to find things | Consistent navigation, clear labels, search |
|
|
104
|
+
| Make tasks easy to complete | Fewer steps, clear progress, forgiving input |
|
|
105
|
+
| Avoid reliance on memory | Display information rather than requiring recall |
|
|
106
|
+
| Provide feedback | Clear confirmation of actions and state changes |
|
|
107
|
+
| Prevent and support error correction | Validation, undo, confirmation for destructive actions |
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-debate
|
|
3
|
+
description: "Use when a design direction is uncertain, when the team could go multiple ways, or when the user wants to see competing approaches argued before committing — orchestrates structured debate between agents who advocate for different directions"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Debate
|
|
7
|
+
|
|
8
|
+
Good design decisions come from tension, not consensus. When agents converge too quickly, they optimise for agreement instead of the best answer. This skill creates productive conflict — agents argue for competing directions with real trade-offs, and the user decides.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- When the design-strategist identifies multiple viable directions
|
|
13
|
+
- When the design-lead proposes a visual direction and alternatives exist
|
|
14
|
+
- When the user says "I'm not sure which way to go" or "what are my options?"
|
|
15
|
+
- When the design-critic recommends "rethink" — a debate can surface the better path
|
|
16
|
+
- When a decision has significant downstream consequences (navigation pattern, layout model, interaction paradigm)
|
|
17
|
+
- When the user explicitly asks for a debate: "debate this", "argue both sides", "what are the trade-offs?"
|
|
18
|
+
|
|
19
|
+
## Do Not Use When
|
|
20
|
+
|
|
21
|
+
- The decision is trivial (icon choice, exact padding value)
|
|
22
|
+
- Accessibility requirements dictate the answer — there is nothing to debate
|
|
23
|
+
- The user has already made up their mind — respect their direction
|
|
24
|
+
- The brief clearly specifies the approach — follow it
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
### Step 1: Frame the Question
|
|
29
|
+
|
|
30
|
+
Define the design question precisely. A debate without a clear question produces noise.
|
|
31
|
+
|
|
32
|
+
Format:
|
|
33
|
+
```
|
|
34
|
+
DESIGN QUESTION: [Specific, answerable question]
|
|
35
|
+
CONTEXT: [Brief context from design-state.md]
|
|
36
|
+
CONSTRAINTS: [Non-negotiable requirements from brief, accessibility, taste profile]
|
|
37
|
+
STAKES: [Why this decision matters — what it affects downstream]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Example:**
|
|
41
|
+
```
|
|
42
|
+
DESIGN QUESTION: Should the onboarding flow use a multi-step wizard or a single scrollable page?
|
|
43
|
+
CONTEXT: App for first-time pet owners, ages 25-45. Primary persona has mild anxiety about "doing it right."
|
|
44
|
+
CONSTRAINTS: Must be completable in under 3 minutes. Must work on mobile. Must not require account creation upfront.
|
|
45
|
+
STAKES: Sets the interaction pattern for all future multi-step flows in the app.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Step 2: Assign Advocates
|
|
49
|
+
|
|
50
|
+
Select 2-3 agents to argue for different directions. Each agent argues FOR their assigned position — they are advocates, not neutral analysts.
|
|
51
|
+
|
|
52
|
+
| Role | What They Argue |
|
|
53
|
+
|------|----------------|
|
|
54
|
+
| **Advocate A** | The case for Direction A — strengths, evidence, personas it serves best |
|
|
55
|
+
| **Advocate B** | The case for Direction B — strengths, evidence, personas it serves best |
|
|
56
|
+
| **Advocate C** (optional) | A third direction, a hybrid, or a "neither — here's why" position |
|
|
57
|
+
|
|
58
|
+
Assign agents based on their expertise:
|
|
59
|
+
|
|
60
|
+
| Agent | Best suited to advocate for |
|
|
61
|
+
|-------|---------------------------|
|
|
62
|
+
| **design-strategist** | UX patterns, information architecture, user flow approaches |
|
|
63
|
+
| **design-lead** | Visual directions, layout models, component architecture |
|
|
64
|
+
| **content-writer** | Content strategy approaches, tone directions, naming conventions |
|
|
65
|
+
| **motion-designer** | Interaction paradigms, feedback models, transition approaches |
|
|
66
|
+
| **accessibility-reviewer** | The most inclusive option, cognitive load implications |
|
|
67
|
+
| **design-scout** | Evidence-backed positions from competitive research |
|
|
68
|
+
|
|
69
|
+
### Step 3: Run the Debate
|
|
70
|
+
|
|
71
|
+
Each advocate delivers their argument in this format:
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## [Agent Name] argues for: [Direction]
|
|
75
|
+
|
|
76
|
+
### The Case
|
|
77
|
+
[2-3 paragraphs making the strongest possible argument for this direction.
|
|
78
|
+
Be specific — reference the brief, personas, principles, and evidence.]
|
|
79
|
+
|
|
80
|
+
### Who This Serves Best
|
|
81
|
+
[Which personas benefit most and why]
|
|
82
|
+
|
|
83
|
+
### Who This Serves Least
|
|
84
|
+
[Which personas might struggle and why — be honest]
|
|
85
|
+
|
|
86
|
+
### Trade-Offs
|
|
87
|
+
[What you give up by choosing this direction]
|
|
88
|
+
|
|
89
|
+
### Evidence
|
|
90
|
+
[Research, patterns, competitive examples, or design principles that support this]
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Rules for advocates:
|
|
94
|
+
1. **Argue to win** — make the strongest case you can. Do not hedge
|
|
95
|
+
2. **Be honest about weaknesses** — a strong argument acknowledges its trade-offs
|
|
96
|
+
3. **Reference the brief** — ground arguments in the project's actual goals
|
|
97
|
+
4. **Reference personas** — every argument must address who it helps and who it doesn't
|
|
98
|
+
5. **No straw men** — do not weaken the opposing position to make yours look better
|
|
99
|
+
|
|
100
|
+
### Step 4: Cross-Examination
|
|
101
|
+
|
|
102
|
+
After all advocates present, each gets one round of rebuttal:
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
### [Agent Name] responds to [Other Agent]:
|
|
106
|
+
[1-2 paragraphs directly addressing the strongest point of the opposing argument.
|
|
107
|
+
Concede what is true. Challenge what is weak.]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
This prevents echo-chamber advocacy — each agent must engage with the other side's best arguments.
|
|
111
|
+
|
|
112
|
+
### Step 5: Accessibility Check
|
|
113
|
+
|
|
114
|
+
Before presenting to the user, the **accessibility-reviewer** evaluates all proposed directions:
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## Accessibility Assessment
|
|
118
|
+
|
|
119
|
+
| Direction | Accessibility Impact | Concern Level |
|
|
120
|
+
|-----------|---------------------|---------------|
|
|
121
|
+
| Direction A | [Assessment] | Low / Medium / High |
|
|
122
|
+
| Direction B | [Assessment] | Low / Medium / High |
|
|
123
|
+
|
|
124
|
+
[If any direction creates accessibility barriers, flag it clearly.
|
|
125
|
+
This is not an argument for a direction — it is a constraint check.]
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
If a direction has High accessibility concern, it should be flagged prominently in the presentation to the user. The user can still choose it, but they should know the cost.
|
|
129
|
+
|
|
130
|
+
### Step 6: Present to User
|
|
131
|
+
|
|
132
|
+
Show the debate to the user in a structured format:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
136
|
+
DESIGN DEBATE
|
|
137
|
+
Question: [The design question]
|
|
138
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
139
|
+
|
|
140
|
+
DIRECTION A: [Name]
|
|
141
|
+
Argued by: [agent]
|
|
142
|
+
[2-3 sentence summary of the case]
|
|
143
|
+
Best for: [personas]
|
|
144
|
+
Trade-off: [key trade-off]
|
|
145
|
+
|
|
146
|
+
DIRECTION B: [Name]
|
|
147
|
+
Argued by: [agent]
|
|
148
|
+
[2-3 sentence summary of the case]
|
|
149
|
+
Best for: [personas]
|
|
150
|
+
Trade-off: [key trade-off]
|
|
151
|
+
|
|
152
|
+
[DIRECTION C if applicable]
|
|
153
|
+
|
|
154
|
+
ACCESSIBILITY: [One-line summary of any concerns]
|
|
155
|
+
|
|
156
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
157
|
+
YOUR CALL: Which direction do you want to take?
|
|
158
|
+
(You can also ask for more detail on any direction,
|
|
159
|
+
or propose a hybrid.)
|
|
160
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Step 7: Record the Decision
|
|
164
|
+
|
|
165
|
+
After the user decides:
|
|
166
|
+
|
|
167
|
+
1. Record the chosen direction in `design-state.md` Decisions Log with rationale
|
|
168
|
+
2. Record the rejected directions and why — this is valuable context for future debates
|
|
169
|
+
3. If the decision reveals a taste preference, update `design-memory`
|
|
170
|
+
4. Dispatch the appropriate agent to execute the chosen direction
|
|
171
|
+
|
|
172
|
+
## Debate Depth
|
|
173
|
+
|
|
174
|
+
Not every debate needs the full process. Scale the depth to the stakes:
|
|
175
|
+
|
|
176
|
+
| Stakes | Debate Format |
|
|
177
|
+
|--------|--------------|
|
|
178
|
+
| **High** (sets architectural pattern) | Full debate: 2-3 advocates, cross-examination, accessibility review |
|
|
179
|
+
| **Medium** (affects multiple screens) | Quick debate: 2 advocates, no cross-examination, accessibility flag |
|
|
180
|
+
| **Low** (affects one component) | Micro debate: 2 options presented as a simple comparison table, user picks |
|
|
181
|
+
|
|
182
|
+
## Integration
|
|
183
|
+
|
|
184
|
+
- **Called by:** `design-strategy`, `using-designpowers` (when user requests debate), `designpowers-critique` (when "rethink" is recommended)
|
|
185
|
+
- **Calls:** Any agent as advocate, `accessibility-reviewer` for constraint check
|
|
186
|
+
- **Updates:** `design-state` with decision and rejected alternatives
|
|
187
|
+
- **Informs:** `design-memory` with taste signals from the user's choice
|
|
188
|
+
- **Pairs with:** `design-strategy`, `design-memory`, `taste-feedback`
|
|
189
|
+
|
|
190
|
+
## Anti-Patterns
|
|
191
|
+
|
|
192
|
+
| Pattern | Why It Fails |
|
|
193
|
+
|---------|-------------|
|
|
194
|
+
| Debating after the user has decided | Wastes time. If the user has a direction, execute it |
|
|
195
|
+
| Debating trivial decisions | 8px vs 12px padding is not a debate — it's a design system decision |
|
|
196
|
+
| Agents being polite instead of advocating | "Both options are great!" is not a debate. Agents must argue to win |
|
|
197
|
+
| Presenting a debate without accessibility review | Every direction must be evaluated for inclusion before the user chooses |
|
|
198
|
+
| Running a debate in auto mode without pausing | Debates ALWAYS pause for user decision — they are inherently direct-mode moments |
|
|
199
|
+
| More than 3 directions | Too many options cause decision paralysis. If there are more than 3, narrow down first |
|