一键导入
mission-core-worker
Implements Mission protocol, backend/session plumbing, Electron IPC, store reconciliation, and restore logic for Mission GUI
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Implements Mission protocol, backend/session plumbing, Electron IPC, store reconciliation, and restore logic for Mission GUI
用 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 renderer routing, MissionPage, Mission Control panels, and Mission-specific interaction UX in the Electron app
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-core-worker |
| description | Implements Mission protocol, backend/session plumbing, Electron IPC, store reconciliation, and restore logic for Mission GUI |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use this skill for features that modify:
src/shared/ protocol and Mission typessrc/backend/Read the feature plus the mission contract first. Review mission.md, validation-contract.md, mission AGENTS.md, the repo root AGENTS.md, and the relevant OpenSpec files before touching code.
Map the state boundaries before editing. Identify:
load_session, Mission notifications, missionDir, or persisted session metadata)Write failing tests first (red). Add or extend the narrowest test files that prove the feature's intended behavior. Prefer existing files such as:
test/interactionModeHotSwitch.test.tstest/sessionStore.test.tstest/rpcNotificationMapping.test.tsRun the new/updated tests and capture the failing state before implementation.
Implement the minimum code to make the tests pass (green). Keep changes aligned with existing abstractions; do not create parallel Mission-only infrastructure if the existing session pipeline can be extended safely.
Verify precedence and edge cases explicitly. For Mission core features, always check:
Run focused validators, then repo-safe validation for touched surfaces. At minimum run:
pnpm typecheckDo one sanity check that crosses the code boundary. If the feature affects visible Mission behavior, perform a lightweight end-to-end or restore sanity check (for example, replay a restore path or launch the app and confirm the relevant Mission state appears). Record exactly what you checked.
Return a concrete handoff. Be explicit about what state source wins, what files changed, what tests were added, and what edge cases remain risky.
{
"salientSummary": "Added explicit Mission protocol metadata to create/save/load flows, blocked downgrade attempts on later settings updates, and wired kill-worker plumbing through the backend/session manager stack. Targeted Mission persistence tests now pass and a paused Mission restore no longer flickers back to a normal session.",
"whatWasImplemented": "Updated shared protocol/session types plus backend JSON-RPC session plumbing so Mission sessions persist `isMission`, `sessionKind`, `interactionMode`, `autonomyLevel`, and `decompSessionType`, preserve those fields across later sends/settings updates, and expose `kill_worker_session` through the manager/runner layers. Extended persistence/reducer tests to cover Mission restore precedence and non-downgrade behavior.",
"whatWasLeftUndone": "I did not implement MissionPage UI or sidebar Mission indicators; those remain for the UI worker features.",
"verification": {
"commandsRun": [
{
"command": "node --test --experimental-strip-types test/interactionModeHotSwitch.test.ts",
"exitCode": 0,
"observation": "Mission-specific create/update behavior passes, including non-downgrade checks."
},
{
"command": "node --test --experimental-strip-types test/sessionStore.test.ts",
"exitCode": 0,
"observation": "Mission metadata now saves and reloads without inferring from autoLevel alone."
},
{
"command": "pnpm typecheck",
"exitCode": 0,
"observation": "Shared, backend, preload, and renderer type contracts remain valid."
}
],
"interactiveChecks": [
{
"action": "Replayed a paused Mission restore path after the code changes",
"observed": "The restored session stayed Mission-typed and used Mission metadata instead of transient generic settings."
}
]
},
"tests": {
"added": [
{
"file": "test/sessionStore.test.ts",
"cases": [
{
"name": "persists explicit Mission metadata across save/load",
"verifies": "Mission sessions reload with `interactionMode`, `autonomyLevel`, and `decompSessionType` intact."
}
]
},
{
"file": "test/rpcNotificationMapping.test.ts",
"cases": [
{
"name": "generic settings_updated cannot downgrade Mission state",
"verifies": "Mission state sources outrank transient generic settings during bootstrap/recovery."
}
]
}
]
},
"discoveredIssues": []
}