{
  "version": 1,
  "//": [
    "Sheet Studio reads CSVs the agent put in data/ or files/ and writes ONE kind of file back:",
    "<name>.clean.csv beside the original. The original is never a write target — the app has no",
    "code path that spells a path without the .clean.csv suffix.",
    "Then: 00 app check sheet-studio  ·  00 app test skills/sheet-studio"
  ],
  "newSession": [
    {
      "id": "clean-a-csv",
      "label": "Clean a spreadsheet",
      "icon": "table",
      "prompt": "Clean up {{csv}} for me — {{fixes}}. Open it, tell me to review it in Sheet Studio, and when I write a cleaned copy or ask you to drop rows, read data/ again and continue from the cleaned file.",
      "inputs": {
        "csv":   { "kind": "file", "label": "the spreadsheet", "accept": "text/csv,.csv", "into": "data" },
        "fixes": {
          "kind": "choice",
          "label": "what to clean",
          "multiple": true,
          "options": [
            { "value": "drop the duplicate rows" },
            { "value": "trim the stray whitespace" },
            { "value": "make the dates one format" },
            { "value": "fill or flag the empty cells" }
          ],
          "default": ["drop the duplicate rows"]
        }
      }
    }
  ],
  "apps": [
    {
      "id": "sheet-studio",
      "title": "Sheet Studio",
      "icon": "table",
      "description": "Sort, filter and select rows of a CSV in data/ or files/, see a column's stats, preview which duplicates would drop, and write a cleaned copy beside the original.",
      "entry": "app/index.html",
      "opens": ["*.csv"],
      "capabilities": {
        "files": { "read": ["data/**", "files/**"], "write": ["data/**", "files/**"] },
        "state": true
      }
    }
  ]
}
