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,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 |
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-debt-tracker
|
|
3
|
+
description: "Use when critique or review produces deferred findings, when checking accumulated design compromises, or when deciding what to address in the next iteration. Maintains a living register of design debt — the minor issues, future-iteration notes, and conscious compromises that accumulate across a project"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Debt Tracker
|
|
7
|
+
|
|
8
|
+
Design debt is every conscious compromise the team makes and every minor issue deferred to "next time." Like technical debt, it compounds. Unlike technical debt, most teams don't track it — so it disappears into the gap between what was shipped and what was intended.
|
|
9
|
+
|
|
10
|
+
This skill maintains a living register that captures debt as it's created, tracks it across iterations, and surfaces it when decisions are being made.
|
|
11
|
+
|
|
12
|
+
## Why This Exists
|
|
13
|
+
|
|
14
|
+
The design-critic classifies findings as Critical, Major, Minor, and Note. Critical and Major get fixed. Minor and Note get a shrug and "fix if time allows." They rarely get fixed because no one remembers them.
|
|
15
|
+
|
|
16
|
+
The accessibility-reviewer does the same — Minor issues with specific fixes that never happen because they're buried in a report that no one reopens.
|
|
17
|
+
|
|
18
|
+
Every "fix if time allows" is a promise to a persona. This skill makes those promises visible.
|
|
19
|
+
|
|
20
|
+
## When to Use
|
|
21
|
+
|
|
22
|
+
- **After critique** — when the design-critic produces Minor or Note findings that won't be fixed this round
|
|
23
|
+
- **After accessibility review** — when the accessibility-reviewer flags Minor issues that are deferred
|
|
24
|
+
- **After a fix round** — when not all issues were addressed and some were consciously deferred
|
|
25
|
+
- **At project start** — to review accumulated debt from previous iterations
|
|
26
|
+
- **Before planning** — to decide which debt items to address in the next cycle
|
|
27
|
+
- **On user request** — "show me the design debt" or "what did we defer?"
|
|
28
|
+
|
|
29
|
+
## The Register
|
|
30
|
+
|
|
31
|
+
Design debt lives in a `## Design Debt Register` section in `design-state.md`. One register per project. It persists across iterations.
|
|
32
|
+
|
|
33
|
+
### Register Format
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
## Design Debt Register
|
|
37
|
+
|
|
38
|
+
_Items: [count] | Critical: [count] | Oldest: [date]_
|
|
39
|
+
|
|
40
|
+
| ID | Date | Source | Severity | What | Who is affected | Suggested fix | Status | Notes |
|
|
41
|
+
|----|------|--------|----------|------|----------------|---------------|--------|-------|
|
|
42
|
+
| DD-001 | 2025-01-15 | design-critic | Minor | Settings form shows all fields at once — cognitive load | Persona: Jamie (cognitive disability) | Progressive disclosure with sections | Open | Deferred from v1 — setup is one-time flow |
|
|
43
|
+
| DD-002 | 2025-01-15 | accessibility-reviewer | Minor | Category colour strips lack icon backup | Users with colour vision deficiency | Add icon per category alongside colour | Open | |
|
|
44
|
+
| DD-003 | 2025-01-16 | design-critic | Note | Empty state illustration is placeholder | All users | Commission illustration that matches brand | Open | Low priority — functional without it |
|
|
45
|
+
| DD-004 | 2025-01-15 | accessibility-reviewer | Minor | Toast notifications auto-dismiss before screen reader finishes | Screen reader users | Extend timeout to 8s or add persistent log | Resolved | Fixed in v1.1 |
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Field Definitions
|
|
49
|
+
|
|
50
|
+
| Field | What goes here |
|
|
51
|
+
|-------|---------------|
|
|
52
|
+
| **ID** | Sequential identifier (DD-001, DD-002, ...). Never reuse IDs |
|
|
53
|
+
| **Date** | When the debt was recorded |
|
|
54
|
+
| **Source** | Which agent or review identified it (design-critic, accessibility-reviewer, design-lead, user, etc.) |
|
|
55
|
+
| **Severity** | The original severity classification: Minor or Note (Critical and Major should be fixed, not deferred) |
|
|
56
|
+
| **What** | Specific description of the issue — not "needs improvement" but "form shows 12 fields at once" |
|
|
57
|
+
| **Who is affected** | Which personas or user groups bear the cost of this debt. Be specific |
|
|
58
|
+
| **Suggested fix** | Actionable recommendation from the original review |
|
|
59
|
+
| **Status** | Open, Resolved, Accepted, or Escalated |
|
|
60
|
+
| **Notes** | Why it was deferred, context, related items |
|
|
61
|
+
|
|
62
|
+
### Status Definitions
|
|
63
|
+
|
|
64
|
+
| Status | Meaning |
|
|
65
|
+
|--------|---------|
|
|
66
|
+
| **Open** | Identified, not yet addressed. This is a promise to come back |
|
|
67
|
+
| **Resolved** | Fixed in a subsequent iteration. Record which iteration |
|
|
68
|
+
| **Accepted** | Consciously decided this is not worth fixing. Requires user approval and a rationale |
|
|
69
|
+
| **Escalated** | Was Minor, but accumulated evidence or changing context makes it Major. Needs attention |
|
|
70
|
+
|
|
71
|
+
## Process
|
|
72
|
+
|
|
73
|
+
### Step 1: Capture Debt (After Review)
|
|
74
|
+
|
|
75
|
+
When the design-critic or accessibility-reviewer completes a review:
|
|
76
|
+
|
|
77
|
+
1. Read their findings
|
|
78
|
+
2. Identify all Minor and Note severity items that will NOT be fixed in this round
|
|
79
|
+
3. For each deferred item, create a register entry with all fields populated
|
|
80
|
+
4. Append to the Design Debt Register in `design-state.md`
|
|
81
|
+
5. Update the summary line (item count, critical count, oldest date)
|
|
82
|
+
|
|
83
|
+
**Do not capture items that are being fixed.** The register tracks debt, not the fix list. If it's getting fixed now, it doesn't belong here.
|
|
84
|
+
|
|
85
|
+
### Step 2: Review Debt (At Project Start or Before Planning)
|
|
86
|
+
|
|
87
|
+
When starting a new iteration or planning cycle:
|
|
88
|
+
|
|
89
|
+
1. Read the current Design Debt Register
|
|
90
|
+
2. Check for escalation triggers (see below)
|
|
91
|
+
3. Present a debt summary to the user:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
95
|
+
DESIGN DEBT SUMMARY
|
|
96
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
97
|
+
|
|
98
|
+
Open items: [count]
|
|
99
|
+
By severity: [X] Minor, [Y] Note
|
|
100
|
+
Oldest unresolved: [date] ([age])
|
|
101
|
+
|
|
102
|
+
ACCESSIBILITY DEBT:
|
|
103
|
+
• [count] items affecting users with disabilities
|
|
104
|
+
• Most affected: [persona or user group]
|
|
105
|
+
|
|
106
|
+
TOP CANDIDATES FOR THIS CYCLE:
|
|
107
|
+
1. [DD-XXX] [description] — [why now]
|
|
108
|
+
2. [DD-XXX] [description] — [why now]
|
|
109
|
+
3. [DD-XXX] [description] — [why now]
|
|
110
|
+
|
|
111
|
+
ESCALATED (was Minor, now needs attention):
|
|
112
|
+
• [DD-XXX] [description] — [escalation reason]
|
|
113
|
+
|
|
114
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
4. Ask the user which items to include in the current cycle's plan
|
|
118
|
+
5. Items the user selects get added to the design plan as tasks
|
|
119
|
+
|
|
120
|
+
### Step 3: Escalation Check
|
|
121
|
+
|
|
122
|
+
Debt items should be escalated from Minor to Major when:
|
|
123
|
+
|
|
124
|
+
| Trigger | Example |
|
|
125
|
+
|---------|---------|
|
|
126
|
+
| **Age** | Item has been Open for 3+ iterations without resolution |
|
|
127
|
+
| **Accumulation** | Multiple debt items affect the same persona or the same screen |
|
|
128
|
+
| **Context change** | A new persona or use case makes the issue more impactful |
|
|
129
|
+
| **User complaint** | The user or stakeholder mentions the issue independently |
|
|
130
|
+
| **Compound effect** | Two Minor items together create a Major experience gap |
|
|
131
|
+
|
|
132
|
+
When escalating:
|
|
133
|
+
1. Change Status to "Escalated"
|
|
134
|
+
2. Add a note explaining why
|
|
135
|
+
3. Flag it in the debt summary
|
|
136
|
+
4. Present it to the user as needing attention
|
|
137
|
+
|
|
138
|
+
### Step 4: Resolve Debt
|
|
139
|
+
|
|
140
|
+
When a debt item is fixed:
|
|
141
|
+
|
|
142
|
+
1. Update Status to "Resolved"
|
|
143
|
+
2. Add a note: "Fixed in [iteration/date] by [agent]"
|
|
144
|
+
3. Add the resolution to the Decisions Log in `design-state.md`
|
|
145
|
+
4. Do NOT delete the row — resolved items are history
|
|
146
|
+
|
|
147
|
+
### Step 5: Accept Debt
|
|
148
|
+
|
|
149
|
+
When the user consciously decides an item is not worth fixing:
|
|
150
|
+
|
|
151
|
+
1. Confirm with the user: "This affects [personas]. Are you sure you want to accept this?"
|
|
152
|
+
2. Update Status to "Accepted"
|
|
153
|
+
3. Add the user's rationale in Notes
|
|
154
|
+
4. Add the acceptance to the Decisions Log
|
|
155
|
+
|
|
156
|
+
**Accessibility debt requires explicit acknowledgement.** If a debt item affects users with disabilities, the user must explicitly accept the trade-off. Do not silently accept accessibility debt.
|
|
157
|
+
|
|
158
|
+
## Integration
|
|
159
|
+
|
|
160
|
+
- **Receives from:** `designpowers-critique` (Minor/Note findings), `accessibility-reviewer` (Minor findings), `verification-before-shipping` (deferred items)
|
|
161
|
+
- **Feeds into:** `writing-design-plans` (debt items become plan tasks), `design-retrospective` (debt trends are retrospective data)
|
|
162
|
+
- **Updates:** `design-state.md` (Design Debt Register section)
|
|
163
|
+
- **Called by:** `using-designpowers` (after reviews, at project start, on user request)
|
|
164
|
+
|
|
165
|
+
## Anti-Patterns
|
|
166
|
+
|
|
167
|
+
| Pattern | Why It Fails |
|
|
168
|
+
|---------|-------------|
|
|
169
|
+
| Capturing Critical issues as debt | Critical issues block access. They get fixed now, not tracked for later |
|
|
170
|
+
| Deferring the same item 3+ times | That's not debt management, that's avoidance. Escalate it |
|
|
171
|
+
| Accepting accessibility debt without user acknowledgement | Accessibility compromises affect real people. The user decides, not the system |
|
|
172
|
+
| Deleting resolved items | Resolved items are history. They show the team addresses its promises |
|
|
173
|
+
| Not reviewing debt at project start | Starting a new iteration without checking old promises means those promises are broken |
|
|
174
|
+
| Tracking everything | Not every observation needs tracking. Notes that are genuinely informational ("consider X someday") can stay in the critique report. Debt is for specific, actionable items that affect specific people |
|