spreadsheet-or-database
Decide honestly when a spreadsheet should become a database or app — the five outgrowth signals (concurrent editing, relational strain, permission n…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Spreadsheet Or Database Skill
Every important spreadsheet is either the right tool or a database wearing a costume — and both errors are expensive: migrating a perfectly good sheet to an app nobody needed (months of building, adoption never comes), or riding a sheet years past its limits (the tab named Sheet1 (Recovered), the row someone sorted into the wrong customer, the formula civilization one intern away from collapse). The decision has real signals, and honest cost accounting on both sides — because "we should build an app" and "the sheet is fine" are both usually said by whoever pays neither cost.
What This Skill Produces
- The signal assessment — the five outgrowth signals scored against the actual workbook
- The verdict — stay / stay-with-hardening / move — with the costs of each stated, not implied
- The hardening list (when staying) — the protections that buy years: input isolation, validation, protection, the audit pass
- The migration path (when moving) — sized honestly: low-code table tools before custom apps, one workflow at a time before big-bang
Required Inputs
Ask for these if not provided:
- The workbook and its job — what process lives in it, who touches it, how often; "the sheet" is usually three processes sharing a file, and they may deserve different verdicts
- The pain, specifically — overwrites? version forks? broken formulas? permission anxiety? The signals need symptoms, and vague dissatisfaction isn't one
- The team's build-and-maintain reality — who would create and keep alive anything new; a database nobody maintains is a spreadsheet with worse export
- Scale numbers — rows, editors, update frequency; the strain signals key off real magnitudes
Framework: The Five Signals
- Concurrent-editing collisions: multiple simultaneous editors overwriting, sort-scrambles, "who changed this" mysteries — the strongest move signal, because it's structural: sheets share state; databases share records.
- Relational strain: the same entity retyped across tabs (customer names in five places, drifting), VLOOKUP chains holding the tabs together — the sheet is imitating foreign keys without their guarantees. Drift-repair time is the measurable cost.
- Permission granularity: "they should see their rows but not the salary column" — sheet permissions are file-grained (tab protection is a workaround, not a wall); needing row/column-level access control is a database feature being mimed.
- Scale symptoms: load-time complaints, tens of thousands of rows, formula recalc pauses — the honest note: modern sheets carry more than folklore says, and this signal alone rarely justifies moving.
- Process-in-comments: status tracked in cell colors, workflow in comment threads, approvals by "I bolded it" — the sheet is hosting a process, and process tools (or a database with views) make state explicit. The verdict math: 0–1 signals = stay · 2 signals = stay + harden ([spreadsheet-audit](../spreadsheet-audit/SKILL.md) + validation + input isolation) · 3+ = move, incrementally: low-code table tools first (they migrate imports in days, not months), custom builds only when those demonstrably fail, and one workflow at a time — the big-bang replacement of a living sheet is where these projects die.
Output Format
Verdict: [workbook] — [stay / harden / move]
Signal Assessment
| Signal | Evidence here | Score |
|---|---|---|
The Costs, Both Ways
[Staying: the drift/repair/risk hours · Moving: build + migration + adoption + permanent maintenance owner — named or the move is fiction]
The Path
[Stay: the hardening list · Move: tool class → first workflow to migrate → the sheet's read-only retirement per [migration-day-runbook](../migration-day-runbook/SKILL.md) logic]
Quality Checks
- [ ] All five signals scored with workbook-specific evidence
- [ ] Both cost columns are filled — neither option rides free
- [ ] A maintenance owner is named for any move verdict
- [ ] Move paths start low-code and single-workflow
- [ ] Multi-process workbooks got per-process verdicts
Anti-Patterns
- [ ] Do not prescribe an app for a sheet with 0–1 signals — boring tools that work are underrated
- [ ] Do not ride 3+ signals on sunk-cost loyalty — the collapse arrives at the worst moment by design
- [ ] Do not big-bang the migration — one workflow proves the tool; the rest follows evidence
- [ ] Do not move without a named maintainer — an orphaned database is strictly worse than the sheet
- [ ] Do not treat scale alone as the verdict — modern sheets scale further than the folklore; the other four signals carry more
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
skills/spreadsheet-or-database/SKILL.md同一个仓库里的其他技能
同名技能的其他版本
有 3 个不同仓库或目录里都有叫 spreadsheet-or-database 的技能。它们内容并不相同,别混用:
- mohitagw15856/pm-claude-skills — Decide honestly when a spreadsheet should become a database or app — the five outgrowth si
- mohitagw15856/pm-claude-skills — Decide honestly when a spreadsheet should become a database or app — the five outgrowth si