一键导入
desktop-plan
Given an inventory from desktop-scan, propose where each file should go. Output a JSON plan of moves and trash candidates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Given an inventory from desktop-scan, propose where each file should go. Output a JSON plan of moves and trash candidates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Arrange/move/trash files on the user's real ~/Desktop. Examples: 'move draft.pdf to upper-right', 'arrange A-Z in upper-right', 'trash X'. You MUST call openclaw:core:exec to append JSON intents to /sandbox/.openclaw/state/desktop-intents.jsonl — the overlay broker reads and executes each line on the host. Do NOT claim success without an exec callCount > 0.
Send ONE file to the sandbox trash. Requires the trash-approval marker to be present; without it, returns a structured rejection that the operator must explicitly resolve.
Tidy the demo desktop. Execute the JavaScript snippet below verbatim via tool_search_code — it calls openclaw:core:exec on /sandbox/.openclaw/bin/tidy.sh and returns the script's stdout.
Move ONE file from one location to another. Subject to the sandbox filesystem policy. Use after desktop-plan, once per file with action=move.
Scan the demo desktop directory and return a JSON inventory of every file with size, mtime, and a category. Use this as the first step before proposing a cleanup plan.
| name | desktop-plan |
| description | Given an inventory from desktop-scan, propose where each file should go. Output a JSON plan of moves and trash candidates. |
| metadata | {"openclaw":{"emoji":"🦞"}} |
Goal: turn a desktop inventory into an executable plan. One decision per file: move, trash, or leave_alone. Use this after desktop-scan and before desktop-move / desktop-trash.
The inventory JSON from desktop-scan (already in your conversation context). If you don't have it, ask for it or re-run desktop-scan first.
Apply top-to-bottom; first match wins.
| Category from scan | Decision | Target directory |
|---|---|---|
trash-candidate | trash | /sandbox/.openclaw/trash/ |
image | move | /sandbox/demo/sorted/images/ |
document | move | /sandbox/demo/sorted/documents/ |
spreadsheet | move | /sandbox/demo/sorted/documents/ |
archive | move | /sandbox/demo/sorted/archives/ |
code | move | /sandbox/demo/sorted/code/ |
media | move | /sandbox/demo/sorted/media/ |
unknown | leave_alone | (none) |
category and produce a plan entry.Return ONLY a JSON array, no prose, no markdown fences:
[
{"file": "old_disk.iso", "action": "trash", "from": "/sandbox/demo/desktop/old_disk.iso", "to": "/sandbox/.openclaw/trash/old_disk.iso", "reason": "trash-candidate (>90d old)"},
{"file": "draft.pdf", "action": "move", "from": "/sandbox/demo/desktop/draft.pdf", "to": "/sandbox/demo/sorted/documents/draft.pdf", "reason": "document"},
{"file": "weird.xyz", "action": "leave_alone","from": "/sandbox/demo/desktop/weird.xyz", "to": null, "reason": "unknown type — letting human decide"}
]
Each entry MUST have: file, action, from, to, reason.
to is null only when action is leave_alone.
leave_alone over trash.