Skip to content

finalplace-auto-organize SKILL

Let AI agents auto-organize, archive, clean up, and batch-process Windows files


The SKILL triggers automatically when the user asks things like:

  • “Clean up .tmp files in my Downloads”
  • “My desktop is a mess — sort by file type”
  • “Archive last week’s logs to D:/Archive by date”
  • “Organize all my screenshots by month”
  • “Move files over 100MB that I haven’t touched in a while to my backup drive”
  • “Unzip everything in Downloads into separate folders”
  • “Pull out all my contract files into one place”

Core capabilities:

  • Multi-dimensional filters: extension, name, size, create & modify time, content, path
  • AND/OR condition grouping: complex rules in one line
  • 6 actions: move, copy, compress, unzip, rename, delete
  • Path variables: {Year}/{Month}/{Day}/{FileName} auto-create folder hierarchies
  • Structured output: JSON envelope with scanned/matched/success/failed/skipped stats
You saySKILL does
”Delete .tmp files in Downloads”Rule: ext:tmp, action:delete → preview → confirm → delete (to Recycle Bin)
“Archive last week’s screenshots by month”Rule: ext:png,jpg, mtime:after:7d, action:move → Pictures/{Year}/{Month}
”Pull out all contract files”Rule: name:contract, content:contract, action:move → D:/Contracts
”Unzip Downloads/*.zip into their own folders”Rule: ext:zip, action:unzip → Downloads/{FileName}/
”Move old large files to backup drive”Rule: size:>500MB, mtime:before:90d, action:move → E:/Archive
CommandPurpose
launchStart FinalPlace GUI
statusApp state (app_version/is_pro/app_running/logged_in)
auto-rulesManage file organization rules (10 subcommands)
logsView execution logs + rollback
watchdogManage protection rules (blacklist/whitelist)
condition-templatesManage reusable condition templates
action-templatesManage reusable action templates
file-typesManage custom file type groups
common-dirsManage common destination directories
feedbackSubmit bugs / feature requests
CommandPurposeKey flags
auto-rules listList rules--enabled (enabled only)
auto-rules showShow one rule--uuid <uid>
auto-rules createCreate rule--name --source --conditions-file --action --enable
auto-rules previewDry-run single file--uuid <uid> --path <file>
auto-rules executeExecute rule--uuid <uid> --path/--all-files --confirm
auto-rules toggleEnable/disable--uuid <uid> --enable/--disable
auto-rules deleteDelete rule--uuid <uid> --confirm
auto-rules updateModify existing rule--uuid <uid> + same fields as create
auto-rules reorderAdjust rule priority--uuids <uuid1,uuid2,...>
auto-rules statsExecution stats--uuid <uid>
FieldValid opsValue formatNotes
extcontains / equalsExtension without dot"jpg"
namecontains / equals / startsWith / endsWith / matchesFilename stem (no extension)endsWith:".pdf" never matches
sizegreaterThan / lessThan / equals10MB / 1KB / 500B
ctimebefore / after1d / 7dNOT greaterThan/lessThan
mtimebefore / after1d / 7dSame as ctime
contentcontainsText
pathcontains / equalsPathUsed for pathExclude

Mode A: File-based (recommended)

Terminal window
# Write conditions to file
echo '[{"type":"ext","op":"contains","value":"tmp"}]' > /tmp/cond.json
# Pass through to CLI
finalplace.exe auto-rules create \
--name "Clean temp files" \
--source "C:/Downloads" \
--conditions-file /tmp/cond.json \
--action "delete" \
--enable

Mode B: JSON string directly

Terminal window
finalplace.exe auto-rules create \
--name "Organize images" \
--source "C:/Downloads" \
--conditions-json '[{"type":"ext","op":"contains","value":"jpg"}]' \
--action "move:C:/Pictures/{Year}/{Month}" \
--enable

Mode C: Shorthand (simplest)

Terminal window
finalplace.exe auto-rules create \
--name "Organize large files" \
--source "C:/Downloads" \
--condition "ext:jpg,png" \
--condition "size:>10MB" \
--action "move:E:/Archive" \
--enable

Destination paths support placeholders for auto-bucketing:

  • {Year} / {Month} / {Day} — by file time
  • {FileName} / {Ext} — preserve name/extension
  • {Date:yyyy-MM-dd} — custom format

Examples:

Terminal window
# By year/month
--action "move:D:/Photos/{Year}/{Month}"
# By year/month/day
--action "move:D:/Logs/{Year}/{Month}/{Day}"
# With prefix
--action "move:D:/Archive/IMG_{FileName}.{Ext}"
  • Read-only, no confirmation needed: status / list / show / preview / stats / logs list
  • Config changes need confirmation: create / update / toggle / reorder / delete
  • File changes need confirmation: execute / logs rollback
  • --confirm is a machine-level fail-safe: execute / delete / logs rollback require explicit --confirm — CLI rejects if missing
  • Delete goes to Recycle Bin: manually recoverable, but still requires confirmation
  • Global protection blacklist: auto-blocks *.tmp and similar sensitive files
SymptomCauseFix
Err_RuleDisabledRule not enabled before executionRun toggle --enable, or pass --enable on create
Err_RuleNotFounduuid/name doesn’t existRun list to find the real uuid
Err_PermissionDenied: blacklist blockType is globally protected (e.g. *.tmp)Remove from ignore list in settings
Scan count is 0 / too smallBlacklist silently excludesRun create --dry-run / preview to see would_match
INVALID_PARAMETERMissing required flagexecute needs --uuid + target + --confirm
ok:true but success:falsePer-file failure (permission/file locked)This is a per-file failure channel; source files preserved
Time condition not workingUsed greaterThan/lessThanctime/mtime use before / after
Extension filter missesValue has a dotext value has no dot: "jpg" not ".jpg"

The SKILL package contains 3 markdown files:

  • SKILL.md — main document (triggers, SOP, safety rules, FAQ)
  • references/cli-reference.md — authoritative command reference
  • references/examples.md — natural language → CLI command mappings

Download and extract to view the full content.