一键导入
frontend-refactor-worker
Moves frontend files between directories, updates imports, renames symbols, and validates with type-check/lint/test/build.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Moves frontend files between directories, updates imports, renames symbols, and validates with type-check/lint/test/build.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Delegate recursive work to child RLM sandboxes with budget management. Use when decomposing tasks into sub-queries, fanning out batched work, managing LLM call budgets, or building parent-child RLM hierarchies.
Diagnose fleet-rlm runtime failures, API contract drift, sandbox errors, and observability issues. Use when something is broken — Daytona connection failures, websocket mismatches, escalation not triggering, budget exhaustion, or missing traces.
Optimize fleet-rlm DSPy programs and RLM skill bundles using GEPA with MLflow tracking. Use when running optimization loops, designing feedback metrics, building training datasets, or comparing runs.
Hub skill for fleet-rlm: when to use dspy.RLM vs ReAct/CodeAct and which workflow skill to load next.
Design DSPy signatures and compose runtime modules for fleet-rlm tasks. Use when creating input/output field definitions, choosing between built-in signatures, selecting execution modes, or wiring custom modules.
Fetch and inspect JavaScript-heavy pages with Playwright in a Daytona browser-capable snapshot.
基于 SOC 职业分类
| name | frontend-refactor-worker |
| description | Moves frontend files between directories, updates imports, renames symbols, and validates with type-check/lint/test/build. |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use for features that involve moving frontend files between directories, updating import paths across the codebase, renaming exported symbols, updating configuration files (vite.config.ts, AGENTS.md), and deleting old directories. All work is in src/frontend/.
None. All verification is done via shell commands (pnpm run type-check, lint, test, build).
Read the feature description carefully. Understand exactly which files to move, where they go, what symbols to rename, and what configuration to update.
Read .factory/library/architecture.md for the target directory structure and dependency direction.
Read each source file before moving it. Understand its imports and exports.
Perform the file operations:
After each logical group of changes, run validation:
cd src/frontend && pnpm run type-check — must exit 0After all changes for the feature are complete, run full validation:
cd src/frontend && pnpm run type-check — must exit 0cd src/frontend && pnpm run lint:robustness — must exit 0cd src/frontend && pnpm run test:unit — all tests must passcd src/frontend && pnpm run build — must exit 0Verify completeness:
ls the old path should fail)rg the old import path should return zero matchesCommit the changes with a descriptive message.
rg (ripgrep) for codebase-wide searches, not grep. Search src/frontend/src/ to find all import consumers../, ../) need recalculation. Absolute imports (@/...) usually don't change.export { ShellHeader, ShellHeader as LayoutHeader }) unless explicitly told to remove the old name.src/frontend/ unless the feature description explicitly says to.routeTree.gen.ts, generated/openapi.ts, dist/).pnpm run format before committing to ensure consistent formatting.{
"salientSummary": "Moved 5 leaf-node files (panel-meta, route-outlet, login-dialog, mobile-tab-bar, route-sync) from screens/shell/ and app/shell/ into features/layout/, inlined their implementations replacing the re-export wrappers, updated 2 intra-shell imports to use local paths, and ran full validation (type-check, lint, 296 tests pass, build succeeds).",
"whatWasImplemented": "Migrated panel-meta.ts, shell-route-outlet.tsx, login-dialog.tsx, mobile-tab-bar.tsx, and route-sync.tsx into features/layout/ with actual implementation (not re-exports). Updated shell-header.tsx and shell-sidepanel.tsx to import panel-meta from @/features/layout/panel-meta instead of @/screens/shell/shell-panel-meta. Deleted old files from screens/shell/ and app/shell/.",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{ "command": "cd src/frontend && pnpm run type-check", "exitCode": 0, "observation": "No type errors" },
{ "command": "cd src/frontend && pnpm run lint:robustness", "exitCode": 0, "observation": "0 warnings, 0 errors" },
{ "command": "cd src/frontend && pnpm run test:unit", "exitCode": 0, "observation": "296 tests passed in 59 files" },
{ "command": "cd src/frontend && pnpm run build", "exitCode": 0, "observation": "Built successfully in 12s" },
{ "command": "rg '@/screens/shell/shell-panel-meta|@/screens/shell/shell-route-outlet|@/app/shell/login-dialog|@/app/shell/mobile-tab-bar|@/app/shell/route-sync' src/frontend/src/", "exitCode": 1, "observation": "Zero matches — no stale imports remain" },
{ "command": "ls src/frontend/src/screens/shell/shell-panel-meta.ts", "exitCode": 1, "observation": "File deleted" },
{ "command": "ls src/frontend/src/app/shell/login-dialog.tsx", "exitCode": 1, "observation": "File deleted" }
],
"interactiveChecks": []
},
"tests": {
"added": []
},
"discoveredIssues": []
}