一键导入
mission-ui-worker
Implements Mission renderer routing, MissionPage, Mission Control panels, and Mission-specific interaction UX in the Electron app
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Implements Mission renderer routing, MissionPage, Mission Control panels, and Mission-specific interaction UX in the Electron app
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Finishes an already-started Mission renderer feature by validating the existing draft, applying minimal follow-up fixes, and committing.
Expands Mission automated coverage, integration flows, and E2E-readiness for the Electron Mission GUI
Implements Mission protocol, backend/session plumbing, Electron IPC, store reconciliation, and restore logic for Mission GUI
End-to-end UI testing for the Droi Electron app using agent-browser via CDP. Use this skill when the user asks to test the Droi desktop application, run E2E tests, automate UI interactions, verify session management, or validate UI changes after development. Triggers: "test the app", "E2E test", "UI test", "agent-browser test", "test session creation", "test session deletion", "verify the UI works", "run automated tests".
Implements UI fixes in the Electron + React renderer layer
| name | mission-ui-worker |
| description | Implements Mission renderer routing, MissionPage, Mission Control panels, and Mission-specific interaction UX in the Electron app |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use this skill for features that modify:
src/renderer/src/router.tsxdata-testid hooksRead the feature, contract, and testing constraints first. Review mission.md, validation-contract.md, mission AGENTS.md, .factory/library/user-testing.md, and the relevant OpenSpec files.
Identify every required test hook and visible state. Before editing, list:
data-testid valuesWrite failing tests first (red). Prefer focused renderer/integration tests for the exact UI behavior being added. If a feature lacks a good test file, create one. Add failing assertions before changing the UI code.
Implement the UI in small slices. Reuse existing chat shell components instead of duplicating behavior. Preserve normal-session behavior while making Mission sessions route to /mission and render Mission-specific controls.
After each slice, run the narrowest relevant checks. Typical commands include:
pnpm typecheckPerform manual Electron sanity checks for every feature that changes visible Mission behavior. When the feature invokes a Mission flow, you must:
Mission-GUI-TEST projectagent-browser testing flow, use Custom -> CCH-GPT-5.4DROID_APP_DATA_DIRCapture route and state evidence, not just screenshots. For routing/toggle/cooldown features, record the user action, resulting route/view, and the Mission state that triggered the transition.
Verify boundary-sensitive copy. Explicitly check the differences between:
start_mission_run permission present vs absentReturn a precise handoff. Include exact test ids added/changed, manual UI checks performed, and any remaining UI state that still needs another feature.
{
"salientSummary": "Added `/mission` routing, MissionPage Chat/Mission Control toggle, Mission status bar, and Mission-specific sidebar/session navigation. Manual Electron checks confirmed Mission sessions open on `/mission`, normal sessions stay on `/`, and Chat/Mission Control switching preserves the same session.",
"whatWasImplemented": "Updated the renderer route tree, SessionConfigPage, sidebar/session navigation, and MissionPage shell so Mission sessions are created and reopened on `/mission`, expose the required Mission test ids, preserve the existing chat shell in Mission Chat view, and support Chat/Mission Control toggling with state-driven auto-switch semantics.",
"whatWasLeftUndone": "Feature queue/timeline/handoff panel content is still pending in a separate Mission Control feature.",
"verification": {
"commandsRun": [
{
"command": "node --test --experimental-strip-types test/missionRouting.test.ts",
"exitCode": 0,
"observation": "Mission route guard, sidebar routing, and session entry behavior pass."
},
{
"command": "pnpm typecheck",
"exitCode": 0,
"observation": "Renderer route and component changes typecheck successfully."
}
],
"interactiveChecks": [
{
"action": "Launched Electron dev app with isolated data dir, selected `Mission-GUI-TEST`, chose Custom -> `CCH-GPT-5.4`, and created a Mission session",
"observed": "The session opened on `/mission` and exposed the Mission toggle plus Mission status bar."
},
{
"action": "Toggled between Chat and Mission Control for the same Mission session",
"observed": "The active session id stayed constant and the existing chat shell remained visible in Mission Chat view."
}
]
},
"tests": {
"added": [
{
"file": "test/missionRouting.test.ts",
"cases": [
{
"name": "mission sessions route to /mission while normal sessions route to /",
"verifies": "Mission routing and route guards behave correctly for both session kinds."
},
{
"name": "manual Mission view toggle preserves the active session",
"verifies": "Chat and Mission Control are alternate views of the same orchestrator session."
}
]
}
]
},
"discoveredIssues": []
}