| name | setup-workspace |
| description | Initialize a Declutter Genie inventory workspace at a user-chosen path. Sets up the canonical folder layout (inventory, imports, analysis, box-maps, outputs), writes a starter config (geography, currency, household name), and stores a pointer in $CLAUDE_USER_DATA so other skills can find it. Run this once before any other Declutter Genie skill. |
Setup workspace
When to invoke
The user wants to start using Declutter Genie, OR another Declutter Genie skill ran and reported "no workspace configured".
Resolve the data root for the pointer
DATA_ROOT="${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/declutter-genie"
mkdir -p "$DATA_ROOT"
The user's actual inventory data does not live here — only config.json with a pointer to the workspace.
Ask the user
- Workspace path. Where should their inventory live? Suggest defaults in this order:
~/Documents/Declutter-Genie/
~/repos/Declutter-Genie-Workspace/ (if they want it under git)
- Custom.
- Geography. City and country (used by donation-target and resale-target skills for locale-aware suggestions). Default to anything in the user's CLAUDE.md if obvious.
- Currency. Default from geography (e.g. ILS for Israel, USD for US, GBP for UK).
- Household name / scope label (optional, free text — e.g. "Jerusalem apartment", "parents' garage").
Create the workspace layout
At the chosen path:
<workspace>/
├── inventory/
│ └── master.json # canonical item list
├── imports/ # raw user-supplied files preserved verbatim
├── analysis/ # generated reports (discards, duplicates, resale, donation, insurance)
├── box-maps/ # per-box / per-room location maps
├── outputs/ # generated CSVs and PDFs
└── workspace.json # workspace-local settings (geography, currency, household)
Write workspace.json with the gathered settings and an empty inventory/master.json containing {"items": [], "schema_version": 1}.
Canonical item schema
Tell the user (and bake into workspace.json under schema) that every item has these fields. Other skills assume this shape:
| Field | Type | Notes |
|---|
id | string | Stable slug; auto-generated if missing |
name | string | Required |
description | string | Optional free text |
category | string | e.g. electronics, kitchen, clothing, books |
location | string | Room or area |
box | string | Box label/number, optional |
condition | enum | new / good / fair / poor / broken |
qty | number | Default 1 |
est_value | number | In workspace currency |
currency | string | Defaults to workspace currency |
tags | string[] | Free tags |
acquired | string | ISO date or year, optional |
notes | string | Optional |
Write the pointer
cat > "$DATA_ROOT/config.json" <<JSON
{
"workspace_path": "<chosen path>",
"created": "$(date -Iseconds)"
}
JSON
Report
Tell the user the workspace path, summarise the schema, and recommend import-inventory as the next step.