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,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: usability-testing
|
|
3
|
+
description: "Use when planning or conducting usability tests — writing test scripts, defining tasks, selecting participants, analysing findings, and turning observations into design actions"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Usability Testing
|
|
7
|
+
|
|
8
|
+
Testing with real people is how you find out if the design works — not by looking at it, but by watching someone use it.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- After design-builder produces a working prototype
|
|
13
|
+
- Before declaring a design complete
|
|
14
|
+
- When the design-critic flags persona coverage gaps
|
|
15
|
+
- When assumptions about user behaviour need evidence
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
### Step 1: Define What You're Testing
|
|
20
|
+
|
|
21
|
+
Write 3-5 task scenarios that map to the core jobs in the brief. Each task:
|
|
22
|
+
- **Starts with a realistic trigger** — "You just bought a new plant and want to add it to the app"
|
|
23
|
+
- **Has a clear success condition** — "The plant appears in your list with a watering schedule"
|
|
24
|
+
- **Does not tell the user how** — never say "tap the + button"
|
|
25
|
+
|
|
26
|
+
### Step 2: Select Participants
|
|
27
|
+
|
|
28
|
+
Recruit 5-8 participants. At minimum include:
|
|
29
|
+
- 1 person who uses a screen reader
|
|
30
|
+
- 1 person over 60
|
|
31
|
+
- 1 person who is not a native speaker of the interface language
|
|
32
|
+
- 1 person with low tech confidence
|
|
33
|
+
|
|
34
|
+
Reference `inclusive-personas` for the ability spectrum.
|
|
35
|
+
|
|
36
|
+
### Step 3: Choose Method
|
|
37
|
+
|
|
38
|
+
| Method | When to use | Minimum participants |
|
|
39
|
+
|--------|-----------|---------------------|
|
|
40
|
+
| Moderated think-aloud | New flows, complex interactions | 5 |
|
|
41
|
+
| Unmoderated remote | Simple tasks, large sample | 8-12 |
|
|
42
|
+
| Guerrilla (hallway) | POC validation, time-constrained | 3-5 |
|
|
43
|
+
| Accessibility audit with AT users | After build, before ship | 2-3 |
|
|
44
|
+
|
|
45
|
+
### Step 4: Write the Test Script
|
|
46
|
+
|
|
47
|
+
1. **Welcome** — explain what you're testing (the design, not them)
|
|
48
|
+
2. **Background** — 2-3 questions about their relationship to the problem
|
|
49
|
+
3. **Tasks** — present each scenario one at a time, observe silently
|
|
50
|
+
4. **Debrief** — "What was hardest?" "What would you change?"
|
|
51
|
+
|
|
52
|
+
Never help during a task. Silence is data.
|
|
53
|
+
|
|
54
|
+
### Step 5: Analyse Findings
|
|
55
|
+
|
|
56
|
+
Classify outcomes per task:
|
|
57
|
+
- **Completed easily** — no hesitation, no errors
|
|
58
|
+
- **Completed with difficulty** — hesitation or errors but recovered
|
|
59
|
+
- **Failed** — could not complete
|
|
60
|
+
- **Completed wrong** — thought they succeeded but didn't
|
|
61
|
+
|
|
62
|
+
Severity: Critical (blocks 2+ participants), Major (significant difficulty), Minor (noticed but not impeding).
|
|
63
|
+
|
|
64
|
+
### Step 6: Turn Findings Into Actions
|
|
65
|
+
|
|
66
|
+
Every finding becomes a design action: "[Severity] [What happened] → [Design action] → [Which agent handles it]"
|
|
67
|
+
|
|
68
|
+
## What You Deliver
|
|
69
|
+
|
|
70
|
+
- Task success rates table
|
|
71
|
+
- Ranked findings by severity
|
|
72
|
+
- Design actions with agent assignments
|
|
73
|
+
- Recommendation: iterate / ship / rethink
|
|
74
|
+
|
|
75
|
+
## Integration
|
|
76
|
+
|
|
77
|
+
- **Informed by:** `inclusive-personas`, `design-discovery`
|
|
78
|
+
- **Feeds into:** `design-lead`, `design-builder`, `design-strategist`
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-before-shipping
|
|
3
|
+
description: "Use before declaring any design work complete, fixed, or ready — requires running verification and confirming output before making any success claims. Evidence before assertions, always"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Verification Before Shipping
|
|
7
|
+
|
|
8
|
+
Do not say it is done until you have proof. This skill prevents the most common failure mode in design work — declaring completion based on intent rather than evidence.
|
|
9
|
+
|
|
10
|
+
## The Rule
|
|
11
|
+
|
|
12
|
+
NEVER claim work is complete, fixed, passing, or ready without running verification and confirming the output. "I believe this works" is not verification. "I ran these checks and here are the results" is.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- Before declaring a design task complete
|
|
17
|
+
- Before moving from one phase to the next
|
|
18
|
+
- Before handoff to engineering
|
|
19
|
+
- Before creating a PR or committing design artefacts
|
|
20
|
+
- Any time you are about to say "done"
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
### Step 1: Check Against the Plan
|
|
25
|
+
|
|
26
|
+
If a design plan exists:
|
|
27
|
+
- [ ] Every task in the plan is marked complete
|
|
28
|
+
- [ ] Every verification criterion in the plan has been met
|
|
29
|
+
- [ ] No tasks were skipped or deferred without explicit user approval
|
|
30
|
+
|
|
31
|
+
### Step 2: Check Against the Brief
|
|
32
|
+
|
|
33
|
+
Reference the design brief:
|
|
34
|
+
- [ ] The stated problem is addressed
|
|
35
|
+
- [ ] All identified personas are served
|
|
36
|
+
- [ ] Success criteria are met or measurable
|
|
37
|
+
- [ ] Nothing in "out of scope" crept into scope (and vice versa)
|
|
38
|
+
|
|
39
|
+
### Step 3: Accessibility Verification
|
|
40
|
+
|
|
41
|
+
Run — do not guess:
|
|
42
|
+
|
|
43
|
+
**If code exists:**
|
|
44
|
+
- [ ] Automated accessibility scan (axe-core, Lighthouse, or equivalent) — report results
|
|
45
|
+
- [ ] Keyboard navigation test — report results
|
|
46
|
+
- [ ] Screen reader test (at minimum, check heading structure and form labels)
|
|
47
|
+
- [ ] Zoom to 200% — report results
|
|
48
|
+
- [ ] Check prefers-reduced-motion behaviour — report results
|
|
49
|
+
|
|
50
|
+
**If design artefacts only:**
|
|
51
|
+
- [ ] Contrast ratios verified with a tool (not by eye)
|
|
52
|
+
- [ ] Touch targets measured (not estimated)
|
|
53
|
+
- [ ] Heading hierarchy documented
|
|
54
|
+
- [ ] All states designed (not just the happy path)
|
|
55
|
+
|
|
56
|
+
### Step 4: Content Verification
|
|
57
|
+
|
|
58
|
+
- [ ] All placeholder text has been replaced with real content
|
|
59
|
+
- [ ] Error messages are written (not "TODO")
|
|
60
|
+
- [ ] Alt text is present for all images
|
|
61
|
+
- [ ] Labels are specific and descriptive
|
|
62
|
+
|
|
63
|
+
### Step 5: Cross-Reference Personas
|
|
64
|
+
|
|
65
|
+
For each persona from the inclusive-personas phase:
|
|
66
|
+
- [ ] Could [Persona 1] complete the primary task? How?
|
|
67
|
+
- [ ] Could [Persona 2] complete the primary task? How?
|
|
68
|
+
- [ ] Could [Edge Case Persona] complete the primary task? What barriers remain?
|
|
69
|
+
|
|
70
|
+
### Step 6: Check Design Debt
|
|
71
|
+
|
|
72
|
+
Before declaring the project shippable, review the Design Debt Register in `design-state.md`:
|
|
73
|
+
|
|
74
|
+
- [ ] All Critical and Major items are Resolved (not just Open or Escalated)
|
|
75
|
+
- [ ] Any Escalated items have been addressed or consciously Accepted by the user
|
|
76
|
+
- [ ] Open Minor items have been reviewed — the user knows what debt ships with this release
|
|
77
|
+
- [ ] Accessibility debt items have explicit user acknowledgement if Accepted
|
|
78
|
+
|
|
79
|
+
### Step 7: Report
|
|
80
|
+
|
|
81
|
+
Present verification results to the user:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## Verification Report: [Feature/Task]
|
|
85
|
+
|
|
86
|
+
**Date:** [YYYY-MM-DD]
|
|
87
|
+
|
|
88
|
+
### Plan Completion
|
|
89
|
+
[All tasks complete / X tasks remaining]
|
|
90
|
+
|
|
91
|
+
### Brief Alignment
|
|
92
|
+
[Aligned / Gaps identified]
|
|
93
|
+
|
|
94
|
+
### Accessibility Results
|
|
95
|
+
- Automated scan: [Pass/Fail — specific issues]
|
|
96
|
+
- Keyboard: [Pass/Fail — specific issues]
|
|
97
|
+
- Screen reader: [Pass/Fail — specific issues]
|
|
98
|
+
- Zoom: [Pass/Fail — specific issues]
|
|
99
|
+
- Motion: [Pass/Fail — specific issues]
|
|
100
|
+
|
|
101
|
+
### Content Status
|
|
102
|
+
[Complete / Gaps identified]
|
|
103
|
+
|
|
104
|
+
### Persona Walkthrough
|
|
105
|
+
[Summary of persona-by-persona evaluation]
|
|
106
|
+
|
|
107
|
+
### Design Debt Status
|
|
108
|
+
- Open items shipping with this release: [count]
|
|
109
|
+
- Escalated items: [count] — [resolved/accepted]
|
|
110
|
+
- Accessibility debt accepted: [count] — [summary]
|
|
111
|
+
- Oldest unresolved: [DD-XXX] from [date]
|
|
112
|
+
|
|
113
|
+
### Verdict
|
|
114
|
+
[Ready to ship / Issues to resolve first]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Integration
|
|
118
|
+
|
|
119
|
+
- **Called by:** Before any completion claim
|
|
120
|
+
- **Follows:** `designpowers-critique`, `design-handoff`
|
|
121
|
+
- **Blocks:** Completion claims, PR creation, merge decisions
|
|
122
|
+
|
|
123
|
+
## The Iron Law
|
|
124
|
+
|
|
125
|
+
If you cannot produce evidence that the design works for the identified personas — including those at the margins of the ability spectrum — it is not done. Go back and verify.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: voice-and-tone
|
|
3
|
+
description: "Use when establishing or applying brand voice — defining voice attributes, tone adaptation across contexts, vocabulary lists, writing examples, and ensuring consistent personality across the interface"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Voice and Tone
|
|
7
|
+
|
|
8
|
+
Voice is who you are. Tone is how you say it right now. Voice stays constant. Tone adapts to context. This skill defines both so every word sounds like the same person wrote it.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- At the start of a project, during or after `design-strategy`
|
|
13
|
+
- When the content-writer agent needs voice guardrails
|
|
14
|
+
- When interface copy sounds inconsistent across screens
|
|
15
|
+
|
|
16
|
+
## Step 1: Define Voice Attributes
|
|
17
|
+
|
|
18
|
+
Choose 3-5. For each, define "this, not that":
|
|
19
|
+
|
|
20
|
+
| Attribute | This | Not that |
|
|
21
|
+
|-----------|------|----------|
|
|
22
|
+
| Warm | Friendly, approachable | Sycophantic, emoji-heavy |
|
|
23
|
+
| Knowledgeable | Confident, precise | Academic, condescending |
|
|
24
|
+
| Direct | Clear, action-oriented | Blunt, cold, robotic |
|
|
25
|
+
| Encouraging | Celebrates effort | Patronising, fake-cheerful |
|
|
26
|
+
|
|
27
|
+
The "not that" column prevents drift.
|
|
28
|
+
|
|
29
|
+
## Step 2: Define Tone by Context
|
|
30
|
+
|
|
31
|
+
| Context | Feel | Example |
|
|
32
|
+
|---------|------|---------|
|
|
33
|
+
| Success | Celebration, warmth | "Your monstera is happy. Next water Thursday." |
|
|
34
|
+
| Error | Calm, helpful, no blame | "We couldn't save that. Check your connection and try again." |
|
|
35
|
+
| Onboarding | Welcoming, confidence-building | "Let's get to know your plants. About 30 seconds." |
|
|
36
|
+
| Empty state | Inviting, action-oriented | "Your windowsill is empty. Add your first plant." |
|
|
37
|
+
| Loading | Reassuring, brief | "Checking your plants..." |
|
|
38
|
+
| Destructive | Clear, calm, reversible | "Remove this plant? You can undo this." |
|
|
39
|
+
|
|
40
|
+
## Step 3: Build the Vocabulary
|
|
41
|
+
|
|
42
|
+
| Always use | Never use |
|
|
43
|
+
|-----------|----------|
|
|
44
|
+
| water | irrigate |
|
|
45
|
+
| happy | optimal |
|
|
46
|
+
| check it out | investigate |
|
|
47
|
+
| you | the user |
|
|
48
|
+
|
|
49
|
+
The content-writer agent uses this as a constraint.
|
|
50
|
+
|
|
51
|
+
## Step 4: Set Reading Level
|
|
52
|
+
|
|
53
|
+
| Audience | Target |
|
|
54
|
+
|----------|--------|
|
|
55
|
+
| General consumer | Grade 6-8 |
|
|
56
|
+
| Professional tool | Grade 8-10 |
|
|
57
|
+
| Technical docs | Grade 10-12 |
|
|
58
|
+
|
|
59
|
+
## Voice Audit Checklist
|
|
60
|
+
|
|
61
|
+
- [ ] Every screen sounds like the same person wrote it
|
|
62
|
+
- [ ] Voice attributes are present in the copy
|
|
63
|
+
- [ ] Tone matches the context
|
|
64
|
+
- [ ] Vocabulary list words used consistently
|
|
65
|
+
- [ ] Reading level at or below target
|
|
66
|
+
- [ ] Copy works read aloud by a screen reader
|
|
67
|
+
|
|
68
|
+
## What You Deliver
|
|
69
|
+
|
|
70
|
+
- Voice attributes table (3-5, with "this not that")
|
|
71
|
+
- Tone guide by context with examples
|
|
72
|
+
- Vocabulary list
|
|
73
|
+
- Reading level target
|
|
74
|
+
- 3-5 before/after examples
|
|
75
|
+
|
|
76
|
+
## Integration
|
|
77
|
+
|
|
78
|
+
- **Informed by:** `design-strategy`, `design-discovery`
|
|
79
|
+
- **Feeds into:** `content-writer` agent, `accessible-content`, `design-critic`
|
package/dist/skills/frontend/references/designpowers/vendor/skills/writing-design-plans/SKILL.md
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-design-plans
|
|
3
|
+
description: "Use when you have a design brief or strategy and need to break implementation into reviewable chunks — creates step-by-step plans with verification criteria for each task"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Design Plans
|
|
7
|
+
|
|
8
|
+
A design plan breaks an approved design direction into discrete, reviewable tasks. Each task is small enough to evaluate clearly and specific enough that the result is predictable.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- After design-discovery and/or design-strategy have produced an approved direction
|
|
13
|
+
- Before any implementation work begins
|
|
14
|
+
- When a design task is too large to complete and review in one step
|
|
15
|
+
|
|
16
|
+
## Process
|
|
17
|
+
|
|
18
|
+
### Step 1: Review Inputs
|
|
19
|
+
|
|
20
|
+
Gather:
|
|
21
|
+
- Design brief (from design-discovery)
|
|
22
|
+
- Strategy document (from design-strategy, if applicable)
|
|
23
|
+
- Personas (from inclusive-personas)
|
|
24
|
+
- Existing design system inventory
|
|
25
|
+
|
|
26
|
+
### Step 2: Identify Design Tasks
|
|
27
|
+
|
|
28
|
+
Break the work into categories:
|
|
29
|
+
|
|
30
|
+
1. **Structure tasks** — information architecture, page hierarchy, navigation
|
|
31
|
+
2. **Component tasks** — individual UI components that need designing
|
|
32
|
+
3. **Layout tasks** — how components compose into screens
|
|
33
|
+
4. **Interaction tasks** — states, transitions, feedback patterns
|
|
34
|
+
5. **Content tasks** — copy, labels, error messages, help text
|
|
35
|
+
6. **Accessibility tasks** — specific inclusive design requirements per component
|
|
36
|
+
|
|
37
|
+
### Step 3: Order the Work
|
|
38
|
+
|
|
39
|
+
Design work has natural dependencies:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Structure → Layout → Components → Interactions → Content → Review
|
|
43
|
+
↑ accessibility woven through each step, not a final phase ↑
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Order tasks so that:
|
|
47
|
+
- Foundation work (structure, layout) comes before detail work (interactions, content)
|
|
48
|
+
- Each task can be reviewed independently
|
|
49
|
+
- Accessibility is addressed within each task, not deferred
|
|
50
|
+
|
|
51
|
+
### Step 4: Write the Plan
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
# Design Plan: [Feature/Project Name]
|
|
55
|
+
|
|
56
|
+
> **For agentic workers:** REQUIRED: Use designpowers:designpowers-critique to review completed work against this plan.
|
|
57
|
+
|
|
58
|
+
**Goal:** [One sentence — what this plan delivers]
|
|
59
|
+
|
|
60
|
+
**Design Direction:** [Reference to the design brief or strategy]
|
|
61
|
+
|
|
62
|
+
**Personas:** [Reference to personas this plan serves]
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Task 1: [Task Name]
|
|
67
|
+
|
|
68
|
+
**Files:** [Which files will be created or modified]
|
|
69
|
+
|
|
70
|
+
- [ ] Step 1: [Specific action]
|
|
71
|
+
- [ ] Step 2: [Specific action]
|
|
72
|
+
- [ ] Step 3: [Specific action]
|
|
73
|
+
|
|
74
|
+
**Accessibility check:** [What inclusive design criteria this task must meet]
|
|
75
|
+
|
|
76
|
+
**Verification:** [How to confirm this task is complete and correct]
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Task 2: [Task Name]
|
|
81
|
+
...
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Step 5: Task Sizing
|
|
85
|
+
|
|
86
|
+
Each task should be:
|
|
87
|
+
- **2-5 minutes of focused work** — small enough to hold in your head
|
|
88
|
+
- **Independently reviewable** — someone can evaluate it without seeing everything else
|
|
89
|
+
- **Specifically described** — exact files, exact components, exact acceptance criteria
|
|
90
|
+
- **Accessibility-inclusive** — each task addresses its own inclusive design requirements
|
|
91
|
+
|
|
92
|
+
If a task takes longer than 5 minutes, break it down further.
|
|
93
|
+
|
|
94
|
+
### Step 6: Save and Review
|
|
95
|
+
|
|
96
|
+
Save to: `docs/designpowers/plans/YYYY-MM-DD-<feature>-plan.md`
|
|
97
|
+
|
|
98
|
+
Present the plan to the user. Walk through:
|
|
99
|
+
- Does the task order make sense?
|
|
100
|
+
- Are any tasks missing?
|
|
101
|
+
- Are the accessibility checks appropriate for each task?
|
|
102
|
+
- Is the scope right, or should anything be deferred?
|
|
103
|
+
|
|
104
|
+
User must approve the plan before execution begins.
|
|
105
|
+
|
|
106
|
+
## Integration
|
|
107
|
+
|
|
108
|
+
- **Called by:** `design-discovery`, `design-strategy`
|
|
109
|
+
- **Calls:** Implementation begins via the relevant design skills (`ui-composition`, `interaction-design`, etc.)
|
|
110
|
+
- **Pairs with:** `designpowers-critique` (reviews work against the plan)
|
|
111
|
+
|
|
112
|
+
## Anti-Patterns
|
|
113
|
+
|
|
114
|
+
| Pattern | Problem |
|
|
115
|
+
|---------|---------|
|
|
116
|
+
| Tasks without accessibility checks | Every task affects the user experience. Every task has accessibility implications |
|
|
117
|
+
| Tasks that say "make it look good" | Vague tasks produce vague results. Be specific about what "good" means |
|
|
118
|
+
| Accessibility as the final task | By then it is too late. Accessibility is in every task |
|
|
119
|
+
| Plan without persona references | If you do not know who you are designing for, you cannot verify the design works |
|
|
File without changes
|
|
@@ -36,6 +36,10 @@ git merge-base HEAD origin/master
|
|
|
36
36
|
|
|
37
37
|
Missing upstream or missing `main`/`master` is normal. Fall back to the best available branch or report the missing fact. Never treat a failed lookup as proof.
|
|
38
38
|
|
|
39
|
+
## PR Body Evidence Attachments
|
|
40
|
+
|
|
41
|
+
When a PR body needs screenshots or terminal PNGs, use the repo reference at `docs/reference/github-attachment-upload.md`. The allowed hosting path is GitHub user attachments from the authenticated web attachment flow; never commit temporary images, never use GitHub Releases for PR evidence, and never use external image hosts. Do not log browser cookies, CSRF tokens, S3 form fields, or upload headers.
|
|
42
|
+
|
|
39
43
|
## Commit Mode
|
|
40
44
|
|
|
41
45
|
Commit only the user's requested changes. Preserve unrelated dirty work.
|
|
@@ -82,7 +82,7 @@ Before launching agents, collect these inputs. Extract from conversation history
|
|
|
82
82
|
</required_inputs>
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
Review PRs and branches from a dedicated review worktree only: create or attach one with `git worktree add <path> <branch>` before collecting changed files, diff, file contents, or running checks. The main worktree is read-only context; never checkout, test, or edit the review branch there.
|
|
86
86
|
|
|
87
87
|
**Auto-collection sequence:**
|
|
88
88
|
|
|
@@ -200,7 +200,7 @@ The QA agent follows a structured process: brainstorm scenarios exhaustively fir
|
|
|
200
200
|
task(
|
|
201
201
|
category="unspecified-high",
|
|
202
202
|
run_in_background=true,
|
|
203
|
-
load_skills=["playwright", "dev-browser"],
|
|
203
|
+
load_skills=["browser:control-in-app-browser", "playwright", "dev-browser"],
|
|
204
204
|
description="QA by actually running and using the application",
|
|
205
205
|
prompt="""
|
|
206
206
|
<review_type>QA - HANDS-ON APP EXECUTION</review_type>
|
|
@@ -268,7 +268,7 @@ Work through the task list in priority order (P0 first). For each test:
|
|
|
268
268
|
6. Mark the task complete
|
|
269
269
|
|
|
270
270
|
**Execution guidance by app type:**
|
|
271
|
-
- **Web app**:
|
|
271
|
+
- **Web app**: In Codex, use `browser:control-in-app-browser` first for browser work that does not need an authenticated user session. Fall back to playwright/dev-browser when the Browser plugin is unavailable, lacks the needed action, or the test specifically needs a persistent/authenticated browser profile. Navigate, click, fill forms, and verify visual output through the chosen browser surface.
|
|
272
272
|
- **CLI tool**: Run commands with various arguments, pipe inputs, check exit codes and output.
|
|
273
273
|
- **Library/SDK**: Write and execute a test script that imports and exercises the public API.
|
|
274
274
|
- **Backend API**: Use curl/httpie to hit endpoints with various payloads, verify response codes and bodies.
|
|
@@ -37,7 +37,7 @@ $start-work [plan-name] [--worktree <absolute-path>]
|
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
- `plan-name` (optional): a full or partial file stem under `.omo/plans/`.
|
|
40
|
-
- `--worktree` (
|
|
40
|
+
- `--worktree` (required for PR/branch work; otherwise optional): the task-owned git worktree path.
|
|
41
41
|
|
|
42
42
|
## Phase 1: Select the plan
|
|
43
43
|
|
|
@@ -80,7 +80,7 @@ Write `.omo/boulder.json` before implementation starts. Prefix session ids with
|
|
|
80
80
|
}
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
For PR/branch work, `--worktree` is mandatory before implementation starts. Verify the path with `git worktree list --porcelain` or create it with `git worktree add <path> <branch-or-HEAD>`, then store the absolute path as `worktree_path`. All edits, commands, tests, and evidence capture must run inside that worktree.
|
|
84
84
|
|
|
85
85
|
## Phase 3: Execute the next checkbox
|
|
86
86
|
|
|
@@ -97,11 +97,12 @@ Each sub-task message must include:
|
|
|
97
97
|
2. When the task touches existing behavior: a baseline characterization test, written first, that pins current observable behavior and passes on the unchanged code (exact inputs, exact observable, exact assertion). Then the failing-first proof for the new behavior before production changes — a unit test where a seam exists, otherwise the sub-task's Manual-QA scenario captured failing. A test that mirrors its implementation (mock-call assertions, pinned constants) is not evidence.
|
|
98
98
|
3. Implementation constraints from the plan and project rules.
|
|
99
99
|
4. Automated verification commands to run.
|
|
100
|
-
5. One Manual-QA channel, named with the exact tool and exact invocation (the literal `curl`, `send-keys`, `page.click`, payload, selectors, and the binary observable that decides PASS/FAIL), not "verify it works". A LIGHT checkbox needs one real-surface proof of its deliverable, and auxiliary surfaces (CLI stdout, DB state diff, parsed config dump) are first-class when the surface is CLI- or data-shaped:
|
|
100
|
+
5. One Manual-QA channel, named with the exact tool and exact invocation (the literal `curl`, `send-keys`, `browser:control-in-app-browser` action, `page.click`, payload, selectors, and the binary observable that decides PASS/FAIL), not "verify it works". A LIGHT checkbox needs one real-surface proof of its deliverable, and auxiliary surfaces (CLI stdout, DB state diff, parsed config dump) are first-class when the surface is CLI- or data-shaped:
|
|
101
101
|
- HTTP call: `curl -i` against the live endpoint.
|
|
102
102
|
- tmux: a `tmux` session driven with `send-keys`, dumped via `capture-pane`.
|
|
103
|
-
- Browser use: drive the real page with Chrome, or agent-browser (https://github.com/vercel-labs/agent-browser) when Chrome is unavailable.
|
|
103
|
+
- Browser use: in Codex, use `browser:control-in-app-browser` first when available and the scenario does not need an authenticated or persistent user browser profile; otherwise drive the real page with Chrome, or agent-browser (https://github.com/vercel-labs/agent-browser) when Chrome is unavailable.
|
|
104
104
|
- Computer use: OS-level GUI automation against the running desktop app when the surface is not a page.
|
|
105
|
+
- TUI visual evidence: when a tmux/TUI claim needs visual QA or PR proof, run `node script/qa/web-terminal-visual-qa.mjs --from-file <capture.txt> --evidence-dir <dir>` and attach `terminal.png` plus `metadata.json`.
|
|
105
106
|
6. The adversarial classes that apply to this sub-task (from the 9 ultraqa classes) and how each is probed.
|
|
106
107
|
7. Required artifact path and cleanup receipt.
|
|
107
108
|
|
|
@@ -163,7 +164,7 @@ Only after verification passes:
|
|
|
163
164
|
When all top-level checkboxes in `## TODOs` and `## Final Verification Wave` are complete:
|
|
164
165
|
|
|
165
166
|
1. Run the plan's final verification commands.
|
|
166
|
-
2.
|
|
167
|
+
2. For PR/branch work, finish the lifecycle from the task-owned worktree: sync `.omo/` state back to the main repo, create or update the PR, wait for review/verification gates, merge by default unless explicitly opted out, and remove the worktree only after successful merge or explicit handoff.
|
|
167
168
|
3. Remove or mark the Boulder work as completed.
|
|
168
169
|
4. Print an `ORCHESTRATION COMPLETE` block with the plan path, verification commands, artifacts, and cleanup receipts.
|
|
169
170
|
|
|
@@ -174,5 +175,6 @@ When all top-level checkboxes in `## TODOs` and `## Final Verification Wave` are
|
|
|
174
175
|
- No tests-only completion claim. A Manual-QA artifact is required.
|
|
175
176
|
- **NO DIRECT IMPLEMENTATION BY THE ORCHESTRATOR.** Root NEVER edits product files, writes tests, or runs QA itself — a spawned worker does.
|
|
176
177
|
- No completion claim while an applicable ultraqa adversarial class was never probed. Each applicable class needs a captured observable result; each skipped class needs a one-line not-applicable reason in the ledger.
|
|
178
|
+
- No PR/branch implementation, review, or merge in the main worktree; use the task-owned git worktree.
|
|
177
179
|
- No unprefixed session ids in Boulder state. Codex sessions are always `codex:<session_id>`.
|
|
178
180
|
- No stale-memory execution. The plan and ledger are the durable source of truth.
|