Sheet Tracker Builder
Turn a vague "make me a sheet to track X" into a clean, structured Google Sheet: sensible columns, click-to-pick dropdowns, color-coded sections with dividers, and tidy alignment — built so a non-technical owner can edit it later without touching any settings.
When to use / not use
- Use for any lightweight record-keeping/management sheet the user wants built and formatted nicely (CRM, orders, leads, inventory, bookings…).
- Don't use for heavy data analysis, pivot/dashboard work, or editing an existing complex spreadsheet's data — this skill is about creating a clean tracker from scratch.
Delivery paths
- Google Sheet (primary) — automate
sheets.google.comvia the Claude Chrome extension. Requires the extension connected. - Offline file (fallback) — if Chrome isn't connected and the user can't
connect it, build the same structure as an
.xlsxthey upload to Drive. See offline-fallback.md.
Check first: load the Chrome tools and call list_connected_browsers. If it
returns [], ask the user to connect the extension (don't silently degrade);
if they'd rather not, switch to the offline path.
Workflow
1. Scope it (ask 2–3 questions, then confirm)
- What are they tracking? Infer CRM vs order tracker vs other.
- Propose a concrete column list from design-system.md (starter templates), tailored to their business. Ask what custom columns they need.
- Show the proposed columns + section grouping and get a "go" before building. (Owner is usually non-technical — plan first, then execute directly.)
2. Create the workbook
- Navigate to
https://sheets.new→ dismiss the Gemini popups. - Rename the spreadsheet; rename
Sheet1to the data tab (e.g.Orders). - Add a second tab named
Listsfor dropdown options. - Details + exact UI steps: browser-automation.md.
3. Headers
- Enter all headers across row 1 (type +
Tab). Bold row 1 and freeze it.
4. Dropdowns (the part that's easy to get wrong)
- Put each dropdown's options in its own column on the
Liststab. - Wire Data → Data validation → Dropdown (from a range) on the data columns.
- CRITICAL: the source range MUST be absolute and open-ended — lock the
column and the start row with dollar signs (exact literal form is in
browser-automation.md; it's kept out of this
file so the skill loader doesn't read the
$+digit as a placeholder). A relative range (Lists!A2:A) shifts down one row per row and silently drops the first option on every row after the first. An absolute open-ended range also auto-includes new options added to the Lists tab. - This makes options owner-editable: they just edit the Lists tab, no menus.
5. Formatting
- Currency (
$) on amount columns; date format on date columns; force text for leading-zero IDs ('001). - Photos/attachments: use Insert ▸ Image ▸ Image in cell, or a Drive link.
Do not use
=IMAGE(url)— it triggers an "Allow access" external-data prompt and shows#REF!until granted.
6. Section design (layout / color / dividers)
Group columns into contiguous sections, each a gentle pastel hue:
- Header = deeper shade, content = lighter shade, same section = same hue.
- Bold vertical divider between sections, colored to match the left section's header shade (not black).
- Whole table: horizontal center + vertical middle so headers sit right over their content.
- Canonical section list, hex palette, and grouping rules: design-system.md.
7. Sample row + handoff
- Optionally add ONE clearly-labeled sample row ("Sample — delete before use") so the owner sees dropdowns/formatting working; tell them to delete it.
- Hand off with: the sheet link, what each section is, and the two "edit-it-yourself" tips (edit Lists tab for dropdowns; columns are plain cells).
References
- design-system.md — column templates (CRM / order tracker), section grouping, hex color palette, alignment, number formats.
- browser-automation.md — exact Chrome-extension
steps,
browser_batchpatterns, Name-box selection, data-validation flow, the absolute-range gotcha, palette/border mechanics, and coordinate caveats. - offline-fallback.md — build the same tracker
as an
.xlsx/.csvwhen Chrome isn't available.