一键导入
desktop-organizer
Scan a Windows desktop, show a plan, then STOP and wait for user go-ahead before organizing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scan a Windows desktop, show a plan, then STOP and wait for user go-ahead before organizing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Create, inspect, and edit Microsoft Excel workbooks and XLSX files with reliable formulas, dates, types, formatting, recalculation, and template preservation. Use when (1) the task is about Excel, `.xlsx`, `.xlsm`, `.xls`, `.csv`, or `.tsv`; (2) formulas, formatting, workbook structure, or compatibility matter; (3) the file must stay reliable after edits.
Create, analyze, proofread, and modify Office documents (.docx, .xlsx, .pptx) using the officecli CLI tool. Use when the user wants to create, inspect, check formatting, find issues, add charts, or modify Office documents.
Create, inspect, and edit Microsoft PowerPoint presentations and PPTX decks with reliable layouts, templates, placeholders, notes, charts, and visual QA. Use when (1) the task is about PowerPoint or `.pptx`; (2) layouts, placeholders, notes, charts, comments, or template fidelity matter; (3) the deck must render cleanly after edits.
Behavioral security guardrails for AI agents on Windows. Defines red-line commands (must halt and confirm with user), yellow-line commands (allowed but must log), and a Skill/MCP installation audit protocol. Designed for MicroClaw's AppContainer sandbox environment.
Create, inspect, and edit Microsoft Word documents and DOCX files with reliable styles, numbering, tracked changes, tables, sections, and compatibility checks. Use when (1) the task is about Word or `.docx`; (2) the file includes tracked changes, comments, fields, tables, templates, or page layout constraints; (3) the document must survive round-trip editing without formatting drift.
基于 SOC 职业分类
| name | Desktop Organizer |
| slug | desktop-organizer |
| version | 1.3.0 |
| description | Scan a Windows desktop, show a plan, then STOP and wait for user go-ahead before organizing. |
| metadata | {"clawdbot":{"emoji":"","requires":{"bins":[]},"os":["win32"]}} |
Description: Scan a Windows desktop, show a plan, then STOP and wait for user go-ahead before organizing. PowerShell only.
You MUST report progress using special markers so the UI can render a step-by-step progress panel. The markers are invisible to the user (stripped from display).
Plan block — a fenced code block with language tag json:plan, containing a JSON array of {"step": N, "label": "..."} objects.
Step markers — HTML comments: <!-- step:N:start --> and <!-- step:N:done -->.
Generate the plan based on what you ACTUALLY find — never copy any example. The plan must reflect the real files/folders on the user's desktop.
This is a TWO-PHASE workflow. Each phase gets its own plan block:
The plan block MUST be the VERY FIRST thing you output — do NOT write any text before the plan block. No greetings, no "I'll help you", no explanation. Start your response directly with the ````json:plan` fenced block. Any visible text should come AFTER the plan block and step markers.
Labels must be in the user's language, concise (under 20 chars), and describe the logical action (NOT raw shell commands).
Every step MUST have both start and done markers, emitted in order. This includes the LAST step — you MUST emit <!-- step:N:done --> for the final step BEFORE stopping, even if you are about to wait for user input.
A step marker MUST appear on its own line.
If a step fails, still emit <!-- step:N:done -->.
CRITICAL — Stream markers INTERLEAVED with tool calls, never in a single batch at the end. The UI animation depends on each <!-- step:N:start --> arriving BEFORE the tool calls for that step run, and <!-- step:N:done --> arriving AFTER those tool calls finish but BEFORE the next step's start marker. Concretely, your output stream MUST follow this exact ordering:
<!-- step:1:start --> on its own line and flush (do not buffer it together with later content).<!-- step:1:done --> on its own line before starting step 2.<!-- step:2:start -->, run step 2's tools, emit <!-- step:2:done -->.start markers in a row, never emit all done markers at the end.Forbidden pattern (this breaks the UI animation):
```json:plan
[...]
```
(run all tool calls silently)
<!-- step:1:start --><!-- step:1:done -->
<!-- step:2:start --><!-- step:2:done -->
<!-- step:3:start --><!-- step:3:done -->
Required pattern:
```json:plan
[...]
```
<!-- step:1:start -->
(tool call for step 1)
<!-- step:1:done -->
<!-- step:2:start -->
(tool call for step 2)
<!-- step:2:done -->
One step = one logical action. Do not collapse "probe access + scan files + scan folders" into a single step that runs three tool calls before any marker is emitted. Either give each its own step, or pick ONE representative tool call for the step and emit done immediately after it returns.
No silent prelude. You may not run any tool call before emitting the plan block and <!-- step:1:start -->. The very first thing the user's UI sees from you must be the plan block, followed immediately by <!-- step:1:start -->, followed by the first tool invocation.
The model outputs something like:
```json:plan
[{"step": 1, "label": "Scan desktop"}, {"step": 2, "label": "Analyze files"}]
```
<!-- step:1:start -->
(run probe & scan commands)
<!-- step:1:done -->
<!-- step:2:start -->
(analyze results)
<!-- step:2:done -->
Here's what I found: ...
Do you want me to proceed?
```json:plan
[{"step": 1, "label": "Create folders"}, {"step": 2, "label": "Move PDFs"}, {"step": 3, "label": "Rename 'New folder'"}]
```
<!-- step:1:start -->
(create directory commands)
<!-- step:1:done -->
<!-- step:2:start -->
(move commands)
<!-- step:2:done -->
...
Absolute path, e.g.:
C:\Users\Administrator\Desktop
If the user does not provide a path, detect it automatically. Important: [Environment]::GetFolderPath('Desktop') returns empty inside AppContainer sandboxes. Read the actual desktop path from the Windows registry instead:
(Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders').Desktop
This returns the exact desktop path Windows is using (works for both local and OneDrive-redirected desktops).
Use the returned absolute path for all subsequent steps. Do NOT use ~, or relative paths — always use the full literal absolute path.
$p, $folder, etc.) — inline the full absolute path every time*, ?, […]C:\Users\Administrator\Desktop\Documents\). Never move files to any location outside the desktop folder..lnk (shortcut) files. Leave all shortcuts exactly where they are. Exclude them from the plan entirely.Verify access to the desktop path before doing anything else.
"Get-ChildItem -LiteralPath 'C:\Users\Administrator\Desktop' -Force | Out-Null"
If this fails → retry this probe, if it fails again, report the error to the user and go to the next step.
List every top-level item (files AND folders) on the desktop.
2a) Scan files:
"Get-ChildItem -LiteralPath 'C:\Users\Administrator\Desktop' -Force -File | Select Name, FullName, Extension"
2b) Scan folders:
"Get-ChildItem -LiteralPath 'C:\Users\Administrator\Desktop' -Force -Directory | Select Name, FullName"
Collect BOTH results for planning. Do NOT skip existing folders — they must appear in the plan.
The plan MUST address ALL top-level items:
Loose files — group by type and propose which category folder each file moves into
Existing folders — analyze each folder's name and propose a CONCRETE action:
Models/ parent folderModels/ModelB/ with subfolders v1/, v1-fix/, v2/, v2-mini/, v2-mini-fix/ (or keep original names under the parent)Documents/"Leave as-is" is NOT acceptable as a default. You must actively propose grouping or categorization for every folder. If multiple folders share a common prefix or theme (e.g. "ModelA", "ModelB-1", "ModelC"), they MUST be grouped into a parent folder. If a folder has variants (e.g. "X", "X-fix", "X-mini"), group them together under the base name.
Present to the user:
BEFORE (current desktop):
├── ModelA/
├── ModelB-1/
├── ModelB-1-fix/
├── ModelB-2/
├── ModelB-2-mini/
├── ModelB-2-mini-fix/
├── ModelC/
├── report.pdf
├── photo.jpg
└── setup.exe
AFTER (proposed):
├── Models/
│ ├── ModelA/
│ ├── ModelB/
│ │ ├── ModelB-1/
│ │ ├── ModelB-1-fix/
│ │ ├── ModelB-2/
│ │ ├── ModelB-2-mini/
│ │ └── ModelB-2-mini-fix/
│ └── ModelC/
├── Documents/
│ └── report.pdf
├── Images/
│ └── photo.jpg
└── Installers/
└── setup.exe
Then:
waiting for user input. Do NOT proceed. Do NOT create folders. Do NOT move files. Wait for the user to explicitly say "go", "yes", "do it", "proceed", or similar. If the user does not confirm, do nothing.
Do not enter this step unless the user has replied with an explicit go command after seeing the plan.
Before creating any subfolder or moving any file, you MUST issue a single standalone declare-access command that asks for read-write access to the desktop root path itself (not any subfolder). This produces ONE permission dialog covering all subsequent writes anywhere under the desktop. Without this, the sandbox will pop a separate dialog for every category subfolder you create (Documents/, Images/, Installers/, ...), because the scan phase only granted read-only access to the desktop.
Emit it as a standalone command (the entire command IS the declare-access tag, with no trailing shell command):
[declare-access]rw:C:\Users\Administrator\Desktop[/declare-access]
Rules for this pre-step:
C:\Users\yuxwei\Desktop or the OneDrive-redirected path). Do NOT request Desktop\Documents, Desktop\*, or any subfolder — the request must target the desktop root exactly so the permission dialog asks the user once for the whole desktop.ro: here — Phase 2 needs write access. Use rw: only.New-Item and Move-Item under the desktop is auto-approved by the sandbox without further prompts.After the rw access is granted in 4-pre, run a write probe.txt to verify write access to the target folder.
"New-Item -Path 'C:\Users\Administrator\Desktop\ProbeTestPwsh.txt' -Force | Select-Object FullName, Length, LastWriteTime | Format-List"
And then delete the probe file.
One command per folder. Only create folders for categories that have files. Folders are created under the same desktop path.
Note: New-Item does NOT support -LiteralPath. Use -Path instead (it is safe for folder creation).
powershell -NoProfile -NonInteractive -Command "New-Item -ItemType Directory -Path 'C:\Users\Administrator\Desktop\Documents' -Force | Out-Null"
One command per file or folder.
powershell -NoProfile -NonInteractive -Command "Move-Item -LiteralPath 'C:\Users\Administrator\Desktop\report.pdf' -Destination 'C:\Users\Administrator\Desktop\PDFs\'"
Move rules:
-LiteralPath with full absolute source path<same desktop path>\<Category>\ — never outside the desktopStart-Process, Invoke-Item, or running any .exe/.msi| Step | Action | Detail |
|---|---|---|
| 1 | Probe | Verify access, stop on failure |
| 2 | Scan | List all top-level files |
| 3 | Plan | Group files and show structure → wait for user input go |
| 4-pre | Declare | Request rw: on the desktop ROOT in one declare-access call before any write |
| 4 | Execute | Create folders & move files — only after user says go |